/* =====================================================================
   SOL&DEAS · TERRAZA 360  (v3.6)
   Lienzo blanco + tinta #1d1d1b · el color viene de la fotografía.
   Archivo (display) · Playfair Display itálica (acento) · Cera Pro (UI)
   Radios 10px · círculos solo en swatches y knobs.
   Motion: ease-out fuerte para entradas, ease-drawer para hojas.
   ===================================================================== */
@font-face{font-family:'Cera Pro';font-style:normal;font-weight:400;font-display:swap;src:url('/wp-content/themes/themesolideas/assets/fonts/CeraPro-Regular.otf') format('opentype');}
@font-face{font-family:'Cera Pro';font-style:normal;font-weight:500;font-display:swap;src:url('/wp-content/themes/themesolideas/assets/fonts/CeraPro-Medium.otf') format('opentype');}
@font-face{font-family:'Cera Pro';font-style:normal;font-weight:700;font-display:swap;src:url('/wp-content/themes/themesolideas/assets/fonts/CeraPro-Bold.otf') format('opentype');}

:root{
  --ink:#1d1d1b; --ink-2:#3b3b38; --ink-3:#64645f;
  --line:rgba(29,29,27,.12);
  --paper:#ffffff; --mist:#f3f3f1; --stone:#e7e6e2; --night:#121211;
  --sans:'Cera Pro',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --display:'Archivo','Cera Pro',system-ui,sans-serif;
  --serif:'Playfair Display',Georgia,serif;
  --r:10px;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-io:cubic-bezier(.77,0,.175,1);
  --ease-drawer:cubic-bezier(.32,.72,0,1);
  --gutter:clamp(20px,5vw,64px);
  --maxw:1320px;
  --hdr:74px;
  /* escala z: 1 contenido · 2 overlays de sección · 70 flotantes · 80 header (kit) · 300 ficha · 400 calendly (build) */
}
@media (max-width:680px){:root{--hdr:64px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,video,canvas,svg{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
p{margin:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.ic{width:1.15em;height:1.15em;flex:none;fill:currentColor}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.skip{position:fixed;left:16px;top:12px;z-index:500;padding:12px 18px;border-radius:var(--r);background:var(--ink);color:#fff;font:600 15px var(--sans);text-decoration:none;transform:translateY(-160%);transition:transform .2s var(--ease-out)}
.skip:focus{transform:none}

/* ---------- Tipografía ---------- */
h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;color:inherit}
h2{font-size:clamp(40px,5.4vw,82px);line-height:1.02;letter-spacing:-.032em;text-wrap:balance}
h1 em,h2 em,h3 em{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-.012em;padding-right:.04em}
.lead{font:400 clamp(18px,1.4vw,21px)/1.55 var(--sans);color:var(--ink-2);max-width:58ch;margin-top:22px;text-wrap:pretty}
.eyebrow{font:600 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.eyebrow--light{color:rgba(255,255,255,.88)}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:var(--r);border:1px solid transparent;font:600 15px/1 var(--sans);letter-spacing:.005em;text-decoration:none;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform 160ms var(--ease-out),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn .ic{width:20px;height:20px}
.btn--ink{background:var(--ink);color:#fff}
.btn--light{background:#fff;color:var(--ink)}
.btn--glass{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.46);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%)}
.btn--line{background:transparent;color:var(--ink);border-color:rgba(29,29,27,.22)}
.btn--block{width:100%}
@media (hover:hover) and (pointer:fine){
  .btn--ink:hover{background:#34342f}
  .btn--light:hover{background:#ecebe7}
  .btn--glass:hover{background:rgba(255,255,255,.24)}
  .btn--line:hover{border-color:var(--ink)}
}
@media (prefers-reduced-transparency:reduce){.btn--glass{background:rgba(18,18,17,.72);-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ---------- Espacios de medios (slots) ---------- */
.slot{position:relative;display:block;overflow:hidden;background:var(--stone);isolation:isolate}
.slot--fill{position:absolute;inset:0}
.slot>img,.slot>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slot.is-filled>.ph{display:none}
.slot__tag{position:absolute;left:12px;bottom:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:6px 9px;border-radius:6px;background:rgba(255,255,255,.86);color:var(--ink);font:600 11px/1.15 var(--sans);letter-spacing:.02em;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.slot__tag .ic{width:13px;height:13px}
.slot.is-filled>.slot__tag,.no-slot-tags .slot__tag{display:none}
.hero .slot__tag{left:auto;right:7vw;bottom:auto;top:calc(var(--hdr) + 7vh)}
.cierre .slot__tag{left:auto;right:var(--gutter);bottom:auto;top:32px}
.ph{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.ph__ic{width:clamp(44px,4.6vw,72px);height:clamp(44px,4.6vw,72px);fill:currentColor;opacity:.3}
.ph--stone{background:linear-gradient(155deg,#eceae6 0%,#d5d3cd 100%);color:#5d5c57}
.ph--sand{background:linear-gradient(155deg,#ede7de 0%,#d2c5b1 100%);color:#6a5d4a}
.ph--clay{background:linear-gradient(155deg,#eadfd8 0%,#c8aa97 100%);color:#6c4e3c}
.ph--sage{background:linear-gradient(155deg,#e3e7de 0%,#b7c1ab 100%);color:#4d5944}
.ph--slate{background:linear-gradient(155deg,#e3e6e9 0%,#b8bfc6 100%);color:#47515b}
.ph--ink{background:linear-gradient(155deg,#373631 0%,#1c1c1a 100%);color:#dedbd4}
.ph--night{background:radial-gradient(120% 90% at 70% 92%,#5c4431 0%,#251e19 46%,#121211 100%);color:#eadcc6}
.ph--dusk{background:linear-gradient(178deg,#1d1c21 0%,#382f27 36%,#7a5a3f 70%,#c38957 100%)}
.ph__slats{position:absolute;inset:-12% -24%;background:repeating-linear-gradient(100deg,rgba(12,9,6,0) 0,rgba(12,9,6,0) 26px,rgba(12,9,6,.16) 38px,rgba(12,9,6,.2) 46px,rgba(12,9,6,0) 58px);-webkit-mask-image:radial-gradient(85% 75% at 58% 62%,#000 28%,transparent 78%);mask-image:radial-gradient(85% 75% at 58% 62%,#000 28%,transparent 78%)}
.ph__glow{position:absolute;width:80vmax;height:80vmax;right:-18vmax;bottom:-44vmax;border-radius:50%;background:radial-gradient(circle,rgba(255,200,132,.5) 0%,rgba(255,170,96,0) 62%)}
.ph__glow--warm{right:auto;left:20%;bottom:-48vmax;background:radial-gradient(circle,rgba(255,190,120,.42) 0%,rgba(255,160,90,0) 60%)}
@media (prefers-reduced-motion:no-preference){.ph__slats{animation:slats 32s linear infinite}}
@keyframes slats{from{transform:translateX(0)}to{transform:translateX(117.8px)}}

/* =========================== HERO =========================== */
.hero{position:relative;height:190svh;background:var(--paper)}
.hero__pin{position:sticky;top:0;height:100svh;overflow:hidden}
.hero__frame{position:absolute;inset:0;overflow:hidden;background:#1d1c21;will-change:clip-path}
.hero__media{transform-origin:50% 45%;will-change:transform}
.hero__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,18,17,.42) 0%,rgba(18,18,17,0) 22%,rgba(18,18,17,0) 44%,rgba(18,18,17,.66) 100%)}
.hero__copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding-bottom:clamp(36px,7svh,84px);color:#fff;display:grid;grid-template-columns:1fr auto;column-gap:40px;align-items:end;will-change:transform,opacity}
.hero__eyebrow,.hero__title{grid-column:1/-1}
.hero__title{font-size:clamp(78px,13.4vw,224px);font-weight:800;line-height:.86;letter-spacing:-.048em;display:flex;flex-wrap:wrap;column-gap:.2em;margin:0 0 clamp(18px,2.6vw,34px)}
.hero__title em{font-weight:500;letter-spacing:-.02em}
.hl{display:inline-block;overflow:hidden;padding:.16em .02em .1em;margin:-.16em -.02em -.1em;vertical-align:bottom}
.hl__in{display:inline-block;transform:translateY(108%);transition:transform 1100ms var(--ease-out)}
.hl+.hl .hl__in,.hl:nth-child(2) .hl__in{transition-delay:90ms}
.hl:nth-child(3) .hl__in{transition-delay:180ms}
.is-in .hl__in{transform:none}
.hero__sub{max-width:34ch;font:400 clamp(17px,1.35vw,20px)/1.5 var(--sans);color:rgba(255,255,255,.88);text-wrap:pretty}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.hero .hero__eyebrow,.hero .hero__sub,.hero .hero__ctas{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease-out) .35s,transform .9s var(--ease-out) .35s}
.hero.is-in .hero__eyebrow,.hero.is-in .hero__sub,.hero.is-in .hero__ctas{opacity:1;transform:none}
@media (max-width:900px){
  .hero{height:165svh}
  .hero__copy{grid-template-columns:1fr;row-gap:22px;padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .hero__ctas .btn{flex:1 1 220px}
}

/* =========================== MANIFIESTO =========================== */
.mani{position:relative;height:200svh;background:var(--paper)}
.mani__pin{position:sticky;top:0;height:100svh;display:flex;align-items:center}
.mani__text{font:600 clamp(30px,4.1vw,66px)/1.14 var(--display);letter-spacing:-.026em;max-width:27ch;text-wrap:pretty}
.mani__text em{font-family:var(--serif);font-weight:500;letter-spacing:-.01em}
.mani__text .w{opacity:.14}
.mani__foot{margin-top:clamp(28px,3vw,44px);font:500 clamp(15px,1.1vw,17px)/1.5 var(--sans);color:var(--ink-3);max-width:46ch;opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.mani.is-done .mani__foot{opacity:1;transform:none}

/* =========================== CAPAS 3D =========================== */
.capas{position:relative;padding-top:clamp(40px,6vw,96px);background:var(--paper)}
.capas__head{margin-bottom:clamp(36px,4.5vw,64px)}
.capas__body{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.capas__stage{contain:layout paint;position:sticky;top:calc(var(--hdr) + 14px);height:calc(100svh - var(--hdr) - 28px);min-height:440px;border-radius:var(--r);overflow:hidden;background:#eeede9;isolation:isolate}
.capas__sky,.sky{position:absolute;inset:0}
.sky--day{background:radial-gradient(130% 95% at 50% 10%,#f7f6f3 0%,#eae8e3 50%,#d9d6cf 100%)}
.sky--dusk{opacity:0;background:radial-gradient(140% 105% at 50% 104%,#c4825a 0%,#6a463c 26%,#2b2a3b 62%,#15161f 100%)}
.capas__canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline:none}
.capas__canvas:active{cursor:grabbing}
.capas__loading{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;font:500 13.5px var(--sans);color:var(--ink-3);transition:opacity .5s ease}
.capas__bar{display:block;width:160px;height:2px;border-radius:2px;background:rgba(29,29,27,.12);overflow:hidden}
.capas__bar i{display:block;height:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(var(--carga,.04));transition:transform .35s var(--ease-out)}
@keyframes spin{to{transform:rotate(360deg)}}
.capas.is-ready .capas__loading{opacity:0;pointer-events:none}
.capas__fallback{position:absolute;inset:auto 20px 20px;padding:14px 16px;border-radius:var(--r);background:#fff;font:500 14.5px/1.45 var(--sans);color:var(--ink-2)}
.capas__legend{position:absolute;left:14px;top:14px;right:14px;z-index:2;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;pointer-events:none}
.capas__legend li{padding:7px 10px;border-radius:6px;background:rgba(255,255,255,.62);color:var(--ink-3);font:600 11.5px/1 var(--sans);letter-spacing:.02em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background-color .35s ease,color .35s ease}
.capas__legend li.is-on{background:var(--ink);color:#fff}

.capas__steps{list-style:none;margin:0;padding:0}
.cstep{min-height:76svh;display:flex;flex-direction:column;justify-content:center;padding:8svh 0;opacity:.26;transition:opacity .45s var(--ease-out)}
.cstep:first-child{min-height:62svh;justify-content:flex-start;padding-top:10svh}
.cstep.is-active{opacity:1}
.cstep h3{font-size:clamp(28px,2.7vw,42px);line-height:1.08;letter-spacing:-.022em;margin:0 0 14px}
.cstep>p{font-size:17.5px;line-height:1.62;color:var(--ink-2);max-width:42ch}
.cstep__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}


@media (max-width:900px){
  .capas__body{grid-template-columns:1fr;gap:0}
  .capas__stage{top:calc(var(--hdr) + 8px);height:min(54svh,560px);min-height:300px;z-index:3;box-shadow:0 18px 40px -26px rgba(18,18,17,.4)}
  .cstep{min-height:64svh;justify-content:flex-start;padding:5svh 0 0}
  .cstep:first-child{min-height:56svh;padding-top:5svh}
  .cstep h3{font-size:clamp(26px,7vw,34px)}
  .cstep>p{font-size:16.5px}
  .capas__legend{left:10px;top:10px;gap:5px}
  .capas__legend li{padding:6px 8px;font-size:10.5px}
  .capas__hint{display:none}
}

.tag-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border-radius:var(--r);border:1px solid rgba(29,29,27,.16);background:#fff;font:600 13.5px/1 var(--sans);cursor:pointer;transition:border-color .2s ease,transform .16s var(--ease-out);color:var(--ink)}
.tag-link::after{content:"";width:9px;height:9px;border-right:1.5px solid currentColor;border-top:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,1px);opacity:.6}
.tag-link:active{transform:scale(.97)}
.tag-link--light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%)}
@media (hover:hover) and (pointer:fine){.tag-link:hover{border-color:var(--ink)}.tag-link--light:hover{border-color:#fff;background:rgba(255,255,255,.22)}}

/* =========================== ESTUDIO (dentro del capítulo 3D) =========================== */
/* cámaras y ayuda sobre la escena */
.capas__vistas{position:absolute;left:50%;bottom:14px;z-index:2;display:flex;gap:2px;padding:4px;border-radius:12px;background:rgba(255,255,255,.76);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:0 8px 24px -14px rgba(18,18,17,.4);transform:translate(-50%,10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s var(--ease-out),transform .4s var(--ease-out),visibility 0s .4s}
.capas.is-ready.is-studio .capas__vistas{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto;transition-delay:0s}
.capas__vista{min-height:40px;padding:0 15px;border:0;border-radius:9px;background:none;font:500 13.5px/1 var(--sans);color:var(--ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s ease,color .2s ease,transform .16s var(--ease-out)}
.capas__vista[aria-pressed="true"]{background:var(--ink);color:#fff}
.capas__vista:active{transform:scale(.96)}
@media (hover:hover) and (pointer:fine){.capas__vista:not([aria-pressed="true"]):hover{background:rgba(29,29,27,.07)}}
.capas__hint{position:absolute;right:14px;bottom:18px;z-index:2;display:inline-flex;align-items:center;gap:7px;margin:0;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.76);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font:500 12px/1 var(--sans);color:var(--ink-2);opacity:0;visibility:hidden;transition:opacity .4s var(--ease-out),visibility 0s .4s;pointer-events:none}
.capas__hint .ic{width:16px;height:16px}
.capas.is-ready.is-studio .capas__hint{opacity:1;visibility:visible;transition-delay:0s}
.capas.no-3d .capas__loading{opacity:0;pointer-events:none}
@media (max-width:1199px){.capas__hint{display:none}}
.capas__legend{transition:opacity .35s var(--ease-out)}
.capas.is-studio .capas__legend{opacity:0}

/* panel del estudio: pestañas + opciones + resumen fijo abajo */
.studio{padding:12svh 0 14px}
.studio__panel{display:flex;flex-direction:column;height:calc(100svh - var(--hdr) - 28px);min-height:520px;background:var(--paper)}
.studio__head{padding:0 0 18px}
.studio__title{font-size:clamp(30px,2.5vw,40px);line-height:1.08;letter-spacing:-.026em}
.studio__lead{margin:10px 0 0;font-size:15.5px;line-height:1.55;color:var(--ink-2);max-width:42ch;text-wrap:pretty}
.studio__tabs{position:relative;display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.studio__tabs::-webkit-scrollbar{display:none}
.studio__tab{flex:none;min-height:46px;padding:0;border:0;background:none;font:500 14px/1 var(--sans);color:var(--ink-3);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:color .2s ease,transform .16s var(--ease-out)}
.studio__tab:active{transform:scale(.96)}
.studio__tab:focus-visible{outline-offset:-3px}
.studio__tab[aria-selected="true"]{color:var(--ink)}
@media (hover:hover) and (pointer:fine){.studio__tab:hover{color:var(--ink)}}
@media (min-width:901px) and (max-width:1240px){.studio__tabs{gap:8px}.studio__tab{font-size:13px}}
.studio__ink{position:absolute;left:0;bottom:0;width:100px;height:2px;background:var(--ink);transform-origin:0 50%;transform:scaleX(0);transition:transform .34s var(--ease-out)}
.studio__panes{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:16px 8px 24px;margin-inline:-8px;scrollbar-width:thin;-webkit-mask-image:linear-gradient(#000 calc(100% - 24px),transparent);mask-image:linear-gradient(#000 calc(100% - 24px),transparent)}
.pane:not([hidden]){animation:paneIn .28s var(--ease-out)}
@keyframes paneIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.opt{border:0;padding:0;margin:0 0 20px;min-width:0}
.opt:last-child{margin-bottom:0}
.opt--sub{margin-top:16px}
.opt legend{display:flex;gap:8px;align-items:baseline;padding:0;margin:0 0 12px;font:500 13px/1.2 var(--sans);color:var(--ink-3)}
.opt__val{font-weight:500;color:var(--ink)}
.opt__sub{margin:24px 0 12px;font:500 13px/1.2 var(--sans);color:var(--ink-3)}
.opt__note{margin:16px 0 0;font-size:13px;line-height:1.5;color:var(--ink-3);max-width:46ch}

/* cubierta: tarjetas con indicador */
.cards{display:grid;gap:12px}
.card{position:relative;display:block;cursor:pointer;-webkit-tap-highlight-color:transparent}
.card input,.segc__o input,.sw2 input,.mat input,.tog input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.card__body{position:relative;display:grid;gap:4px;padding:15px 48px 15px 16px;border-radius:var(--r);border:1px solid var(--line);background:#fff;transition:border-color .2s ease,box-shadow .2s ease,transform .16s var(--ease-out)}
.card__body::after{content:"";position:absolute;right:16px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(29,29,27,.5);transition:box-shadow .2s var(--ease-out)}
.card__t{font:700 15px/1.25 var(--sans);color:var(--ink)}
.card__d{font-size:13.5px;line-height:1.45;color:var(--ink-3)}
.card input:checked+.card__body{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.card input:checked+.card__body::after{box-shadow:inset 0 0 0 5.5px var(--ink)}
.card input:focus-visible+.card__body{outline:2px solid var(--ink);outline-offset:3px}
.card:active .card__body{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.card:hover input:not(:checked)+.card__body{border-color:rgba(29,29,27,.38)}}

/* control segmentado (lamas y hora del día) */
.segc{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:var(--mist)}
.segc--3{display:flex}
.segc__o{position:relative;flex:1;display:flex}
.segc__o span{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 18px;border-radius:9px;font:500 13.5px/1 var(--sans);color:var(--ink-2);white-space:nowrap;transition:background-color .2s ease,color .2s ease,transform .16s var(--ease-out)}
.segc__o:active span{transform:scale(.96)}
.segc__o .ic{width:17px;height:17px}
.segc__o input:checked+span{background:var(--ink);color:#fff}
.segc__o input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
@media (hover:hover) and (pointer:fine){.segc__o:hover input:not(:checked)+span{color:var(--ink)}}

/* color: muestras con nombre */
.sws{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sw2{position:relative;display:grid;justify-items:center;gap:8px;padding:4px 0;-webkit-tap-highlight-color:transparent}
.sw2__dot{width:46px;height:46px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);transition:box-shadow .2s ease,transform .16s var(--ease-out)}
.sw2--wood .sw2__dot{background:url(./3d/tex/acab/thumb-madera.webp) center/cover}
.sw2__n{font:500 12.5px/1.2 var(--sans);color:var(--ink-3);text-align:center;transition:color .2s ease}
.sw2 input:checked~.sw2__dot{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 0 0 2px #fff,0 0 0 3.5px var(--ink)}
.sw2 input:checked~.sw2__n{color:var(--ink);font-weight:600}
.sw2 input:focus-visible~.sw2__dot{outline:2px solid var(--ink);outline-offset:7px}
.sw2:active .sw2__dot{transform:scale(.94)}

/* acabados: miniaturas del material real */
.mats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mat{position:relative;display:grid;gap:7px;-webkit-tap-highlight-color:transparent}
.mat__img{display:block;aspect-ratio:2/1;border-radius:var(--r);background:var(--stone) center/cover;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:box-shadow .2s ease,transform .16s var(--ease-out)}
.mat--rococho{background-image:url(./3d/tex/acab/thumb-rococho.webp)}
.mat--microcemento{background-image:url(./3d/tex/acab/thumb-microcemento.webp)}
.mat--granalla{background-image:url(./3d/tex/acab/thumb-granalla.webp)}
.mat--porcelanato{background-image:url(./3d/tex/acab/thumb-porcelanato.webp)}
.mat--neolith{background-image:url(./3d/tex/acab/thumb-neolith.webp)}
.mat--granito{background-image:url(./3d/tex/acab/thumb-granito.webp)}
.mat--melamine{background-image:url(./3d/tex/acab/thumb-melamine.webp)}
.mat--inox{background-image:url(./3d/tex/acab/thumb-inox.webp)}
.mat--bambu{background-image:url(./3d/tex/acab/thumb-bambu.webp)}
.mat__n{font:500 13px/1.25 var(--sans);color:var(--ink-3);transition:color .2s ease}
.mat input:checked~.mat__img{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--ink)}
.mat input:checked~.mat__n{color:var(--ink);font-weight:600}
.mat input:focus-visible~.mat__img{outline:2px solid var(--ink);outline-offset:5px}
.mat:active .mat__img{transform:scale(.97)}

/* complementos: interruptores */
.togs{display:grid;gap:12px}
.tog{position:relative;display:flex;align-items:center;gap:16px;padding:15px 16px;border-radius:var(--r);border:1px solid var(--line);background:#fff;transition:border-color .2s ease,transform .16s var(--ease-out);-webkit-tap-highlight-color:transparent}
.tog__txt{flex:1;display:grid;gap:3px;min-width:0}
.tog__t{font:700 15px/1.25 var(--sans);color:var(--ink)}
.tog__d{font-size:13.5px;line-height:1.4;color:var(--ink-3)}
.tog__sw{flex:none;position:relative;width:44px;height:26px;border-radius:13px;background:rgba(29,29,27,.5);transition:background-color .22s var(--ease-out)}
.tog__sw::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(18,18,17,.28);transition:transform .22s var(--ease-out)}
.tog input:checked~.tog__sw{background:var(--ink)}
.tog input:checked~.tog__sw::after{transform:translateX(18px)}
.tog input:focus-visible~.tog__sw{outline:2px solid var(--ink);outline-offset:3px}
.tog:active{transform:scale(.985)}

/* modo Smart */
.studio__smart{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.smart{width:100%;display:flex;align-items:center;gap:14px;text-align:left;padding:14px 16px;border-radius:var(--r);border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .16s var(--ease-out)}
.smart .ic{width:22px;height:22px}
.smart__txt{display:grid;gap:3px}
.smart__t{font:700 15px/1.25 var(--sans)}
.smart__d{font-size:13.5px;line-height:1.4;color:var(--ink-3);transition:color .3s ease}
.smart[aria-pressed="true"]{background:var(--night);border-color:var(--night);color:#fff}
.smart[aria-pressed="true"] .smart__d{color:rgba(255,255,255,.72)}
.smart:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.smart:not([aria-pressed="true"]):hover{border-color:rgba(29,29,27,.38)}}

/* resumen y cotización (siempre a la vista) */
.studio__sum{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.studio__sumk{margin:0;font:500 13px/1.2 var(--sans);color:var(--ink-3)}
.spec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin:0}
.spec div{min-width:0}
.spec dt{font:500 12px/1.2 var(--sans);color:var(--ink-3)}
.spec dd{margin:3px 0 0;font:500 13.5px/1.3 var(--sans);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.studio__sumv{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.studio__sumshort{display:none}
.studio__sum .btn{width:100%;margin-top:4px}
@media (min-width:901px) and (max-height:799px){.spec{display:none}.studio__sumv{position:static;width:auto;height:auto;clip:auto;white-space:normal;margin:0;font:500 14px/1.45 var(--sans);color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}

.opt__row{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex;cursor:pointer;-webkit-tap-highlight-color:transparent}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;border-radius:var(--r);border:1px solid rgba(29,29,27,.16);background:#fff;font:500 14.5px/1 var(--sans);color:var(--ink);transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .16s var(--ease-out)}
.chip span .ic{width:17px;height:17px}
.chip input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.chip input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}
.chip:active span{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.chip:hover input:not(:checked)+span{border-color:var(--ink)}}

/* mientras el estudio está a la vista, los botones flotantes no tapan "Cotizar" (el panel ya lo tiene) */
.wa-float,.bpChatContainer{transition:opacity .25s ease,visibility .25s}
body.t360-dock .wa-float,body.t360-dock .bpChatContainer{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

/* escritorio: la escena ocupa toda la pantalla mientras se arma y se acomoda en su recuadro al llegar al estudio */
.capas__slot{display:none}
@media (min-width:901px){
  .capas.is-fs .capas__slot{display:block;position:sticky;top:calc(var(--hdr) + 14px);height:calc(100svh - var(--hdr) - 28px);min-height:440px;grid-column:1;grid-row:1}
  .capas.is-fs .capas__stage{position:fixed;left:0;top:0;width:100vw;height:100vh;min-height:0;z-index:1;border-radius:0;box-shadow:0 30px 70px -50px rgba(18,18,17,.6)}
  /* el canvas no se achica con el recuadro (cambiarle el tamaño lo deja en blanco un instante): queda del tamaño de
     la pantalla, el recuadro lo recorta y el visor dibuja solo la parte que se ve */
  .capas.is-fs .capas__canvas{right:auto;bottom:auto;width:var(--cvw,100vw);height:var(--cvh,100vh);max-width:none;max-height:none}
  .capas.is-fs .capas__flow{position:relative;z-index:2;grid-column:2;grid-row:1}
  .capas.is-fs .cstep{opacity:1}
  .capas.is-fs .cstep__card{padding:30px 32px 32px;border-radius:18px;background:rgba(250,249,246,.84);-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:0 24px 60px -34px rgba(18,18,17,.55);opacity:.45;transform:translateY(12px) scale(.985);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
  .capas.is-fs .cstep.is-active .cstep__card{opacity:1;transform:none}
  .capas.is-fs .cstep__card>p:last-child{margin-bottom:0}
  .capas.is-fs .capas__legend{top:calc(14px + var(--hdr) * (1 - var(--fs, 1)))}
}
@media (prefers-reduced-motion:reduce){.pane:not([hidden]){animation:none}.capas__stage,.studio__ink,.capas__vistas,.capas__hint,.tog__sw,.tog__sw::after{transition:none}}

/* celular: escena fija arriba con su franja de fondo (nada se ve por detrás) y el estudio compacto debajo */
@media (max-width:900px){
  .capas{--stageH:min(54svh,560px);--stageMax:min(54svh,560px)}
  .capas.is-studio{--stageH:min(46svh,470px)}
  .capas__body{display:block;overflow-y:clip}
  .capas__stage{height:var(--stageH);min-height:0;transition:height .45s var(--ease-out)}
  /* el canvas queda siempre de la altura mayor y la escena lo recorta al achicarse en el estudio: si el canvas cambiara
     de tamaño se recrearía cuadro a cuadro y parpadearía (se veía gris un instante) */
  .capas__canvas{bottom:auto;height:var(--stageMax);max-height:none}
  .capas__slot{display:block;position:sticky;top:calc(var(--hdr) + 8px);z-index:2;height:0;margin:0 calc(-1 * var(--gutter));pointer-events:none}
  .capas__slot::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * (var(--hdr) + 8px));height:calc(var(--hdr) + 8px + var(--stageH) + 12px);background:var(--paper);opacity:0}
  .capas.is-pinned .capas__slot::before{opacity:1}
  /* con overflow:clip la sección ya recorta la franja arriba y abajo: puede estar siempre puesta (sin aparecer de golpe) */
  @supports (overflow:clip){.capas__slot::before{opacity:1}}
  .capas__flow{position:relative;z-index:1}
  .studio{padding:6svh 0 28px}
  .studio__panel{height:auto;min-height:0;background:none}
  .studio__head{padding-bottom:14px}
  .studio__title{font-size:clamp(26px,7vw,32px)}
  .studio__lead{font-size:15px}
  .studio__tabs{position:sticky;top:calc(var(--hdr) + 8px + var(--stageH) + 12px);z-index:2;background:var(--paper);justify-content:flex-start;gap:22px;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter);scroll-padding-inline:var(--gutter);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),transparent)}
  .studio__panes{overflow:visible;padding:16px 0 18px}
  .cards{grid-auto-flow:column;grid-auto-columns:78%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);margin:0 calc(-1 * var(--gutter));padding:6px var(--gutter);scrollbar-width:none}
  .cards::-webkit-scrollbar{display:none}
  .card{scroll-snap-align:start}
  .card__body{height:100%;align-content:start}
  .mat__img{aspect-ratio:2/1}
  .opt{margin-bottom:18px}
  .studio__sum{position:sticky;bottom:0;z-index:3;margin:0 calc(-1 * var(--gutter));padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .studio__sumk,.spec{display:none}
  .studio__sumshort{display:block;margin:0;font:500 14px/1.35 var(--sans);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .studio__sum{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .studio__sum .btn{width:auto;margin:0}
  .studio__sum .btn{min-height:46px;padding:0 18px;font-size:14.5px}
}
/* =========================== TODO INCLUIDO =========================== */
.incluye{padding-block:clamp(96px,11vw,168px);background:var(--mist)}
.incluye__head{max-width:780px;margin-bottom:clamp(36px,4vw,56px)}
.bento{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(196px,17.5vw,252px);gap:clamp(10px,1.1vw,16px)}
.tile--parrilla{grid-column:1/7;grid-row:span 2}
.tile--pergolas{grid-column:7/13}
.tile--iluminacion{grid-column:7/10}
.tile--smart{grid-column:10/13}
.tile--jardines{grid-column:1/5;grid-row:span 2}
.tile--enchapes{grid-column:5/9}
.tile--revestimientos{grid-column:9/13}
.tile--celosias{grid-column:5/9}
.tile--rollers{grid-column:9/13}
.tile--muebles{grid-column:1/8}
.tile--disenos{grid-column:8/13}
.tile{position:relative;border-radius:var(--r);overflow:hidden;background:var(--stone);opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transition-delay:calc(var(--k,0) * 45ms)}
.tile.is-in{opacity:1;transform:none}
.tile__btn{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;padding:0;border:0;background:none;color:#fff;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tile__btn .slot{transition:transform 1s var(--ease-out)}
.tile__btn::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(18,18,17,0) 40%,rgba(18,18,17,.6) 100%)}
.tile__txt{position:absolute;left:clamp(16px,1.6vw,24px);right:74px;bottom:clamp(16px,1.6vw,22px);z-index:2;display:grid;gap:6px}
.tile__t{font:700 clamp(19px,1.6vw,26px)/1.1 var(--display);letter-spacing:-.016em;text-wrap:balance}
.tile__d{font:400 14.5px/1.42 var(--sans);color:rgba(255,255,255,.88);max-width:36ch}
.tile__plus{position:absolute;right:clamp(14px,1.4vw,20px);bottom:clamp(14px,1.4vw,20px);z-index:2;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:var(--ink);transition:transform .45s var(--ease-out),background-color .2s ease}
.tile__plus .ic{width:20px;height:20px}
.tile .slot__tag{top:12px;bottom:auto}
.tile[data-tone="light"] .tile__btn{color:var(--ink)}
.tile[data-tone="light"] .tile__btn::after{background:linear-gradient(180deg,rgba(255,255,255,0) 50%,rgba(255,255,255,.35) 100%)}
.tile[data-tone="light"] .tile__d{color:var(--ink-2)}
.tile[data-tone="light"] .tile__plus{background:var(--ink);color:#fff}
.tile__btn:active .tile__plus{transform:scale(.9)}
@media (hover:hover) and (pointer:fine){
  .tile__btn:hover .slot{transform:scale(1.045)}
  .tile__btn:hover .tile__plus{transform:rotate(90deg)}
}
@media (max-width:900px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(168px,44vw,260px)}
  .bento .tile{grid-column:auto;grid-row:auto}
  .tile--parrilla{grid-column:1/-1!important;grid-row:span 2!important}
  .tile--pergolas,.tile--disenos{grid-column:1/-1!important}
  .tile__txt{right:16px;left:16px;bottom:16px}
  .tile__plus{top:12px;bottom:auto;right:12px}
  .tile .slot__tag{display:none}
  .tile__t{font-size:19px}
  .tile__d{display:none}
  .tile--parrilla .tile__d,.tile--pergolas .tile__d,.tile--disenos .tile__d{display:block}
  .tile__plus{width:38px;height:38px}
}

/* =========================== PROCESO =========================== */
.proceso{padding-block:clamp(96px,11vw,168px) clamp(80px,9vw,136px);background:var(--paper)}
.stack{list-style:none;margin:clamp(40px,5vw,72px) auto 0;padding-top:0;padding-bottom:0}
.pcard{position:sticky;top:calc(var(--hdr) + 22px + var(--i) * 14px);margin-bottom:14svh;transform-origin:50% 0;will-change:transform}
.pcard:last-child{margin-bottom:0}
.pcard__in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:clamp(24px,4vw,64px);align-items:center;min-height:min(580px,calc(100svh - var(--hdr) - 120px));padding:clamp(22px,3vw,44px);border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:0 34px 80px -46px rgba(29,29,27,.38);overflow:hidden}
.pcard__in::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#121211;opacity:var(--dim,0);pointer-events:none}
.pcard--dark .pcard__in{background:#1b1b19;color:#fff;border-color:transparent}
.pcard__txt h3{font-size:clamp(28px,2.8vw,44px);line-height:1.06;letter-spacing:-.025em;margin:0 0 14px}
.pcard__txt p{font-size:17.5px;line-height:1.62;color:var(--ink-2);max-width:44ch}
.pcard--dark .pcard__txt p{color:rgba(255,255,255,.8)}
.facts{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.facts li{padding:9px 12px;border-radius:8px;background:var(--mist);font:500 13.5px/1.1 var(--sans)}
.pcard--dark .facts li{background:rgba(255,255,255,.1)}
.pcard__media{aspect-ratio:4/3;border-radius:8px}
.proceso__cta{margin-top:clamp(48px,6vw,80px);display:flex;justify-content:center}
@media (max-width:900px){
  .pcard{top:calc(var(--hdr) + 10px + var(--i) * 10px);margin-bottom:10svh}
  .pcard__in{grid-template-columns:1fr;min-height:0;gap:20px;padding:16px 16px 22px}
  .pcard__media{order:-1;aspect-ratio:16/10}
  .pcard__txt p{font-size:16px}
}

/* =========================== CASOS =========================== */
.casos{padding-block:clamp(96px,11vw,168px);background:var(--mist)}
.casos__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 40px;margin-bottom:clamp(32px,4vw,52px)}
.seg{position:relative;display:inline-flex;padding:4px;border-radius:12px;background:#e4e3df}
.seg__btn{position:relative;z-index:1;min-height:44px;padding:0 22px;border:0;border-radius:var(--r);background:none;font:600 15px var(--sans);color:var(--ink-3);cursor:pointer;transition:color .25s ease}
.seg__btn[aria-selected="true"]{color:var(--ink)}
.seg__thumb{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:var(--r);background:#fff;box-shadow:0 2px 10px rgba(29,29,27,.12);transition:transform .5s var(--ease-drawer),width .5s var(--ease-drawer)}
.caso{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(0,1fr);gap:clamp(28px,4.4vw,72px);align-items:start}
.caso[hidden]{display:none}
.caso.is-active{animation:casoIn .6s var(--ease-out)}
@keyframes casoIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ba{position:relative;aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:ew-resize;background:var(--stone)}
.ba__layer{position:absolute;inset:0}
.ba__before{clip-path:inset(0 50% 0 0)}
.ba__handle{position:absolute;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.25);transform:translateX(50cqw);z-index:2;pointer-events:none}
.ba{container-type:inline-size}
.ba__knob{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(0,0,0,.28)}
.ba__knob .ic{width:16px;height:16px}
.ba__lbl{position:absolute;top:14px;z-index:2;padding:7px 10px;border-radius:6px;background:rgba(18,18,17,.6);color:#fff;font:600 12px/1 var(--sans);pointer-events:none}
.ba__lbl--l{left:14px}.ba__lbl--r{right:14px}
.ba .slot__tag{bottom:auto;top:52px}
.ba__after .slot__tag{left:auto;right:14px}
.ba__range{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.ba:focus-within{outline:2px solid var(--ink);outline-offset:4px}
.caso__type{font:600 13.5px var(--sans);color:var(--ink-3);margin-bottom:8px}
.caso__title{font-size:clamp(32px,3.1vw,48px);line-height:1.04;letter-spacing:-.026em;margin-bottom:22px}
.quote{margin:0 0 30px}
.quote p{font:italic 500 clamp(20px,1.65vw,25px)/1.42 var(--serif);color:var(--ink);margin-bottom:12px;text-wrap:pretty}
.quote footer{font:600 14px var(--sans);color:var(--ink-3)}
.caso__count{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;font:500 15.5px var(--sans);color:var(--ink-2);margin-bottom:16px}
.caso__num{font:800 clamp(48px,4.4vw,64px)/1 var(--display);letter-spacing:-.045em;color:var(--ink);font-variant-numeric:tabular-nums}
.partidas{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.partidas li{display:inline-flex;align-items:center;gap:7px;padding:9px 12px 9px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);font:500 14px/1.2 var(--sans);opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--k,0) * 38ms)}
.partidas li .ic{width:15px;height:15px;opacity:.7}
.caso.is-seen .partidas li{opacity:1;transform:none}
.cifras{display:flex;flex-wrap:wrap;gap:28px clamp(32px,7vw,112px);margin:clamp(56px,6vw,88px) 0 0;padding-top:30px;border-top:1px solid var(--line)}
.cifras dt{font:800 clamp(36px,3.6vw,56px)/1 var(--display);letter-spacing:-.04em}
.cifras dd{margin:8px 0 0;font:500 15px var(--sans);color:var(--ink-3)}
@media (max-width:900px){
  .caso{grid-template-columns:1fr}
  .ba{aspect-ratio:4/5}
  .casos__head{align-items:flex-start;flex-direction:column}
}

/* =========================== CONTACTO =========================== */
.contacto{padding-block:clamp(96px,11vw,168px);background:var(--paper)}
.contacto__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(36px,6vw,104px);align-items:start}
.contacto__intro{position:sticky;top:calc(var(--hdr) + 32px)}
.ways{list-style:none;margin:36px 0 0;padding:0;display:grid;gap:10px}
.way{width:100%;display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:12px 16px 12px 12px;border-radius:var(--r);border:1px solid var(--line);background:#fff;text-decoration:none;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s ease,transform .16s var(--ease-out)}
.way:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){.way:hover{border-color:var(--ink)}}
.way__ic{width:48px;height:48px;border-radius:var(--r);background:var(--mist);display:grid;place-items:center}
.way__ic .ic{width:22px;height:22px}
.way__t{font:600 16px/1.3 var(--sans)}
.way__t small{display:block;margin-top:3px;font:400 14px/1.4 var(--sans);color:var(--ink-3)}
.way__go{width:18px;height:18px;opacity:.55}
.sedes{margin:34px 0 0;display:grid;gap:16px}
.sedes dt{font:600 13px var(--sans);color:var(--ink-3)}
.sedes dd{margin:4px 0 0;font:500 15.5px/1.45 var(--sans)}
.qcard{border-radius:var(--r);background:var(--mist);padding:clamp(22px,3vw,44px)}
.qform__h{font-size:24px;line-height:1.1;letter-spacing:-.015em;margin-bottom:24px}
.qform__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.field{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}
.field--full{grid-column:1/-1}
.field label,.qchips legend{font:600 14px/1.2 var(--sans);color:var(--ink);padding:0}
.qchips legend{margin-bottom:12px}
.field input,.field textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:var(--r);border:1px solid rgba(29,29,27,.22);background:#fff;font:400 16px/1.4 var(--sans);color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;appearance:none}
.field textarea{min-height:124px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(29,29,27,.12)}
.field input[aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 3px rgba(179,38,30,.14)}
.field__err{color:#b3261e;font:500 13.5px/1.4 var(--sans)}
.field__help{color:var(--ink-3);font:400 13.5px/1.45 var(--sans)}
.consent{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font:400 14.5px/1.45 var(--sans);color:var(--ink-2);cursor:pointer}
.consent input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--ink);cursor:pointer}
.consent+.field__err{margin-top:8px}
.qform__foot{margin-top:22px;display:grid;gap:10px}
.qform__note{text-align:center;font:400 13.5px/1.45 var(--sans);color:var(--ink-3)}
.qdone{display:grid;justify-items:center;gap:14px;padding:28px 0;text-align:center;outline:none}
.qdone__ic{width:64px;height:64px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;animation:pop .5s var(--ease-out)}
.qdone__ic .ic{width:28px;height:28px}
@keyframes pop{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
.qdone__h{font-size:30px;line-height:1.1;letter-spacing:-.02em}
.qdone p{color:var(--ink-2);max-width:36ch}
@media (max-width:900px){.contacto__grid{grid-template-columns:1fr}.contacto__intro{position:static}}
@media (max-width:560px){.qform__grid{grid-template-columns:1fr}}

/* =========================== FAQ =========================== */
.faq{padding-block:clamp(96px,11vw,160px);background:var(--mist)}
.faq__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,88px);align-items:start}
.faq h2{position:sticky;top:calc(var(--hdr) + 32px)}
.qa{border-bottom:1px solid var(--line)}
.qa:first-child{border-top:1px solid var(--line)}
.qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:44px;padding:24px 0;cursor:pointer;font:600 clamp(17px,1.35vw,20px)/1.35 var(--sans)}
.qa summary::-webkit-details-marker{display:none}
.qa__ic{width:22px;height:22px;transition:transform .35s var(--ease-out)}
.qa[open] .qa__ic{transform:rotate(45deg)}
.qa__a p{padding-bottom:26px;font-size:16.5px;line-height:1.66;color:var(--ink-2);max-width:62ch}
.qa__a a{font-weight:600}
.qa[open] .qa__a{animation:qaIn .4s var(--ease-out)}
@keyframes qaIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (max-width:900px){.faq__grid{grid-template-columns:1fr}.faq h2{position:static}}

/* =========================== CIERRE =========================== */
.cierre{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:var(--night)}
.cierre__media{will-change:transform}
.cierre__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(18,18,17,.12) 0%,rgba(18,18,17,.22) 42%,rgba(18,18,17,.8) 100%)}
.cierre__copy{position:relative;z-index:2;padding-block:clamp(88px,14svh,160px) clamp(64px,10svh,120px)}
.cierre__title{font-size:clamp(44px,6.6vw,110px);line-height:.98;letter-spacing:-.036em;max-width:15ch;margin-bottom:22px}
.cierre__title em{font-weight:500}
.cierre__sub{font:400 clamp(18px,1.5vw,22px)/1.5 var(--sans);color:rgba(255,255,255,.86);margin-bottom:30px}
.cierre .hero__ctas{opacity:0;transform:translateY(12px);transition:opacity .9s var(--ease-out) .3s,transform .9s var(--ease-out) .3s}
.cierre .cierre__sub{opacity:0;transition:opacity .9s var(--ease-out) .2s}
.cierre.is-in .hero__ctas{opacity:1;transform:none}
.cierre.is-in .cierre__sub{opacity:1}

/* =========================== FOOTER =========================== */
.foot{background:var(--night);color:rgba(255,255,255,.72);padding:clamp(56px,7vw,96px) 0 28px;font-size:15px}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1fr;gap:36px}
.foot__logo img{height:20px;width:auto}
.foot__brand p{max-width:34ch;line-height:1.6;margin-top:18px}
.foot__h{font:600 13px var(--sans);color:#fff;margin-bottom:14px}
.foot__col a,.foot__col p{display:flex;align-items:center;gap:8px;line-height:1.5;margin:0 0 10px;text-decoration:none;color:inherit}
.foot__col a{min-height:28px}
.foot__col a:hover{color:#fff}
.foot__col .ic{width:18px;height:18px}
.foot__legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px}
@media (max-width:860px){.foot__grid{grid-template-columns:1fr 1fr}.foot__brand{grid-column:1/-1}}

.wa-float{position:fixed;right:clamp(22px,2.4vw,30px);bottom:calc(clamp(16px,3vw,28px) + 74px + env(safe-area-inset-bottom));z-index:70;width:58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -10px rgba(18,18,17,.55);transition:transform .2s var(--ease-out)}
.wa-float .ic{width:28px;height:28px}
.wa-float:active{transform:scale(.94)}

/* =========================== FICHA (modal / hoja) =========================== */
.is-sheet-open .bpChatContainer,.is-sheet-open .wa-float{visibility:hidden}
.sheet{position:fixed;inset:0;z-index:300;display:grid;place-items:center}
.sheet[hidden]{display:none}
.sheet__scrim{position:absolute;inset:0;background:rgba(18,18,17,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .34s ease}
.sheet.is-open .sheet__scrim{opacity:1}
.sheet__panel{position:relative;display:flex;flex-direction:column;width:min(1200px,calc(100vw - 48px));height:min(880px,calc(100svh - 48px));background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 50px 140px -40px rgba(10,10,9,.6);opacity:0;transform:translateY(18px) scale(.98);transition:opacity .36s var(--ease-out),transform .5s var(--ease-drawer);outline:none}
.sheet.is-open .sheet__panel{opacity:1;transform:none}
.sheet.is-closing .sheet__panel{transition-duration:.22s,.26s}
.sheet__grab{display:none}
.sheet__bar{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 28px;border-bottom:1px solid var(--line)}
.sheet__kicker{font:600 13.5px var(--sans);color:var(--ink-3)}
.sheet__nav{display:flex;gap:6px}
.iconbtn{width:44px;height:44px;border-radius:var(--r);border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;cursor:pointer;transition:border-color .2s ease,transform .16s var(--ease-out)}
.iconbtn .ic{width:20px;height:20px}
.iconbtn:active{transform:scale(.94)}
@media (hover:hover) and (pointer:fine){.iconbtn:hover{border-color:var(--ink)}}
.sheet__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.sheet__layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);min-height:100%}
.sheet__media{position:sticky;top:0;align-self:start;height:calc(min(880px,100svh - 48px) - 69px);padding:20px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}
.sheet__main{position:relative;border-radius:var(--r);overflow:hidden;background:var(--stone)}
.sheet__main .slot{position:absolute;inset:0}
.sheet__thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sheet__thumb{position:relative;aspect-ratio:4/3;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:pointer;background:var(--stone);transition:box-shadow .2s ease,transform .16s var(--ease-out)}
.sheet__thumb .slot{position:absolute;inset:0}
.sheet__thumb .slot__tag{display:none}
.sheet__thumb .ph__ic{width:28px;height:28px}
.sheet__thumb[aria-current="true"]{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ink)}
.sheet__thumb:active{transform:scale(.97)}
.sheet__content{padding:30px clamp(24px,3vw,48px) 44px;transition:opacity .2s ease,filter .2s ease}
.sheet__content.is-swapping{opacity:.25;filter:blur(2px)}
.sheet__title{font-size:clamp(34px,3.3vw,52px);line-height:1.02;letter-spacing:-.03em;margin-bottom:18px}
.f-lead{font:400 18.5px/1.6 var(--sans);color:var(--ink-2);margin-bottom:6px;text-wrap:pretty}
.f-h{font:700 12.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:32px 0 14px}
.f-ben{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.f-ben li{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:12px;align-items:start}
.f-ben li>.ic{grid-row:1 / span 2;width:22px;height:22px;margin-top:1px;padding:3px;border-radius:50%;background:var(--ink);fill:#fff}
.f-ben li>strong,.f-ben li>span{grid-column:2}
.f-ben strong{display:block;font:600 16.5px/1.35 var(--sans);color:var(--ink)}
.f-ben span{display:block;margin-top:3px;font-size:15.5px;line-height:1.55;color:var(--ink-3)}
.f-opts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.f-opts li{padding:9px 13px;border-radius:8px;background:var(--mist);font:500 14px/1.2 var(--sans)}
.f-note{margin-top:26px;padding:16px 18px;border-radius:var(--r);background:var(--ink);color:#fff;font-size:15px;line-height:1.55}
.f-links{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:18px}
.f-links a{font:600 15px var(--sans);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.sheet__ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.sheet__rel{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.sheet__rel p{font:600 13.5px var(--sans);color:var(--ink-3);margin-bottom:12px}
.sheet__rel div{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:820px){
  .sheet{place-items:end stretch}
  .sheet__panel{width:100%;height:calc(100svh - max(12px,env(safe-area-inset-top)));border-radius:var(--r) var(--r) 0 0;opacity:1;transform:translateY(100%);transition:transform .46s var(--ease-drawer)}
  .sheet.is-open .sheet__panel{transform:none}
  .sheet.is-closing .sheet__panel{transition-duration:.28s}
  .sheet__grab{display:flex;justify-content:center;padding:8px 0 0;flex:none;touch-action:none}
  .sheet__grab span{width:40px;height:5px;border-radius:3px;background:rgba(29,29,27,.22)}
  .sheet__bar{padding:6px 10px 10px 20px;touch-action:none}
  .sheet__nav .iconbtn[data-sheet-prev],.sheet__nav .iconbtn[data-sheet-next]{display:none}
  .sheet__layout{display:block}
  .sheet__media{position:relative;height:auto;padding:14px 16px 0;grid-template-rows:auto auto}
  .sheet__main{aspect-ratio:4/3}
  .sheet__content{padding:22px 20px calc(36px + env(safe-area-inset-bottom))}
  .sheet__ctas .btn{flex:1 1 220px}
}

/* =========================== REVEAL / REDUCED MOTION =========================== */
.rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.rv.is-in{opacity:1;transform:none}
.no-js .rv,.no-js .tile,.no-js .partidas li{opacity:1;transform:none}
.no-js .hl__in{transform:none}
.no-js .hero .hero__eyebrow,.no-js .hero .hero__sub,.no-js .hero .hero__ctas,.no-js .cierre .hero__ctas,.no-js .cierre .cierre__sub,.no-js .mani__foot{opacity:1;transform:none}
.no-js .mani__text .w{opacity:1}

@media (prefers-reduced-motion:reduce){
  .hero{height:100svh}
  .hero__pin{position:relative}
  .mani{height:auto}
  .mani__pin{position:relative;height:auto;padding-block:clamp(96px,12vw,160px)}
  .mani__text .w{opacity:1!important}
  .hl__in{transform:none!important;transition:none!important}
  .rv,.tile,.partidas li,.mani__foot,.hero .hero__eyebrow,.hero .hero__sub,.hero .hero__ctas,.cierre .hero__ctas,.cierre .cierre__sub{opacity:1!important;transform:none!important;transition:opacity .2s linear!important}
  .pcard{position:relative;top:auto;margin-bottom:24px}
  .tile__btn .slot,.tile__plus{transition:none}
  .caso.is-active{animation:none}
  .sheet__panel{transition:opacity .2s linear!important;transform:none!important}
}
@media print{.hero,.mani{height:auto}.hero__pin,.mani__pin{position:relative}.sheet,.wa-float{display:none}}
@media (max-width:900px){.capas__vistas{bottom:10px}.capas__vista{padding:0 11px;font-size:12.5px;min-height:44px}}
