/* Cuenta con Calma — estilos del sitio
   Paleta oficial: Cerulean #525AF2, Cloudy Gray #8FADBF, Lime Cream #E5F2B6, Light Gray #D8DAE6
   El azul se usa solo en acciones; el resto del sitio descansa en blancos y grises suaves. */
:root{
  --ink:#262A4A;
  --ink-soft:#50557A;
  --cerulean:#525AF2;
  --cerulean-deep:#3E45D1;
  --cloud:#8FADBF;
  --lime:#E5F2B6;
  --lime-soft:#F5F9E6;
  --mist:#D8DAE6;
  --paper:#F7F8FB;
  --white:#FFFFFF;
  --radius:18px;
  --wrap:1120px;
  --font-head:"Comfortaa", "Nunito", "Trebuchet MS", sans-serif;
  --font-body:"Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:1.075rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cerulean-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--cerulean);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--font-head);font-weight:700;color:var(--ink);line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);letter-spacing:-.015em}
h2{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:-.01em}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:720px}
.lead{font-size:1.2rem;color:var(--ink-soft);max-width:36em}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--mist)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.brand img{height:58px;width:auto}
.nav{display:flex;align-items:center;gap:26px}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.nav a{color:var(--ink);text-decoration:none;font-weight:600;font-size:1rem}
.nav ul a:hover{color:var(--cerulean-deep)}
.nav ul a[aria-current="page"]{color:var(--cerulean-deep);box-shadow:inset 0 -2px 0 var(--cerulean)}
.lang{font-size:.92rem;border:1px solid var(--mist);border-radius:999px;padding:4px 12px;font-weight:600}
.lang:hover{border-color:var(--cloud)}
.nav .btn-primary{color:#fff}
.menu-btn{display:none;background:none;border:1px solid var(--mist);border-radius:999px;padding:8px 16px;font:600 .95rem var(--font-body);color:var(--ink);cursor:pointer}

/* Buttons */
.btn{display:inline-block;font:600 1.02rem var(--font-body);text-decoration:none;border-radius:999px;padding:14px 26px;border:2px solid transparent;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.btn-primary{background:var(--cerulean);color:#fff}
.btn-primary:hover{background:var(--cerulean-deep)}
.btn-quiet{background:transparent;color:var(--ink);border-color:var(--mist)}
.btn-quiet:hover{border-color:var(--cloud)}
.btn-sm{padding:9px 18px;font-size:.95rem}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

/* Sections */
section{padding:88px 0}
.band{background:var(--paper)}
.section-head{max-width:640px;margin-bottom:44px}
.section-head p{color:var(--ink-soft)}

/* Hero with capsule photo (echoes the logo capsule) */
.hero{padding:72px 0 88px}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.capsule{position:relative;width:min(340px,80%);margin:0 auto}
.capsule::before{content:"";position:absolute;inset:-14px -14px 14px 14px;border:3px solid var(--cerulean);border-radius:999px;opacity:.85}
.capsule::after{content:"";position:absolute;right:-34px;bottom:48px;width:26px;height:72px;border-radius:999px;background:var(--lime)}
.capsule img{position:relative;aspect-ratio:3/4.7;width:100%;height:auto;object-fit:cover;object-position:42% 22%;border-radius:999px;background:var(--mist)}
.caption{text-align:center;margin-top:26px;font-size:.95rem;color:var(--ink-soft)}
.caption strong{display:block;color:var(--ink);font-family:var(--font-head)}

/* Credentials strip */
.creds{border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);padding:26px 0}
.creds ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,auto);gap:14px 32px;justify-content:space-between}
.creds li{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink-soft);font-size:.98rem}
.creds li::before{content:"";width:9px;height:20px;border-radius:999px;background:var(--cloud);flex:none}

/* Services list */
.svc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--mist)}
.svc{display:grid;grid-template-columns:1fr auto;gap:8px 32px;align-items:center;padding:28px 4px;border-bottom:1px solid var(--mist)}
.svc h3{margin:0 0 4px}
.svc p{margin:0;color:var(--ink-soft);max-width:38em}
.svc-meta{display:flex;align-items:center;gap:18px;justify-self:end}
.price{display:inline-block;background:var(--lime);color:var(--ink);border-radius:999px;padding:6px 16px;font-weight:600;font-size:.95rem;white-space:nowrap}
.price small{font-weight:400}
.more{font-weight:600;white-space:nowrap}

/* Steps: a real sequence */
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.steps li{counter-increment:s;position:relative;padding:30px 26px 26px;border:1.5px solid var(--mist);border-radius:28px;background:var(--white)}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:var(--ink);color:#fff;font-family:var(--font-head);font-weight:700;margin-bottom:16px}
.steps p{color:var(--ink-soft);margin:0}

/* Quote */
.quote{background:var(--lime-soft)}
.quote blockquote{margin:0 auto;max-width:820px;text-align:center}
.quote blockquote p{font-family:var(--font-head);font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.5;color:var(--ink)}
.quote cite{font-style:normal;color:var(--ink-soft);font-weight:600}

/* CTA */
.cta{text-align:center}
.cta .lead{margin:0 auto}
.cta .actions{justify-content:center}

/* Service detail */
.detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;padding:64px 0;border-bottom:1px solid var(--mist)}
.detail:last-of-type{border-bottom:0}
.detail ul{padding-left:1.2em;margin:0 0 1em}
.detail li{margin-bottom:.4em}
.detail .price{margin-bottom:18px}
.weeks{list-style:none;padding:0!important;margin:18px 0 0!important;display:grid;gap:10px}
.weeks li{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:baseline;background:var(--paper);border-radius:14px;padding:12px 16px;margin:0!important}
.weeks b{font-family:var(--font-head);font-size:.92rem}
.note{background:var(--paper);border-left:4px solid var(--cloud);padding:18px 22px;border-radius:0 14px 14px 0;color:var(--ink-soft)}

/* About */
.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.values h3{padding-top:16px;border-top:3px solid var(--cerulean);display:inline-block}
.values p{color:var(--ink-soft)}

/* Blog */
.posts{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--mist)}
.posts li{padding:28px 0;border-bottom:1px solid var(--mist)}
.posts a{text-decoration:none;color:var(--ink)}
.posts a:hover h3{color:var(--cerulean-deep)}
.posts time{color:var(--ink-soft);font-size:.92rem}
.posts p{color:var(--ink-soft);margin:6px 0 0}
.article{padding:64px 0 88px}
.article h1{font-size:clamp(1.9rem,4vw,2.8rem)}
.article h2{font-size:1.45rem;margin-top:1.8em}
.article .meta{color:var(--ink-soft);margin-bottom:32px}
.article ol{padding-left:1.3em}
.article li{margin-bottom:.7em}
.back{display:inline-block;margin-bottom:24px;font-weight:600}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:start}
form{display:grid;gap:18px}
.field{display:grid;gap:6px}
label{font-weight:600;font-size:.98rem}
.hint{font-weight:400;color:var(--ink-soft)}
input,select,textarea{font:inherit;color:var(--ink);background:var(--white);border:1.5px solid var(--mist);border-radius:12px;padding:12px 14px;width:100%}
input:hover,select:hover,textarea:hover{border-color:var(--cloud)}
textarea{min-height:140px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hidden{position:absolute;left:-9999px}
.contact-card{background:var(--paper);border-radius:28px;padding:32px}
.contact-card dl{margin:0}
.contact-card dt{font-weight:600;color:var(--ink-soft);font-size:.92rem;margin-top:18px}
.contact-card dt:first-child{margin-top:0}
.contact-card dd{margin:2px 0 0;font-size:1.1rem}
.contact-card a{text-decoration:none;font-weight:600}

/* Footer */
.site-footer{background:var(--ink);color:#E6E8F2;padding:56px 0 32px;font-size:.98rem}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot-name{font-family:var(--font-head);font-weight:700;font-size:1.25rem;color:#fff;margin-bottom:8px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-footer h2{font-family:var(--font-body);font-size:.95rem;color:var(--cloud);margin-bottom:12px;letter-spacing:0}
.legal{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:22px;color:#B9BDD3;font-size:.9rem}

/* Responsive */
@media (max-width:960px){
  .hero .wrap,.about-grid,.contact-grid,.detail{grid-template-columns:1fr;gap:44px}
  .hero .capsule{width:min(250px,68%)}
  .steps,.values{grid-template-columns:1fr}
  .creds ul{grid-template-columns:1fr 1fr;justify-content:start}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .menu-btn{display:inline-block}
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--mist);flex-direction:column;align-items:flex-start;padding:18px 24px 24px;gap:18px;display:none}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;gap:14px}
  .brand img{height:48px}
}
@media (max-width:620px){
  section{padding:64px 0}
  .hero{padding:44px 0 64px}
  .svc{grid-template-columns:1fr}
  .svc-meta{justify-self:start}
  .two{grid-template-columns:1fr}
  .creds ul{grid-template-columns:1fr;gap:12px}
  .foot-grid{grid-template-columns:1fr}
  .weeks li{grid-template-columns:1fr;gap:2px}
  .capsule::after{right:-22px}
}

/* Pop-up de la guía (lead magnet) */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lm{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.lm[hidden]{display:none}
.lm-backdrop{position:absolute;inset:0;background:rgba(38,42,74,.45)}
.lm-card{position:relative;display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;background:#fff;border-radius:28px;padding:32px;max-width:680px;width:100%;max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 60px rgba(38,42,74,.25);animation:lmIn .35s ease}
@keyframes lmIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.lm-img{width:100%;height:auto;align-self:end;margin-bottom:-32px}
.lm-body h2{font-size:1.6rem;margin-bottom:.4em}
.lm-body p{color:var(--ink-soft)}
#lm-form{display:grid;gap:10px;margin-top:6px}
#lm-form .btn{width:100%}
.lm-msg{margin:0;font-size:.95rem;color:#B42318}
.lm-msg:empty{display:none}
.lm-note{font-size:.88rem;margin:10px 0 0}
.lm-x{position:absolute;top:12px;right:14px;width:40px;height:40px;border-radius:999px;border:1px solid var(--mist);background:#fff;font-size:1.5rem;line-height:1;color:var(--ink);cursor:pointer}
.lm-x:hover{border-color:var(--cloud)}
@media (max-width:620px){
  .lm{align-items:flex-end;padding:0}
  .lm-card{grid-template-columns:1fr;gap:16px;border-radius:28px 28px 0 0;padding:28px 22px 24px;max-height:92vh}
  .lm-img{width:130px;margin-bottom:0;align-self:start}
}
/* Oferta fija en Recursos */
.offer{display:grid;grid-template-columns:170px 1fr;gap:28px;align-items:center;background:var(--lime-soft);border-radius:28px;padding:28px;margin-top:36px}
.offer img{width:100%;height:auto;align-self:end;margin-bottom:-28px}
.offer h2{font-size:1.35rem}
.offer p{color:var(--ink-soft)}
@media (max-width:620px){.offer{grid-template-columns:1fr}.offer img{width:130px;margin-bottom:0}}

/* Fotos adicionales */
.quote-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:center}
.quote-photo{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border-radius:28px;box-shadow:0 20px 44px rgba(38,42,74,.14)}
.wide-photo{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;object-position:50% 40%;border-radius:28px;margin-bottom:56px}
.contact-photo{width:120px;height:120px;border-radius:999px;object-fit:cover;object-position:50% 40%;margin-bottom:18px;border:4px solid #fff;box-shadow:0 8px 20px rgba(38,42,74,.12)}
.foot-logo{width:230px;height:auto;margin-bottom:14px}
@media (max-width:960px){.quote-grid{grid-template-columns:1fr;gap:36px}.quote-photo{max-width:380px;margin:0 auto}}
@media (max-width:620px){.wide-photo{aspect-ratio:4/3}}
