/* KenAly · marca según las maquetas de Alicia (24-oct). Se carga al final en todas las páginas.
   Claro: papel crema, tinta oliva, botones salvia, detalles dorados, ramas solo en esquinas.
   Oscuro (opcional): cielo nocturno con estrellas, lunas y constelaciones; sin flores ni velas. */
@font-face{font-family:"EB Garamond";src:url("../fonts/eb-garamond.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url("../fonts/eb-garamond-italic.woff2") format("woff2");font-weight:400 800;font-style:italic;font-display:swap}

:root{
  --paper:#F7F1E7;--paper-2:#F1E9DC;--card:#FBF7F0;
  --ink:#3A3626;--ink-2:#4F4B40;--muted:#6B6556;
  --sage:#5F6B4C;--sage-2:#4D5840;--gold:#B08C4E;--gold-text:#8A6A2E;--line:#E2D6C2;
  --lilac-pill:#E9DCE3;--plum:#4A1D4D;
  --serif-d:"Cormorant","EB Garamond",Georgia,serif;
  --serif:"EB Garamond",Georgia,serif;
  --script:"Allura","Segoe Script",cursive;
  --color-bg:var(--paper);--color-surface:var(--card);--color-wash:var(--paper-2);--color-fill:#EEE6DA;
  --color-label:var(--ink);--color-secondary:var(--muted);--color-separator:var(--line);
  --color-accent:var(--sage);--color-accent-hover:var(--sage-2);--color-sage:var(--sage);--color-sage-hover:var(--sage-2);
  --color-gold:var(--gold);--color-gold-text:var(--gold-text);--color-plum:var(--ink);
  --font-system:var(--serif);--font-display:var(--serif-d);
  --iris:var(--paper-2);
}
html,body{background:var(--paper)}
body{font-family:var(--serif);font-size:1.125rem;line-height:1.6;color:var(--ink-2)}
h1,h2,h3{font-family:var(--serif-d);color:var(--ink);font-weight:600;letter-spacing:0}
a{color:var(--sage-2)}
.eyebrow{color:var(--gold-text)}
.eyebrow::before{background:var(--gold)}

/* Cabecera como la maqueta: logo dorado, menú en serif, Reserva tu sesión siempre visible */
.site-header{background:rgb(247 241 231 / 94%);border-bottom:1px solid var(--line)}
.brand img{height:58px}
.site-nav__list a{font-family:var(--serif);font-size:1.08rem;color:var(--ink)}
.site-nav__list a[aria-current="page"]{background:none;color:var(--sage-2);box-shadow:inset 0 -2px 0 var(--gold);border-radius:0}
.btn{font-family:var(--serif);font-weight:500;letter-spacing:.02em}
.btn--primary,.btn--sage,.site-header__cta{background:var(--sage)!important;color:#fff!important;box-shadow:none}
.btn--secondary{background:transparent;color:var(--sage-2);box-shadow:inset 0 0 0 1px var(--sage)}
@media (hover:hover){.btn--primary:hover,.btn--sage:hover,.site-header__cta:hover{background:var(--sage-2)!important}}
.demo-banner{background:var(--paper-2)}

/* Menos flores: se retiran las decoraciones sueltas de la versión anterior */
.deco,.orn,.welcome-panel__branch,.lilac-orn{display:none!important}
.section--iris,.section--lilac{background:var(--paper-2)}
.card,.service-card,.faq,.form-group,.empty-state,.track,.area-card,.act-card,.quote,.offer{border-color:var(--line)!important;box-shadow:0 1px 0 rgb(58 54 38 / 4%)}
.tag,.pill{background:var(--lilac-pill);color:var(--ink)}
.site-footer{background:var(--paper-2)}

/* Astros: solo en el tema oscuro */
.k-astro{display:none}

/* ===== Tema oscuro: noche estrellada ===== */
:root[data-theme="dark"]{
  color-scheme:dark;
  --paper:#12111C;--paper-2:#181728;--card:#1D1C2E;
  --ink:#F1EADB;--ink-2:#D9D2C3;--muted:#B5AE9F;--line:#34314A;
  --sage:#C9A961;--sage-2:#D9BC77;--gold:#D9B76E;--gold-text:#E2C487;--lilac-pill:#2C2843;
  --color-on-accent:#12111C;
}
:root[data-theme="dark"] body{background:
  radial-gradient(1px 1px at 12% 18%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 32% 62%,#fff6 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 72% 28%,#fffa 50%,transparent 51%),radial-gradient(1px 1px at 84% 74%,#fff7 50%,transparent 51%),
  radial-gradient(1px 1px at 52% 88%,#fff6 50%,transparent 51%),radial-gradient(1.5px 1.5px at 92% 8%,#f6e3b0aa 50%,transparent 51%),
  radial-gradient(120% 80% at 80% 0%,#262245 0%,transparent 60%),#12111C;background-size:420px 420px,420px 420px,420px 420px,420px 420px,420px 420px,420px 420px,100% 100%,auto;background-attachment:fixed}
:root[data-theme="dark"] .btn--primary,:root[data-theme="dark"] .btn--sage,:root[data-theme="dark"] .site-header__cta,:root[data-theme="dark"] .k-btn{background:var(--sage)!important;color:#12111C!important}
:root[data-theme="dark"] .site-header{background:rgb(18 17 28 / 92%)}
:root[data-theme="dark"] .brand img{filter:sepia(.4) saturate(1.2) brightness(1.6)}
:root[data-theme="dark"] .k-corner{display:none}
:root[data-theme="dark"] .k-astro{display:block}
:root[data-theme="dark"] img:not(.k-astro):not(.k-hero__logo):not([src*="logo"]){filter:brightness(.82) saturate(.9)}

/* ===== v5: pantallas anchas, continuidad entre secciones, Sobre y Contacto ===== */
/* Escala fluida: en 16:9 grande todo crece en proporción (rem) y el contenedor se ensancha */
html{font-size:clamp(16px,calc(10px + .5vw),20px)}
:root{--container:min(1440px,88vw)}
.container,.k-wrap{width:min(100% - 2.5rem,var(--container))}
.k-sec+.k-sec{border-top:0}
/* Flujo: los fondos se funden en vez de cortar como diapositivas */
.k-sec{background:var(--paper)}
.k-sec:nth-of-type(even){background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 18%,var(--paper-2) 82%,var(--paper) 100%)}
.k-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:22%;background:linear-gradient(180deg,transparent,var(--paper));z-index:0;pointer-events:none}
.k-hero__text{position:relative;z-index:1;width:min(100%,clamp(560px,38vw,760px));margin-left:max(1.25rem,calc((100vw - var(--container)) / 2))}
.k-hero__logo{width:min(100%,clamp(380px,26vw,540px))}
.k-hero__tagline{margin:-.6rem 0 1.4rem;font-family:var(--serif);font-size:clamp(1.15rem,.9rem + .6vw,1.6rem);letter-spacing:.14em;color:var(--gold-text)}
.k-hero h1{font-size:clamp(2.8rem,1.4rem + 3.4vw,5.4rem)}
.k-hero{min-height:min(calc(100vh - 100px),980px)}
/* Bienvenida y fundadora usan todo el ancho */
.k-welcome__grid,.k-founder__grid{grid-template-columns:1fr}
@media (min-width:900px){.k-welcome__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}.k-founder__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.k-welcome__text>p:not(.k-sub):not(.k-sign):not(.k-sign__role){max-width:42rem}
a.k-arch{display:block;text-decoration:none;transition:transform 300ms cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){a.k-arch:hover{transform:translateY(-4px)}}
/* Grillas que se reacomodan según el ancho disponible */
.k-areas__grid,.k-acts__grid,.k-voices__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))!important}
@media (min-width:1700px){.k-areas__grid,.k-acts__grid{gap:2.2rem}}

/* Página interna: hero con foto (continuidad con el Inicio) */
.page-hero{padding-block:clamp(2.5rem,5vw,5rem)}
.page-hero__grid{display:grid;gap:clamp(1.5rem,4vw,4rem);align-items:center}
@media (min-width:900px){.page-hero__grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.page-hero__text>*{max-width:44rem}
.page-hero h1{font-size:clamp(2.6rem,1.4rem + 3vw,4.8rem);font-weight:500;line-height:1.04}
.page-hero__art{margin:0;position:relative}
.page-hero__art img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:22px;box-shadow:0 40px 60px -40px rgb(58 54 38 / 45%)}
.page-hero__art::before{content:"";position:absolute;inset:-12px 12px 12px -12px;border:1px solid var(--gold);border-radius:26px;z-index:-1}
.page-hero .ornament-rule{margin-inline:0}

/* Sobre: lámina iridiscente de Alicia */
.k-sheet{position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:clamp(560px,66vw,920px);padding:clamp(3rem,6vw,6rem) 1.25rem}
.k-sheet__bg{position:absolute;inset:0;z-index:-1}
.k-sheet__bg img{width:100%;height:100%;object-fit:cover}
.k-sheet__inner{max-width:52rem;text-align:center;color:#2E2140}
.k-sheet__logo{width:clamp(220px,22vw,360px);height:auto;margin:0 auto .4rem}
.k-sheet h1{font-family:var(--serif-d);font-size:clamp(2.8rem,1.6rem + 3vw,5rem);font-weight:600;color:#4A1D4D;margin:0 0 1.4rem}
.k-sheet p{font-size:clamp(1.1rem,1rem + .3vw,1.35rem);line-height:1.6;color:#2E2140;margin:0 auto 1rem;max-width:46rem}
.k-sheet__motto{font-style:italic;color:#8A6A2E!important;font-size:clamp(1.25rem,1.1rem + .5vw,1.7rem)!important;margin-top:1.6rem!important}
/* Misión, visión, valores */
.k-mv{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}
.k-mv__card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(1.6rem,3vw,2.6rem);text-align:center}
.k-mv__k{font-size:1.6rem;color:var(--gold);margin:0}
.k-mv__card h3{font-size:clamp(1.8rem,1.4rem + 1vw,2.4rem);font-weight:500;margin:.2rem 0 .8rem}
.k-values{padding-top:clamp(3rem,6vw,5rem)}
.k-values__grid{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.k-value{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.6rem 1.4rem;text-align:center}
.k-value__star{color:var(--gold)}
.k-value h3{font-size:1.55rem;font-weight:500;margin:.3rem 0 .5rem}
.k-value p{margin:0;color:var(--ink-2)}
/* Sobre mí sobre el papel de la maqueta */
.k-aboutme__grid{display:grid;gap:clamp(2rem,5vw,4.5rem);align-items:start}
@media (min-width:900px){.k-aboutme__grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.k-arch--static{position:sticky;top:120px}}
.k-letter{position:relative;padding:clamp(2rem,5vw,4.5rem) clamp(1.5rem,6vw,6rem);background:url("../img/maquetas/sobremi-bg.webp") center/100% 100% no-repeat;border-radius:6px}
.k-letter h2{font-size:clamp(2.6rem,1.6rem + 2.6vw,4.2rem);font-weight:500;text-align:center;margin:0 0 .4rem}
.k-letter__who{text-align:center;font-style:italic;font-size:1.25rem;color:var(--gold-text)}
.k-letter p{max-width:40rem;margin-inline:auto}
.k-letter .k-sign,.k-letter .k-sign__role{text-align:center;justify-items:center}

/* Contacto en dos columnas (maqueta «Conversemos») */
.k-contact-sec{position:relative;isolation:isolate;overflow:hidden;padding-top:clamp(5rem,9vw,8rem)}
.k-contact-sec .k-corner--br{top:auto;bottom:0;right:0;transform:rotate(180deg)}
.k-contact{display:grid;gap:clamp(2rem,4vw,4rem);align-items:start}
@media (min-width:1000px){.k-contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.k-contact .contacto-form{position:sticky;top:110px}}
.k-contact h1{font-size:clamp(3rem,1.8rem + 3.4vw,5.6rem);font-weight:500;line-height:1}
.k-contact .contacto-form{max-width:none;border-color:var(--line)}

/* Pie */
.site-footer__motto{font-style:italic;color:var(--gold-text)!important}

/* Oscuro en estas piezas */
:root[data-theme="dark"] .k-sheet__bg{filter:brightness(.35) saturate(1.3) hue-rotate(10deg)}
:root[data-theme="dark"] .k-sheet__inner,:root[data-theme="dark"] .k-sheet p{color:var(--ink)}
:root[data-theme="dark"] .k-sheet h1{color:var(--gold)}
:root[data-theme="dark"] .k-letter{background:var(--card);border:1px solid var(--line)}
:root[data-theme="dark"] .k-sec:nth-of-type(even){background:var(--paper-2)}
:root[data-theme="dark"] .k-hero::after{background:linear-gradient(180deg,transparent,var(--paper))}
:root[data-theme="dark"] .k-sheet__logo{filter:brightness(0) invert(.85) sepia(.6) saturate(2.2) hue-rotate(-12deg)}
:root[data-theme="dark"] .k-sheet__motto{color:var(--gold-text)!important}

/* ===== v6 ===== */
/* Ramas completas: nunca tocan texto ni quedan cortadas */
.k-corner{width:clamp(150px,15vw,260px)!important;height:auto;opacity:1}
.k-corner--tl{top:-14px;left:-18px;transform:rotate(-6deg)}
.k-corner--tr{top:-14px;right:-18px;transform:scaleX(-1) rotate(-6deg)}
.k-corner--br{bottom:-14px;right:-18px;top:auto!important;transform:rotate(174deg)!important}
.k-garland{display:block;width:min(70%,420px);height:auto;margin:-1rem auto 1.2rem}
.k-stem{position:absolute;right:clamp(8px,3vw,60px);bottom:-10px;width:clamp(90px,8vw,150px);height:auto;z-index:0;pointer-events:none}
@media (max-width:639px){.k-corner{width:120px!important}.k-stem{width:70px;opacity:.7}}
.k-link{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-family:var(--serif-d);font-size:1.3rem;font-style:italic;color:var(--sage-2);text-decoration:none;border-bottom:1px solid var(--gold)}
.k-link span{transition:transform 200ms}
@media (hover:hover){.k-link:hover span{transform:translateX(4px)}}

/* Actividades: menos tabla, más editorial */
.k-tabs{gap:.5rem;border:0;background:none;overflow:visible}
.k-tabs button{border:1px solid var(--line)!important;border-radius:999px;background:var(--card)}
.k-act{border:0;background:transparent;overflow:visible}
.k-act__img{border-radius:20px;aspect-ratio:4/3;box-shadow:0 30px 50px -36px rgb(58 54 38 / 55%)}
.k-act__body{position:relative;margin:-2.4rem 1rem 0;padding:1.4rem 1.2rem 1.4rem;background:var(--card);border-radius:18px;box-shadow:0 20px 40px -30px rgb(58 54 38 / 45%)}
.k-act__sprig::before,.k-act__sprig::after{background:linear-gradient(90deg,transparent,var(--line))}
.k-act__sprig::after{background:linear-gradient(270deg,transparent,var(--line))}
@media (min-width:900px){.k-act:nth-child(2){margin-top:3rem}}
.k-area{border:0;box-shadow:0 30px 60px -44px rgb(58 54 38 / 55%)}

/* Fotos reales en los heroes internos */
.page-hero__art--real img{aspect-ratio:4/5;object-position:50% 35%;max-height:min(70vh,640px);width:auto;max-width:100%;margin-left:auto;display:block}
.page-hero__art--real::before{inset:-12px auto 12px -12px;width:calc(100% - 0px)}
@media (max-width:899px){.page-hero__art--real img{aspect-ratio:4/3;width:100%;max-height:none}}

/* Cama de cuarzo como foto */
.service-card__media--photo{padding:0!important;height:200px!important}
.service-card__media--photo img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:50% 60%}

/* Noche: cielo real de fondo, estrellas que titilan, imágenes sin oscurecer de más */
:root[data-theme="dark"] body{background:#12111C url("../img/deco/cielo.webp") center top/cover fixed}
:root[data-theme="dark"] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(1.5px 1.5px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 20%,#fff 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 85% 65%,#f6e3b0 50%,transparent 51%),radial-gradient(1px 1px at 40% 80%,#fff 50%,transparent 51%);
  background-size:520px 520px;opacity:.6}
@media (prefers-reduced-motion:no-preference){:root[data-theme="dark"] body::before{animation:k-twinkle 4s ease-in-out infinite alternate}@keyframes k-twinkle{from{opacity:.25}to{opacity:.8}}}
:root[data-theme="dark"] .k-sec,:root[data-theme="dark"] .k-sec:nth-of-type(even),:root[data-theme="dark"] .section,:root[data-theme="dark"] .section--tint,:root[data-theme="dark"] .section--iris,:root[data-theme="dark"] .hero{background:rgb(18 17 28 / 72%)!important}
:root[data-theme="dark"] .site-footer{background:rgb(18 17 28 / 92%)}
:root[data-theme="dark"] img:not(.k-astro):not(.k-hero__logo):not([src*="logo"]){filter:none}
:root[data-theme="dark"] .k-area__img,:root[data-theme="dark"] .k-act__img,:root[data-theme="dark"] .k-welcome__img,:root[data-theme="dark"] .page-hero__art img{filter:brightness(.88) saturate(.95)}
:root[data-theme="dark"] .service-card__media{background:radial-gradient(60% 90% at 50% 70%,#3a3360 0%,#1d1c2e 75%)!important}
:root[data-theme="dark"] .service-card__media:not(.service-card__media--cards):not(.service-card__media--photo) img{filter:drop-shadow(0 0 14px rgb(255 240 220 / 35%)) brightness(1.15)}
:root[data-theme="dark"] .k-corner,:root[data-theme="dark"] .k-garland,:root[data-theme="dark"] .k-stem,:root[data-theme="dark"] .deco,:root[data-theme="dark"] .k-act__sprig{opacity:.35;filter:saturate(.6) brightness(1.2)}
:root[data-theme="dark"] .k-act__body,:root[data-theme="dark"] .k-area,:root[data-theme="dark"] .k-quote,:root[data-theme="dark"] .k-mv__card,:root[data-theme="dark"] .k-value,:root[data-theme="dark"] .card,:root[data-theme="dark"] .service-card,:root[data-theme="dark"] .track{background:rgb(29 28 46 / 92%)!important;border-color:#3a3555!important}
:root[data-theme="dark"] .k-astro{display:block}

/* Transición de tema: un velo que se abre desde el interruptor */
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
::view-transition-new(root){animation:k-veil 900ms cubic-bezier(.65,0,.35,1) both}
@keyframes k-veil{from{clip-path:circle(0 at var(--vx,90%) var(--vy,4%))}to{clip-path:circle(150% at var(--vx,90%) var(--vy,4%))}}
:root[data-theme="dark"] .k-hero{background:radial-gradient(55% 80% at 22% 50%,rgb(14 12 26 / 88%) 0%,rgb(14 12 26 / 55%) 60%,transparent 100%)!important}
:root[data-theme="dark"] .k-hero__lead,:root[data-theme="dark"] .k-hero h1{text-shadow:0 1px 12px rgb(14 12 26 / 90%)}

/* ===== v7: tickets 25-oct (tarde) ===== */
/* Sobre: valores 3 arriba y 2 abajo centrados */
@media (min-width:900px){
  .k-values__grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .k-values__grid>.k-value{grid-column:span 2}
  .k-values__grid>.k-value:nth-child(4){grid-column:2 / span 2}
  .k-values__grid>.k-value:nth-child(5){grid-column:4 / span 2}
}
/* Sobre: lámina toda en verde, con el texto en la paleta de la marca */
.k-sheet__inner,.k-sheet p{color:var(--ink)}
.k-sheet h1{color:var(--sage-2)}
.k-sheet__motto{color:var(--gold-text)!important}
:root[data-theme="dark"] .k-sheet__bg{filter:brightness(.3) saturate(.8)}
/* Bienestar: etiqueta más grande, botón y foto centrada */
.page-hero .eyebrow{font-size:clamp(1.05rem,.95rem + .5vw,1.4rem);letter-spacing:.22em}
.page-hero__cta{margin:1.6rem 0 0}
.btn--lg{padding:1rem 2rem;font-size:1.1rem}
.page-hero__art--real{justify-self:center;display:grid;place-items:center}
.page-hero__art--real img{margin-inline:auto;object-position:50% 24%}

/* v7b: foto de la cama de cuarzo contenida en su tarjeta; carta de «Sobre mí» con margen para los adornos */
.service-card__media--photo{display:block!important;position:relative;overflow:hidden}
.service-card__media--photo img{position:absolute!important;inset:0;width:100%!important;height:100%!important}
.k-letter{padding-inline:clamp(2.6rem,10vw,9rem)}
.k-letter p{max-width:36rem}

/* ===== v8: modo noche con fotos propias y sin cortes ===== */
:root[data-theme="dark"] .k-sheet__bg{filter:none}
:root[data-theme="dark"] .k-letter{background:url("../img/maquetas/sobremi-bg-noche.webp") center/100% 100% no-repeat;border:0}
:root[data-theme="dark"] .k-letter p,:root[data-theme="dark"] .k-letter h2{color:var(--ink)}
:root[data-theme="dark"] .k-area__img,:root[data-theme="dark"] .k-act__img,:root[data-theme="dark"] .k-welcome__img,:root[data-theme="dark"] .page-hero__art img{filter:none}
/* portada: la foto de noche se funde hacia abajo con el cielo, sin banda */
:root[data-theme="dark"] .k-hero{background:transparent!important}
:root[data-theme="dark"] .k-hero__bg{display:block;-webkit-mask-image:linear-gradient(180deg,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,#000 62%,transparent 100%)}
:root[data-theme="dark"] .k-hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(90deg,rgb(14 13 24 / 82%) 0%,rgb(14 13 24 / 55%) 38%,transparent 70%)}
:root[data-theme="dark"] .k-hero::after{background:linear-gradient(180deg,transparent,rgb(18 17 28 / 72%))}
:root[data-theme="dark"] .k-hero+.k-sec{background:linear-gradient(180deg,transparent 0,rgb(18 17 28 / 72%) 180px)!important}

/* v8b: portada de noche: la luna de la foto queda a la derecha, lejos del texto */
:root[data-theme="dark"] .k-hero__bg img{transform:scaleX(-1);object-position:50% 50%}
:root[data-theme="dark"] .k-astro--hero{display:none}

/* ===== v9a: textos de los servicios (Alicia) ===== */
.svc-detail{display:grid;gap:.35rem}
.svc-detail p{margin:0;font-size:1.08rem;line-height:1.65}
.svc-detail .svc-meta{font-weight:700;color:var(--sage-2);font-size:1.15rem;margin-bottom:.4rem}
.svc-detail .svc-lead{font-size:1.2rem}
.svc-detail h4{margin:1.1rem 0 .1rem;font-family:var(--serif-d);font-size:1.4rem;font-weight:600;color:var(--ink)}
.service-card__body{padding-top:1.2rem}
.prep-intro{font-size:clamp(1.2rem,1.05rem + .5vw,1.5rem)!important;line-height:1.6;max-width:44rem}
.prep-grid>.prep-after{flex:1 1 100%;max-width:46rem;padding:clamp(1.6rem,3vw,2.4rem);border:1px solid var(--gold);background:var(--card)}
.prep-after h3{font-size:clamp(1.8rem,1.4rem + 1vw,2.4rem)}
.prep-after p{font-size:1.2rem;line-height:1.6}

/* ===== v9c: cartas de noche, logo vectorial, foto de Bienestar, transición de tema ===== */
:root[data-theme="dark"] .brand img{filter:brightness(1.3) saturate(1.1)}
:root[data-theme="dark"] .service-card__media--cards>img{filter:drop-shadow(0 6px 16px rgb(217 183 110 / 35%))}
.page-hero__art--real img[src*="alicia-meditando"]{object-position:50% 38%}
.service-card__media--photo img{object-position:50% 55%!important}
/* Transición de tema: velo con borde luminoso + chispas (ver theme.js) */
@property --fx-r{syntax:"<length>";inherits:true;initial-value:0px}
.theme-fx{position:fixed;inset:0;z-index:2147483000;pointer-events:none;overflow:hidden;--fx-r:0px}
.theme-fx__ring{position:absolute;inset:0;background:radial-gradient(circle at var(--fx-x) var(--fx-y),transparent 0,transparent calc(var(--fx-r) - 160px),var(--fx-a) calc(var(--fx-r) - 36px),var(--fx-b) calc(var(--fx-r) - 4px),transparent calc(var(--fx-r) + 18px))}
.theme-fx--night{--fx-a:rgb(110 96 220 / 22%);--fx-b:rgb(246 224 170 / 95%)}
.theme-fx--day{--fx-a:rgb(255 214 150 / 28%);--fx-b:rgb(255 252 235 / 98%)}
.theme-fx__p{position:absolute;left:var(--fx-x);top:var(--fx-y);font-size:var(--s,14px);line-height:1;translate:-50% -50%;will-change:transform,opacity}
.theme-fx--night .theme-fx__p{color:#F6E3B0;text-shadow:0 0 10px rgb(246 227 176 / 90%)}
.theme-fx--day .theme-fx__p{color:#E6B04A;text-shadow:0 0 12px rgb(255 236 190 / 95%)}
html.theme-veil::view-transition-new(root){animation:none;clip-path:circle(0 at var(--vx,90%) var(--vy,4%))}
html.theme-veil-css::view-transition-new(root){animation:k-veil var(--fx-d,1000ms) cubic-bezier(.55,0,.25,1) both}
@keyframes k-veil{from{clip-path:circle(0 at var(--vx,90%) var(--vy,4%))}to{clip-path:circle(var(--vr,150vmax) at var(--vx,90%) var(--vy,4%))}}

/* v9d: sin banda entre el encabezado de página y la sección siguiente (noche) */
:root[data-theme="dark"] .hero--compact{background:linear-gradient(180deg,rgb(18 17 28 / 38%),rgb(18 17 28 / 72%))!important}

/* El efecto vive en su propia capa por encima del cambio de tema */
.theme-fx{view-transition-name:theme-fx}
::view-transition-old(theme-fx){display:none}
::view-transition-group(theme-fx),::view-transition-new(theme-fx){animation:none}

/* ===== v10 — Movimiento «aliento y luz» (un solo lenguaje en todas las páginas) ===== */
@keyframes k-luz{from{opacity:0;filter:blur(9px);translate:0 7px}to{opacity:1;filter:blur(0);translate:0 0}}
@keyframes k-aliento{from{opacity:0;scale:.955}to{opacity:1;scale:1}}
@keyframes k-luna{from{opacity:0;clip-path:circle(0% at 50% 45%);scale:1.05}60%{opacity:1}to{opacity:1;clip-path:circle(80% at 50% 45%);scale:1}}
@keyframes k-velo{from{opacity:0}to{opacity:1}}
@keyframes k-lado-l{from{opacity:0;translate:-28px 0}to{opacity:1;translate:0 0}}
@keyframes k-lado-r{from{opacity:0;translate:28px 0}to{opacity:1;translate:0 0}}
@media (prefers-reduced-motion:no-preference){
  html.js-reveal [data-fx]:not(.is-visible){opacity:0;transform:none}
  html.js-reveal [data-fx]{transition:transform 260ms cubic-bezier(.2,.7,.2,1),box-shadow 260ms}
  html.js-reveal [data-fx].is-visible{animation:var(--fx-name,k-aliento) 1s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--reveal-delay,var(--fx-delay,0ms))}
  [data-fx="luz"]{--fx-name:k-luz}
  [data-fx="luna"]{--fx-name:k-luna}
  [data-fx="velo"]{--fx-name:k-velo}
  [data-fx="lado-l"]{--fx-name:k-lado-l}
  [data-fx="lado-r"]{--fx-name:k-lado-r}
  [data-fx="luna"].is-visible{animation-duration:1.3s}
  /* portadas: misma entrada en todas las páginas (texto con luz, foto como luna) */
  .k-hero__text>*,.page-hero__text>*,.page-hero__art{animation:k-luz 1.1s cubic-bezier(.2,.7,.2,1) backwards}
  .page-hero__art{animation-name:k-luna;animation-duration:1.4s}
  .k-hero__text>:nth-child(2),.page-hero__text>:nth-child(2){animation-delay:.1s}
  .k-hero__text>:nth-child(3),.page-hero__text>:nth-child(3){animation-delay:.2s}
  .k-hero__text>:nth-child(4),.page-hero__text>:nth-child(4){animation-delay:.3s}
  .k-hero__text>:nth-child(5),.page-hero__text>:nth-child(5){animation-delay:.4s}
  .k-hero__text>:nth-child(n+6),.page-hero__text>:nth-child(n+6){animation-delay:.5s}
  .page-hero__art{animation-delay:.2s}
  :root.no-anim .k-hero__text>*,:root.no-anim .page-hero__text>*{animation:k-luz 1.1s cubic-bezier(.2,.7,.2,1) backwards!important}
  :root.no-anim .page-hero__art{animation:k-luna 1.4s cubic-bezier(.2,.7,.2,1) .2s backwards!important}
  :root.no-anim .k-hero__text>:nth-child(2),:root.no-anim .page-hero__text>:nth-child(2){animation-delay:.1s!important}
  :root.no-anim .k-hero__text>:nth-child(3),:root.no-anim .page-hero__text>:nth-child(3){animation-delay:.2s!important}
  :root.no-anim .k-hero__text>:nth-child(4),:root.no-anim .page-hero__text>:nth-child(4){animation-delay:.3s!important}
  :root.no-anim .k-hero__text>:nth-child(5),:root.no-anim .page-hero__text>:nth-child(5){animation-delay:.4s!important}
  :root.no-anim .k-hero__text>:nth-child(n+6),:root.no-anim .page-hero__text>:nth-child(n+6){animation-delay:.5s!important}
  :root.no-anim .hero .page-hero__grid,:root.no-anim .hero .container>.page-hero__grid{animation:none!important}
}

/* ===== v10b — Sobre mí: carta con bordes suaves (día), panel índigo con marco dorado (noche), columna lateral completa ===== */
.k-letter{background:none!important;isolation:isolate;border:0!important}
.k-letter::before{content:"";position:absolute;inset:-2.5% -3%;z-index:-1;background:url("../img/maquetas/sobremi-bg.webp") center/100% 100% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(180deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
:root[data-theme="dark"] .k-letter::before{inset:0;background:radial-gradient(90% 55% at 50% 0%,rgb(78 66 150 / 38%),transparent 70%),radial-gradient(60% 40% at 100% 100%,rgb(217 183 110 / 10%),transparent 70%),linear-gradient(170deg,#1c1942 0%,#131129 60%,#0f0d21 100%);
  border:1px solid rgb(217 183 110 / 55%);border-radius:14px;-webkit-mask-image:none;mask-image:none;
  box-shadow:inset 0 0 0 7px #120f26,inset 0 0 0 8px rgb(217 183 110 / 28%),0 34px 70px -34px rgb(0 0 0 / 80%)}
:root[data-theme="dark"] .k-letter::after{content:"";position:absolute;top:14px;right:14px;width:clamp(120px,16vw,210px);aspect-ratio:1;z-index:-1;background:url("../img/astros/constelacion-400.webp") center/contain no-repeat;opacity:.5;pointer-events:none}
:root[data-theme="dark"] .k-letter{background:none!important}

.k-aboutme__side{display:grid;gap:clamp(1.6rem,3vw,2.4rem);align-content:start}
@media (min-width:900px){.k-aboutme__side{position:sticky;top:110px}.k-aboutme__side .k-arch--static{position:relative;top:auto}}
.k-hello{position:relative;text-align:center;padding:clamp(1.4rem,2.4vw,2rem) clamp(1.2rem,2vw,1.8rem);border:1px solid rgb(184 145 63 / 45%);border-radius:18px;background:linear-gradient(180deg,rgb(255 252 244 / 80%),rgb(250 241 220 / 70%))}
.k-hello__k{margin:0 0 .3rem;letter-spacing:.5em;color:var(--gold);font-size:1.05rem}
.k-hello h3{font-family:var(--serif-d);font-size:clamp(1.7rem,1.4rem + .8vw,2.2rem);font-weight:500;margin:0 0 .4rem;color:var(--ink)}
.k-hello p:not(.k-hello__k){margin:0 auto 1.2rem;max-width:22rem;color:var(--ink);line-height:1.55}
.k-hello__cta{display:grid;gap:.8rem;justify-items:center}
.k-hello__link{color:var(--gold-text);font-size:1.05rem;text-underline-offset:.25em;min-height:44px;display:inline-flex;align-items:center}
:root[data-theme="dark"] .k-hello{background:linear-gradient(180deg,rgb(34 29 76 / 70%),rgb(19 17 41 / 85%));border-color:rgb(217 183 110 / 45%)}
:root[data-theme="dark"] .k-hello h3{color:var(--gold)}

/* ===== v10c — Reserva: formulario en dos columnas (menos vertical) ===== */
.container--form>h2,.container--form>.muted{max-width:48rem}
@media (min-width:960px){
  .container--form{max-width:1120px}
  #form-reserva{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.6rem,3vw,3rem);row-gap:.4rem;align-items:start}
  #form-reserva>.summary-errors{grid-column:1/-1;grid-row:1}
  #form-reserva>#grupo-contacto{grid-column:1;grid-row:2}
  #form-reserva>[aria-labelledby="grupo-contacto"]{grid-column:1;grid-row:3}
  #form-reserva>#grupo-sesion{grid-column:2;grid-row:2}
  #form-reserva>[aria-labelledby="grupo-sesion"]{grid-column:2;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem}
  #form-reserva>[aria-labelledby="grupo-sesion"] .field:first-child{grid-column:1/-1}
  #form-reserva>#grupo-mensaje{grid-column:1/-1;grid-row:4;margin-top:1rem}
  #form-reserva>[aria-labelledby="grupo-mensaje"]{grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.4rem;align-items:start}
  #form-reserva>[aria-labelledby="grupo-mensaje"]>.field:first-child{grid-column:1;grid-row:1/span 5}
  #form-reserva>[aria-labelledby="grupo-mensaje"]>.field--check{grid-column:2}
  #form-reserva>#reserva-expectativa{grid-column:1/-1;grid-row:6}
  #form-reserva>#reserva-sin-clave{grid-column:1/-1;grid-row:7}
  #form-reserva>.form__submit{grid-column:1/-1;grid-row:8;justify-self:center;margin-top:1rem;min-width:min(100%,420px)}
  #form-reserva>.form__status{grid-column:1/-1;grid-row:9;text-align:center}
}

/* ===== v10d — Contacto: columna izquierda completa, mapa de Chile y redes al final ===== */
.k-ways{margin-top:clamp(1.8rem,3vw,2.6rem);padding:clamp(1.3rem,2.2vw,1.8rem);border:1px solid rgb(184 145 63 / 45%);border-radius:18px;background:linear-gradient(180deg,rgb(255 252 244 / 80%),rgb(250 241 220 / 65%));text-align:center}
.k-ways__k{margin:0;color:var(--gold);font-size:1.1rem}
.k-ways__t{font-family:var(--serif-d);font-size:clamp(1.5rem,1.3rem + .6vw,1.9rem);font-weight:500;margin:.2rem 0 1rem;color:var(--ink)}
.k-ways__list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.k-ways__l{display:block;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text)}
.k-ways__list a{color:var(--ink);font-size:1.2rem;text-underline-offset:.22em;overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}
:root[data-theme="dark"] .k-ways{background:linear-gradient(180deg,rgb(34 29 76 / 70%),rgb(19 17 41 / 85%));border-color:rgb(217 183 110 / 45%)}
:root[data-theme="dark"] .k-ways__t{color:var(--gold)}

.k-comm{overflow:hidden;--chl-a:#EFE0B4;--chl-b:#F7EFD8;--chl-line:#B8913F;--chl-txt:var(--ink)}
:root[data-theme="dark"] .k-comm{--chl-a:#2B2860;--chl-b:#171436;--chl-line:#D9B76E;--chl-txt:#F1E9D6}
.k-comm__grid{display:grid;gap:clamp(1.5rem,4vw,4rem);align-items:center}
@media (min-width:1000px){.k-comm__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.k-comm__intro{position:sticky;top:120px;align-self:start}}
.k-comm__intro h2{font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem);font-weight:500;line-height:1.1}
.k-comm__hint{color:var(--gold-text);font-style:italic}
.k-comm__map{display:grid;place-items:center}
.k-chile{width:min(100%,520px);height:auto;overflow:visible}
.chl-land{fill:url(#chl-f);stroke:var(--chl-line);stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 0 14px rgb(217 183 110 / 35%))}
.chl-grat line{stroke:var(--chl-line);stroke-opacity:.18;stroke-dasharray:2 6}
.chl-lead{stroke:var(--chl-line);stroke-opacity:.5;stroke-width:1}
.chl-dot{fill:var(--chl-line);stroke:#fff8e4;stroke-width:1.2}
.chl-halo{fill:var(--chl-line);fill-opacity:.28;transform-box:fill-box;transform-origin:center}
.chl-city text{font-family:var(--serif-d);font-size:19px;fill:var(--chl-txt);transition:fill .2s}
.chl-hit{fill:transparent}
.chl-city{cursor:pointer;outline:none}
.chl-city:hover text,.chl-city:focus-visible text{fill:var(--chl-line);text-decoration:underline}
.chl-city:focus-visible .chl-dot{stroke:var(--color-focus,#4A6FDB);stroke-width:3}
:root[data-theme="dark"] .chl-dot{filter:drop-shadow(0 0 6px rgb(255 219 140 / 90%))}
@media (prefers-reduced-motion:no-preference){
  .chl-halo{animation:chl-pulse 3.2s ease-in-out infinite}
  .chl-city:nth-of-type(2n) .chl-halo{animation-delay:-1.1s}.chl-city:nth-of-type(3n) .chl-halo{animation-delay:-2.1s}
  @keyframes chl-pulse{0%,100%{transform:scale(.8);opacity:.9}50%{transform:scale(1.9);opacity:.15}}
}
.k-social{padding-block:clamp(2rem,4vw,3.2rem)}
.k-social__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.4rem}
.k-social__t{font-family:var(--serif-d);font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);font-weight:500;margin:0 .6rem 0 0}
.chl-city text{font-size:22px}
.chl-stars circle{fill:#F4E7C0;fill-opacity:.7;display:none}
:root[data-theme="dark"] .chl-stars circle{display:inline}
.k-contact .eyebrow{font-size:clamp(1.1rem,1rem + .5vw,1.45rem);letter-spacing:.22em}

/* ===== v11 — Interruptor sol / luna (vive por encima de la transición y responde al instante) ===== */
canvas.theme-fx{width:100vw;height:100vh}
button.theme-switch,button.theme-switch[data-state="day"]{width:72px;height:36px;view-transition-name:kswitch;border:1px solid rgb(184 145 63 / 75%);
  background:linear-gradient(120deg,#FCEFC6 0%,#F8DDA0 55%,#F3C98F 100%);box-shadow:inset 0 1px 3px rgb(184 145 63 / 25%);
  transition:background 700ms cubic-bezier(.4,0,.2,1),border-color 700ms,box-shadow 700ms}
::view-transition-group(kswitch),::view-transition-old(kswitch),::view-transition-new(kswitch){animation:none}
::view-transition-old(kswitch){display:none}
button.theme-switch .theme-switch__knob{top:3px;left:3px;width:28px;height:28px;border-radius:50%;z-index:2;overflow:hidden;
  background:radial-gradient(circle at 34% 32%,#FFF7D6 0%,#FFE08A 45%,#F2B63E 100%);
  box-shadow:0 0 0 4px rgb(255 214 120 / 38%),0 0 16px 3px rgb(255 190 80 / 65%);
  transform:translateX(0) rotate(0);transition:transform 700ms cubic-bezier(.5,1.5,.4,.9),background 700ms,box-shadow 700ms}
button.theme-switch .theme-switch__knob::before,button.theme-switch .theme-switch__knob::after{content:"";position:absolute;border-radius:50%;background:rgb(120 105 160 / 35%);opacity:0;transition:opacity 500ms}
button.theme-switch .theme-switch__knob::before{width:7px;height:7px;left:16px;top:5px}
button.theme-switch .theme-switch__knob::after{width:5px;height:5px;left:7px;top:17px}
button.theme-switch .theme-switch__clouds{position:absolute;left:36px;top:11px;width:20px;height:7px;border-radius:99px;background:#fff;opacity:.85;transition:transform 700ms,opacity 500ms;
  box-shadow:-9px 8px 0 -1px #fff,8px 9px 0 -2px #fff}
button.theme-switch .theme-switch__stars{opacity:0;transition:opacity 600ms}
button.theme-switch .theme-switch__stars i{background:#FFF3C4;box-shadow:0 0 4px #FFF3C4}
button.theme-switch .theme-switch__stars i:nth-child(1){top:8px;left:11px}
button.theme-switch .theme-switch__stars i:nth-child(2){top:22px;left:20px;width:2px;height:2px}
button.theme-switch .theme-switch__stars i:nth-child(3){top:12px;left:28px;width:2px;height:2px}
button.theme-switch .theme-switch__stars i:nth-child(4){top:25px;left:8px;width:2px;height:2px}
button.theme-switch .theme-switch__stars i:nth-child(5){top:7px;left:23px;width:2px;height:2px}
button.theme-switch[data-state="night"]{background:linear-gradient(120deg,#17143A 0%,#26225E 60%,#3A3482 100%);border-color:rgb(217 183 110 / 75%);box-shadow:inset 0 1px 6px rgb(0 0 0 / 45%)}
button.theme-switch[data-state="night"] .theme-switch__knob{transform:translateX(36px) rotate(-25deg);
  background:radial-gradient(circle at 34% 32%,#FFFFFF 0%,#EDE8F7 50%,#CFC5E3 100%);box-shadow:0 0 0 4px rgb(220 210 255 / 22%),0 0 16px 3px rgb(200 190 255 / 55%)}
button.theme-switch[data-state="night"] .theme-switch__knob::before,button.theme-switch[data-state="night"] .theme-switch__knob::after{opacity:1}
button.theme-switch[data-state="night"] .theme-switch__clouds{opacity:0;transform:translateX(-14px)}
button.theme-switch[data-state="night"] .theme-switch__stars{opacity:1}
@media (prefers-reduced-motion:no-preference){
  button.theme-switch[data-state="night"] .theme-switch__stars i{animation:k-tw 2.6s ease-in-out infinite}
  button.theme-switch[data-state="night"] .theme-switch__stars i:nth-child(2n){animation-delay:-1.2s}
  button.theme-switch[data-state="day"] .theme-switch__clouds{animation:k-cloud 6s ease-in-out infinite alternate}
  @keyframes k-tw{0%,100%{opacity:.35;scale:.8}50%{opacity:1;scale:1.3}}
  @keyframes k-cloud{from{translate:0 0}to{translate:-5px 0}}
}

/* ===== v11b — Ambiente (polvo de luz de día, estrellas y luciérnagas de noche) y secciones sin cortes ===== */
canvas.k-ambient{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:3}
@media print{canvas.k-ambient{display:none}}
.k-sec.k-shop,:root[data-theme="dark"] .k-sec.k-shop{background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 22%,var(--paper-2) 78%,var(--paper) 100%)}

/* ===== v12 — Comunidad única, pie legible, portada con luz ===== */
.k-comm__solo{display:grid;justify-items:center;text-align:center;gap:1rem;padding-block:clamp(1rem,3vw,2.4rem)}
.k-comm__solo h2{font-size:clamp(2.2rem,1.6rem + 2vw,3.4rem);font-weight:500;margin:0}
.k-comm__solo p{margin:0;max-width:34rem}
.site-footer__legal p{font-size:1.05rem;line-height:1.6;max-width:62rem}

/* Portadas con foto real: caja de tamaño fijo (la imagen ya no empuja nada al cargar) + luz y godrays suaves */
@media (min-width:900px){
  .page-hero__art--real{aspect-ratio:4/5;width:min(100%,calc(min(70vh,640px) * .8));margin-inline:auto;display:block}
  .page-hero__art--real img{width:100%;height:100%;max-height:none;aspect-ratio:auto;margin:0}
}
@media (max-width:899px){.page-hero__art--real{aspect-ratio:4/3;width:100%}.page-hero__art--real img{width:100%;height:100%;aspect-ratio:auto}}
.page-hero__art--real::after{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;mix-blend-mode:soft-light;
  background:
    linear-gradient(112deg,transparent 14%,rgb(255 244 210 / 55%) 24%,transparent 34%,rgb(255 244 210 / 40%) 46%,transparent 56%,rgb(255 244 210 / 34%) 68%,transparent 80%) 0 0/180% 100%,
    radial-gradient(75% 55% at 86% 6%,rgb(255 214 140 / 60%),transparent 68%),
    radial-gradient(120% 70% at 50% 108%,rgb(60 40 90 / 55%),transparent 62%)}
:root[data-theme="dark"] .page-hero__art--real::after{background:
    linear-gradient(112deg,transparent 14%,rgb(190 200 255 / 40%) 24%,transparent 34%,rgb(190 200 255 / 30%) 46%,transparent 56%,rgb(255 230 170 / 24%) 68%,transparent 80%) 0 0/180% 100%,
    radial-gradient(75% 55% at 86% 6%,rgb(200 210 255 / 50%),transparent 68%),
    radial-gradient(120% 70% at 50% 108%,rgb(10 8 30 / 70%),transparent 62%)}
@media (prefers-reduced-motion:no-preference){
  .page-hero__art--real::after{animation:k-rayos 12s ease-in-out infinite alternate}
  @keyframes k-rayos{from{background-position:0 0,0 0,0 0;opacity:.8}to{background-position:70% 0,0 0,0 0;opacity:1}}
}

/* Secciones con tinte: se funden con el fondo arriba y abajo (sin franjas ni cortes) */
.section--tint,.section--iris,.section--lilac{background:linear-gradient(180deg,var(--paper) 0%,var(--paper-2) 16%,var(--paper-2) 84%,var(--paper) 100%)}

/* ===== v13 (26-oct): tickets de Alicia y Rodran ===== */
/* Tarot: límite de preguntas bajo el precio; abrir una tarjeta no estira a la vecina */
.service-card__foot{align-items:flex-end}
.service-card__price{display:inline-flex;flex-direction:column;gap:.12rem;line-height:1.25}
.service-card__limit{font-size:.9rem;font-style:italic;font-weight:400;color:var(--muted)}
@media (min-width:900px){.service-grid:has(details[open]){align-items:start}}

/* Cabeceras sin acompañante: se centran junto con su contenido (tienda, saberes, FAQ, preparación) */
@media (min-width:900px){
  .container.prose:has(>.section__head+.empty-state),.container.prose:has(>.section__head+.faq){max-width:min(100% - 2 * var(--space-5),58rem)}
  .container.prose:has(>.section__head+.empty-state)>*,.container.prose:has(>.section__head+.faq)>*{max-width:none}
  .container:has(>.section__head+.empty-state)>.section__head,
  .container:has(>.section__head+.faq)>.section__head,
  .container:has(>.section__head+.prep-grid)>.section__head{text-align:center;margin-inline:auto;max-width:48rem}
  .container:has(>.section__head+.empty-state)>.empty-state{max-width:46rem;margin-inline:auto}
  .container:has(>.section__head+.faq)>.faq{max-width:48rem;margin-inline:auto}
  .prep-intro{margin-inline:auto}
}
.section:has(>.container>.empty-state){padding-block:clamp(2.5rem,5vw,4rem)}

/* Portada y secciones de inicio: bloques de texto realmente centrados */
.k-head>p{margin-inline:auto}
.k-soon{max-width:46rem;margin:clamp(1.5rem,3vw,2.4rem) auto 0;text-align:center}
.k-soon p{margin-inline:auto;max-width:38rem}
.k-talk .k-eyebrow{font-weight:600;color:var(--gold-text);text-shadow:0 0 10px var(--paper),0 0 4px var(--paper),0 0 18px var(--paper)}
@media (max-width:639px){
  .k-talk__inner{padding-inline:1.5rem}
  .k-talk__inner>p{margin-bottom:1.15rem;line-height:1.6}
  .k-talk .k-eyebrow{margin-top:3.4rem}
  .k-talk .k-corner{width:120px!important;opacity:.7}
}
/* Modo noche: la portada se funde con la sección siguiente, sin corte */
:root[data-theme="dark"] .k-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:min(34%,280px);z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 0%,rgb(18 17 28 / 70%) 55%,var(--paper) 100%)}

/* Contacto: la columna izquierda llena el alto del formulario */
@media (min-width:900px){
  .k-contact{align-items:stretch}
  .k-contact>div:first-child{display:flex;flex-direction:column}
  .k-contact>div:first-child .firma{margin-bottom:clamp(1.8rem,3vw,2.6rem)}
  .k-contact>div:first-child .k-ways{margin-top:auto}
}

/* Pie: bloque de contacto con calidez (igual en todas las páginas) */
.site-footer__hug{display:grid;gap:.75rem;justify-items:start;align-content:start}
.site-footer__hug .h4{margin:0}
.site-footer__hug-t{font-family:var(--serif-d);font-size:clamp(1.6rem,1.4rem + .6vw,2rem);font-weight:500;line-height:1.1;margin:.1rem 0 0;color:var(--ink)}
.site-footer__hug-p{margin:0;max-width:24rem;color:var(--ink-2)}
.site-footer__wa{margin-top:.2rem}
.site-footer__mail{margin:0}
.site-footer__mail a{color:var(--ink);text-underline-offset:.25em;overflow-wrap:anywhere}
.site-footer__social{display:flex;flex-wrap:wrap;gap:.6rem;margin:.1rem 0 0}
.site-footer__social a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1rem 0 .85rem;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;background:rgb(255 253 249 / 55%);transition:border-color .2s,transform .2s}
.site-footer__social a:hover{border-color:var(--gold);transform:translateY(-1px)}
.site-footer__social svg{width:18px;height:18px;flex:none;color:var(--gold-text)}
:root[data-theme="dark"] .site-footer__social a{background:var(--card)}
/* v13b: cabeceras centradas también ante bloques de tarjetas, y sus párrafos realmente centrados */
@media (min-width:900px){
  .container:has(>.section__head+.tracks)>.section__head,
  .container:has(>.section__head+.service-grid)>.section__head{text-align:center;margin-inline:auto;max-width:48rem}
  .container:has(>.section__head+.empty-state)>.section__head>*,
  .container:has(>.section__head+.faq)>.section__head>*,
  .container:has(>.section__head+.prep-grid)>.section__head>*,
  .container:has(>.section__head+.tracks)>.section__head>*,
  .container:has(>.section__head+.service-grid)>.section__head>*{margin-inline:auto}
}
.section:has(>.container>.empty-state){padding-block:clamp(2rem,4vw,3rem)}
@media (max-width:639px){
  .k-talk__inner{padding-inline:1.1rem}
  .k-talk .k-btn--lg{white-space:nowrap;font-size:1.05rem;padding-inline:1.2rem}
}

/* ===== v14 — tarjeta de limpieza integral (ilustración) y calendario ===== */
.service-card__media--art{display:block!important;position:relative;overflow:hidden;padding:0!important;height:200px!important}
.service-card__media--art img{position:absolute!important;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:contain;object-position:50% 50%;mix-blend-mode:multiply}
:root[data-theme="dark"] .service-card__media--art img{mix-blend-mode:screen;filter:none!important}

.k-date{position:relative;display:block}
.k-date>input[type="date"]{width:100%;padding-right:3rem}
.k-date>input[type="date"]::-webkit-calendar-picker-indicator{display:none}
.k-date__btn{position:absolute;top:50%;right:.5rem;transform:translateY(-50%);width:2.25rem;height:2.25rem;border:0;border-radius:50%;background:transparent;color:var(--color-plum,#5b3a6b);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.k-date__btn svg{width:1.3rem;height:1.3rem}
.k-date__btn:hover,.k-date__btn[aria-expanded="true"]{background:var(--color-fill,#efe6f5);color:var(--color-gold-text,#8a6a2a)}
.k-date__btn:focus-visible{outline:2px solid var(--color-gold,#c9a24d);outline-offset:2px}

.k-cal{position:fixed;z-index:200;top:0;left:0;width:min(21.5rem,calc(100vw - 2rem));padding:1rem 1rem .85rem;border-radius:1.1rem;background:var(--color-surface,#fff);color:var(--color-label,#2a1b2e);border:1px solid var(--color-separator,#e5dbe9);box-shadow:0 22px 50px -18px rgb(46 34 48/45%),0 0 0 1px rgb(201 162 77/18%);animation:k-cal-in .22s cubic-bezier(.2,.8,.2,1)}
@keyframes k-cal-in{from{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}
.k-cal__head{display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.k-cal__sel{display:flex;gap:.4rem;flex:1;justify-content:center}
.k-cal__sel select{flex:none;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:.1rem 1rem .1rem .3rem!important;background-image:none!important;height:auto!important;appearance:none;-webkit-appearance:none;font:inherit;font-family:var(--font-display,inherit);font-size:1.05rem;color:inherit;background:transparent;border:0;border-bottom:1px dashed var(--color-gold,#c9a24d);padding:.1rem .25rem;cursor:pointer;border-radius:0}
.k-cal__sel select:focus-visible{outline:2px solid var(--color-gold,#c9a24d);outline-offset:2px}
.k-cal__sel option{color:#2a1b2e;background:#fff}
.k-cal__nav{width:2.1rem;height:2.1rem;border:0;border-radius:50%;background:var(--color-fill,#efe6f5);color:inherit;font-size:1.3rem;line-height:1;cursor:pointer;transition:background .2s,transform .2s}
.k-cal__nav:hover{background:var(--color-gold,#c9a24d);color:#2a1b2e;transform:scale(1.06)}
.k-cal__orn{text-align:center;color:var(--color-gold,#c9a24d);font-size:.7rem;letter-spacing:.6em;margin:.35rem 0 .2rem;opacity:.85}
.k-cal__wd,.k-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.15rem}
.k-cal__wd span{text-align:center;font-size:.72rem;letter-spacing:.08em;color:var(--color-secondary,#6b5a70);padding:.25rem 0}
.k-cal__day{position:relative;aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;font-size:.92rem;cursor:pointer;display:grid;place-items:center;transition:background .18s,color .18s,transform .18s}
.k-cal__day:hover:not([disabled]){background:var(--color-fill,#efe6f5);transform:scale(1.08)}
.k-cal__day:focus-visible{outline:2px solid var(--color-gold,#c9a24d);outline-offset:1px}
.k-cal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--color-gold,#c9a24d)}
.k-cal__day.is-sel{background:linear-gradient(145deg,#d9b76e,#b9923f);color:#2a1b2e;font-weight:600;box-shadow:0 6px 14px -6px rgb(185 146 63/70%)}
.k-cal__day[disabled]{opacity:.28;cursor:not-allowed}
.k-cal__moon{display:inline-block;width:.42rem;height:.42rem;border-radius:50%;flex:none}
.k-cal__day .k-cal__moon{position:absolute;bottom:.18rem;left:50%;transform:translateX(-50%)}
.k-cal__moon--llena{background:var(--color-gold,#c9a24d);box-shadow:0 0 6px 1px rgb(217 183 110/70%)}
.k-cal__moon--nueva{background:transparent;box-shadow:inset 0 0 0 1.3px var(--color-plum,#5b3a6b)}
.k-cal__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-top:.7rem;padding-top:.6rem;border-top:1px solid var(--color-separator,#e5dbe9);font-size:.76rem;color:var(--color-secondary,#6b5a70)}
.k-cal__key{display:inline-flex;align-items:center;gap:.35rem}
.k-cal__acts{margin-left:auto;display:flex;gap:.3rem}
.k-cal__acts button{border:0;background:transparent;color:var(--color-gold-text,#8a6a2a);font:inherit;font-size:.82rem;cursor:pointer;padding:.25rem .55rem;border-radius:999px}
.k-cal__acts button:hover{background:var(--color-fill,#efe6f5)}
:root[data-theme="dark"] .k-cal{background:#1d1c2e;border-color:rgb(217 183 110/25%);box-shadow:0 22px 50px -14px rgb(0 0 0/70%),0 0 0 1px rgb(217 183 110/18%)}
:root[data-theme="dark"] .k-cal__nav,:root[data-theme="dark"] .k-cal__day:hover:not([disabled]){background:rgb(255 255 255/9%)}
:root[data-theme="dark"] .k-cal__moon--nueva{box-shadow:inset 0 0 0 1.3px #cbb8e6}
:root[data-theme="dark"] .k-date__btn{color:#d9b76e}
@media (prefers-reduced-motion:reduce){.k-cal{animation:none}}
/* v14b — la ilustración se funde con el fondo de la tarjeta (sin borde cuadrado) */
.service-card__media--art img{-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);transform:scale(1.12)}
:root[data-theme="dark"] .service-card__media--art img{mix-blend-mode:normal}
.service-card__media--art img{inset:0 auto 0 50%!important;width:auto!important;aspect-ratio:1/1;transform:translateX(-50%) scale(1.1)}
:root[data-theme="dark"] .service-card__media--art img{mix-blend-mode:screen}

/* v14c — FAQ y agenda de encuentros: contenido centrado (sin mitad derecha vacía) */
@media (min-width:900px){
  .container:has(>h2+.faq){max-width:min(100% - 2 * var(--space-5),var(--container,72rem))}
  .container:has(>h2+.faq)>*{max-width:48rem;margin-inline:auto}
  .container:has(>h2+.faq)>h2{text-align:center}
  .container:has(>.empty-state)>h3,.container:has(>.empty-state)>article.card,.container:has(>.empty-state)>.muted{max-width:46rem;margin-inline:auto}
  .container:has(>.empty-state)>h3{margin-top:var(--space-6,2rem)}
}

/* v15 — eyebrow de cierre: más contraste en claro, sobre cualquier ancho */
:root:not([data-theme="dark"]) .k-talk .k-eyebrow{color:#6b5120;font-weight:700}
.k-talk .k-eyebrow{letter-spacing:.24em}

/* v16 · transiciones sin cortes
   1) Una sección con aparición propia ocultaba también su fondo oscurecido: se veía el cielo sin velo como una franja.
      Ahora solo aparece el contenido; el fondo de la sección queda siempre.
   2) Noche: el borde inferior del hero ya queda con el mismo velo (72 %) que la sección siguiente; antes la sección partía sin velo y marcaba una línea. */
html.js-reveal section[data-reveal]:not(.is-visible){opacity:1;transform:none}
html.js-reveal section[data-reveal]>.container{transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
html.js-reveal section[data-reveal]:not(.is-visible)>.container{opacity:0;transform:translateY(12px)}
@media (prefers-reduced-motion:reduce){html.js-reveal section[data-reveal]:not(.is-visible)>.container{opacity:1;transform:none}}
:root[data-theme="dark"] .k-hero+.k-sec.k-sec{background:rgb(18 17 28 / 72%)!important;border-top:0}

/* v17 · noche legible (tickets f156e9578a45, d375b74cff9a, 2ebac5d0dac0, e30adfb56ba9)
   El cielo se transparentaba bajo los textos. Tres capas: halo suave detrás de cada letra, pantalla difuminada (gaussiana) detrás de los bloques de texto sobre el fondo,
   y botones secundarios con fondo y borde propios. Solo modo noche; el día no cambia. */
:root[data-theme="dark"] main :is(h1,h2,h3,p,li,.eyebrow,.k-eyebrow,.lead,.k-sub,dt,dd){
  text-shadow:0 0 .5em rgb(10 9 20 / 95%),0 0 1.2em rgb(10 9 20 / 80%),0 0 2.4em rgb(10 9 20 / 60%),0 1px 2px rgb(0 0 0 / 70%)}
:root[data-theme="dark"] :is(.card,.service-card,.faq,.form-group,.empty-state,.steps li,.notice,.k-card,[class*="__card"]) :is(h1,h2,h3,p,li,.eyebrow,.k-eyebrow,.lead,.k-sub,dt,dd,summary,span){text-shadow:none}
:root[data-theme="dark"] :is(.page-hero__text,.k-welcome__text,.k-talk__inner){position:relative;isolation:isolate}
:root[data-theme="dark"] :is(.page-hero__text,.k-welcome__text,.k-talk__inner)::before{
  content:"";position:absolute;z-index:-1;inset:-1.6rem -2rem;border-radius:2.25rem;pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,rgb(18 17 28 / 74%) 0,rgb(18 17 28 / 66%) 58%,rgb(18 17 28 / 0%) 100%);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  -webkit-mask-image:radial-gradient(ellipse 100% 100% at 50% 50%,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 100% 100% at 50% 50%,#000 60%,transparent 100%)}
:root[data-theme="dark"] .btn--secondary,:root[data-theme="dark"] .btn--outline,:root[data-theme="dark"] .btn--ghost{
  background:rgb(24 23 40 / 82%);color:#F3EDDD;box-shadow:inset 0 0 0 1.5px rgb(217 183 110 / 75%),0 0 1.4rem rgb(10 9 20 / 70%);text-shadow:none}
@media (hover:hover){:root[data-theme="dark"] .btn--secondary:hover,:root[data-theme="dark"] .btn--outline:hover,:root[data-theme="dark"] .btn--ghost:hover{background:rgb(44 40 66 / 92%);color:#fff;box-shadow:inset 0 0 0 1.5px #E2C487,0 0 1.4rem rgb(10 9 20 / 70%)}}
@media (max-width:640px){:root[data-theme="dark"] :is(.page-hero__text,.k-welcome__text,.k-talk__inner)::before{inset:-1rem -.75rem}}
:root[data-theme="dark"] main .btn,:root[data-theme="dark"] main .btn *{text-shadow:none}

/* v18 · fondo vivo (ticket e30adfb56ba9)
   Noche: el cielo deja de ser una foto fija. Va en su propia capa (html::before) que respira despacio (acercamiento y deriva de ~2 min),
   baja un poco más lento que el contenido al hacer scroll (profundidad), y encima corre una niebla de luz de colores muy suave.
   Día: un brillo cálido que se desplaza como luz entrando por una ventana. Todo con transform/opacity (GPU), sin repintar.
   «Reducir movimiento»: capas quietas. */
:root[data-theme="dark"]{background:#12111C}
:root[data-theme="dark"] body{background:transparent}
:root[data-theme="dark"]::before{content:"";position:fixed;inset:-6%;z-index:-1;pointer-events:none;background:url("../img/deco/cielo.webp") center/cover no-repeat;translate:0 var(--ky,0px)}
:root[data-theme="dark"] body::after{content:"";position:fixed;inset:-25%;z-index:-1;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(38% 32% at 28% 38%,rgb(122 92 214 / 22%),transparent 70%),radial-gradient(34% 30% at 72% 64%,rgb(70 160 200 / 16%),transparent 70%),radial-gradient(26% 24% at 55% 20%,rgb(230 180 110 / 11%),transparent 70%)}
:root:not([data-theme="dark"]) body{background:transparent}
:root:not([data-theme="dark"]) body::after{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;
  background:radial-gradient(34% 28% at 22% 24%,rgb(255 224 160 / 42%),transparent 70%),radial-gradient(30% 26% at 78% 70%,rgb(236 214 244 / 38%),transparent 70%)}
@media (prefers-reduced-motion:no-preference){
  :root[data-theme="dark"]::before{animation:k-cielo 150s ease-in-out infinite alternate;will-change:transform}
  :root[data-theme="dark"] body::after{animation:k-niebla 90s ease-in-out infinite alternate;will-change:transform}
  :root:not([data-theme="dark"]) body::after{animation:k-luz-dia 70s ease-in-out infinite alternate;will-change:transform}
  @keyframes k-cielo{from{transform:scale(1)}to{transform:scale(1.1) translate3d(-1.8%,-1.2%,0)}}
  @keyframes k-niebla{from{transform:translate3d(-3%,2%,0) rotate(0deg)}to{transform:translate3d(4%,-3%,0) rotate(14deg)}}
  @keyframes k-luz-dia{from{transform:translate3d(-4%,2%,0)}to{transform:translate3d(5%,-3%,0) rotate(8deg)}}
}
@media print{:root::before,body::after{display:none!important}}

/* v19 · reserva: casilla «no conozco mi hora» y aviso «consultar primero» visible arriba del formulario */
.field__inline{display:flex;align-items:center;gap:.6rem;margin-top:.55rem;font-size:1rem;cursor:pointer;font-weight:400}
.field__inline input{width:1.15rem;height:1.15rem;accent-color:var(--sage);flex:none}
.reserva-consulta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem 1.5rem;margin:0 0 1.75rem;padding:1.1rem 1.4rem;border-radius:1.1rem;background:var(--paper-2,#EFE6D6);box-shadow:inset 0 0 0 1px var(--gold,#B08C4E),inset 4px 0 0 var(--gold,#B08C4E)}
.reserva-consulta p{margin:0;max-width:34rem;font-size:1.08rem}
.reserva-consulta__acciones{display:flex;flex-wrap:wrap;gap:.6rem}
:root[data-theme="dark"] .reserva-consulta{background:rgb(24 23 40 / 85%)}

/* v20 · sin división bajo el hero (noche): el degradado terminaba en negro opaco (var(--paper)) y la sección siguiente deja ver el cielo con velo de 72 %.
   Ahora termina exactamente en ese velo, y el borde superior de la sección no lleva línea. */
:root[data-theme="dark"] .k-hero::after{background:linear-gradient(180deg,transparent 0%,rgb(18 17 28 / 30%) 45%,rgb(18 17 28 / 66%) 100%)}
:root[data-theme="dark"] .k-hero::before{-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent 92%);mask-image:linear-gradient(180deg,#000 40%,transparent 92%)}
:root[data-theme="dark"] .k-hero__bg{-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 90%);mask-image:linear-gradient(180deg,#000 45%,transparent 90%)}
:root[data-theme="dark"] .k-hero+.k-sec{border-top:0;box-shadow:none}

/* v21 · humo de sahumerio animado dentro de la foto (humo.js) */
[data-humo]{position:relative}
canvas.k-humo{position:absolute;pointer-events:none;mix-blend-mode:screen;border-radius:inherit}
@media print{canvas.k-humo{display:none}}

/* v22 · contacto: la comunidad vive en la columna del mensaje y libera la parte baja de la página */
.k-comm-card{margin-top:1.75rem;padding:1.4rem 1.6rem;border-radius:1.2rem;background:var(--paper-2,#EFE6D6);box-shadow:inset 0 0 0 1px var(--gold,#B08C4E)}
.k-comm-card h2{margin:.1rem 0 .4rem;font-size:clamp(1.5rem,2.4vw,1.9rem)}
.k-comm-card p:not(.eyebrow){margin:0 0 .9rem}
:root[data-theme="dark"] .k-comm-card{background:rgb(24 23 40 / 85%)}

/* v23 · fecha en formato chileno: campo de texto dd/mm/aaaa + calendario propio; el nativo queda oculto (sin mm/dd/yyyy ni ícono duplicado) */
.k-date>input.k-date__iso{position:absolute!important;inset:0;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important;border:0!important}
.k-date>.k-date__txt{width:100%;padding-right:3rem;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.k-date>.k-date__txt.is-invalid{border-color:var(--color-error,#A3122B)}
.k-time{position:relative;display:block}
.k-time>input.k-time__nat{position:absolute!important;inset:0;width:1px!important;height:1px!important;opacity:0;pointer-events:none;padding:0!important;border:0!important}
.k-time>.k-time__txt{width:100%;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.k-time>.k-time__txt:disabled{opacity:.55}

/* v25 · cielo nocturno nuevo y fluido (tickets e4ef28e6d09d, b4d50936e170)
   Foto real de la Vía Láctea (ESO/S. Brunier, CC BY 4.0) teñida con la paleta de la marca.
   Sin acercamiento (scale) ni parallax por variable: solo una deriva lenta con transform, que la GPU mueve sin recalcular la página.
   En el panel y en las páginas de administración el cielo queda quieto. */
:root[data-theme="dark"]::before{background-image:url("../img/deco/cielo-v2.webp");translate:none;inset:-4%;backface-visibility:hidden}
@media (max-width:900px){:root[data-theme="dark"]::before{background-image:url("../img/deco/cielo-v2-1200.webp")}}
@media (prefers-reduced-motion:no-preference){
  :root[data-theme="dark"]::before{animation:k-cielo2 180s linear infinite alternate}
  @keyframes k-cielo2{from{transform:translate3d(-1.5%,1%,0)}to{transform:translate3d(1.5%,-1%,0)}}
}
:root:has(body.admin)[data-theme="dark"]::before,:root:has(body.admin) body::after{animation:none!important}
:root[data-theme="dark"] .site-footer__legal::after{content:"Cielo nocturno: ESO/S. Brunier (CC BY 4.0)";display:block;margin-top:.5rem;font-size:.78rem;opacity:.6}

/* v26 · legibilidad sin «cuadro difuminado» (tickets 01beac6c29b6, f9643db70603, 07d18604182b, f036a67e1859, 1b17cd1dc191)
   1) Noche: el bloque de texto ya no lleva vidrio esmerilado (backdrop-filter dibujaba un rectángulo borroso). Ahora es un velo de
      oscuridad muy amplio y degradado, sin bordes; la legibilidad la dan el velo y el halo de cada letra.
   2) Las partículas y estrellas del ambiente pasan detrás del contenido en la noche: ya no cruzan sobre las letras.
   3) «Contacto y reservas»: el sol dorado queda más chico y más arriba, con aire bajo él, para que el texto dorado no quede encima.
   4) Fotos de portada de cada página: en vez de la misma línea dorada desplazada detrás, un marco fino concéntrico que solo
      se insinúa en dos esquinas opuestas y se desvanece. */
:root[data-theme="dark"] :is(.page-hero__text,.k-welcome__text,.k-talk__inner)::before{
  inset:-5rem -6rem;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;
  background:radial-gradient(closest-side,rgb(14 13 24 / 78%) 0%,rgb(14 13 24 / 64%) 55%,rgb(14 13 24 / 28%) 80%,rgb(14 13 24 / 0%) 100%);
  -webkit-mask-image:none;mask-image:none}
@media (max-width:640px){:root[data-theme="dark"] :is(.page-hero__text,.k-welcome__text,.k-talk__inner)::before{inset:-3rem -1.25rem}}
:root[data-theme="dark"] canvas.k-ambient{z-index:-1}
:root[data-theme="dark"] .k-talk{padding-top:clamp(11rem,17vw,14.5rem)}
:root[data-theme="dark"] .k-astro--top{width:clamp(220px,26vw,360px);top:.75rem}
.page-hero__art::before,.page-hero__art--real::before{inset:-14px;width:auto;border:0;border-radius:34px;padding:1px;
  background:linear-gradient(135deg,var(--gold) 0%,rgb(176 140 78 / 0%) 30%,rgb(176 140 78 / 0%) 70%,var(--gold) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:.85}
@media (max-width:640px){.page-hero__art::before,.page-hero__art--real::before{inset:-9px;border-radius:29px}}

/* v27 · botones de actividades nítidos de noche (tickets 609ac50ca049, 8a3c2c1dcb64, b672610e9796): el halo oscuro de los textos
   se heredaba a los botones dorados y los hacía ver borrosos. */
:root[data-theme="dark"] main :is(.k-btn,.k-btn *,.btn,.btn *,a.k-act__cta,[class*="__cta"]){text-shadow:none}
/* v27 · interruptor día/noche sin salto al cambiar de página (ticket 54decd2902d0): al navegar, el interruptor de la página
   anterior se «transformaba» en el de la nueva (transición entre documentos) aunque el nuevo aún no existía. Ahora solo se
   anima dentro del cambio de tema, y al cargar una página aparece directamente en su estado. */
button.theme-switch,button.theme-switch[data-state="day"]{view-transition-name:none}
html:is(.theme-veil,.theme-veil-css) button.theme-switch{view-transition-name:kswitch}
:root.no-anim button.theme-switch,:root.no-anim button.theme-switch *,:root.no-anim button.theme-switch *::before,:root.no-anim button.theme-switch *::after{transition:none!important}

/* v28 · cielo nocturno: vuelve la acuarela con estrellas de cuatro puntas (preferencia de Alicia, 27-10).
   Se mantiene la deriva suave de v25. La foto de la Vía Láctea (cielo-v2.webp) queda guardada como alternativa. */
:root[data-theme="dark"]::before{background-image:url("../img/deco/cielo.webp")}
@media (max-width:900px){:root[data-theme="dark"]::before{background-image:url("../img/deco/cielo.webp")}}
:root[data-theme="dark"] .site-footer__legal::after{content:none}

/* v29 · cielo nocturno con profundidad infinita (cielo2): vuelve la foto real de la Vía Láctea
   (ESO/S. Brunier, CC BY 4.0) con su crédito en el pie. Con movimiento, cielo.js la lleva por un zoom sin fin
   en un canvas fijo (canvas.k-cielo) y oculta esta capa; si el canvas no corre, queda este fondo (con deriva suave). */
:root[data-theme="dark"]::before{background-image:url("../img/deco/cielo-v2.webp")}
@media (max-width:900px){:root[data-theme="dark"]::before{background-image:url("../img/deco/cielo-v2-1200.webp")}}
:root[data-theme="dark"] .site-footer__legal::after{content:"Cielo nocturno: ESO/S. Brunier (CC BY 4.0)";display:block;margin-top:.5rem;font-size:.78rem;opacity:.6}
canvas.k-cielo{display:none;position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:-2}
:root.k-cielo-on canvas.k-cielo{display:block}
:root.k-cielo-on[data-theme="dark"]::before,:root.k-cielo-on[data-theme="dark"] body::before{display:none}
@media print{canvas.k-cielo{display:none!important}}

/* v30 · brillo de las partículas (ticket de398baad6cd): de noche el ambiente vuelve delante del contenido, como antes del 26-10.
   La v26 lo mandaba detrás de las secciones con fondo y las estrellas y luciérnagas quedaban apagadas. pointer-events sigue en none. */
:root[data-theme="dark"] canvas.k-ambient{z-index:3}
