/* ── Fuentes autoalojadas (assets/fonts) ─────────────────────────────
   Para sustituir por licenciadas (GT Sectra / Söhne…): cambiar los archivos
   y las dos familias en :root. ─────────────────────────────────────────── */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/inter-tight-latin-300-normal.woff2) format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-tight-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-tight-latin-500-normal.woff2) format('woff2')}

/* ── Sistema de diseño: espejo de theme.json ─────────────────────────── */
:root{
  --ink:#111110; --paper:#F4F2ED; --muted:#6E6C66; --line:#DEDAD1;
  /* Dorados muestreados de la obra y de los marcos reales de la artista.
     Solo se usan en el marco de Contacto y en el CTA de Arquitectos. */
  --gold:#BCA775;        /* hoja de oro — decorativo y fondo de botón (tinta encima: 8.0:1) */
  --gold-deep:#826E3E;   /* dorado profundo — títulos y filete (sobre papel: 4.4:1) */
  --display:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Inter Tight',system-ui,-apple-system,'Helvetica Neue',sans-serif;
  --fs-cartela:0.8125rem; --fs-small:0.9375rem; --fs-body:1.0625rem;
  --fs-lead:clamp(1.25rem,1.6vw,1.5rem); --fs-title:clamp(2rem,5vw,4rem); --fs-index:clamp(2.5rem,8vw,7rem);
  --sp-10:8px; --sp-20:16px; --sp-30:24px; --sp-40:48px; --sp-50:96px; --sp-60:160px;
  --ease:cubic-bezier(0.22,1,0.36,1); --dur:320ms;
  --ml:clamp(24px,8vw,160px); --mr:clamp(24px,4vw,80px);
  color-scheme:light only;
}
@media (prefers-reduced-motion:reduce){:root{--dur:0ms}*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
*{box-sizing:border-box;border-radius:0!important;box-shadow:none!important}
[hidden]{display:none!important}
html{background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:400;margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}
::selection{background:var(--ink);color:var(--paper)}

/* enlaces con subrayado animado */
.u{position:relative;display:inline-block}
.u::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--dur) var(--ease)}
.u:hover::after,.u:focus-visible::after,.u[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.cta{font-size:var(--fs-small);letter-spacing:.01em}


/* header */
.hd{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-30);padding:var(--sp-30) var(--mr) var(--sp-30) var(--ml)}
.logo{font-family:var(--sans);line-height:1;display:inline-block}
.logo .n{font-size:1.25rem;letter-spacing:-.02em;font-weight:300}
.logo .n b{font-weight:500}
.logo .s{display:block;font-size:.6rem;letter-spacing:.42em;margin-top:5px;text-transform:lowercase;color:var(--muted)}
.nav{display:flex;gap:var(--sp-30);align-items:baseline;font-size:var(--fs-small)}
.nav .lang{margin-left:var(--sp-20);display:flex;gap:10px;font-size:var(--fs-cartela);letter-spacing:.06em}
.nav .lang button{all:unset;cursor:pointer;color:var(--muted)}
.nav .lang button[aria-pressed="true"]{color:var(--ink)}
.nav .lang button:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}
.menu-btn{display:none}
@media(max-width:760px){
  .hd{flex-wrap:wrap}
  .nav{width:100%;display:none;flex-direction:column;gap:var(--sp-20);padding-top:var(--sp-20);border-top:1px solid var(--line);margin-top:var(--sp-20)}
  .nav.open{display:flex}
  .nav .lang{margin:0}
  .menu-btn{display:inline;all:unset;cursor:pointer;font-size:var(--fs-small)}
}

main{min-height:70vh}
.wrap{padding-left:var(--ml);padding-right:var(--mr)}
.measure{max-width:68ch}
.lead{font-size:var(--fs-lead);line-height:1.4;font-family:var(--display)}
.title{font-family:var(--display);font-size:var(--fs-title);line-height:1;letter-spacing:-.01em}
.meta{font-size:var(--fs-cartela);letter-spacing:.04em;line-height:1.8;color:var(--muted)}
.eyebrow{font-size:var(--fs-cartela);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* ── Portada: imagen central + logotipo con máscara ── */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:86vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-img{overflow:hidden;min-height:60vh}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:62% center}
.hero-mark{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-30);padding:var(--sp-40) var(--mr) var(--sp-40) var(--sp-40)}
.mask{font-family:var(--sans);font-weight:500;font-size:clamp(4.5rem,11.5vw,12rem);line-height:.86;letter-spacing:-.045em;margin:0;
  background-size:cover;background-position:70% 40%;-webkit-background-clip:text;background-clip:text;color:transparent;text-wrap:nowrap}
.mask span{display:block;font-weight:400}
.hero-sub{display:flex;flex-direction:column;gap:var(--sp-20)}
.hero-sub .arte{font-size:var(--fs-cartela);letter-spacing:.42em;color:var(--muted)}
@media(max-width:1023px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-img{min-height:0;aspect-ratio:4/3}
  .hero-mark{padding:var(--sp-40) var(--mr) var(--sp-40) var(--ml)}
  .mask{font-size:clamp(4rem,17vw,8rem)}
}

/* ── Índice (home) ── */
.index{display:grid;grid-template-columns:45vw 55vw;min-height:100vh;padding-top:var(--sp-40)}
.index-list{list-style:none;margin:0;padding:var(--sp-40) 0 var(--sp-40) var(--ml)}
.index-list li{margin:0}
.index-list a{display:block;font-family:var(--display);font-size:var(--fs-index);line-height:1.02;letter-spacing:-.015em;color:var(--ink);transition:color var(--dur) var(--ease);padding:2px 0}
.index-list a small{display:block;font-family:var(--sans);font-size:var(--fs-cartela);letter-spacing:.06em;color:var(--muted);margin:2px 0 14px 4px}
.index.has-active .index-list a:not(.is-active){color:var(--muted)}
.index-stage{position:sticky;top:0;height:100vh;padding:var(--sp-40) var(--mr) var(--sp-40) var(--sp-40)}
.index-stage figure{margin:0;position:absolute;inset:var(--sp-40) var(--mr) var(--sp-40) var(--sp-40);opacity:0;transition:opacity var(--dur) var(--ease);display:flex;align-items:center;justify-content:center}
.index-stage figure.is-active{opacity:1}
.index-stage img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}
.index-m{display:none}
@media(max-width:1023px){
  .index{display:block;min-height:0;padding-top:var(--sp-20)}
  .index-list,.index-stage{display:none}
  .index-m{display:block;padding:var(--sp-30) var(--mr) 0 var(--ml)}
  .index-m article{padding:var(--sp-30) 0}
  .index-m h2 a{font-family:var(--display);font-size:var(--fs-title);line-height:1}
  .index-m .meta{margin:4px 0 var(--sp-20)}
  .index-m img{width:100%;opacity:0;transform:translateY(8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
  .index-m img.in{opacity:1;transform:none}
}
.statement{padding:var(--sp-50) var(--mr) var(--sp-40) var(--ml);border-top:1px solid var(--line)}
.hero+.statement{border-top:0}  /* la portada ya cierra con su propio filete */
.band{display:flex;gap:var(--sp-30);flex-wrap:wrap;align-items:baseline;justify-content:space-between;padding:var(--sp-20) var(--mr) var(--sp-20) var(--ml);border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:var(--fs-small)}
.band .k{font-family:var(--display);font-size:var(--fs-lead)}

/* ── Serie: recorrido horizontal ── */
.serie-head{padding:var(--sp-40) var(--mr) var(--sp-40) var(--ml);display:grid;gap:var(--sp-20)}
.hscroll{display:flex;gap:var(--sp-50);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:var(--ml);padding:0 var(--mr) var(--sp-20) var(--ml);scrollbar-width:none;cursor:grab;outline-offset:-6px}
.hscroll::-webkit-scrollbar{display:none}
.hscroll.dragging{cursor:grabbing;scroll-snap-type:none}
.hscroll figure{margin:0;flex:0 0 auto;scroll-snap-align:start;width:max-content}
.hscroll figure a{display:block}
.hscroll img{height:calc(72vh - 56px);width:auto;max-width:none;user-select:none;-webkit-user-drag:none}
.hscroll figcaption{margin-top:var(--sp-20)}
.hscroll .end{flex:0 0 var(--mr)}
/* Barra de categorías: persiste entre el listado y cada categoría */
.cat-nav{display:flex;flex-wrap:wrap;gap:var(--sp-10) var(--sp-30);margin-bottom:var(--sp-20)}
.cat-nav a{font-size:var(--fs-cartela);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cat-nav a[aria-current="page"]{color:var(--ink)}

/* Flechas de la galería horizontal */
.hnav{display:flex;gap:10px}
.harrow{all:unset;box-sizing:border-box;cursor:pointer;width:44px;height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line);color:var(--ink);
  transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),opacity var(--dur) var(--ease)}
.harrow svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.harrow:hover{border-color:var(--ink)}
.harrow:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.harrow[disabled]{opacity:.3;cursor:default;border-color:var(--line)}
.hint{align-items:center}

.progress{height:1px;background:var(--line);margin:var(--sp-20) var(--mr) 0 var(--ml);position:relative}
.progress i{position:absolute;left:0;top:0;bottom:0;background:var(--ink);width:0}
.hint{padding:var(--sp-10) var(--mr) var(--sp-50) var(--ml);display:flex;justify-content:space-between;gap:var(--sp-20)}
@media(max-width:1023px){
  .hscroll{display:block;overflow:visible;padding-bottom:0;cursor:auto}
  .hscroll figure{height:auto;margin-bottom:var(--sp-50)}
  .hscroll figure{width:auto}
  .hscroll img{width:100%;height:auto}
  .hscroll .end,.progress,.hint{display:none}
}

/* ── Ficha de obra ── */
.crumbs{padding:var(--sp-20) var(--mr) 0 var(--ml)}
.crumbs span{color:var(--muted);margin:0 8px}
.obra-img{padding:var(--sp-40) var(--mr) var(--sp-40) var(--ml);display:flex;justify-content:center}
.obra-img img{max-height:var(--obra-h,64vh);max-width:min(100%,880px);width:auto}
.obra-body{padding:0 var(--mr) var(--sp-40) var(--ml);display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:var(--sp-40) var(--sp-50);align-items:start}
@media(max-width:760px){.obra-body{grid-template-columns:1fr}}
.cartela{font-size:var(--fs-cartela);letter-spacing:.04em;line-height:1.8;color:var(--muted)}
.cartela .t{color:var(--ink);font-variant:small-caps;letter-spacing:.08em;font-size:.9375rem}
.cartela .cta{margin-top:var(--sp-20);display:inline-block;color:var(--ink);letter-spacing:.01em}
.actions{display:flex;flex-direction:column;gap:10px;margin-top:var(--sp-20)}
.mp{font-size:var(--fs-cartela);letter-spacing:.04em;color:var(--muted);margin-top:4px}
.buy{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:var(--sp-50);padding:var(--sp-40) var(--mr) var(--sp-60) var(--ml);align-items:start}
@media(max-width:760px){.buy{grid-template-columns:1fr}}
.buy img{max-width:100%}
.buy dl{display:grid;grid-template-columns:auto 1fr;gap:8px var(--sp-30);margin:var(--sp-30) 0;font-size:var(--fs-small)}
.buy dt{color:var(--muted)}
.buy dd{margin:0}
/* Detalles: bloque propio a lo ancho, debajo de la cartela — nunca al costado */
.obra-detalles{padding:0 var(--mr) var(--sp-40) var(--ml)}
.details{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-20);margin-top:var(--sp-20);max-width:860px}
.details button{all:unset;cursor:zoom-in;display:block}
.details button:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}
.details img{width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:760px){.details{grid-template-columns:repeat(2,1fr)}}
dialog{border:0;padding:0;background:var(--paper);max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
dialog::backdrop{background:var(--paper)}
dialog .dlg{height:100%;display:grid;grid-template-rows:auto 1fr;padding:var(--sp-30) var(--mr) var(--sp-30) var(--ml)}
dialog .dlg img{max-height:100%;max-width:100%;width:auto;height:auto;margin:auto}
dialog .close{all:unset;cursor:pointer;justify-self:end;font-size:var(--fs-small)}
dialog .close:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}
.prevnext{display:flex;justify-content:space-between;gap:var(--sp-30);padding:var(--sp-30) var(--mr) var(--sp-50) var(--ml);border-top:1px solid var(--line);font-size:var(--fs-small)}

/* ── Cuadrícula (disponible) ── */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-50) var(--sp-40);padding:var(--sp-40) var(--mr) var(--sp-60) var(--ml)}
@media(max-width:1023px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid3{grid-template-columns:1fr}}
.grid3 figure{margin:0}
.grid3 .ph{aspect-ratio:4/5;display:flex;align-items:flex-end;justify-content:center}
.grid3 img{max-height:100%;width:auto;max-width:100%}
.grid3 figcaption{margin-top:var(--sp-20)}
.filters{display:flex;gap:var(--sp-30);flex-wrap:wrap;padding:0 var(--mr) 0 var(--ml);font-size:var(--fs-small)}
.filters a[aria-current="page"]{color:var(--ink)}
.filters a{color:var(--muted)}

/* ── Exposición ── */
.expo-grid{display:grid;grid-template-columns:1fr minmax(240px,340px);gap:var(--sp-50);padding:var(--sp-40) var(--mr) var(--sp-50) var(--ml);align-items:start}
@media(max-width:900px){.expo-grid{grid-template-columns:1fr}}
.map{margin-top:var(--sp-30);display:block;border:1px solid var(--line);aspect-ratio:4/3;position:relative;overflow:hidden}
.map svg{width:100%;height:100%;display:block}
.map .lbl{position:absolute;left:12px;bottom:10px;font-size:var(--fs-cartela);letter-spacing:.04em;color:var(--muted)}
.tag{display:inline-block;font-size:var(--fs-cartela);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:4px 10px;color:var(--muted)}

/* ── Artista ── */
.artist{display:grid;grid-template-columns:minmax(260px,5fr) 7fr;gap:var(--sp-50);padding:var(--sp-40) var(--mr) var(--sp-50) var(--ml);align-items:start}
@media(max-width:900px){.artist{grid-template-columns:1fr}}
.artist img{width:100%;max-width:560px}
.prose{display:grid;gap:var(--sp-20)}
.prose p{max-width:68ch}
.cv{list-style:none;margin:var(--sp-30) 0 0;padding:0;max-width:68ch}
.cv li{display:grid;grid-template-columns:5.5ch 1fr;gap:var(--sp-30);padding:10px 0;border-top:1px solid var(--line);font-size:var(--fs-small)}
.cv li span:first-child{color:var(--muted);font-variant-numeric:tabular-nums}

/* ── FAQ ── */
.faq{padding:var(--sp-40) var(--mr) var(--sp-60) var(--ml);max-width:calc(68ch + var(--ml) + var(--mr))}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:var(--sp-20) 0;font-family:var(--display);font-size:var(--fs-lead);display:flex;justify-content:space-between;gap:var(--sp-30)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);color:var(--muted);flex:0 0 auto}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 var(--sp-30);color:var(--ink);max-width:62ch}

/* ── Arquitectos e interioristas ── */
.arq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-50);
  padding:0 var(--mr) var(--sp-60) var(--ml);align-items:start}
@media(max-width:900px){.arq{grid-template-columns:1fr;gap:var(--sp-40);align-items:start}}
.arq .arq-img{margin:0}
/* Encuadre fijo: el montaje se recorta al hueco (se conserva muro, obra y mesa,
   se recorta el suelo del final) sea cual sea la foto que se ponga. */
.arq .arq-img img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 30%}
.arq-cta{margin-top:var(--sp-30)}
.btn-gold{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--ink);
  padding:14px 28px;font-size:var(--fs-cartela);letter-spacing:.16em;text-transform:uppercase;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
.btn-gold::after{display:none}
.btn-gold:hover{background:var(--ink);color:var(--gold)}

/* ── Política de envíos y otros textos largos ── */
.legal{padding:0 var(--mr) var(--sp-60) var(--ml);max-width:calc(68ch + var(--ml) + var(--mr))}
.legal h2{font-family:var(--sans);font-size:var(--fs-cartela);letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:var(--sp-40) 0 var(--sp-10);padding-top:var(--sp-20);border-top:1px solid var(--line)}
.legal h2:first-child{margin-top:0;border-top:0;padding-top:0}
.legal p{max-width:68ch}
.legal p+p{margin-top:var(--sp-20)}

/* ── Contacto: el formulario dentro de una obra enmarcada ──────────────
   Marco: dorado muestreado de los marcos reales de la artista.
   Lienzo: la propia obra («Después de la marea») como orla; el formulario
   va sobre una cartulina de papel para que el texto conserve su contraste. */
.contacto{padding:var(--sp-40) var(--mr) var(--sp-50) var(--ml)}
.lienzo{max-width:1040px;border:clamp(7px,1.3vw,15px) solid var(--gold);background:var(--gold)}
.lienzo-obra{border:1px solid var(--gold-deep);padding:clamp(14px,5vw,68px);
  background-image:var(--lienzo);background-size:cover;background-position:center}
.lienzo-paper{background:var(--paper);padding:clamp(24px,4vw,56px) clamp(20px,4vw,64px)}
.lienzo-head{text-align:center;display:grid;gap:10px;justify-items:center;margin-bottom:var(--sp-40)}
.lienzo-head h1{font-family:var(--display);font-size:clamp(2rem,4.5vw,3.25rem);line-height:1;letter-spacing:.16em;text-indent:.16em;color:var(--gold-deep)}
.lienzo-head p{font-size:var(--fs-cartela);letter-spacing:.28em;text-indent:.28em;text-transform:uppercase;color:var(--muted)}
.lienzo-head i{display:block;width:72px;height:2px;background:var(--gold);margin-top:6px}
form{display:grid;gap:var(--sp-30)}
.f{display:grid;gap:8px}
.f label{font-size:var(--fs-cartela);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.f input,.f select,.f textarea{font:inherit;color:var(--ink);background:#FFF;border:1px solid var(--line);padding:12px 14px;width:100%}
.f textarea{min-height:140px;resize:vertical}
.f select{appearance:none}
.f input::placeholder,.f textarea::placeholder{color:#8A887F}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--ink)}
.f-par{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-30)}
@media(max-width:640px){.f-par{grid-template-columns:1fr}}
.ref{font-size:var(--fs-small);color:var(--muted);border:1px solid var(--gold);padding:12px 16px;display:flex;justify-content:space-between;gap:var(--sp-20);flex-wrap:wrap}
.ref b{font-weight:500;color:var(--ink)}
/* all:unset devuelve box-sizing a content-box: hay que reponerlo o el padding desborda */
form button{all:unset;box-sizing:border-box;cursor:pointer;justify-self:center;text-align:center;
  width:100%;max-width:340px;
  background:var(--gold);color:var(--ink);padding:15px 24px;margin-top:var(--sp-10);
  font-size:var(--fs-cartela);letter-spacing:.22em;text-indent:.22em;text-transform:uppercase;
  transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}
form button:hover{background:var(--ink);color:var(--gold)}
form button:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}
.ok{border:1px solid var(--gold);padding:var(--sp-30);display:none}
.ok.show{display:block}
.direct{max-width:1040px;margin-top:var(--sp-40);display:flex;flex-wrap:wrap;gap:var(--sp-20) var(--sp-50);
  align-items:baseline;font-size:var(--fs-small);border-top:1px solid var(--line);padding-top:var(--sp-30)}
.direct .eyebrow{flex:0 0 100%}
.direct .nota{flex:1 1 34ch;color:var(--muted);font-size:var(--fs-cartela);line-height:1.7}
/* WhatsApp: mismo trazo propio que Instagram */
.wa svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}

/* footer */
.ft{border-top:1px solid var(--line);padding:var(--sp-40) var(--mr) var(--sp-40) var(--ml);display:flex;justify-content:space-between;gap:var(--sp-30);flex-wrap:wrap;font-size:var(--fs-cartela);letter-spacing:.04em;color:var(--muted)}
.ft a{color:var(--ink)}
.ft .links{display:flex;gap:var(--sp-20) var(--sp-30);flex-wrap:wrap;align-items:center}
.ig,.wa{display:inline-flex;align-items:center;gap:8px}
.ig svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.3}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}


/* ── WordPress: menú, skip link, bloques, formularios, Woo ─────────── */
.skip{position:absolute;left:-9999px;top:8px;background:var(--paper);padding:8px 12px;z-index:10}
.skip:focus{left:var(--ml)}
.nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:var(--sp-30);align-items:baseline}
.nav .menu li{margin:0}
.nav .menu a[aria-current="page"] .u::after,.nav .menu .current-menu-item .u::after,.nav .menu .current-menu-parent .u::after,.nav .menu .current_page_parent .u::after{transform:scaleX(1);transform-origin:left}
.nav .lang a{color:var(--muted);text-decoration:none}
.nav .lang a[aria-current="true"]{color:var(--ink)}
@media(max-width:760px){.nav .menu{flex-direction:column;gap:var(--sp-20)}}
.index-list--small{padding-top:0}
.index-list--small a{font-size:var(--fs-title)}
.index-m img[data-reveal]{opacity:0;transform:translateY(8px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.index-m img[data-reveal].in,.no-js .index-m img[data-reveal]{opacity:1;transform:none}
.prose p+p{margin-top:var(--sp-20)}
.prose ul.cv{margin-top:var(--sp-30)}
.prose h2.eyebrow{margin-top:var(--sp-30)}
.faq .wp-block-details{border-top:1px solid var(--line)}
.faq .wp-block-details:last-of-type{border-bottom:1px solid var(--line)}
.faq .wp-block-details summary{cursor:pointer;list-style:none;padding:var(--sp-20) 0;font-family:var(--display);font-size:var(--fs-lead);display:flex;justify-content:space-between;gap:var(--sp-30)}
.faq .wp-block-details summary::-webkit-details-marker{display:none}
.faq .wp-block-details summary::after{content:"+";font-family:var(--sans);color:var(--muted);flex:0 0 auto}
.faq .wp-block-details[open] summary::after{content:"–"}
.faq .wp-block-details p{padding:0 0 var(--sp-30);max-width:62ch}
.faq .faq-lead{max-width:68ch;margin-bottom:var(--sp-30)}
.lo-form .ok{display:block}
.frm-fluent-form{display:grid;gap:var(--sp-30)}
/* WooCommerce: checkout y páginas de cuenta, contenidas y sobrias */
.woocommerce{padding:var(--sp-40) var(--mr) var(--sp-60) var(--ml);max-width:calc(80ch + var(--ml) + var(--mr))}
.woocommerce input,.woocommerce select,.woocommerce textarea{font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:8px 0;width:100%}
.woocommerce .button,.woocommerce button.button.alt{all:unset;cursor:pointer;font-size:var(--fs-small);position:relative;display:inline-block;border-bottom:1px solid currentColor}
.woocommerce table{width:100%;border-collapse:collapse;font-size:var(--fs-small)}
.woocommerce th,.woocommerce td{text-align:left;padding:10px 0;border-top:1px solid var(--line)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--line);padding:var(--sp-20);list-style:none;margin:0 0 var(--sp-30)}
