/* ONCE ONCE studio · estilos
   Paleta: verde #274F2B · beige arena #EADCC9 · salvia #BDC2A5 · rosa #EFCFC6
   Una sola columna aireada, bandas de color a todo el ancho y la espiral del logo como motivo. */
@font-face{font-family:"Poppins";src:url("../fonts/poppins-300.woff") format("woff");font-weight:300;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-400.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url("../fonts/poppins-500.woff") format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/lora-var.woff") format("woff");font-weight:400 700;font-display:swap}
@font-face{font-family:"Lora";src:url("../fonts/lora-italic-var.woff") format("woff");font-weight:400 700;font-style:italic;font-display:swap}

:root{
  --verde:#274F2B; --arena:#EADCC9; --salvia:#BDC2A5; --rosa:#EFCFC6;
  --crema:#EAE5D7; --papel:#F6F0E7; --tinta:#22382A; --suave:#4A5A4C;
  --linea:rgba(39,79,43,.18);
  --serif:"Lora", Georgia, "Times New Roman", serif;
  --sans:"Poppins", "Helvetica Neue", Arial, sans-serif;
  --max:1120px;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--papel);color:var(--tinta);font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.7}
img{max-width:100%;display:block}
a{color:var(--verde)}
:focus-visible{outline:2px solid var(--verde);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
@media (min-width:760px){.wrap{padding-left:max(40px,env(safe-area-inset-left,0px));padding-right:max(40px,env(safe-area-inset-right,0px))}}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--verde);line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(36px,5.4vw,60px)}
h2{font-size:clamp(30px,3.8vw,44px)}
h3{font-size:clamp(22px,2.2vw,27px)}
p{margin:0}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--suave)}
.lead{font-size:clamp(18px,1.8vw,20px);max-width:60ch}
.prose{display:grid;gap:18px;max-width:64ch}
.stack{display:grid;gap:24px;align-content:start}
.skip{position:absolute;left:-999px;top:0;background:var(--verde);color:var(--crema);padding:10px 16px;z-index:50}
.skip:focus{left:12px;top:12px}

/* Cabecera */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--verde)}
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--verde);color:var(--crema)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo img{height:52px;width:auto}
.nav{display:flex;gap:4px 28px;overflow-x:auto;scrollbar-width:none;border-top:1px solid rgba(234,229,215,.18)}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:none;white-space:nowrap;color:var(--crema);text-decoration:none;font-size:14px;letter-spacing:.04em;padding:12px 0;border-bottom:1px solid transparent}
.nav a:hover{border-bottom-color:rgba(234,229,215,.5)}
.nav a[aria-current="page"]{border-bottom-color:var(--crema)}
@media (min-width:1000px){.nav{justify-content:center}}
@media (max-width:480px){.logo img{height:36px}.nav{gap:4px 22px}.nav a{font-size:13px}}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 28px;border-radius:999px;border:1px solid var(--verde);background:var(--verde);color:var(--crema);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:transparent;color:var(--verde)}
.btn.ghost{background:transparent;color:var(--verde)}
.btn.ghost:hover{background:var(--verde);color:var(--crema)}
.btn.light{background:var(--crema);color:var(--verde);border-color:var(--crema)}
.btn.light:hover{background:transparent;color:var(--crema)}
.btn.small{min-height:40px;padding:8px 18px;font-size:12px}
.actions{display:flex;flex-wrap:wrap;gap:12px}

/* Bandas */
.band{padding-block:clamp(64px,9vw,112px)}
.band.tight{padding-block:clamp(48px,6vw,76px)}
.b-arena{background:var(--arena)} .b-rosa{background:var(--rosa)} .b-salvia{background:var(--salvia)}
.b-verde{background:var(--verde);color:var(--crema)}
.b-verde h1,.b-verde h2,.b-verde h3{color:var(--crema)}
.b-verde .eyebrow{color:var(--salvia)}
.b-verde a{color:var(--crema)}
.split{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,72px);align-items:center}
@media (min-width:860px){.split{grid-template-columns:1fr 1fr}}
.split > *{min-width:0}

/* Portada */
.hero{position:relative;overflow:hidden;padding-block:clamp(72px,10vw,128px)}
.hero .spiral{position:absolute;right:-6%;top:50%;width:min(56vw,560px);transform:translateY(-50%);opacity:.12;pointer-events:none}
.hero .inner{position:relative;display:grid;gap:28px;max-width:720px}
.hero h1{font-size:clamp(38px,5.8vw,64px)}
.hero h1 em{font-style:italic;color:var(--rosa)}

/* Tarjetas de servicio */
.paths{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:760px){.paths{grid-template-columns:1fr 1fr}}
.path{display:grid;gap:16px;align-content:start;padding:clamp(28px,4vw,44px);border-radius:2px;text-decoration:none;color:var(--tinta)}
.path .more{justify-self:start;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:2px;color:var(--verde)}

.quote{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3.4vw,38px);line-height:1.3;color:var(--verde);max-width:26ch;text-wrap:balance}
.b-verde .quote{color:var(--crema)}
.motif{width:min(100%,360px);margin-inline:auto;opacity:.9}

/* Clases */
.classes{border-top:1px solid var(--linea)}
.cls{display:grid;grid-template-columns:1fr;gap:16px 48px;padding-block:40px;border-bottom:1px solid var(--linea)}
@media (min-width:860px){.cls{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.9fr)}}
.cls > *{min-width:0}
.kw{font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--suave);margin-top:8px}
.tag{display:inline-block;margin-top:12px;padding:3px 12px;border-radius:999px;background:var(--salvia);font-size:12px;font-weight:500;color:var(--verde)}
.ideal{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--suave);margin-bottom:8px}
ul.dots{margin:0;padding:0;list-style:none;display:grid;gap:8px}
ul.dots li{display:flex;gap:12px}
ul.dots li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--verde);margin-top:11px}
.b-verde ul.dots li::before{background:var(--rosa)}

/* Precios */
.prices{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:760px){.prices{grid-template-columns:repeat(3,minmax(0,1fr))}}
.price{display:grid;gap:12px;align-content:start;padding:32px 28px;background:var(--papel);border:1px solid var(--linea);border-radius:2px}
.price.feat{background:var(--verde);color:var(--crema);border-color:var(--verde)}
.price.feat .eyebrow,.price.feat .per{color:var(--salvia)}
.amt{font-family:var(--serif);font-size:58px;line-height:1;color:var(--verde)}
.price.feat .amt{color:var(--crema)}
.amt small{font-size:26px}
.per{font-size:14px;color:var(--suave)}
.price .btn{margin-top:8px}
.price.feat .btn{background:var(--crema);color:var(--verde);border-color:var(--crema)}
.price.feat .btn:hover{background:transparent;color:var(--crema)}

.notice{padding:20px 24px;border:1px solid var(--linea);border-radius:2px;background:var(--papel);display:grid;gap:6px;max-width:72ch}
.b-arena .notice,.b-rosa .notice,.b-salvia .notice{background:rgba(246,240,231,.7)}

/* Sesión sensorial */
.sess{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:520px}
.sess div{padding:22px;border:1px solid var(--linea);border-radius:2px;display:grid;gap:4px;background:rgba(246,240,231,.6)}
.sess b{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1;color:var(--verde)}
.includes{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.inc{padding:22px;border-radius:2px;background:var(--papel);display:grid;gap:10px;align-content:start}
.inc svg{width:28px;height:28px}
.steps{border-top:1px solid var(--linea)}
.step{display:grid;grid-template-columns:44px 1fr;gap:16px;padding-block:16px;border-bottom:1px solid var(--linea);align-items:baseline}
.step span{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--verde)}

/* Preguntas */
.faq{border-top:1px solid var(--linea);max-width:820px}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font-family:var(--serif);font-size:clamp(20px,2.2vw,24px);line-height:1.3;color:var(--verde)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-family:var(--sans);font-weight:300;font-size:28px;line-height:1;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 24px;max-width:64ch}

/* Formularios */
form{display:grid;gap:16px}
.row2{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:600px){.row2{grid-template-columns:1fr 1fr}}
label.f{display:grid;gap:6px;font-size:14px;font-weight:400}
input,select,textarea{font:inherit;font-size:16px;color:var(--tinta);background:#FBF8F2;border:1px solid var(--linea);border-radius:2px;padding:12px 14px;width:100%}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--verde);outline-offset:0}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.check input{width:18px;height:18px;margin-top:4px;flex:none;accent-color:var(--verde)}
.hidden-field{position:absolute;left:-9999px}
.form-msg{padding:16px 20px;border-radius:2px;font-size:15px}
.form-msg.ok{background:var(--salvia);color:var(--verde)}
.form-msg.err{background:var(--rosa);color:var(--tinta)}
.b-verde input,.b-verde select,.b-verde textarea{background:rgba(234,229,215,.08);color:var(--crema);border-color:rgba(234,229,215,.35)}
.b-verde input::placeholder,.b-verde textarea::placeholder{color:rgba(234,229,215,.6)}
.b-verde input:focus,.b-verde textarea:focus,.b-verde select:focus{outline-color:var(--rosa)}
.b-verde select option{color:var(--tinta)}
.b-verde .check input{accent-color:var(--rosa)}
.b-verde form .btn{background:var(--crema);color:var(--verde);border-color:var(--crema)}
.b-verde form .btn:hover{background:transparent;color:var(--crema)}
.btn.ghost-light{background:transparent;color:var(--crema);border-color:var(--crema)}
.btn.ghost-light:hover{background:var(--crema);color:var(--verde)}

/* Widgets de reservas */
.widget{min-height:240px;border:1px dashed var(--linea);border-radius:2px;background:rgba(246,240,231,.6);display:grid;place-items:center;padding:28px;text-align:center}
.widget iframe{width:100%;min-height:720px;border:0;background:#fff}
.widget.on{border:0;padding:0;display:block;background:transparent}

/* Pie */
.contact .info{display:grid;gap:20px;align-content:start}
.contact .info div{display:grid;gap:2px}
.contact .k{font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--salvia)}
.site-footer{background:var(--verde);color:var(--crema);border-top:1px solid rgba(234,229,215,.15)}
.site-footer .wrap{padding-block:40px;display:grid;gap:24px}
.site-footer .cols{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:center}
.site-footer nav{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}
.site-footer a{color:var(--crema);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer img{height:38px;width:auto}
.site-footer small{font-size:12px;color:var(--salvia)}

/* Páginas interiores */
.page-head{padding-block:clamp(56px,8vw,96px) clamp(40px,5vw,56px)}
.page-head .stack{gap:18px}
.legal{display:grid;gap:48px;max-width:780px}
.legal article{display:grid;gap:12px;scroll-margin-top:140px}
.legal h2{font-size:30px}
.legal h3{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);margin-top:8px}
.legal p,.legal li{font-size:15px}
.legal ul{margin:0;padding-left:20px;display:grid;gap:6px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{font-size:13px;text-decoration:none;border:1px solid var(--linea);border-radius:999px;padding:8px 16px;color:var(--verde)}
.chips a:hover{border-color:var(--verde)}
.center{text-align:center;justify-items:center}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}

.ltable{width:100%;min-width:560px;border-collapse:collapse;font-size:14px;margin:6px 0}
.ltable th,.ltable td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--linea)}
.ltable th{font-weight:500;color:var(--verde);background:rgba(189,194,165,.35)}
.legal blockquote{margin:0;padding:16px 20px;border:1px solid var(--linea);border-radius:2px;background:#FBF8F2}
.legal blockquote p{margin:0 0 10px}
.legal article{gap:14px}
.legal article h2{font-size:24px;margin-top:18px}
.wrap.legal{max-width:var(--max)}
.legal article{max-width:820px}
