/* Gestión IASP — estilos base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:#F4F1EA;font-family:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;color:#15201B;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Bricolage Grotesque","Helvetica Neue",Helvetica,Arial,sans-serif}
a{color:#0E4D3A}a:hover{color:#08301F}
a:focus-visible{outline:3px solid #1E8A5A;outline-offset:3px;border-radius:999px}
svg{flex-shrink:0}
section[id]{scroll-margin-top:16px}
a[href^="#demo"],a[href^="https://wa.me"]{transition:filter .15s ease}
a[href^="#demo"]:hover,a[href^="https://wa.me"]:hover{filter:brightness(1.08)}


.skip-link{position:absolute;left:12px;top:-60px;z-index:10;background:#0E4D3A;color:#FFFFFF;padding:10px 16px;border-radius:999px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px;color:#FFFFFF}
.copyright{font-size:13px;color:#4B5A53}
main{display:flex;flex-direction:column}
.wa-float{display:none}
/* Componentes */
.s1{width: 100%; box-sizing: border-box; display: flex; flex-direction: column; background: #F4F1EA; overflow-x: clip;}
.s2{display: flex; align-items: center; justify-content: space-between; padding: 24px 96px; border-bottom: 1px solid #E2DDD0;}
.s3{display: flex; align-items: center; gap: 12px;}
.s4{width: 44px; height: 44px; border-radius: 12px; background: #0E4D3A; display: flex; align-items: center; justify-content: center;}
.s5{font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 22px; letter-spacing: -0.02em;}
.s6{color: #0E4D3A;}
.s7{display: flex; align-items: center; gap: 36px; font-size: 16px; font-weight: 500;}
.s8{text-decoration: none; color: #15201B;}
.s9{text-decoration: none; background: #C24A22; color: #FFFFFF; padding: 12px 22px; border-radius: 999px; font-weight: 600;}
.s10{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: center; padding: 88px 96px 96px;}
.s11{display: flex; flex-direction: column; gap: 28px;}
.s12{display: flex; align-items: center; gap: 12px; align-self: flex-start; background: #D7D9BE; color: #1C4509; padding: 10px 20px; border-radius: 999px; font-size: 14px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;}
.s13{width: 8px; height: 8px; border-radius: 50%; background: #1C4509;}
.s14{margin: 0; font-size: 72px; line-height: 1.02; font-weight: 800; letter-spacing: -0.035em;}
.s15{margin: 0; font-size: 20px; line-height: 1.55; color: #3F4D47; max-width: 560px;}
.s16{display: flex; gap: 14px; align-items: center;}
.s17{text-decoration: none; background: #C24A22; color: #FFFFFF; padding: 18px 30px; border-radius: 999px; font-weight: 600; font-size: 17px;}
.s18{text-decoration: none; color: #15201B; padding: 18px 26px; border-radius: 999px; font-weight: 600; font-size: 17px; border: 1.5px solid #15201B;}
.s19{display: flex; gap: 28px; font-size: 15px; color: #3F4D47; padding-top: 8px;}
.s20{display: flex; align-items: center; gap: 8px;}
.s21{position: relative; display: flex; justify-content: center;}
.s22{width: 440px; background: #FFFFFF; border-radius: 32px; border: 1px solid #E2DDD0; box-shadow: 0 30px 60px -30px rgba(21,32,27,0.35); overflow: hidden;}
.s23{display: flex; align-items: center; gap: 12px; padding: 18px 22px; background: #0E4D3A; color: #FFFFFF;}
.s24{width: 40px; height: 40px; border-radius: 50%; background: #D8F07A; color: #0E4D3A; display: flex; align-items: center; justify-content: center; font-weight: 800; font-family: 'Bricolage Grotesque', sans-serif;}
.s25{display: flex; flex-direction: column; gap: 2px;}
.s26{font-weight: 600; font-size: 16px;}
.s27{font-size: 13px; color: #CFE3D6;}
.s28{display: flex; flex-direction: column; gap: 12px; padding: 22px; background: #F6F4EE; font-size: 15px; line-height: 1.45;}
.s29{align-self: flex-end; max-width: 78%; background: #DCEFD9; padding: 11px 14px; border-radius: 16px 16px 4px 16px;}
.s30{align-self: flex-start; max-width: 84%; background: #FFFFFF; padding: 11px 14px; border-radius: 16px 16px 16px 4px; border: 1px solid #ECE8DE;}
.s31{align-self: stretch; display: flex; align-items: center; gap: 12px; background: #FFFFFF; border: 1.5px dashed #1E8A5A; padding: 12px 14px; border-radius: 14px; margin-top: 4px;}
.s32{font-weight: 600; font-size: 14px; color: #0E4D3A;}
.s33{font-size: 13px; color: #4B5A53;}
.s34{display: flex; align-items: center; gap: 8px; padding: 12px 22px 14px; background: #FFFFFF; border-top: 1px solid #ECE8DE; font-size: 12px; font-weight: 600; color: #4B5A53;}
.s35{position: absolute; right: 0; bottom: -28px; display: flex; align-items: center; gap: 12px; background: #15201B; color: #FFFFFF; padding: 14px 18px; border-radius: 18px; box-shadow: 0 16px 32px -16px rgba(21,32,27,0.5);}
.s36{font-size: 14px; font-weight: 600;}
.s37{font-size: 13px; color: #C9D2CD;}
.s38{display: flex; align-items: center; justify-content: center; gap: 48px; padding: 28px 96px; border-top: 1px solid #E2DDD0; border-bottom: 1px solid #E2DDD0; font-size: 16px; color: #3F4D47;}
.s39{font-weight: 600; color: #15201B;}
.s40{color: #B8B1A0;}
.s41{display: flex; flex-direction: column; gap: 48px; padding: 112px 96px 96px;}
.s42{display: flex; justify-content: space-between; align-items: flex-end; gap: 48px;}
.s43{margin: 0; font-size: 52px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; max-width: 720px;}
.s44{margin: 0; font-size: 18px; line-height: 1.55; color: #3F4D47; max-width: 440px;}
.s45{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;}
.s46{display: flex; flex-direction: column; gap: 16px; background: #FFFFFF; border: 1px solid #E2DDD0; border-radius: 24px; padding: 32px;}
.s47{width: 52px; height: 52px; border-radius: 14px; background: #E4EEDC; display: flex; align-items: center; justify-content: center;}
.s48{margin: 0; font-size: 24px; font-weight: 700; letter-spacing: -0.01em;}
.s49{margin: 0; font-size: 16px; line-height: 1.55; color: #3F4D47;}
.s50{display: flex; flex-direction: column; gap: 16px; background: #0E4D3A; color: #FFFFFF; border-radius: 24px; padding: 32px;}
.s51{width: 52px; height: 52px; border-radius: 14px; background: #D8F07A; display: flex; align-items: center; justify-content: center;}
.s52{margin: 0; font-size: 16px; line-height: 1.55; color: #D5E4DB;}
.s53{display: flex; flex-direction: column; gap: 44px; padding: 24px 96px 112px;}
.s54{display: flex; flex-direction: column; gap: 14px; align-items: center; text-align: center;}
.s55{display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #0E4D3A;}
.s56{margin: 0; font-size: 52px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; max-width: 880px;}
.s57{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px;}
.s58{display: flex; flex-direction: column; background: #EAE6DA; border-radius: 28px; padding: 36px 40px;}
.s59{font-family: 'Bricolage Grotesque', sans-serif; font-size: 24px; font-weight: 700; color: #3F4D47; padding-bottom: 14px;}
.s60{display: flex; gap: 14px; align-items: center; padding: 15px 0; border-top: 1px solid #D6D0C1; font-size: 18px; color: #3F4D47;}
.s61{display: flex; flex-direction: column; background: #0E4D3A; color: #FFFFFF; border-radius: 28px; padding: 36px 40px;}
.s62{font-family: 'Poppins', 'Helvetica Neue', sans-serif; font-size: 24px; font-weight: 700; padding-bottom: 14px;}
.s63{color: #D8F07A;}
.s64{display: flex; gap: 14px; align-items: center; padding: 15px 0; border-top: 1px solid #1F6A52; font-size: 18px;}
.s65{display: flex; flex-direction: column; gap: 48px; margin: 0 48px; padding: 88px 48px; background: #15201B; color: #FFFFFF; border-radius: 40px;}
.s66{display: flex; flex-direction: column; gap: 16px; align-items: center; text-align: center;}
.s67{display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #D8F07A;}
.s68{margin: 0; font-size: 52px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; max-width: 860px;}
.s69{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px;}
.s70{display: flex; flex-direction: column; gap: 12px; background: #22302A; border-radius: 20px; padding: 24px;}
.s71{font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 32px; color: #D8F07A;}
.s72{font-size: 19px; font-weight: 600;}
.s73{font-size: 15px; line-height: 1.5; color: #C9D2CD;}
.s74{display: flex; flex-direction: column; gap: 12px; background: #D8F07A; color: #15201B; border-radius: 20px; padding: 24px;}
.s75{font-family: 'Bricolage Grotesque', sans-serif; font-weight: 800; font-size: 32px; color: #0E4D3A;}
.s76{font-size: 15px; line-height: 1.5; color: #2A3A33;}
.s77{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; padding: 120px 96px 96px;}
.s78{display: flex; flex-direction: column; gap: 20px;}
.s79{display: flex; align-items: center; gap: 10px; align-self: flex-start; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #0E4D3A;}
.s80{margin: 0; font-size: 52px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em;}
.s81{margin: 0; font-size: 18px; line-height: 1.55; color: #3F4D47;}
.s82{align-self: flex-start; text-decoration: none; background: #C24A22; color: #FFFFFF; padding: 16px 26px; border-radius: 999px; font-weight: 600; font-size: 16px; margin-top: 8px;}
.s83{display: flex; flex-direction: column; gap: 0;}
.s84{display: flex; gap: 24px; padding: 24px 0; border-bottom: 1px solid #E2DDD0;}
.s85{flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid #15201B; display: flex; align-items: center; justify-content: center; font-weight: 700;}
.s86{display: flex; flex-direction: column; gap: 6px;}
.s87{font-size: 21px; font-weight: 600;}
.s88{font-size: 16px; line-height: 1.5; color: #3F4D47;}
.s89{display: flex; gap: 24px; padding: 24px 0;}
.s90{flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%; background: #0E4D3A; color: #D8F07A; display: flex; align-items: center; justify-content: center; font-weight: 700;}
.s91{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; align-items: center; margin: 0 48px; padding: 72px 48px; background: #E4EEDC; border-radius: 40px;}
.s92{display: flex; flex-direction: column; gap: 14px; background: #FFFFFF; border-radius: 28px; padding: 32px; border: 1px solid #CFDDC5;}
.s93{font-size: 14px; font-weight: 600; color: #4B5A53;}
.s94{display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #ECE8DE;}
.s95{font-size: 17px;}
.s96{font-size: 14px; font-weight: 600; background: #0E4D3A; color: #FFFFFF; padding: 6px 12px; border-radius: 999px;}
.s97{display: flex; justify-content: space-between; align-items: center; padding: 16px 0;}
.s98{font-size: 14px; font-weight: 600; background: #F4F1EA; color: #15201B; padding: 6px 12px; border-radius: 999px; border: 1px solid #E2DDD0;}
.s99{margin: 0; font-size: 48px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em;}
.s100{display: flex; flex-direction: column; gap: 40px; padding: 120px 96px 96px;}
.s101{margin: 0; font-size: 52px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em; max-width: 820px;}
.s102{display: flex; flex-wrap: wrap; gap: 14px;}
.s103{font-size: 20px; font-weight: 500; padding: 16px 26px; border-radius: 999px; background: #FFFFFF; border: 1px solid #E2DDD0;}
.s104{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 64px; padding: 48px 96px 112px;}
.s105{display: flex; flex-direction: column; gap: 18px; align-self: start;}
.s106{margin: 0; font-size: 44px; line-height: 1.05; font-weight: 800; letter-spacing: -0.03em;}
.s107{margin: 0; font-size: 17px; line-height: 1.55; color: #3F4D47;}
.s108{display: flex; flex-direction: column; gap: 10px; margin-top: 6px;}
.s109{font-size: 14px; font-weight: 600; color: #0E4D3A;}
.s110{display: flex; flex-wrap: wrap; gap: 10px;}
.s111{display: flex; align-items: center; gap: 10px; text-decoration: none; background: #C24A22; color: #FFFFFF; padding: 13px 22px; border-radius: 999px; font-weight: 600; font-size: 16px;}
.s112{grid-column: span 2; display: flex; flex-direction: column;}
.s113{display: flex; gap: 20px; padding: 28px 0; border-top: 1px solid #D6D0C1;}
.s114{flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #D8F07A; display: flex; align-items: center; justify-content: center;}
.s115{display: flex; flex-direction: column; gap: 8px;}
.s116{font-family: 'Bricolage Grotesque', sans-serif; font-size: 20px; font-weight: 700; color: #0E4D3A;}
.s117{font-size: 16px; line-height: 1.6; color: #3F4D47;}
.s118{display: flex; gap: 20px; padding: 28px 0; border-top: 1px solid #D6D0C1; border-bottom: 1px solid #D6D0C1;}
.s119{display: flex; flex-direction: column; align-items: center; gap: 28px; text-align: center; margin: 0 48px; padding: 96px 48px; background: #0E4D3A; color: #FFFFFF; border-radius: 40px;}
.s120{margin: 0; font-size: 60px; line-height: 1.02; font-weight: 800; letter-spacing: -0.035em; max-width: 900px;}
.s121{margin: 0; font-size: 20px; line-height: 1.5; color: #D5E4DB; max-width: 620px;}
.s122{display: flex; flex-direction: column; align-items: center; gap: 16px;}
.s123{font-size: 16px; font-weight: 600; color: #D8F07A; letter-spacing: 0.04em;}
.s124{display: flex; gap: 14px;}
.s125{display: flex; align-items: center; gap: 10px; text-decoration: none; background: #D8F07A; color: #0E4D3A; padding: 18px 30px; border-radius: 999px; font-weight: 700; font-size: 18px;}
.s126{flex-grow: 1; display: flex; justify-content: space-between; align-items: flex-start; padding: 56px 96px; font-size: 15px; color: #4B5A53;}
.s127{display: flex; flex-direction: column; gap: 12px;}
.s128{font-family: 'Poppins', 'Helvetica Neue', sans-serif; font-weight: 700; font-size: 26px; letter-spacing: -0.01em; color: #15201B;}
.s129{color: #2B6610;}
.s130{font-size: 13px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: #4B5A53;}
.s131{display: flex; gap: 32px;}
.s132{display: flex; align-items: center; gap: 6px; text-decoration: none;}

/* Tablet */
@media (max-width:1100px){
  .site-header,section,.channels,.site-footer{padding-left:40px!important;padding-right:40px!important}
  section:is(.s65,.s91,.s119){margin-left:20px!important;margin-right:20px!important}
  h1{font-size:56px!important}
  h2{font-size:42px!important}
  .site-nav{gap:22px!important}
  :is(.s69){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  :is(.s45){grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile */
@media (max-width:820px){
  .site-header,section,.channels,.site-footer{padding-left:20px!important;padding-right:20px!important}
  section{padding-top:64px!important;padding-bottom:64px!important}
  section:is(.s65,.s91,.s119){margin-left:12px!important;margin-right:12px!important;padding-top:56px!important;padding-bottom:56px!important;border-radius:28px!important}
  .site-header{padding-top:14px!important;padding-bottom:14px!important}
  .nav-link{display:none!important}
  h1{font-size:40px!important;line-height:1.06!important}
  h2{font-size:32px!important;line-height:1.1!important}
  h3{font-size:21px!important}
  p{font-size:17px!important}
  :is(.s10,.s45,.s57,.s69,.s77,.s91,.s104){grid-template-columns:1fr!important;gap:28px!important}
  :is(.s112){grid-column:auto!important}
  .hero{padding-top:40px!important;gap:40px!important}
  .hero-ctas{flex-wrap:wrap}
  .hero-ctas a{flex:1 1 auto;text-align:center}
  .hero-checks{flex-direction:column;gap:10px!important}
  .chat-wrap{flex-direction:column;align-items:center}
  .chat{width:100%!important;max-width:440px}
  .chat-float{position:static!important;align-self:flex-end}
  .channels{flex-wrap:wrap;gap:8px 16px!important;font-size:15px!important;padding-top:20px!important;padding-bottom:20px!important}
  .channels>span:first-child{flex-basis:100%;text-align:center}
  .split-head{flex-direction:column;align-items:flex-start!important;gap:16px!important}
  .cta-btns{flex-direction:column;width:100%}
  .cta-btns a{justify-content:center}
  .site-footer{flex-direction:column;gap:24px}
  .footer-links{flex-wrap:wrap;gap:14px 24px!important}
  :is(.s46,.s50,.s92),:is(.no-match),:is(.s58,.s61){padding:24px!important}
  :is(.s60),:is(.s60,.s64){font-size:16px!important}
  :is(.s12){font-size:12px!important;letter-spacing:0.1em!important;padding:9px 14px!important}
  .site-nav a:not(.nav-link){padding:10px 16px!important;font-size:15px}
  .site-header>div:first-child span{font-size:20px!important}
  .chat-float{margin-top:14px!important}
  :is(.s96,.s98){white-space:nowrap}
  section:is(.s47,.s91)>div:first-child{order:2}
  #rubros span{font-size:16px!important;padding:12px 18px!important}
  #preguntas :is(.s87){font-size:18px!important}
}


/* Botón flotante de WhatsApp (solo celular) */
@media (max-width:820px){
  .wa-float{display:flex;align-items:center;gap:8px;position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:20;background:#D8F07A;color:#0E4D3A;padding:14px 20px;border-radius:999px;border:2px solid #0E4D3A;font-weight:700;font-size:16px;text-decoration:none;box-shadow:0 10px 24px -8px rgba(14,77,58,.55)}
  .wa-float:hover,.wa-float:focus-visible{color:#0E4D3A;filter:brightness(1.05)}
  .site-footer{padding-bottom:104px!important}
}

/* Página 404 */
.e404{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}
.e404-brand{margin:0;font-family:"Poppins","Helvetica Neue",sans-serif;font-weight:700;font-size:22px}
.e404-brand span{color:#2B6610}
.e404-title{margin:0;font-size:44px;font-weight:800;letter-spacing:-0.03em}
.e404-text{margin:0;font-size:18px;color:#3F4D47;max-width:420px;line-height:1.5}
.e404-btn{background:#C24A22;color:#FFFFFF;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none}
.e404-btn:hover{color:#FFFFFF;filter:brightness(1.08)}
