@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/barlow-condensed-500.woff2') format('woff2');
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('fonts/barlow-condensed-600.woff2') format('woff2');
}
@font-face{
  font-family:'Barlow Condensed';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/barlow-condensed-700.woff2') format('woff2');
}
@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('fonts/hanken-grotesk-variable.woff2') format('woff2');
}
@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('fonts/hanken-grotesk-variable.woff2') format('woff2');
}
@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('fonts/hanken-grotesk-variable.woff2') format('woff2');
}
@font-face{
  font-family:'Hanken Grotesk';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('fonts/hanken-grotesk-variable.woff2') format('woff2');
}

:root{
  --bg:#F4F2ED;
  --surface:#FFFFFF;
  --text:#222923;
  --text-2:#5B6255;
  --green:#24563F;
  --green-2:#1c4633;
  --green-dark:#16392A;
  --line:#D8DED5;
  --earth:#B98A4E;
  --earth-soft:#D9B486;
  --brand:#6E4323;
  --brand-light:#D9B486;
  --cream:#F4F2ED;
  --radius-s:4px;
  --radius-m:8px;
  --radius-l:10px;
  --header-h:76px;
  --maxw:1280px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Hanken Grotesk',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  padding-left:max(16px, env(safe-area-inset-left, 0px));
  padding-right:max(16px, env(safe-area-inset-right, 0px));
}
h1,h2,h3{
  font-family:'Barlow Condensed',ui-sans-serif,system-ui,sans-serif;
  font-weight:600;
  letter-spacing:0.002em;
  margin:0;
  text-wrap:balance;
  color:var(--text);
}
p{margin:0;}
img,svg{max-width:100%;}
a{color:inherit;}
.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.skip-link{
  position:fixed; top:-60px; left:16px; z-index:200;
  background:var(--green-dark); color:var(--cream);
  padding:10px 16px; border-radius:var(--radius-s);
  transition:top 180ms ease;
}
.skip-link:focus{top:calc(12px + env(safe-area-inset-top, 0px));}

/* ---------- layout helpers ---------- */
.wrap{max-width:var(--maxw); margin:0 auto; padding-inline:24px;}
.band{ padding-block:clamp(56px, 8vw, 108px); }
.band-cream{background:var(--bg);}
.band-white{background:var(--surface);}
.band-dark{background:var(--green-dark); color:var(--cream);}
.band-dark h2, .band-dark h3{color:var(--cream);}
.band-dark .text-2{color:rgba(244,242,237,0.72);}
.eyebrow{
  font-family:'Hanken Grotesk'; font-weight:600; font-size:13px;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--green);
  display:inline-flex; align-items:center; gap:7px;
}
.eyebrow::before{content:"›"; font-weight:700; color:var(--earth);}
.band-dark .eyebrow{color:var(--earth-soft);}
.band-dark .eyebrow::before{color:var(--earth-soft);}
.text-2{color:var(--text-2);}
.lede{font-size:clamp(17px,1.6vw,19px); color:var(--text-2); max-width:60ch;}
.band-dark .lede{color:rgba(244,242,237,0.82);}
.section-head{max-width:64ch; display:flex; flex-direction:column; gap:14px; margin-bottom:clamp(32px,4vw,52px);}
.section-head h2{font-size:clamp(30px,3.4vw,40px);}
hr.rule{border:none; border-top:1px solid var(--line); margin:0;}
.band-dark hr.rule{border-top-color:rgba(244,242,237,0.18);}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'Hanken Grotesk'; font-weight:600; font-size:15px;
  padding:13px 22px; border-radius:var(--radius-m);
  border:1px solid transparent; cursor:pointer; text-decoration:none;
  transition:background 180ms ease, color 180ms ease, border-color 180ms ease, transform 180ms ease;
  line-height:1;
}
.btn:focus-visible{outline:2px solid var(--earth); outline-offset:2px;}
.btn-primary{background:var(--green); color:var(--cream); border-color:var(--green);}
.btn-primary:hover{background:var(--green-2);}
.btn-outline{background:transparent; color:var(--green); border-color:var(--green);}
.btn-outline:hover{background:rgba(36,86,63,0.07);}
.band-dark .btn-outline{color:var(--cream); border-color:rgba(244,242,237,0.5);}
.band-dark .btn-outline:hover{background:rgba(244,242,237,0.1);}
.btn-sm{padding:10px 16px; font-size:14px;}
.btn-track{
  font-style:italic; text-transform:uppercase; font-weight:700;
  letter-spacing:0.05em; font-size:14px;
}

/* ---------- diagonal section cut (editorial device) ---------- */
.angle-both{
  clip-path: polygon(0 48px, 100% 0, 100% calc(100% - 48px), 0 100%);
  margin-block:-48px;
  position:relative;
  z-index:1;
}
@media (max-width:600px){
  .angle-both{ clip-path: polygon(0 30px, 100% 0, 100% calc(100% - 30px), 0 100%); margin-block:-30px; }
}

/* ---------- header / nav ---------- */
header.site{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding-top:env(safe-area-inset-top, 0px);
  background:rgba(244,242,237,0.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-row{
  max-width:var(--maxw); margin:0 auto; padding-inline:24px;
  height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{display:flex; align-items:center; text-decoration:none; color:var(--text); flex-shrink:0;}
.brand-logo{height:46px; width:auto; display:block;}
nav.primary{display:flex; align-items:center; gap:clamp(18px,2vw,34px);}
nav.primary a.navlink{
  font-size:15px; font-weight:500; text-decoration:none; color:var(--text);
  padding-block:6px; border-bottom:1px solid transparent;
}
nav.primary a.navlink:hover{border-bottom-color:var(--green);}
.nav-cta{display:none;}
@media (min-width:920px){ .nav-cta{display:inline-flex;} }
.menu-btn{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:var(--radius-s); border:1px solid var(--line);
  background:var(--surface); cursor:pointer;
}
.menu-btn svg{width:20px; height:20px;}
@media (min-width:920px){ .menu-btn{display:none;} }
@media (max-width:919px){ nav.primary{display:none;} }

.mobile-panel{
  position:fixed; inset:0; z-index:99; background:var(--bg);
  padding-top:calc(var(--header-h) + env(safe-area-inset-top, 0px));
  display:flex; flex-direction:column; gap:2px;
}
.mobile-panel[hidden]{display:none;}
.mobile-panel a{
  padding:18px 24px; font-family:'Barlow Condensed'; font-size:24px; font-weight:600;
  text-decoration:none; color:var(--text); border-bottom:1px solid var(--line);
}
.mobile-panel .btn{margin:20px 24px;}

/* ---------- hero ---------- */
.hero{padding-top:calc(var(--header-h) + clamp(28px,5vw,56px)); padding-bottom:clamp(48px,7vw,88px);}

/* ---------- hero band: imagen / texto / imagen, unificado ---------- */
.hero-band{
  display:grid; grid-template-columns:1fr minmax(340px,1.3fr) 1fr;
  align-items:stretch; gap:clamp(16px,2.6vw,28px);
}
@media (max-width:920px){ .hero-band{grid-template-columns:1fr; gap:20px;} }
.hero-img{position:relative; margin:0; border-radius:var(--radius-l); overflow:hidden; background:var(--bg); min-height:460px;}
@media (max-width:920px){ .hero-img{min-height:0; aspect-ratio:16/10; order:3;} }
.hero-img img{width:100%; height:100%; object-fit:cover; display:block;}
.hero-img-tag{
  position:absolute; left:14px; bottom:14px; margin:0;
  font-size:12px; font-weight:600; letter-spacing:0.07em; text-transform:uppercase; color:#fff;
  background:rgba(22,57,42,0.72); border-radius:100px; padding:7px 13px;
}
.hero-img.arroz .hero-img-tag{background:rgba(122,79,42,0.78);}
.hero-text{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:22px; padding-block:12px;
}
@media (max-width:920px){ .hero-text{order:1; padding-block:0;} }
.hero-text h1{font-size:clamp(36px,5vw,60px); line-height:1.05;}
.hero-text .lede{max-width:44ch;}
.hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-top:6px; justify-content:center;}
.hero-note{
  display:inline-flex; align-items:center; gap:6px; margin-top:8px;
  font-size:12px; color:var(--text-2);
}
.hero-note .dot{width:5px; height:5px; border-radius:50%; background:var(--earth); flex-shrink:0;}

.visual-panel{
  position:relative; border:1px solid var(--line); border-radius:var(--radius-l);
  background:linear-gradient(165deg,#EFEBE1 0%, #F6F4EE 55%, #EDEAE0 100%);
  overflow:hidden; aspect-ratio:4/5;
}
@media (max-width:560px){ .visual-panel{aspect-ratio:4/3.4;} }
.visual-caption{
  position:absolute; left:16px; bottom:14px; font-size:12px; color:var(--text-2);
  background:rgba(244,242,237,0.85); padding:4px 9px; border-radius:100px; border:1px solid var(--line);
}
.visual-panel img{width:100%; height:100%; object-fit:cover; display:block;}

/* ---------- idea central: three points ---------- */
.point-row{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:44px;}
@media (max-width:760px){ .point-row{grid-template-columns:1fr;} }
.point{padding-top:18px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:8px;}
.point h3{font-size:22px;}
.point p{color:var(--text-2); font-size:15px;}

/* ---------- lineas productivas ---------- */
.line-block{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:center;}
.line-block + .line-block{margin-top:clamp(56px,7vw,96px);}
@media (max-width:860px){ .line-block{grid-template-columns:1fr;} }
.line-block .visual-panel{aspect-ratio:5/4;}
.line-block.reverse .visual{order:2;}
@media (max-width:860px){ .line-block .visual{order:1 !important;} .line-block .copy{order:2 !important;} }
.line-tag{
  display:inline-flex; align-items:center; gap:7px; font-size:12.5px; font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase; color:var(--green);
  border:1px solid var(--line); border-radius:100px; padding:6px 12px; width:fit-content;
}
.line-block .copy{display:flex; flex-direction:column; gap:14px;}
.line-block h3{font-size:clamp(26px,2.6vw,34px);}
.line-block .controls{font-size:14.5px; color:var(--text-2); border-top:1px solid var(--line); padding-top:12px; margin-top:4px;}

/* ---------- proceso (numeración circular, estilo editorial) ---------- */
.steps-v2{
  display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(20px,2.6vw,36px);
  margin-top:8px;
}
@media (max-width:1100px){ .steps-v2{grid-template-columns:repeat(3,1fr); row-gap:44px;} }
@media (max-width:600px){ .steps-v2{grid-template-columns:1fr;} }
.step-v2{display:flex; flex-direction:column; gap:16px;}
.step-v2 .step-circle{
  width:76px; height:76px; border-radius:50%; border:1.6px solid var(--earth-soft);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-family:'Barlow Condensed'; font-weight:500; font-size:32px; color:var(--earth-soft);
}
.step-v2 .step-label{
  font-size:13px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--cream); display:flex; align-items:center; gap:7px;
}
.step-v2 .step-label::before{content:"›"; color:var(--earth-soft); font-weight:700;}
.step-v2 p{font-size:15px; color:rgba(244,242,237,0.78); max-width:34ch;}
.steps-note{margin-top:40px; font-size:14px; color:rgba(244,242,237,0.65); border-top:1px solid rgba(244,242,237,0.18); padding-top:16px;}

/* ---------- tarjetas de beneficio (icono compuesto) ---------- */
.benefit-row{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;}
@media (max-width:760px){ .benefit-row{grid-template-columns:1fr;} }
.benefit-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:30px 24px; display:flex; flex-direction:column; align-items:flex-start; gap:14px;
  box-shadow:0 1px 2px rgba(34,41,35,0.04);
}
.benefit-card .ico{width:40px; height:40px; color:var(--green); flex-shrink:0;}
.benefit-card h3{font-size:21px;}
.benefit-card p{color:var(--text-2); font-size:14.5px;}

/* ---------- tokens por campaña ---------- */
.token-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px;}
@media (max-width:760px){ .token-grid{grid-template-columns:1fr;} }
.token-card{
  border:1px solid var(--line); border-radius:var(--radius-m); background:var(--surface);
  padding:22px; display:flex; flex-direction:column; gap:10px;
}
.token-id{
  font-family:'Barlow Condensed'; font-weight:700; font-size:26px; letter-spacing:0.01em;
  color:var(--green); font-variant-numeric:tabular-nums;
}
.token-card p{font-size:14.5px; color:var(--text-2);}
.token-foot{margin-top:30px; display:flex; flex-direction:column; gap:10px;}
.token-disclaimer{
  font-size:13px; color:var(--text-2); border:1px dashed var(--line); border-radius:var(--radius-s);
  padding:10px 14px; width:fit-content;
}
.token-coin{width:52px; height:52px; flex-shrink:0; filter:drop-shadow(0 2px 3px rgba(34,41,35,0.18));}

/* ---------- modal (terminos / privacidad) ---------- */
.modal-overlay{
  position:fixed; inset:0; background:rgba(22,25,20,0.6); backdrop-filter:blur(2px);
  display:flex; align-items:center; justify-content:center; padding:24px; z-index:200;
}
.modal-overlay[hidden]{display:none;}
.modal-box{
  position:relative; background:var(--surface); border-radius:var(--radius-l);
  max-width:640px; width:100%; max-height:min(80vh,720px); overflow-y:auto;
  padding:clamp(28px,4vw,40px); box-shadow:0 24px 60px rgba(22,25,20,0.35);
}
.modal-box h3{font-size:22px; color:var(--green); margin-right:32px;}
.modal-box h4{
  font-family:'Hanken Grotesk'; font-weight:700; font-size:14px; letter-spacing:0.02em;
  color:var(--text); margin-top:18px;
}
.modal-body{margin-top:14px; display:flex; flex-direction:column; gap:14px;}
.modal-box p{font-size:14.5px; line-height:1.65; color:var(--text-2);}
.modal-box a{color:var(--green); text-decoration:underline;}
.modal-close{
  position:absolute; top:16px; right:16px; width:32px; height:32px; border-radius:50%;
  border:1px solid var(--line); background:var(--bg); color:var(--text);
  font-size:20px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background 160ms ease;
}
.modal-close:hover{background:var(--line);}

/* ---------- whitelist / operator lead forms ---------- */
.wl-points{display:flex; flex-direction:column; gap:8px; padding:0; margin:0; list-style:none;}
.wl-points li{position:relative; padding-left:18px; font-size:14px; color:var(--text-2);}
.wl-points li::before{content:''; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:50%; background:var(--earth);}
.wl-form{display:flex; flex-direction:column; gap:16px; margin-top:6px;}
.wl-field{display:flex; flex-direction:column; gap:6px;}
.wl-field label{
  font-family:'Hanken Grotesk'; font-weight:700; font-size:12px; letter-spacing:0.04em;
  text-transform:uppercase; color:var(--text-2);
}
.wl-field input, .wl-field select, .wl-field textarea{
  font-family:'Hanken Grotesk'; font-size:15px; color:var(--text);
  background:var(--bg); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:12px 14px; width:100%;
}
.wl-field textarea{resize:vertical;}
.wl-field input:focus, .wl-field select:focus, .wl-field textarea:focus{outline:2px solid var(--green); outline-offset:1px;}
.wl-check{display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:var(--text-2); line-height:1.5;}
.wl-check input{margin-top:3px;}
.wl-error{font-size:13.5px; color:#b3261e; display:none;}
.wl-error.show{display:block;}
.wl-form .btn-primary{width:100%;}
.wl-success{display:none; flex-direction:column; gap:8px; text-align:center; padding:12px 0 4px;}
.wl-success.show{display:flex;}
.wl-success .icon-ok{width:44px; height:44px; margin:0 auto; color:var(--green);}
.wl-success h4{margin-top:4px;}

/* ---------- transparencia ---------- */
.transp-grid{display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(28px,4vw,56px); align-items:start;}
@media (max-width:900px){ .transp-grid{grid-template-columns:1fr;} }
.transp-list{display:flex; flex-direction:column; gap:0; margin-top:24px;}
.transp-list li{
  list-style:none; padding:14px 0; border-top:1px solid rgba(244,242,237,0.18);
  font-size:15px; display:flex; gap:12px; align-items:baseline;
}
.transp-list li:last-child{border-bottom:1px solid rgba(244,242,237,0.18);}
.transp-list .idx{font-family:'Barlow Condensed'; font-weight:600; color:var(--earth-soft); font-size:15px; width:22px; flex-shrink:0;}

.report-mock{
  background:var(--cream); color:var(--text); border-radius:var(--radius-m); border:1px solid var(--line);
  padding:22px; overflow:hidden;
}
.report-mock .rm-tag{
  font-size:11.5px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-2);
  border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:14px; display:block;
}
.report-mock .rm-row{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-top:1px dashed var(--line); font-size:14px;}
.report-mock .rm-row:first-of-type{border-top:none;}
.report-mock .rm-row span:last-child{color:var(--text-2); font-variant-numeric:tabular-nums;}

/* ---------- si/no ---------- */
.sino-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:36px;}
@media (max-width:700px){ .sino-grid{grid-template-columns:1fr;} }
.sino-card{border:2px solid var(--line); border-radius:var(--radius-l); padding:clamp(24px,3vw,36px); background:var(--surface); display:flex; flex-direction:column; gap:18px;}
.sino-card-head{display:flex; align-items:center; gap:16px;}
.sino-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:50%; flex-shrink:0;
  font-family:'Barlow Condensed'; font-weight:800; font-size:30px; line-height:1;
}
.sino-card.si{border-color:var(--green);}
.sino-card.no{border-color:#8a5a3a;}
.sino-card.si .sino-badge{background:var(--green); color:var(--cream);}
.sino-card.no .sino-badge{background:#8a5a3a; color:var(--cream);}
.sino-card h3{font-family:'Barlow Condensed'; font-size:clamp(30px,3.4vw,40px); font-weight:700; letter-spacing:0.01em;}
.sino-card.si h3{color:var(--green);}
.sino-card.no h3{color:#8a5a3a;}
.sino-card ul{margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.sino-card li{list-style:none; font-size:16px; color:var(--text-2); padding-left:24px; position:relative;}
.sino-card li::before{position:absolute; left:0; top:1px; font-weight:700; font-size:18px;}
.sino-card.si li::before{content:"+"; color:var(--green);}
.sino-card.no li::before{content:"–"; color:#8a5a3a;}
.sino-foot{margin-top:24px; font-size:14.5px; color:var(--text-2); border-top:1px solid var(--line); padding-top:16px;}

/* ---------- tech feature grid ---------- */
.tech-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:clamp(32px,4vw,48px);}
@media (max-width:900px){ .tech-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:600px){ .tech-grid{grid-template-columns:1fr;} }
.tech-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l);
  padding:28px 24px; display:flex; flex-direction:column; gap:14px;
}
.tech-card .icon-wrap{
  width:52px; height:52px; border-radius:50%; background:rgba(36,86,63,0.09);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
}
.tech-card .icon-wrap svg{width:26px; height:26px; color:var(--green);}
.tech-card h3{font-family:'Barlow Condensed'; font-size:20px; font-weight:600;}
.tech-card p{font-size:14.5px; color:var(--text-2);}

/* ---------- faq (grid de categorías) ---------- */
.section-head-center{align-items:center; text-align:center; margin-inline:auto;}
.faq{max-width:1040px; margin:8px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media (max-width:760px){ .faq{grid-template-columns:1fr;} }
.faq-cat{background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-l); padding:8px 28px;}
.faq-cat-title{
  font-family:'Hanken Grotesk'; font-weight:700; font-size:12px; letter-spacing:0.1em;
  text-transform:uppercase; color:var(--text-2); padding-top:20px;
}
.faq-item{border-top:1px solid var(--line);}
.faq-cat .faq-item:first-of-type{border-top:none;}
.faq-item:last-child{border-bottom:none;}
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 2px; font-family:'Hanken Grotesk'; font-size:15.5px; font-weight:600; color:var(--text);
}
.faq-q:focus-visible{outline:2px solid var(--green); outline-offset:2px;}
.faq-q .plus{position:relative; width:18px; height:18px; flex-shrink:0;}
.faq-q .plus::before, .faq-q .plus::after{
  content:""; position:absolute; background:var(--green); border-radius:2px;
}
.faq-q .plus::before{width:18px; height:2px; top:8px; left:0;}
.faq-q .plus::after{width:2px; height:18px; top:0; left:8px; transition:transform 220ms ease;}
.faq-item[data-open="true"] .plus::after{transform:rotate(90deg);}
.faq-a{overflow:hidden; max-height:0; transition:max-height 260ms ease;}
.faq-a p{padding:0 2px 20px; font-size:14.5px; color:var(--text-2); max-width:60ch;}

/* ---------- contacto ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:start;}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }
.interest-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.interest-tag{
  font-size:13.5px; font-weight:500; border:1px solid var(--line); border-radius:100px; padding:8px 14px; color:var(--text-2);
}
.contact-card{
  border:1px solid var(--line); border-radius:var(--radius-m); background:var(--surface); padding:28px;
  display:flex; flex-direction:column; gap:14px; align-items:flex-start;
}
.contact-card .icon{width:34px; height:34px; color:var(--green);}
.contact-card h3{font-size:20px; font-family:'Barlow Condensed'; font-weight:600;}
.contact-card p{font-size:14.5px; color:var(--text-2);}

/* ---------- footer ---------- */
footer.site{background:var(--green-dark); color:rgba(244,242,237,0.8);}
.footer-main{padding-block:clamp(48px,7vw,76px);}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:clamp(28px,4vw,48px);}
@media (max-width:860px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }
.footer-brand .lockup{display:flex; align-items:center;}
.footer-logo{height:50px; width:auto; display:block;}
.footer-brand p{margin-top:14px; font-size:14px; line-height:1.6; color:rgba(244,242,237,0.68); max-width:32ch;}
.footer-col h4{
  font-family:'Hanken Grotesk'; font-size:12.5px; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; color:rgba(244,242,237,0.55); margin-bottom:16px;
}
.footer-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.footer-col a, .footer-col button.footer-link{font-size:14.5px; text-decoration:none; color:rgba(244,242,237,0.85); transition:color 160ms ease; background:none; border:0; padding:0; margin:0; font-family:inherit; cursor:pointer; text-align:left; display:inline;}
.footer-col a:hover, .footer-col button.footer-link:hover{color:var(--brand-light);}
.footer-col .contact-line{display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:rgba(244,242,237,0.85);}
.footer-col .contact-line svg{width:17px; height:17px; flex-shrink:0; margin-top:2px; color:var(--brand-light);}
.footer-row{border-top:1px solid rgba(244,242,237,0.14); padding-block:28px;}
.footer-legal{font-size:12.5px; line-height:1.6; max-width:none; color:rgba(244,242,237,0.55); margin:0; text-align:left;}
.footer-bottom{border-top:1px solid rgba(244,242,237,0.14); padding-block:18px; font-size:12.5px; color:rgba(244,242,237,0.5); text-align:center;}

/* ---------- calculadora ---------- */
.calc-hero{padding-top:calc(var(--header-h) + clamp(28px,5vw,56px)); padding-bottom:8px;}
.calc-disclaimer{
  font-size:13.5px; color:var(--text-2); border:1px dashed var(--line); border-radius:var(--radius-s);
  padding:12px 16px; margin-top:18px; max-width:64ch;
}
.calc-layout{display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,3vw,40px); align-items:start; margin-top:clamp(32px,4vw,48px);}
@media (max-width:920px){ .calc-layout{grid-template-columns:1fr;} }
.calc-col{display:flex; flex-direction:column; gap:24px;}

.about-card{
  border:1px solid var(--line); border-radius:var(--radius-l); background:var(--surface);
  padding:clamp(22px,3vw,30px); display:flex; flex-direction:column; gap:14px;
}
.about-badge{
  font-size:11.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--earth);
  border:1px solid var(--earth-soft); border-radius:100px; padding:5px 12px; width:fit-content;
}
.about-card ul{margin:0; padding:0; display:flex; flex-direction:column; gap:6px;}
.about-card li{list-style:none; font-size:14.5px; color:var(--text-2);}
.about-card li b{color:var(--text);}
.about-foot{
  display:flex; align-items:center; gap:8px; font-size:12.5px; font-weight:600; color:var(--green);
  border-top:1px solid var(--line); padding-top:14px; margin-top:4px;
}
.about-foot svg{width:16px; height:16px; flex-shrink:0;}

.sim-card{
  border:1px solid var(--line); border-radius:var(--radius-l); background:var(--surface);
  padding:clamp(22px,3vw,30px); display:flex; flex-direction:column; gap:18px;
}
.sim-head h3{font-size:20px; font-family:'Barlow Condensed'; font-weight:600;}
.sim-head p{font-size:13.5px; color:var(--text-2); margin-top:4px;}
.sim-stepper{display:flex; flex-direction:column; align-items:center; gap:6px;}
.sim-stepper-label{font-size:11.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--text-2);}
.sim-stepper-row{display:flex; align-items:center; gap:18px;}
.sim-step-btn{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line); background:var(--bg);
  color:var(--green); font-size:20px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background 160ms ease;
}
.sim-step-btn:hover{background:var(--line);}
.sim-value{font-family:'Barlow Condensed'; font-weight:700; font-size:34px; min-width:60px; text-align:center; font-variant-numeric:tabular-nums;}
.sim-equiv{font-size:13.5px; color:var(--text-2); text-align:center;}
.sim-equiv b{color:var(--green);}
.sim-quick{display:flex; gap:8px; justify-content:center;}
.sim-quick button{
  font-size:12.5px; font-weight:600; border:1px solid var(--line); background:var(--bg); color:var(--text);
  border-radius:100px; padding:6px 14px; cursor:pointer; transition:background 160ms ease;
}
.sim-quick button:hover{background:var(--line);}
.sim-results{display:flex; flex-direction:column; gap:10px;}
.sim-result-row{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:var(--bg); border-radius:var(--radius-m); padding:14px 16px;
}
.sim-result-row .label{font-size:12.5px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; color:var(--text-2);}
.sim-result-row .value{font-family:'Barlow Condensed'; font-weight:700; font-size:20px; color:var(--green); font-variant-numeric:tabular-nums;}
.sim-note{font-size:12px; color:var(--text-2);}

.calc-table{
  border:1px solid var(--line); border-radius:var(--radius-l); background:var(--surface);
  padding:clamp(20px,2.6vw,26px); margin-top:24px;
}
.calc-table h3{font-size:18px; font-family:'Barlow Condensed'; font-weight:600; margin-bottom:6px;}
.calc-table .sim-note{margin-bottom:8px;}
.calc-row{display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid var(--line); font-size:14.5px;}
.calc-row:first-of-type{border-top:none;}
.calc-row.total{border-top:1px solid var(--text); font-weight:700; margin-top:2px;}
.calc-row span:last-child{font-variant-numeric:tabular-nums; color:var(--text-2);}
.calc-row.total span:last-child{color:var(--text);}

.timeline{display:flex; flex-direction:column; margin-top:8px;}
.timeline-step{display:flex; gap:16px; padding-bottom:24px; position:relative;}
.timeline-step:last-child{padding-bottom:0;}
.timeline-step::before{
  content:''; position:absolute; left:18px; top:38px; bottom:0; width:1px; background:var(--line);
}
.timeline-step:last-child::before{display:none;}
.timeline-ico{
  width:37px; height:37px; border-radius:50%; border:1px solid var(--line); background:var(--bg);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--green);
}
.timeline-ico svg{width:17px; height:17px;}
.timeline-step h4{font-size:15.5px; font-weight:700; color:var(--text);}
.timeline-step p{font-size:14px; color:var(--text-2); margin-top:2px;}
