/* =========================================================================
   coupling — mobiliario de diseño adaptable, fabricado en Barcelona
   Sistema visual: minimalismo arquitectónico nórdico, cálido y editorial.
   ========================================================================= */

/* ---------- Tokens ---------- */
:root{
  --paper:      #F4F0E7;   /* fondo cálido tipo papel */
  --paper-2:    #ECE6D9;   /* superficie alterna */
  --paper-3:    #E3DCCC;   /* bloque más marcado */
  --ink:        #1B1915;   /* texto principal, casi negro cálido */
  --ink-soft:   #514B41;   /* texto secundario */
  --muted:      #7C7566;   /* texto terciario / metadatos */
  --line:       #D5CDBC;   /* filetes */
  --line-soft:  #E1DACB;
  --clay:       #9A5B34;   /* acento nogal/arcilla, uso escaso */
  --clay-deep:  #7E4A29;
  --white:      #FBF9F4;

  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans:  "Archivo", "Helvetica Neue", Arial, sans-serif;

  --container: 1240px;
  --gutter: clamp(1.25rem, 4vw, 4rem);

  --radius: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);

  --step--1: clamp(.82rem, .8rem + .1vw, .9rem);
  --step-0:  clamp(1rem, .97rem + .16vw, 1.12rem);
  --step-1:  clamp(1.2rem, 1.1rem + .5vw, 1.5rem);
  --step-2:  clamp(1.6rem, 1.4rem + 1vw, 2.2rem);
  --step-3:  clamp(2.1rem, 1.7rem + 2vw, 3.4rem);
  --step-4:  clamp(2.7rem, 1.9rem + 3.6vw, 5.2rem);
  --step-5:  clamp(3.3rem, 2rem + 6vw, 7rem);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
*{ margin:0; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }
body{
  font-family:var(--sans);
  font-size:var(--step-0);
  line-height:1.6;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
ul{ list-style:none; padding:0; }
:focus-visible{ outline:2px solid var(--clay); outline-offset:3px; }

/* Texture: fondo papel muy sutil */
body::before{
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(120% 80% at 80% -10%, rgba(154,91,52,.05), transparent 55%),
    radial-gradient(100% 60% at 0% 110%, rgba(27,25,21,.04), transparent 60%);
}

/* ---------- Layout ---------- */
.wrap{ width:min(100% - 2*var(--gutter), var(--container)); margin-inline:auto; }
.wide{ --container:1440px; }
.section{ padding-block:clamp(4.5rem, 9vw, 9rem); }
.section--tight{ padding-block:clamp(3rem, 6vw, 5rem); }

/* ---------- Tipografía ---------- */
h1,h2,h3,h4{ font-family:var(--serif); font-weight:500; line-height:1.06; letter-spacing:-.015em; }
.display{ font-size:var(--step-5); line-height:1; letter-spacing:-.03em; }
h1{ font-size:var(--step-4); }
h2{ font-size:var(--step-3); }
h3{ font-size:var(--step-2); }
.lead{ font-size:var(--step-1); line-height:1.5; color:var(--ink-soft); font-weight:400; }
.measure{ max-width:62ch; }
.measure-sm{ max-width:46ch; }
p{ text-wrap:pretty; }
h1,h2,h3{ text-wrap:balance; }
em, .italic{ font-style:italic; }
/* Los titulares mantienen una sola tipografía (sin mezclar redonda/cursiva) */
h1 em, h2 em, h3 em, h4 em{ font-style:normal; }

.kicker{
  font-family:var(--sans); font-size:var(--step--1); letter-spacing:.28em;
  text-transform:uppercase; color:var(--muted); font-weight:500;
}

/* ---------- Botones / enlaces ---------- */
/* Botón con efecto "hard shadow" (estilo Gumroad): se eleva y deja una
   sombra sólida desplazada; adaptado a la paleta (acento arcilla en hover). */
.btn{
  --bg:var(--ink); --fg:var(--paper);
  --hover-bg:var(--clay); --hover-fg:var(--paper);
  --shadow:var(--bg); --lift:.24rem;
  display:inline-flex; align-items:center; gap:.7em;
  padding:1.05em 1.9em; background:var(--bg); color:var(--fg);
  font-family:var(--sans); font-size:var(--step--1); font-weight:500;
  letter-spacing:.14em; text-transform:uppercase;
  border:1px solid var(--bg); border-radius:var(--radius);
  transition:transform .2s var(--ease), background .25s var(--ease), color .25s var(--ease), box-shadow .2s var(--ease), border-color .25s var(--ease);
}
.btn:hover{
  background:var(--hover-bg); color:var(--hover-fg); border-color:var(--hover-bg);
  transform:translate(calc(-1 * var(--lift)), calc(-1 * var(--lift)));
  box-shadow:var(--lift) var(--lift) 0 var(--shadow);
}
.btn:active{ transform:translate(0); box-shadow:none; }
.btn--ghost{ --bg:transparent; --fg:var(--ink); --shadow:var(--ink); border-color:var(--ink); }
.btn--light{ --bg:var(--paper); --fg:var(--ink); }
.btn--ghost.btn--light{ --bg:transparent; --fg:var(--paper); --shadow:var(--paper); --hover-bg:var(--paper); --hover-fg:var(--ink); border-color:var(--paper); }
.btn .arw{ transition:transform .3s var(--ease); }
.btn:hover .arw{ transform:translateX(3px); }
@media (prefers-reduced-motion:reduce){
  .btn{ transition:background .25s var(--ease), color .25s var(--ease), box-shadow .2s var(--ease); }
  .btn:hover{ transform:none; }
}

.link-underline{
  display:inline-flex; align-items:center; gap:.55em; font-weight:500;
  letter-spacing:.02em; color:var(--ink);
  background-image:linear-gradient(var(--clay),var(--clay));
  background-size:0% 1px; background-position:0 100%; background-repeat:no-repeat;
  padding-bottom:2px; transition:background-size .45s var(--ease), color .3s var(--ease);
}
.link-underline:hover{ background-size:100% 1px; color:var(--clay); }
.link-underline .arw{ transition:transform .4s var(--ease); }
.link-underline:hover .arw{ transform:translate(3px,-3px); }

/* ---------- Header ---------- */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:clamp(1rem,2.2vw,1.6rem) var(--gutter);
  transition:background .5s var(--ease), box-shadow .5s var(--ease);
}
.site-header.is-scrolled{
  background:color-mix(in oklab, var(--paper) 82%, transparent);
  backdrop-filter:blur(14px) saturate(1.2);
  box-shadow:0 1px 0 var(--line-soft);
  padding-block:.85rem;
}
.brand{ display:inline-flex; align-items:center; color:var(--ink); flex:0 0 auto; line-height:0; }
.brand-logo{ display:block; width:100%; height:auto !important; object-fit:contain; }
.brand-logo--image{ width:clamp(128px, 12vw, 195px) !important; max-width:100%; filter:none !important; transition:opacity .35s var(--ease); }
@media (max-width:560px){ .brand-logo--image{ width:148px !important; } }
.brand__mark{ width:26px; height:auto; color:var(--ink); }
.brand__type{ display:flex; flex-direction:column; line-height:1; }
.brand__word{
  font-family:var(--sans); font-weight:300; font-size:1.28rem;
  letter-spacing:.34em; text-transform:lowercase; color:var(--ink);
  padding-left:.05em;
}
.brand__sub{
  font-family:var(--sans); font-size:.52rem; font-weight:400;
  letter-spacing:.42em; text-transform:uppercase; color:var(--muted); margin-top:.35em;
}
.nav{ display:flex; align-items:center; gap:clamp(1.4rem,2.5vw,2.6rem); }
.nav a{
  font-size:var(--step--1); letter-spacing:.12em; text-transform:uppercase;
  font-weight:500; color:var(--ink-soft); position:relative; padding-block:.3em;
  transition:color .3s var(--ease);
}
.nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:1px; width:100%;
  background:var(--ink); transform:scaleX(0); transform-origin:right;
  transition:transform .4s var(--ease);
}
.nav a:hover, .nav a[aria-current="page"]{ color:var(--ink); }
.nav a:hover::after, .nav a[aria-current="page"]::after{ transform:scaleX(1); transform-origin:left; }
.nav a.nav__cta::after{ display:none; }
.nav__cta{ margin-left:.4rem; }
.nav__foot{ display:none; }

/* Cabecera sobre el hero: mantenemos el mismo aspecto elegante y oscuro
   porque la nueva imagen es clara y el logotipo debe verse exactamente como es. */
.site-header.over-hero:not(.is-scrolled) .brand{ color:var(--ink); }
.site-header.over-hero:not(.is-scrolled) .nav a{ color:var(--ink-soft); }
.site-header.over-hero:not(.is-scrolled) .nav a::after{ background:var(--ink); }
.site-header.over-hero:not(.is-scrolled) .btn--ghost{ --fg:var(--ink); --shadow:var(--ink); --hover-bg:var(--ink); --hover-fg:var(--paper); border-color:color-mix(in oklab, var(--ink) 25%, transparent); }
.site-header.over-hero:not(.is-scrolled) .nav-toggle span,
.site-header.over-hero:not(.is-scrolled) .nav-toggle span::before,
.site-header.over-hero:not(.is-scrolled) .nav-toggle span::after{ background:var(--ink); }

.nav-toggle{ display:none; width:40px; height:40px; align-items:center; justify-content:center; }
.nav-toggle span{ position:relative; width:22px; height:1.5px; background:var(--ink); transition:.3s; }
.nav-toggle span::before,.nav-toggle span::after{ content:""; position:absolute; left:0; width:22px; height:1.5px; background:var(--ink); transition:.3s var(--ease); }
.nav-toggle span::before{ top:-6px; } .nav-toggle span::after{ top:6px; }
.nav-open .nav-toggle span{ background:transparent; }
.nav-open .nav-toggle span::before{ top:0; transform:rotate(45deg); }
.nav-open .nav-toggle span::after{ top:0; transform:rotate(-45deg); }

@media (max-width:860px){
  .nav-toggle{ display:flex; position:relative; z-index:102; }
  .site-header .brand{ position:relative; z-index:102; }

  /* Overlay del menú */
  .nav{
    position:fixed; inset:0; z-index:101;
    flex-direction:column; align-items:stretch; justify-content:center; gap:0;
    padding:clamp(6rem,15vh,9rem) var(--gutter) clamp(2rem,6vh,3.5rem);
    background:var(--paper); overflow-y:auto;
    clip-path:inset(0 0 100% 0);
    transition:clip-path .75s var(--ease);
  }
  .nav-open .nav{ clip-path:inset(0 0 0 0); }
  .nav::before{
    content:"Menú"; font-family:var(--sans); font-size:.68rem; letter-spacing:.34em;
    text-transform:uppercase; color:var(--muted); margin-bottom:1.6rem;
    opacity:0; transition:opacity .5s var(--ease) .1s;
  }
  .nav-open .nav::before{ opacity:1; }

  /* Enlaces grandes tipo editorial */
  .nav > a:not(.nav__cta){
    font-family:var(--serif); font-weight:500; font-size:clamp(2rem,8.5vw,2.9rem);
    line-height:1.1; letter-spacing:-.01em; text-transform:none; color:var(--ink);
    padding:.55rem 0; border-bottom:1px solid var(--line);
    display:flex; align-items:center; justify-content:space-between;
    opacity:0; transform:translateY(26px);
    transition:opacity .6s var(--ease), transform .6s var(--ease), color .3s var(--ease);
  }
  .nav > a:not(.nav__cta)::after{
    content:"↗"; position:static; width:auto; height:auto; background:none;
    font-family:var(--sans); font-size:1.05rem; color:var(--clay);
    opacity:0; transform:translateX(-8px);
    transition:opacity .3s var(--ease), transform .3s var(--ease);
  }
  .nav > a:not(.nav__cta):hover, .nav > a[aria-current="page"]{ color:var(--clay); }
  .nav > a:not(.nav__cta):hover::after, .nav > a[aria-current="page"]::after{ opacity:1; transform:translateX(0); }
  .nav-open .nav > a:not(.nav__cta){ opacity:1; transform:none; }
  .nav-open .nav > a:nth-of-type(1){ transition-delay:.14s; }
  .nav-open .nav > a:nth-of-type(2){ transition-delay:.20s; }
  .nav-open .nav > a:nth-of-type(3){ transition-delay:.26s; }
  .nav-open .nav > a:nth-of-type(4){ transition-delay:.32s; }

  /* CTA */
  .nav__cta{
    margin:2.2rem 0 0; align-self:flex-start; width:auto;
    opacity:0; transform:translateY(26px);
    transition:opacity .6s var(--ease) .40s, transform .6s var(--ease) .40s,
               background .25s var(--ease), color .25s var(--ease), box-shadow .2s var(--ease), border-color .25s var(--ease);
  }
  .nav-open .nav__cta{ opacity:1; transform:none; }

  /* Pie del menú: contacto */
  .nav__foot{
    display:flex; flex-wrap:wrap; gap:.9rem 1.8rem; align-items:center;
    margin-top:auto; padding-top:clamp(2rem,6vh,3rem);
    opacity:0; transform:translateY(20px);
    transition:opacity .6s var(--ease) .46s, transform .6s var(--ease) .46s;
  }
  .nav-open .nav__foot{ opacity:1; transform:none; }
  .nav__foot a{
    font-family:var(--sans); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase;
    color:var(--ink-soft); position:static; padding:0;
  }
  .nav__foot a::after{ display:none; }
  .nav__foot a:hover{ color:var(--clay); }

  /* Con el menú abierto el overlay es claro: forzamos logo, aspa, enlaces y
     CTA en oscuro, anulando el modo claro del hero (mayor especificidad) */
  body.nav-open .site-header .brand,
  body.nav-open .site-header.over-hero .brand{ color:var(--ink); }
  body.nav-open .nav-toggle span::before,
  body.nav-open .nav-toggle span::after,
  body.nav-open .site-header.over-hero .nav-toggle span::before,
  body.nav-open .site-header.over-hero .nav-toggle span::after{ background:var(--ink); }
  body.nav-open .site-header.over-hero .nav > a:not(.nav__cta){ color:var(--ink); }
  body.nav-open .site-header.over-hero .nav > a[aria-current="page"]{ color:var(--clay); }
  body.nav-open .site-header.over-hero .nav__cta{ --fg:var(--ink); --shadow:var(--ink); border-color:var(--ink); }
  body.nav-open .site-header.over-hero .nav__foot a{ color:var(--ink-soft); }

  /* Bloquear scroll de fondo */
  body.nav-open{ overflow:hidden; }
}

/* ---------- Hero ---------- */
.hero{ position:relative; padding-top:clamp(8rem,16vh,12rem); padding-bottom:clamp(3rem,6vw,6rem); }
.hero__grid{ display:grid; gap:clamp(2rem,5vw,4rem); }
.hero__title{ font-size:var(--step-5); line-height:.98; letter-spacing:-.032em; }
.hero__title .thin{ font-style:normal; font-weight:400; }
.hero__meta{ display:flex; flex-wrap:wrap; gap:1.4rem 2.4rem; align-items:center; margin-top:.5rem; }
.hero__figure{ position:relative; overflow:hidden; border-radius:var(--radius); background:var(--paper-3); aspect-ratio:16/10; }
.hero__figure img{ width:100%; height:100%; object-fit:cover; }

@media (max-width:560px){
  .hero__title{ font-size:clamp(2.5rem, 10.5vw, 3.4rem); line-height:1.02; }
  .hero{ padding-top:clamp(6.5rem,14vh,9rem); }
}

/* ---------- Hero a pantalla completa con imagen de fondo (Scroll Mask) ---------- */
.hero-cover{
  position:relative; height:100svh; min-height:680px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero-cover__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-cover__bg img{ width:100%; height:100%; object-fit:cover; will-change:transform; }
.hero-cover__scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(rgba(18,16,13,.18), rgba(18,16,13,.16)),
    radial-gradient(120% 120% at 50% 46%, transparent 28%, rgba(18,16,13,.28) 100%);
}
.hero-cover__inner{ position:relative; z-index:2; width:100%; text-align:center; padding-top:clamp(10rem, 18vh, 13rem); padding-bottom:clamp(7rem, 13vh, 9rem); display:flex; align-items:center; justify-content:center; }
.hero-cover__content{ max-width:31ch; margin-inline:auto; color:var(--paper); margin-top:clamp(1.8rem, 4vh, 3rem); }
.hero-cover__content .eyeline{ justify-content:center; color:color-mix(in oklab, var(--paper) 80%, transparent); }
.hero-cover__content .eyeline::before{ display:none; }
.hero-cover__title{
  font-family:var(--serif); font-weight:500; color:var(--white);
  font-size:clamp(2rem, 1.2rem + 2.55vw, 3.5rem); line-height:1.03; letter-spacing:-.02em;
  margin:1rem auto 1.4rem; text-wrap:balance;
  text-shadow:0 1px 40px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.35);
}
.hero-cover__content .lead{ color:color-mix(in oklab, var(--paper) 92%, transparent); max-width:48ch; margin-inline:auto; font-size:var(--step-0); text-shadow:0 1px 16px rgba(0,0,0,.5); }
.hero-cover__content .hero__meta{ margin-top:2rem; justify-content:center; }
.hero-cover__content .btn{ --bg:var(--paper); --fg:var(--ink); }
.hero-cover__content .pill{ color:color-mix(in oklab, var(--paper) 82%, transparent); }
.hero-cover__cue{
  position:absolute; left:50%; bottom:1.5rem; translate:-50% 0; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  color:color-mix(in oklab, var(--paper) 75%, transparent);
  font-size:.66rem; letter-spacing:.28em; text-transform:uppercase;
}
.hero-cover__cue .line{ width:1px; height:38px; background:currentColor; transform-origin:top; animation:cueLine 2.2s var(--ease) infinite; }
@keyframes cueLine{ 0%{ transform:scaleY(0); opacity:0;} 40%{ opacity:1;} 100%{ transform:scaleY(1); opacity:0;} }
@media (prefers-reduced-motion:reduce){ .hero-cover__cue .line{ animation:none; } }
@media (max-width:860px){
  .hero-cover{ min-height:720px; }
  .hero-cover__inner{ padding-top:clamp(8rem, 15vh, 10rem); padding-bottom:clamp(7.2rem, 14vh, 8.8rem); }
}
@media (max-width:560px){
  .hero-cover{ height:100svh; min-height:720px; }
  .hero-cover__bg{ background:#d9d2c8 url("../img/hero-mobile.jpg") center 56% / cover no-repeat; }
  .hero-cover__bg img{ opacity:0; }
  .hero-cover__title{ font-size:clamp(1.8rem, 7vw, 2.35rem); line-height:1.07; }
  .hero-cover__content{ max-width:18.5ch; }
  .hero-cover__inner{ padding-top:8rem; padding-bottom:8rem; }
  .hero-cover__scrim{ background:linear-gradient(rgba(18,16,13,.16), rgba(18,16,13,.18)); }
}

/* ---------- Marca geométrica grande (motivo) ---------- */
.figuremark{ color:var(--ink); width:100%; height:auto; }
.figuremark path{ stroke:currentColor; fill:none; stroke-width:60; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }

/* ---------- Bloques editoriales ---------- */
.split{ display:grid; grid-template-columns:1fr; gap:clamp(1.8rem,4vw,4rem); align-items:start; }
@media (min-width:820px){ .split{ grid-template-columns:0.85fr 1.15fr; } .split--rev{ grid-template-columns:1.15fr .85fr; } }
.eyeline{ display:flex; align-items:baseline; gap:1rem; color:var(--muted); font-size:var(--step--1); letter-spacing:.02em; }
.eyeline::before{ content:""; width:2.4rem; height:1px; background:var(--line); translate:0 -.35em; }

/* Lista de rasgos (sistema, sin numerar) */
.features{ display:grid; gap:0; margin-top:2.4rem; border-top:1px solid var(--line); }
.features li{
  display:grid; grid-template-columns:auto 1fr; gap:1.2rem; align-items:start;
  padding:1.15rem 0; border-bottom:1px solid var(--line);
  font-size:var(--step-0); color:var(--ink-soft);
}
.features li .glyph{ width:22px; height:22px; color:var(--clay); translate:0 .15em; flex:none; }
.features li strong{ color:var(--ink); font-weight:600; }

/* ---------- Franja de imagen / bloque cálido ---------- */
.slab{ background:var(--paper-3); }
.slab--ink{ background:var(--ink); color:var(--paper); }
.slab--ink h2,.slab--ink h3{ color:var(--white); }
.slab--ink .lead{ color:color-mix(in oklab,var(--paper) 78%, transparent); }
.slab--ink .kicker{ color:color-mix(in oklab,var(--paper) 60%, transparent); }

/* ---------- Galería / lookbook ---------- */
.gallery{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(.8rem,1.6vw,1.4rem); }
.ga{ position:relative; overflow:hidden; border-radius:var(--radius); background:var(--paper-3); }
.ga img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.ga:hover img{ transform:scale(1.045); }
.ga--tall{ grid-column:span 5; aspect-ratio:3/4; }
.ga--wide{ grid-column:span 7; aspect-ratio:7/5; }
.ga--half{ grid-column:span 6; aspect-ratio:1/1; }
.ga--full{ grid-column:span 12; aspect-ratio:16/7; }
@media (max-width:720px){
  .ga--tall,.ga--wide,.ga--half{ grid-column:span 12; aspect-ratio:4/3; }
}

/* ---------- Producto / colección ---------- */
.pieces{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:clamp(1.2rem,2.5vw,2rem); }
.piece{ display:flex; flex-direction:column; }
.piece__media{
  position:relative; aspect-ratio:4/5; background:var(--paper-3); border-radius:var(--radius);
  overflow:hidden; margin-bottom:1.1rem;
}
.piece__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.piece:hover .piece__media img{ transform:scale(1.05); }
.piece__media .tag{
  position:absolute; left:1rem; top:1rem; z-index:2; background:var(--paper);
  font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);
  padding:.45em .8em; border-radius:var(--radius);
}
.piece h3{ font-family:var(--serif); font-size:var(--step-1); margin-bottom:.3rem; }
.piece p{ color:var(--muted); font-size:var(--step--1); }
.piece__foot{ display:flex; align-items:center; justify-content:space-between; margin-top:.9rem; }
.piece__price{ font-family:var(--sans); font-weight:500; letter-spacing:.02em; }
.piece__price small{ color:var(--muted); font-weight:400; }

/* Dibujo de línea de mueble (placeholder SVG art) */
.linefurn{ width:100%; height:100%; color:var(--ink); display:grid; place-items:center; padding:14%; }
.linefurn svg{ width:100%; height:auto; }
.linefurn svg [stroke]{ stroke:currentColor; }

/* ---------- FAQ ---------- */
.faq{ border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  list-style:none; cursor:pointer; padding:1.6rem 0; display:flex; gap:1.5rem;
  align-items:baseline; justify-content:space-between;
  font-family:var(--serif); font-size:var(--step-1); color:var(--ink);
  transition:color .3s var(--ease);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:hover{ color:var(--clay); }
.faq summary .ico{ flex:none; width:20px; height:20px; position:relative; translate:0 .2em; }
.faq summary .ico::before,.faq summary .ico::after{ content:""; position:absolute; background:currentColor; transition:transform .35s var(--ease); }
.faq summary .ico::before{ top:9px; left:0; width:20px; height:1.5px; }
.faq summary .ico::after{ top:0; left:9px; width:1.5px; height:20px; }
.faq details[open] summary .ico::after{ transform:scaleY(0); }
.faq__body{ overflow:hidden; }
.faq__body p{ padding:0 0 1.7rem; max-width:64ch; color:var(--ink-soft); }

/* ---------- Contacto ---------- */
.contact-grid{ display:grid; gap:clamp(2rem,5vw,4rem); }
@media (min-width:900px){ .contact-grid{ grid-template-columns:1fr 1fr; } }
.info-list{ display:grid; gap:1.6rem; }
.info-list .row{ display:grid; gap:.3rem; padding-bottom:1.4rem; border-bottom:1px solid var(--line); }
.info-list .row .k{ font-size:var(--step--1); letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
.info-list .row .v{ font-size:var(--step-1); font-family:var(--serif); }
.info-list .row a.v{ transition:color .3s; }
.info-list .row a.v:hover{ color:var(--clay); }

.field{ display:grid; gap:.5rem; margin-bottom:1.4rem; }
.field label{ font-size:var(--step--1); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); }
.field input,.field textarea,.field select{
  width:100%; padding:.95em 1.1em; background:var(--white); border:1px solid var(--line);
  border-radius:var(--radius); font:inherit; color:var(--ink); transition:border-color .3s, box-shadow .3s;
}
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:var(--clay); box-shadow:0 0 0 3px rgba(154,91,52,.12); }
.field textarea{ min-height:140px; resize:vertical; }
.form-note{ font-size:var(--step--1); color:var(--muted); }
.form-status{ font-size:var(--step-0); margin-top:.8rem; min-height:1.4em; }
.form-status.ok{ color:var(--clay-deep); }

/* ---------- Franja CTA ---------- */
.cta-band{ text-align:center; }
.cta-band h2{ font-size:var(--step-4); }
.cta-actions{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; align-items:center; margin-top:2.4rem; }
.cta-sep{ color:var(--muted); }

/* ---------- Footer ---------- */
.site-footer{ background:var(--ink); color:color-mix(in oklab,var(--paper) 80%,transparent); padding-block:clamp(3.5rem,7vw,6rem); }
.site-footer a{ color:inherit; }
.footer-grid{ display:grid; gap:clamp(2rem,5vw,4rem); grid-template-columns:1fr; }
@media (min-width:760px){ .footer-grid{ grid-template-columns:1.4fr 1fr 1fr; } }
.site-footer .brand{ color:var(--white); }
.footer-col h4{ font-family:var(--sans); font-size:var(--step--1); letter-spacing:.2em; text-transform:uppercase; color:color-mix(in oklab,var(--paper) 55%,transparent); font-weight:500; margin-bottom:1.2rem; }
.footer-col a{ display:block; padding:.35rem 0; opacity:.82; transition:opacity .3s,color .3s; }
.footer-col a:hover{ opacity:1; color:var(--white); }
.footer-bottom{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center;
  margin-top:clamp(2.5rem,5vw,4rem); padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.12);
  font-size:var(--step--1); color:color-mix(in oklab,var(--paper) 55%,transparent); }
.footer-bottom a:hover{ color:var(--white); }

/* ---------- WhatsApp flotante ---------- */
.wa-float{
  position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:90;
  width:56px; height:56px; border-radius:50%; background:#1f8f5a; color:#fff;
  display:grid; place-items:center; box-shadow:0 10px 30px rgba(31,143,90,.35);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.wa-float:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 16px 40px rgba(31,143,90,.45); }
.wa-float svg{ width:28px; height:28px; }

/* ---------- Reveal (GSAP fallback) ---------- */
.reveal{ opacity:0; }
.no-js .reveal, .reveal.is-in{ opacity:1; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1 !important; transform:none !important; } }

/* ---------- Páginas legales ---------- */
.legal{ padding-top:clamp(8rem,15vh,11rem); }
.legal .wrap{ --container:820px; }
.legal h1{ font-size:var(--step-3); margin-bottom:.6rem; }
.legal .updated{ color:var(--muted); font-size:var(--step--1); margin-bottom:2.5rem; letter-spacing:.02em; }
.legal h2{ font-size:var(--step-1); margin:2.6rem 0 .8rem; }
.legal p,.legal li{ color:var(--ink-soft); max-width:70ch; }
.legal ul{ list-style:disc; padding-left:1.3rem; margin:.6rem 0; }
.legal li{ margin:.35rem 0; }
.legal a{ color:var(--clay); }
.legal a:hover{ text-decoration:underline; }
.legal .divider{ margin:2.5rem 0; }

/* ---------- Utilidades ---------- */
.stack-sm > * + *{ margin-top:1rem; }
.stack > * + *{ margin-top:1.6rem; }
.stack-lg > * + *{ margin-top:2.4rem; }
.mt-1{ margin-top:1rem; } .mt-2{ margin-top:2rem; } .mt-3{ margin-top:3rem; }
.center{ text-align:center; } .center-x{ margin-inline:auto; }
.divider{ height:1px; background:var(--line); border:0; }
.pill{ display:inline-flex; align-items:center; gap:.5em; font-size:var(--step--1); letter-spacing:.02em; color:var(--ink-soft); }
.pill .dot{ width:7px; height:7px; border-radius:50%; background:var(--clay); }
\n/* Elementor must be visually transparent: original Coupling DOM/CSS remains authoritative. */
body.coupling-exact-page .elementor-location-header,body.coupling-exact-page .elementor-location-footer{display:none!important}
body.coupling-exact-page .elementor,body.coupling-exact-page .elementor-section,body.coupling-exact-page .elementor-container,body.coupling-exact-page .elementor-column,body.coupling-exact-page .elementor-widget-wrap,body.coupling-exact-page .elementor-widget,body.coupling-exact-page .elementor-widget-container{margin:0!important;padding:0!important;max-width:none!important;min-height:0;gap:0!important}
body.coupling-exact-page .elementor-section,body.coupling-exact-page .elementor-container,body.coupling-exact-page .elementor-column,body.coupling-exact-page .elementor-widget-wrap{display:contents!important}
body.coupling-exact-page .elementor-widget-html{width:auto!important}
body.coupling-exact-page .elementor-widget-container>style{display:none!important}


/* ===== Coupling v3.1 — menú móvil + GTranslate ===== */
/* GTranslate flotante, alineado sobre WhatsApp */
body.coupling-exact-page .gtranslate_wrapper,
body.coupling-exact-page .gt_switcher_wrapper,
body.coupling-exact-page .gt_float_switcher{
  position:fixed !important;
  right:clamp(1rem,3vw,2rem) !important;
  bottom:calc(clamp(1rem,3vw,2rem) + 70px) !important;
  left:auto !important; top:auto !important;
  z-index:91 !important;
}
body.coupling-exact-page .gt_float_switcher,
body.coupling-exact-page .gt_switcher{
  font-family:var(--sans) !important;
  background:rgba(244,240,232,.94) !important;
  border:1px solid rgba(39,35,32,.16) !important;
  border-radius:999px !important;
  box-shadow:0 10px 28px rgba(39,35,32,.13) !important;
  backdrop-filter:blur(12px) saturate(1.15);
  overflow:hidden;
}
body.coupling-exact-page .gt_float_switcher .gt-selected,
body.coupling-exact-page .gt_switcher .selected{
  background:transparent !important;
}
body.coupling-exact-page .gt_float_switcher .gt-selected .gt-current-lang,
body.coupling-exact-page .gt_switcher .selected a{
  color:var(--ink) !important;
  font-size:11px !important; font-weight:600 !important;
  letter-spacing:.12em !important; text-transform:uppercase !important;
  padding:10px 13px !important;
}
body.coupling-exact-page .gt_float_switcher img,
body.coupling-exact-page .gt_switcher img{ width:18px !important; height:auto !important; margin-right:7px !important; }
body.coupling-exact-page .gt_float_switcher .gt_options,
body.coupling-exact-page .gt_switcher .option{
  background:var(--paper) !important; border:0 !important;
}
body.coupling-exact-page .gt_float_switcher .gt_options a,
body.coupling-exact-page .gt_switcher .option a{
  color:var(--ink-soft) !important; font-family:var(--sans) !important;
  font-size:12px !important; padding:9px 13px !important;
}
body.coupling-exact-page .gt_float_switcher .gt_options a:hover,
body.coupling-exact-page .gt_switcher .option a:hover{ background:var(--paper-3) !important; color:var(--clay) !important; }

@media (max-width:860px){
  .site-header{ padding:1rem 1.15rem; }
  .site-header.is-scrolled{ padding-block:.72rem; }
  .nav-toggle{
    width:48px; height:48px; border:1px solid currentColor; border-radius:50%;
    background:rgba(244,240,232,.08); backdrop-filter:blur(8px);
  }
  .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{ width:19px; }
  .nav{
    justify-content:flex-start;
    padding:7.6rem 1.35rem 1.5rem;
    background:var(--paper);
    clip-path:circle(0 at calc(100% - 2.6rem) 2.6rem);
    transition:clip-path .72s cubic-bezier(.77,0,.18,1);
  }
  .nav-open .nav{ clip-path:circle(150% at calc(100% - 2.6rem) 2.6rem); }
  .nav::before{
    content:"COUPLING / BCN"; margin:0 0 1.15rem;
    padding-bottom:.9rem; border-bottom:1px solid var(--line);
    font-size:.62rem; letter-spacing:.28em; color:var(--muted);
  }
  .nav > a:not(.nav__cta){
    min-height:66px; padding:.7rem .1rem;
    font-family:var(--serif); font-size:clamp(2rem,9vw,3.15rem); font-weight:400;
    letter-spacing:-.035em; border-bottom:1px solid var(--line);
  }
  .nav > a:not(.nav__cta)::before{
    font-family:var(--sans); font-size:.58rem; letter-spacing:.15em;
    color:var(--muted); margin-right:1rem;
  }
  .nav > a:nth-of-type(1)::before{content:"01"}.nav > a:nth-of-type(2)::before{content:"02"}
  .nav > a:nth-of-type(3)::before{content:"03"}.nav > a:nth-of-type(4)::before{content:"04"}
  .nav > a:not(.nav__cta)::after{ margin-left:auto; }
  .nav__cta{ width:100%; justify-content:center; margin-top:1.5rem; padding:1rem 1.2rem; }
  .nav__foot{ width:100%; justify-content:space-between; border-top:1px solid var(--line); padding-top:1.1rem; margin-top:auto; }
  .nav__foot a{ font-size:.66rem; letter-spacing:.12em; }
  body.nav-open .site-header{ background:transparent!important; box-shadow:none!important; backdrop-filter:none!important; }
  body.coupling-exact-page .gtranslate_wrapper,
  body.coupling-exact-page .gt_switcher_wrapper,
  body.coupling-exact-page .gt_float_switcher{
    right:1rem !important; bottom:calc(1rem + 66px) !important;
  }
  .wa-float{ right:1rem; bottom:1rem; width:54px; height:54px; }
}


/* v3.2 — navegación limpia: sin numeración ni flechas decorativas */
.arw{display:none!important;}
.nav > a:not(.nav__cta)::after{content:none!important;display:none!important;}
@media (max-width:860px){
  .nav > a:not(.nav__cta)::before{content:none!important;display:none!important;}
  .nav > a:nth-of-type(1)::before,
  .nav > a:nth-of-type(2)::before,
  .nav > a:nth-of-type(3)::before,
  .nav > a:nth-of-type(4)::before{content:none!important;display:none!important;}
}

/* v3.5 — catálogo fotográfico completo */

/* v3.6 — catálogo fotográfico completo: 34 imágenes, compacto y uniforme */
.coupling-products-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(.7rem,1.25vw,1.15rem) !important;
  align-items:start;
}
.coupling-product-photo{margin:0 !important;min-width:0 !important;}
.coupling-product-photo .piece__media{
  display:block !important;
  position:relative;
  width:100%;
  aspect-ratio:1/1 !important;
  overflow:hidden;
  margin:0 !important;
  background:#eee9df;
  cursor:pointer;
}
.coupling-product-photo .piece__media img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  transition:transform .55s var(--ease);
}
.coupling-product-photo:hover .piece__media img{transform:scale(1.025)}
.coupling-product-photo .piece__media:after{
  content:"Ver en Instagram";
  position:absolute;left:.75rem;bottom:.75rem;
  background:rgba(246,241,232,.94);color:var(--ink);
  padding:.45rem .65rem;font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;
  opacity:0;transform:translateY(6px);transition:.28s var(--ease);pointer-events:none;
}
.coupling-product-photo:hover .piece__media:after{opacity:1;transform:none}
@media(max-width:980px){.coupling-products-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media(max-width:640px){
 .coupling-products-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:.55rem !important}
 .coupling-product-photo .piece__media:after{display:none}
}

/* v3.8.1 — heroes interiores editoriales */
.inner-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(2.5rem,6vw,7rem);align-items:center;min-height:clamp(620px,78vh,820px);padding-top:clamp(8rem,12vw,11rem)!important;padding-bottom:clamp(4rem,7vw,7rem)!important;overflow:hidden}
.inner-hero__copy{position:relative;z-index:2;max-width:660px}
.inner-hero__title{font-family:var(--serif);font-weight:400;font-size:clamp(3.15rem,5.8vw,6.6rem);line-height:.92;letter-spacing:-.055em;margin:.75rem 0 1.6rem}
.inner-hero__title .thin{font-weight:400;font-style:italic}
.inner-hero__lead{max-width:540px;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.65;color:var(--muted);margin:0 0 2rem}
.inner-hero__media{position:relative;margin:0;overflow:hidden;height:clamp(390px,57vh,650px)}
.inner-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.inner-hero__meta{position:absolute;left:var(--page);bottom:2rem;display:flex;gap:1.4rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.inner-hero__actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.inner-hero__address{position:absolute;right:var(--page);bottom:2rem;margin:0;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.inner-hero--shop{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);padding-right:clamp(5rem,10vw,11rem)!important}
.inner-hero--shop .inner-hero__media{height:clamp(430px,61vh,690px)}
.inner-hero__accent{position:absolute;right:var(--page);bottom:3.2rem;width:clamp(120px,14vw,210px);height:clamp(150px,18vw,260px);margin:0;overflow:hidden;border:8px solid var(--paper);z-index:2}
.inner-hero__accent img{width:100%;height:100%;object-fit:cover}
.inner-hero--contact:before{content:"";position:absolute;inset:0 52% 0 0;background:rgba(0,0,0,.025);pointer-events:none}

/* Sobre coupling: primer bloque posterior al hero más proporcionado */
body.page-slug-sobre-coupling .split-media,
body.page-id-0 .split-media{align-items:center}
/* Neutralizamos escalas excesivas del primer bloque editorial */
.inner-hero--about + * .display,
.inner-hero--about ~ * .display{font-size:clamp(2rem,3.5vw,4rem)}

@media(max-width:860px){
 .inner-hero{grid-template-columns:1fr;gap:2rem;min-height:auto;padding-top:8.25rem!important;padding-bottom:3.5rem!important}
 .inner-hero__copy{max-width:none}
 .inner-hero__title{font-size:clamp(3rem,13vw,5.25rem);max-width:11ch;margin-bottom:1.25rem}
 .inner-hero__lead{font-size:1rem;max-width:36rem}
 .inner-hero__media,.inner-hero--shop .inner-hero__media{height:auto;aspect-ratio:4/5;max-height:68vh}
 .inner-hero--shop{padding-right:var(--page)!important}
 .inner-hero__accent{width:28vw;height:36vw;right:calc(var(--page) + .6rem);bottom:2.2rem;border-width:5px}
 .inner-hero__meta,.inner-hero__address{position:static;margin-top:.25rem;flex-wrap:wrap}
 .inner-hero--contact:before{display:none}
}
@media(max-width:520px){
 .inner-hero{padding-top:9rem!important}
 .inner-hero__title{font-size:clamp(2.75rem,12.5vw,4.25rem)}
 .inner-hero__media,.inner-hero--shop .inner-hero__media{aspect-ratio:5/6}
 .inner-hero__accent{display:none}
}


/* v3.8.2 — heroes Tienda/Contacto reconstruidos y formulario en lugar de FAQ */
.cpl-shop-hero{display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);grid-template-rows:1fr auto;column-gap:clamp(3rem,7vw,8rem);align-items:center;min-height:clamp(650px,82vh,860px);padding-top:clamp(8.5rem,12vh,10.5rem)!important;padding-bottom:2rem!important}
.cpl-shop-hero__copy{align-self:center;max-width:650px;padding-bottom:2rem}
.cpl-shop-hero__copy h1{font-family:var(--serif);font-size:clamp(3.7rem,6vw,7.2rem);line-height:.88;letter-spacing:-.055em;font-weight:400;margin:.9rem 0 1.8rem}
.cpl-shop-hero__copy h1 em{font-weight:400}
.cpl-shop-hero__copy .lead{max-width:34rem;color:var(--muted);font-size:clamp(1rem,1.15vw,1.16rem);line-height:1.65}
.cpl-shop-hero__actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:2rem}
.cpl-shop-hero__media{margin:0;height:clamp(470px,65vh,700px);overflow:hidden;background:var(--paper-3)}
.cpl-shop-hero__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease)}
.cpl-shop-hero__media:hover img{transform:scale(1.018)}
.cpl-shop-hero__foot{grid-column:1/-1;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;padding-top:1.25rem;color:var(--muted);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}

.cpl-contact-hero{background:var(--ink);color:var(--paper);padding-top:clamp(7.5rem,11vh,9rem)}
.cpl-contact-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(3rem,7vw,8rem);align-items:center;min-height:clamp(590px,72vh,760px);padding-bottom:clamp(3rem,5vw,5rem)!important}
.cpl-contact-hero__copy{max-width:650px}
.cpl-contact-hero .eyeline{color:rgba(246,241,232,.58)}
.cpl-contact-hero__copy h1{font-family:var(--serif);font-size:clamp(3.6rem,5.7vw,6.8rem);line-height:.9;letter-spacing:-.055em;font-weight:400;margin:.9rem 0 1.8rem;color:var(--paper)}
.cpl-contact-hero__copy h1 em{font-weight:400}
.cpl-contact-hero__copy .lead{max-width:34rem;color:rgba(246,241,232,.72);font-size:clamp(1rem,1.15vw,1.16rem);line-height:1.65}
.cpl-contact-hero__actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2rem}
.cpl-contact-hero__actions>a:not(.btn){color:var(--paper);font-size:.82rem;border-bottom:1px solid rgba(246,241,232,.35);padding-bottom:.2rem}
.cpl-contact-hero__media{height:clamp(420px,58vh,630px);margin:0;overflow:hidden;background:#191816}
.cpl-contact-hero__media img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.88)}
.cpl-contact-hero__bar{border-top:1px solid rgba(246,241,232,.18);display:flex;justify-content:space-between;gap:1rem;padding-top:1.25rem!important;padding-bottom:1.4rem!important;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,241,232,.6)}
.cpl-contact-hero__bar a{color:inherit}.cpl-contact-hero__bar a:hover{color:var(--paper)}

@media(max-width:860px){
 .cpl-shop-hero{grid-template-columns:1fr;grid-template-rows:auto;gap:2rem;min-height:0;padding-top:9rem!important;padding-bottom:2rem!important}
 .cpl-shop-hero__copy{padding:0;max-width:none}.cpl-shop-hero__copy h1{font-size:clamp(3.1rem,13vw,5rem);max-width:10ch}
 .cpl-shop-hero__media{height:auto;aspect-ratio:4/5;max-height:68vh}.cpl-shop-hero__foot{grid-column:auto;flex-wrap:wrap;justify-content:flex-start;gap:.65rem 1.4rem}
 .cpl-contact-hero{padding-top:7.6rem}.cpl-contact-hero__grid{grid-template-columns:1fr;gap:2.2rem;min-height:0;padding-bottom:2.5rem!important}
 .cpl-contact-hero__copy h1{font-size:clamp(3rem,12.5vw,4.8rem);max-width:11ch}.cpl-contact-hero__media{height:auto;aspect-ratio:4/5;max-height:62vh}
 .cpl-contact-hero__bar{flex-wrap:wrap;justify-content:flex-start;gap:.7rem 1.4rem}
}
@media(max-width:520px){
 .cpl-shop-hero{padding-top:9.5rem!important}.cpl-shop-hero__actions,.cpl-contact-hero__actions{align-items:flex-start;flex-direction:column}
 .cpl-contact-hero{padding-top:8.5rem}.cpl-shop-hero__media,.cpl-contact-hero__media{aspect-ratio:5/6}
}
\n\n/* v3.8.3 — tipografía uniforme Sobre Coupling + Contacto claro */
.inner-hero--about .inner-hero__title,
.inner-hero--about .inner-hero__title *{font-family:var(--serif)!important;font-style:normal!important;font-weight:400!important;}

.cpl-contact-hero{background:var(--paper)!important;color:var(--ink)!important;padding-top:clamp(7.5rem,11vh,9rem)}
.cpl-contact-hero .eyeline{color:var(--muted)!important}
.cpl-contact-hero__copy h1{color:var(--ink)!important}
.cpl-contact-hero__copy h1 em{font-style:normal!important;color:var(--ink)!important}
.cpl-contact-hero__copy .lead{color:var(--muted)!important}
.cpl-contact-hero__actions .btn--light{--bg:var(--ink);--fg:var(--paper);background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.cpl-contact-hero__actions>a:not(.btn){color:var(--ink)!important;border-bottom-color:var(--line)!important}
.cpl-contact-hero__media{background:var(--paper-3)!important}
.cpl-contact-hero__media img{filter:none!important}
.cpl-contact-hero__bar{border-top:1px solid var(--line)!important;color:var(--muted)!important}
.cpl-contact-hero__bar a{color:inherit!important}.cpl-contact-hero__bar a:hover{color:var(--ink)!important}

/* v3.8.4 — Home móvil: el contenido revelado queda por debajo del header sticky */
@media (max-width:560px){
  body.page-slug-inicio .hero-cover__inner,
  body.home .hero-cover__inner{
    transform:translateY(72px);
  }
}

/* v3.8.5 — Home móvil: más recorrido inferior para mostrar completo “Envío con montaje” */
@media (max-width:560px){
  body.page-slug-inicio .hero-cover,
  body.home .hero-cover{
    min-height:calc(100svh + 150px);
    padding-bottom:150px;
  }
  body.page-slug-inicio .hero-cover__inner,
  body.home .hero-cover__inner{
    padding-bottom:72px;
  }
}


/* v3.8.7 — logo exacto + hero personalizado */
.site-footer .brand-logo--image{ width:min(195px,100%) !important; filter:invert(1) brightness(2) !important; }


/* v3.8.8 — logo transparente integrado correctamente */
.site-header .brand-logo--image{ display:block !important; width:clamp(124px, 11.3vw, 182px) !important; height:auto !important; max-width:none !important; background:transparent !important; box-shadow:none !important; }
@media (max-width:860px){ .site-header .brand-logo--image{ width:140px !important; } }
@media (max-width:560px){ .site-header .brand-logo--image{ width:128px !important; } }


/* v3.8.10 — más aire arriba y abajo en el hero para que el claim se vea completo */


/* v3.8.11 — hero desktop visible + mejor encuadre móvil */
body.admin-bar .site-header{ top:32px; }
body.admin-bar .hero-cover__inner{ padding-top:calc(clamp(10rem, 18vh, 13rem) + 24px); }
@media (max-width:782px){ body.admin-bar .site-header{ top:46px; } }
@media (max-width:860px){ body.admin-bar .hero-cover__inner{ padding-top:calc(clamp(8rem, 15vh, 10rem) + 20px); } }
@media (max-width:560px){ body.admin-bar .hero-cover__inner{ padding-top:calc(8rem + 18px); } }

@media (max-width:560px){ .hero-cover__content > *{ } }


/* v3.8.13 — efecto scroll restaurado sin perder el texto */
.hero-cover__inner{ overflow:visible; }
.hero-cover__content{ position:relative; z-index:3; }
.hero-cover__content > *{ will-change:transform,opacity,filter; }
@media (min-width:861px){
  .hero-cover{ min-height:720px; }
  .hero-cover__inner{ padding-top:clamp(11rem,18vh,13rem); padding-bottom:clamp(7rem,12vh,9rem); }
}


/* v3.8.15 — todavía más aire arriba y abajo en el hero de escritorio */
@media (min-width:861px){
  .hero-cover{
    min-height:780px;
  }
  .hero-cover__inner{
    padding-top:clamp(15rem,26vh,19rem) !important;
    padding-bottom:clamp(8.5rem,15vh,11rem) !important;
  }
  .hero-cover__content{
    margin-top:clamp(4.2rem,8vh,6.5rem) !important;
  }
  body.admin-bar .hero-cover__inner{
    padding-top:calc(clamp(15rem,26vh,19rem) + 32px) !important;
  }
}


/* v3.8.16 — logo ligeramente más pequeño solo en escritorio */
@media (min-width:861px){ .site-header .brand-logo--image{ width:clamp(124px, 11.3vw, 182px) !important; } }


/* ---------- Banner Kit Digital en footer ---------- */
.kit-digital-banner{ margin-top:clamp(2.25rem,4vw,3.5rem); padding-top:clamp(1.5rem,3vw,2.25rem); border-top:1px solid color-mix(in oklab,var(--paper) 18%,transparent); }
.kit-digital-banner img{ display:block; width:min(1024px,100%); height:auto; margin-inline:auto; background:#fff; }
.kit-digital-banner--legal{ margin-top:0; padding-top:0; border-top:0; padding-bottom:clamp(1.5rem,3vw,2.25rem); }
@media (max-width:760px){
  .kit-digital-banner{ margin-top:2rem; padding-top:1.25rem; }
  .kit-digital-banner img{ width:100%; }
  .footer-bottom{ align-items:flex-start; }
}

/* v3.8.19 — Header y footer a ancho completo */
.site-header{
  width:100vw !important;
  max-width:none !important;
  margin:0 !important;
  left:0 !important;
  right:0 !important;
  box-sizing:border-box;
}
.site-footer{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box;
}
.site-footer > .wrap{
  width:100% !important;
  max-width:none !important;
  box-sizing:border-box;
  padding-left:var(--gutter) !important;
  padding-right:var(--gutter) !important;
}
