/* Ánima Spa — niebla, salvia profunda, madera y brasa */
:root{
  --bg:#eef0ec;--fg:#1f2a26;--muted:#56625c;--surface:#f8f9f6;--line:rgba(31,42,38,.13);
  --accent:#3f6b5c;--accent-ink:#fff;--ember:#b4642f;--radius:26px;
  --font-display:"Cormorant Garamond",Georgia,serif;--font-body:"Jost",system-ui,sans-serif;
  color-scheme:light;
}
.k-brand{font-family:var(--font-display);font-size:28px;font-weight:500;letter-spacing:.06em}
.mark{width:34px;height:34px}
.k-h2{font-weight:400;letter-spacing:-.01em}
.k-head:not(.is-scrolled){color:#f4efe6}
.k-head:not(.is-scrolled) .k-lang__btn,.k-head:not(.is-scrolled) .k-burger{border-color:rgba(244,239,230,.35);background:rgba(20,17,14,.3)}
.k-head.nav-open{color:var(--fg)}

/* Escena */
.k-scene{background:#14110e}
.k-scene .steam{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.k-scene__veil{background:linear-gradient(180deg,rgba(20,17,14,.6),rgba(20,17,14,.1) 35%,rgba(20,17,14,.25) 60%,rgba(20,17,14,.9))}
.k-scene .k-scene__title{color:#f4efe6;font-weight:400;font-style:italic}
.k-scene .k-eyebrow{color:#e6c29d}
.k-scene .k-scene__sub{color:#ebe4d8}
.k-scene .k-btn--ghost{color:#f4efe6;border-color:rgba(244,239,230,.45)}
.k-spot::before{background:#e6a26b}
.moments{display:flex;gap:8px}
.moments button{flex:1;min-height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;font-weight:600}
.moments button[aria-pressed="true"]{background:#f4efe6;color:#14110e;border-color:#f4efe6}
.moments--panel button{color:var(--fg);border-color:var(--line)}
.moments--panel button[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:700px){.k-scene__copy--top{top:92px}}

/* Rituales */
.rit__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}
@media (max-width:960px){.rit__grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.rit__grid{grid-template-columns:1fr}}
.rit{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s}
.rit:hover{transform:translateY(-4px);box-shadow:0 40px 70px -40px rgba(31,42,38,.45)}
.rit img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rit__b{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.rit h3{margin:0;font-family:var(--font-display);font-size:30px;font-weight:500;line-height:1.05}
.rit p{margin:0;color:var(--muted)}
.rit__meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.rit__meta span{font-size:14px;color:var(--muted)}
.rit__meta b{font-size:20px}

/* Reserva por pasos */
.book{background:linear-gradient(180deg,transparent,#e3e7e1 18%,#e3e7e1 82%,transparent)}
.book__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,5vw,70px);align-items:start}
@media (max-width:900px){.book__grid{grid-template-columns:1fr}.book__img{display:none}}
.stepper{list-style:none;padding:0;margin:26px 0;display:flex;gap:10px}
.stepper li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}
.stepper b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);font-weight:600}
.stepper li[aria-current="step"]{color:var(--fg);font-weight:600}
.stepper li[aria-current="step"] b,.stepper li.done b{background:var(--accent);color:#fff;border-color:var(--accent)}
.book__sum{min-height:70px;padding:16px 18px;border-radius:18px;background:var(--surface);border:1px solid var(--line);display:grid;gap:4px}
.book__sum b{font-family:var(--font-display);font-size:26px;font-weight:500}
.book__img{margin-top:22px;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius)}
.book__panel{padding:clamp(20px,3vw,34px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:0 40px 90px -50px rgba(31,42,38,.5)}
.pane{display:grid;gap:16px}
.pane[hidden]{display:none}
.pane:not([hidden]){animation:paneIn .5s cubic-bezier(.2,.8,.2,1)}
@keyframes paneIn{from{opacity:0;transform:translateX(18px)}}
.pane__t{margin:0;font-family:var(--font-display);font-weight:500;font-size:30px}
.pane__nav{display:flex;gap:10px;justify-content:space-between}
.pick{display:grid;gap:8px}
.pick button{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:56px;padding:10px 16px;border-radius:16px;border:1px solid var(--line);background:transparent;cursor:pointer;text-align:left}
.pick button[aria-checked="true"]{border-color:var(--accent);background:rgba(63,107,92,.08);box-shadow:inset 0 0 0 1px var(--accent)}
.pick small{display:block;color:var(--muted);font-size:13px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{min-height:46px;min-width:56px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font-weight:600}
.seg button[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.slots{border:0;padding:0;margin:0}
.slots legend{font-size:13px;font-weight:650;letter-spacing:.04em;color:var(--muted);padding:0}
.slots__row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.slot{min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:transparent;cursor:pointer;font-weight:600;font-variant-numeric:tabular-nums}
.slot[aria-pressed="true"]{background:var(--accent);color:#fff;border-color:var(--accent)}

/* Gift card */
.gift__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center}
@media (max-width:900px){.gift__grid{grid-template-columns:1fr}}
.gcard{position:relative;max-width:460px;width:100%;margin-inline:auto;aspect-ratio:1.6;padding:26px;border-radius:24px;color:#f4efe6;background:radial-gradient(120% 90% at 0% 0%,#5b8a78 0,transparent 55%),radial-gradient(90% 90% at 100% 100%,#b4642f 0,transparent 60%),#1f2a26;box-shadow:0 50px 90px -40px rgba(31,42,38,.8);display:flex;flex-direction:column;overflow:hidden}
.gcard::after{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent 0 70%,rgba(255,255,255,.18) 78%,transparent 86%);animation:shine 7s linear infinite}
@keyframes shine{to{transform:rotate(360deg)}}
.gcard>*{position:relative;z-index:1}
.gcard__top{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-display);font-size:30px}
.gcard__top small{font-family:var(--font-body);font-size:12px;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.gcard__to{margin:auto 0 4px;font-size:15px}
.gcard__to b{font-family:var(--font-display);font-size:26px;font-weight:500}
.gcard__msg{margin:0;font-family:var(--font-display);font-style:italic;font-size:18px;opacity:.92;min-height:1.4em}
.gcard__foot{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px}
.gcard__foot b{font-size:26px}
.gcard__foot small{letter-spacing:.14em;opacity:.8}
.gcard.bump{animation:gbump .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes gbump{40%{transform:scale(1.03)}}
#gift-form{margin-top:20px}

/* Tira y resto */
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 max(12px,2vw)}
.strip img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:22px}
@media (max-width:700px){.strip{grid-template-columns:1fr 1fr}}
.faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,5vw,70px);align-items:start}
@media (max-width:900px){.faq__grid{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0 0 22px}
.facts dt{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.facts dd{margin:0}
.k-stars svg{fill:var(--ember)}
.k-credit{background:#1f2a26}
