.sm{--verde:#4E5F45;--verde-osc:#3E4C37;--salvia:#A9B79E;--arcilla:#A08D77;--crema:#F6F4EF;--tinta:#1F241E;--texto:#3A4238;--suave:#6B7466;--borde:#E3E8DF;
  font-family:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--texto);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.sm *,.sm *::before,.sm *::after{box-sizing:border-box}
.sm h1,.sm h2,.sm h3{font-family:"Fraunces",Georgia,"Times New Roman",serif;font-weight:300;color:var(--tinta);letter-spacing:-.01em;margin:0}
.sm h1{font-size:clamp(40px,6vw,72px);line-height:1.04}
.sm h2{font-size:clamp(30px,3.6vw,44px);line-height:1.12}
.sm h3{font-size:22px;line-height:1.3;font-weight:400}
.sm p{margin:0 0 1em}
.sm a{color:var(--verde)}
.sm a:focus-visible,.sm summary:focus-visible{outline:2px solid var(--verde);outline-offset:3px;border-radius:6px}
.sm .sm-wrap{max-width:1120px;margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.sm .sm-sec{padding:clamp(72px,9vw,120px) 0}
.sm .sm-sec--crema{background:var(--crema)}
.sm .sm-intro{max-width:640px;margin:0 0 48px}
.sm .sm-intro p{color:var(--suave);margin-top:18px}

/* Botones */
.sm .sm-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.sm .sm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border-radius:999px;font-weight:500;font-size:16px;text-decoration:none;transition:background .25s,color .25s,border-color .25s}
.sm .sm-btn--fill{background:var(--verde);color:#fff}
.sm .sm-btn--fill:hover{background:var(--verde-osc);color:#fff}
.sm .sm-btn--line{border:1px solid var(--verde);color:var(--verde);background:rgba(255,255,255,.5)}
.sm .sm-btn--line:hover{background:var(--verde);color:#fff}

/* Hero con vidrio */
/* Quita el espacio que Astra agrega arriba y abajo del contenido en estas páginas */
body:has(.sm-hero) #primary,
body:has(.sm-hero) .ast-article-single,
body:has(.sm-hero) .ast-article-post,
body:has(.sm-hero) .entry-content{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important}
body:has(.sm-hero) .entry-header{display:none}

.sm .sm-hero{position:relative;overflow:hidden;padding:clamp(36px,4.5vw,64px) 0 clamp(96px,10vw,140px);background:#fff}
.sm .sm-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;animation:sm-deriva 26s ease-in-out infinite alternate}
.sm .sm-blob--1{width:460px;height:460px;background:var(--salvia);top:-120px;right:4%}
.sm .sm-blob--2{width:380px;height:380px;background:#D9C7B2;bottom:-140px;right:30%;animation-delay:-8s}
.sm .sm-blob--3{width:300px;height:300px;background:var(--verde);opacity:.28;top:30%;right:-80px;animation-delay:-15s}
@keyframes sm-deriva{to{transform:translate(-40px,30px) scale(1.08)}}
.sm .sm-hero__grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:center}
.sm .sm-hero__lead{font-size:19px;max-width:520px;margin-top:26px;color:var(--texto)}
.sm .sm-ficha{position:relative;padding:40px 38px 34px;border-radius:28px;background:rgba(255,255,255,.52);
  -webkit-backdrop-filter:blur(26px) saturate(170%);backdrop-filter:blur(26px) saturate(170%);
  border:1px solid rgba(255,255,255,.75);box-shadow:0 24px 70px rgba(31,36,30,.10),inset 0 1px 0 rgba(255,255,255,.95);
  animation:sm-entra 1s cubic-bezier(.2,.7,.2,1) both .15s}
@keyframes sm-entra{from{opacity:0;transform:translateY(24px)}}
.sm .sm-ficha__nombre{font-family:"Fraunces",Georgia,serif;font-size:26px;color:var(--tinta);margin:0 0 4px}
.sm .sm-ficha__sub{color:var(--suave);font-size:15px;margin:0 0 24px}
.sm .sm-ficha__precio{display:flex;align-items:baseline;gap:12px;padding:20px 0;border-top:1px solid rgba(78,95,69,.18);border-bottom:1px solid rgba(78,95,69,.18)}
.sm .sm-ficha__precio strong{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:52px;line-height:1;color:var(--tinta)}
.sm .sm-ficha__precio span{color:var(--suave)}
.sm .sm-ficha dl{margin:22px 0 0;display:grid;grid-template-columns:auto 1fr;gap:10px 18px;font-size:15.5px}
.sm .sm-ficha dt{color:var(--suave)}
.sm .sm-ficha dd{margin:0;color:var(--tinta)}

/* Pasos de la sesión */
.sm .sm-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:28px;counter-reset:paso}
.sm .sm-pasos li{counter-increment:paso;padding-top:22px;border-top:1px solid var(--borde)}
.sm .sm-pasos li::before{content:counter(paso);display:block;font-family:"Fraunces",Georgia,serif;font-size:34px;font-weight:300;color:var(--arcilla);line-height:1;margin-bottom:14px}
.sm .sm-pasos h3{font-size:19px;margin-bottom:8px}
.sm .sm-pasos p{font-size:15.5px;color:var(--suave);margin:0}

/* Para quién */
.sm .sm-dos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,88px);align-items:start}
.sm .sm-lista{list-style:none;margin:24px 0 0;padding:0}
.sm .sm-lista li{padding:14px 0 14px 28px;border-bottom:1px solid var(--borde);position:relative}
.sm .sm-lista li::before{content:"";position:absolute;left:4px;top:24px;width:8px;height:8px;border-radius:50%;background:var(--salvia)}
.sm .sm-aviso{margin-top:36px;padding:26px 28px;border-radius:20px;background:#fff;border:1px solid var(--borde)}
.sm .sm-aviso h3{font-size:19px;margin-bottom:8px}
.sm .sm-aviso p{font-size:15.5px;margin:0;color:var(--suave)}

/* Tablas */
.sm .sm-tabla-wrap{overflow-x:auto;border-radius:22px;border:1px solid var(--borde);background:#fff}
.sm .sm-tabla{width:100%;border-collapse:collapse;min-width:560px;font-size:16px}
.sm .sm-tabla th,.sm .sm-tabla td{padding:18px 24px;text-align:left;vertical-align:top;border-bottom:1px solid var(--borde)}
.sm .sm-tabla tr:last-child th,.sm .sm-tabla tr:last-child td{border-bottom:0}
.sm .sm-tabla thead th{font-weight:600;color:var(--tinta);background:var(--crema)}
.sm .sm-tabla tbody th{font-weight:500;color:var(--suave)}
.sm .sm-tabla td.sm-num{font-family:"Fraunces",Georgia,serif;font-size:22px;color:var(--tinta);white-space:nowrap}
.sm .sm-nota{font-size:14.5px;color:var(--suave);margin-top:16px}

/* Preguntas */
.sm .sm-faq{max-width:780px}
.sm .sm-faq details{border-bottom:1px solid var(--borde)}
.sm .sm-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-family:"Fraunces",Georgia,serif;font-size:21px;color:var(--tinta)}
.sm .sm-faq summary::-webkit-details-marker{display:none}
.sm .sm-faq summary::after{content:"+";font-family:"Instrument Sans",sans-serif;font-size:24px;color:var(--verde);transition:transform .25s}
.sm .sm-faq details[open] summary::after{transform:rotate(45deg)}
.sm .sm-faq .sm-faq__r{padding:0 0 26px;color:var(--texto)}
.sm .sm-faq .sm-faq__r p:last-child{margin:0}

/* Ubicación */
.sm .sm-ubica{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,64px);align-items:center}
.sm .sm-mapa{border-radius:24px;overflow:hidden;border:1px solid var(--borde);aspect-ratio:4/3;background:var(--crema)}
.sm .sm-mapa iframe{width:100%;height:100%;border:0;display:block}
.sm .sm-dir{font-size:19px;color:var(--tinta);margin:20px 0 6px}

/* Otros masajes */
.sm .sm-otros{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.sm .sm-otros a{padding:12px 22px;border-radius:999px;border:1px solid var(--borde);background:#fff;color:var(--tinta);text-decoration:none;font-size:15.5px;transition:border-color .25s,color .25s}
.sm .sm-otros a:hover{border-color:var(--verde);color:var(--verde)}

/* Migas de pan */
.sm .sm-migas{position:relative;margin:0 0 28px;font-size:14.5px;color:var(--suave)}
.sm .sm-migas ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sm .sm-migas li+li::before{content:"›";margin-right:6px;color:var(--arcilla)}
.sm .sm-migas a{color:var(--suave);text-decoration:none}
.sm .sm-migas a:hover{color:var(--verde);text-decoration:underline}
.sm .sm-migas [aria-current]{color:var(--tinta)}

/* Fotos */
.sm .sm-visual{position:relative}
.sm .sm-foto{display:block;width:100%;height:auto;border-radius:28px;object-fit:cover;background:var(--crema)}
.sm .sm-visual .sm-foto{aspect-ratio:4/5}
.sm .sm-visual .sm-ficha{position:absolute;left:-56px;bottom:-56px;width:min(330px,82%);padding:28px 26px 22px}
.sm .sm-visual .sm-ficha__precio strong{font-size:44px}
.sm .sm-visual .sm-ficha dl{font-size:14.5px;gap:8px 16px}
.sm .sm-foto--media{aspect-ratio:3/2;margin-top:36px;border-radius:24px}

@media (max-width:960px){
  .sm .sm-hero__grid,.sm .sm-dos,.sm .sm-ubica{grid-template-columns:1fr}
  .sm .sm-visual .sm-foto{aspect-ratio:4/3}
  .sm .sm-visual .sm-ficha{position:relative;left:auto;bottom:auto;width:auto;margin:-72px 14px 0}
  .sm .sm-pasos{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .sm{font-size:16px}
  .sm .sm-pasos{grid-template-columns:1fr}
  .sm .sm-ficha{padding:30px 24px 26px}
  .sm .sm-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .sm .sm-blob,.sm .sm-ficha{animation:none}
}
.sm .sm-ficha__nombre{line-height:1.25}



/* Catálogo */
.sm .sm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.sm .sm-card{display:flex;flex-direction:column;padding:34px 30px 28px;border-radius:24px;background:#fff;border:1px solid var(--borde);text-decoration:none;color:var(--texto);transition:border-color .25s,box-shadow .25s}
.sm .sm-card:hover{border-color:var(--salvia);box-shadow:0 18px 50px rgba(31,36,30,.07)}
.sm .sm-card h3{font-size:25px;margin:0 0 4px}
.sm .sm-card__alias{font-size:14.5px;color:var(--arcilla);margin:0 0 16px}
.sm .sm-card__txt{font-size:15.5px;color:var(--suave);margin:0 0 24px;flex:1}
.sm .sm-card__pie{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:18px;border-top:1px solid var(--borde)}
.sm .sm-card__precio{font-family:"Fraunces",Georgia,serif;font-size:26px;color:var(--tinta)}
.sm .sm-card__precio small{font-family:"Instrument Sans",sans-serif;font-size:14px;color:var(--suave);margin-left:6px}
.sm .sm-card__ir{font-size:15px;font-weight:500;color:var(--verde)}
.sm .sm-card:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
.sm .sm-visual .sm-ficha--simple dl{margin-top:4px}
@media (max-width:960px){.sm .sm-cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.sm .sm-cards{grid-template-columns:1fr}}
.sm .sm-cards.sm-cards--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:600px){.sm .sm-cards.sm-cards--2{grid-template-columns:1fr}}