
/* Presentación de 5 secciones a pantalla completa; en celular cada sección se reorganiza en una columna */
:root{
  --ink:#16213D; --ink-2:#1F2D50; --line:#33426B;
  --paper:#FBF8F4; --white:#FFFFFF; --muted:#545E75; --soft:#C9D0DF;
  --orange:#F0883E; --orange-d:#B4561A; --orange-t:#FDEDE0;
  --mint:#3FB592; --mint-d:#1E7A5F; --mint-t:#DDF3EC;
  --yellow:#F6C445; --yellow-d:#8A6400; --yellow-t:#FDF4D6;
  --pink:#EC6F8E; --pink-d:#B23A5A; --pink-t:#FCE6EC;
  --sans:'Plus Jakarta Sans', 'Segoe UI', Arial, sans-serif;
  --hand:'Kalam', 'Comic Sans MS', cursive;
  --gut:max(clamp(20px,5.5vw,104px), env(safe-area-inset-left, 0px));
  --gutR:max(clamp(20px,5.5vw,104px), env(safe-area-inset-right, 0px));
  color-scheme: light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-snap-type:y proximity;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.45;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
p,h1,h2,h3{margin:0}
h1,h2,h3{text-wrap:balance;letter-spacing:-0.02em}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:8px}

/* ---------- estructura de slide ---------- */
.slide{position:relative;overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;align-items:center;scroll-snap-align:start;
  padding-block:clamp(48px,7vh,96px);padding-left:var(--gut);padding-right:var(--gutR)}
.inner{position:relative;z-index:1;width:100%;max-width:1520px;margin:0 auto;display:flex;flex-direction:column;gap:clamp(22px,3.2vh,40px)}
.dark{background:var(--ink);color:var(--paper)}
.warm{background:var(--orange)}

/* ---------- tipografía ---------- */
.h1{font-size:clamp(38px,5.6vw,92px);font-weight:800;line-height:1.04}
.h2{font-size:clamp(30px,3.6vw,62px);font-weight:800;line-height:1.1}
.lead{font-size:clamp(18px,1.6vw,28px);color:var(--muted);max-width:44ch}
.dark .lead{color:var(--soft)}
.body{font-size:clamp(16px,1.25vw,22px)}
.hand{font-family:var(--hand);font-weight:700;font-size:clamp(22px,2vw,38px);line-height:1.15}
.pill{display:inline-flex;align-self:flex-start;align-items:center;font-size:clamp(12px,.95vw,16px);font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:.6em 1.2em;border-radius:999px}
.tag{display:inline-flex;align-self:flex-start;font-size:clamp(13px,1vw,17px);font-weight:800;padding:.45em 1em;border-radius:999px;color:var(--paper)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-size:clamp(13px,1vw,17px);font-weight:700;padding:.55em 1.1em;border-radius:999px;color:var(--ink)}
.leaf{display:inline-block;flex:none;width:.9em;height:.9em;border-radius:100% 0 100% 0}

/* ---------- decoración ---------- */
.deco{position:absolute;pointer-events:none;z-index:0}

/* ---------- 1 · portada ---------- */
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:clamp(52px,4.4vw,80px);height:auto;aspect-ratio:1;border-radius:50%}
.brand p{font-size:clamp(14px,1.1vw,19px);font-weight:700;color:var(--muted)}
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,4vw,72px);align-items:center}
.hero-text{display:flex;flex-direction:column;gap:clamp(18px,2.4vh,30px);min-width:0}
.hero-text .h1 em{font-style:normal;color:var(--orange)}
.outline{border:2px solid var(--ink);color:var(--ink);background:transparent}
.solid{background:var(--ink);color:var(--paper)}
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;padding:clamp(40px,5vw,72px) clamp(20px,3vw,48px);min-width:0}
.hero-visual::before{content:"";position:absolute;inset:0;background:var(--ink);border-radius:0 clamp(120px,14vw,260px) 0 clamp(120px,14vw,260px)}
.panel{position:relative;width:100%;max-width:460px;background:var(--white);border-radius:26px;padding:clamp(20px,2vw,30px);box-shadow:0 24px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:4px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px}
.panel-head b{font-size:clamp(16px,1.3vw,22px)}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #ECE7E0}
.row span:first-child{font-size:clamp(14px,1.1vw,19px);font-weight:600}
.badge{flex:none;font-size:clamp(12px,.9vw,15px);font-weight:800;padding:.35em .8em;border-radius:999px}
.b-or{color:var(--orange-d);background:var(--orange-t)} .b-ye{color:var(--yellow-d);background:var(--yellow-t)} .b-mi{color:var(--mint-d);background:var(--mint-t)}
.panel-foot{margin-top:8px;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--paper);border-radius:16px;padding:14px 16px;font-size:clamp(14px,1.05vw,18px);font-weight:700}
.sticker{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;background:var(--yellow);color:var(--ink);padding:.3em 1em;border-radius:20px}

/* ---------- 2 · quiénes somos ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(20px,4vw,72px);align-items:end}
.label-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px}
.label-row b{font-size:clamp(13px,1vw,17px);letter-spacing:.12em;text-transform:uppercase}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,28px)}
.sector{border-radius:30px;padding:clamp(22px,2.2vw,40px);display:flex;flex-direction:column;gap:18px}
.sector ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.sector li{display:flex;gap:12px;align-items:flex-start;font-size:clamp(16px,1.3vw,23px);line-height:1.4}
.sector li .leaf{margin-top:.3em;width:.75em;height:.75em}
.goal{display:flex;gap:16px;align-items:flex-start;font-size:clamp(16px,1.3vw,23px);color:var(--muted)}
.goal b{color:var(--ink)}
.ring{flex:none;width:28px;height:28px;border-radius:50%;border:6px solid var(--yellow);margin-top:2px}

/* ---------- 3 · modelo ---------- */
.cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.6vw,28px)}
.model{background:var(--ink-2);border-radius:30px;padding:clamp(22px,2.2vw,40px);display:flex;flex-direction:column;gap:6px}
.model h3{display:flex;align-items:center;gap:12px;font-size:clamp(22px,2vw,34px);font-weight:800;padding-bottom:12px}
.mrow{display:grid;grid-template-columns:minmax(110px,.32fr) minmax(0,1fr);gap:16px;padding:14px 0;border-top:1px solid var(--line)}
.mrow b{font-size:clamp(12px,.9vw,15px);letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);padding-top:.25em}
.mrow p{font-size:clamp(15px,1.2vw,21px);color:#E3E7F0}

/* ---------- 4 · cómo trabajamos ---------- */
.work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,2vw,36px);align-items:stretch}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.steps li{display:flex;gap:18px;align-items:center;background:var(--white);border-radius:22px;padding:clamp(14px,1.3vw,20px) clamp(18px,1.6vw,28px);box-shadow:0 8px 24px rgba(22,33,61,.06)}
.steps .n{flex:none;width:1.6em;font-size:clamp(24px,2vw,34px);font-weight:800}
.steps b{display:block;font-size:clamp(16px,1.35vw,24px)}
.steps span{display:block;font-size:clamp(14px,1.05vw,18px);color:var(--muted)}
.build{background:var(--ink);color:var(--paper);border-radius:30px;padding:clamp(24px,2.4vw,44px);display:flex;flex-direction:column;gap:20px}
.build .pill{padding:0;color:var(--yellow)}

/* ---------- 5 · empecemos ---------- */
.close{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,72px);align-items:center}
.reasons{display:flex;flex-direction:column;gap:14px}
.reason{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border-radius:22px;padding:clamp(16px,1.5vw,24px) clamp(18px,1.8vw,30px);font-size:clamp(15px,1.25vw,22px);line-height:1.4}
.reason .leaf{margin-top:.25em}
.contact{position:relative;background:var(--ink);color:var(--paper);border-radius:34px;padding:clamp(28px,2.8vw,52px);display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px rgba(22,33,61,.3)}
.contact img{width:clamp(56px,4.4vw,84px);height:auto;aspect-ratio:1;border-radius:50%}
.contact h3{font-size:clamp(26px,2.5vw,46px);font-weight:800;line-height:1.1}
.clist{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.citem{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.citem b{font-size:clamp(12px,.9vw,15px);letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);padding-top:.3em}
.citem .v{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:clamp(16px,1.35vw,24px);font-weight:600}
.citem a{text-decoration:none;border-bottom:1px solid rgba(251,248,244,.35)}
.citem a:hover{color:var(--yellow)}
.contact .sticker{bottom:auto;top:-20px;left:auto;right:24px;transform:rotate(4deg)}

/* ---------- navegación ---------- */
.dots{position:fixed;right:max(14px,env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:10}
.dots a{display:block;width:12px;height:12px;border-radius:999px;background:rgba(22,33,61,.25);border:2px solid var(--paper);transition:height .25s, background .25s}
.dots a[aria-current="true"]{height:30px;background:var(--orange)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- tablet ---------- */
@media (max-width:1100px){
  .cards3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards3 .sector:last-child{grid-column:1 / -1}
  .work,.close{grid-template-columns:1fr}
}
/* ---------- celular ---------- */
@media (max-width:760px){
  html{scroll-snap-type:none}
  .slide{min-height:auto;padding-block:56px}
  .hero,.split,.cards2,.cards3{grid-template-columns:1fr}
  .cards3 .sector:last-child{grid-column:auto}
  .hero-visual{padding:40px 18px 48px}
  .lead{max-width:none}
  .mrow{grid-template-columns:1fr;gap:6px}
  .citem .v{align-items:flex-start}
  .citem{flex-direction:column;gap:6px}
  .contact .sticker{right:16px;font-size:20px}
  .dots{display:none}
  .deco.hide-m{display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
