/* ==========================================================================
   Carpintek · páginas internas (productos, series, proyectos, empresa, área profesional, contacto, legales)
   Mismo lenguaje que la home: Bodoni Moda + Jost, marfil / tinta / champán / bronce, filetes finos, rayado de vidrio acanalado,
   cortes rectos entre secciones (nada de degradados entre bloques) y textos ≥ 12 px (etiquetas) / ≥ 14 px (corrido).
   Cada tipo de página tiene su propia composición; aquí van los componentes y cada uno se usa con una intención distinta:
     .ph   cabecera de página (tres variantes)   .sub  subnavegación fija de la página     .split  texto + foto
     .srs  tarjetas de series                      .spec  tabla técnica comparada           .tabs   modelos y perfiles
     .acc  acordeón (pliego técnico, FAQ)          .strip galería horizontal con pie        .woods  muestrario de maderas
     .adv  ventajas en mosaico                     .dl    descargas                         .tl     cronología
     .pj   proyectos (filtros + rejilla)            .case  ficha de proyecto                 .band   banda de llamada a la acción
     .frm  formularios                             .prose texto largo (legales, colofón)    .ev     evento (Veteco)
   ========================================================================== */

html[data-pg]{scroll-behavior:smooth;background:#fbf9f5}
@media (prefers-reduced-motion:reduce){html[data-pg]{scroll-behavior:auto}}
body.pg{margin:0;background:#fbf9f5;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.pg .site-header{position:sticky;inset:auto;top:0;z-index:40;background:rgba(251,249,245,.86);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid rgba(23,18,13,.12);color:var(--ink)}
.pg .site-header .menu-btn,.pg .site-header .nav-cta{background:rgba(255,255,255,.55)}
.pg .nav-list a[aria-current="page"]:not(.nav-cta){background-size:100% 1px}
.pg main{display:block}
.pg .lx{background:transparent}
.pg .lx__in{width:calc(100% - 2 * var(--gutter));max-width:140rem;margin-inline:auto}
.pg .ftr{margin-top:0}
.pg section[data-rv],.pg [data-rv]{opacity:1}
.pg .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pg .skip{position:absolute;left:var(--gutter);top:.5rem;z-index:50;padding:.6rem 1rem;background:var(--ink);color:#fff;transform:translateY(-200%);transition:transform .3s}
.pg .skip:focus{transform:none}
.pg :focus-visible{outline:2px solid var(--ink);outline-offset:4px}
:where(.pg) a{color:inherit}

/* ---------- escala y utilidades ---------- */
.k{margin:0;font:500 .75rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--bronze,#6f5429)}
.k--rule{display:flex;align-items:center;gap:1rem}
.k--rule::before{content:"";width:2.1rem;height:1px;background:currentColor;flex:none}
.t1{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,1.1rem + 4.2vw,5.2rem);line-height:1.02;letter-spacing:-.022em;text-wrap:balance;font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);-webkit-text-stroke:.2px currentColor}
.t2{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(1.75rem,1rem + 2.6vw,3.4rem);line-height:1.06;letter-spacing:-.02em;text-wrap:balance;font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);-webkit-text-stroke:.15px currentColor}
.t3{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,1rem + 1.1vw,1.9rem);line-height:1.15;letter-spacing:-.01em;font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}
.lead{margin:0;max-width:40rem;font:400 clamp(1.05rem,1rem + .35vw,1.3rem)/1.55 var(--sans);text-wrap:pretty}
.p{margin:0;max-width:44rem;font:400 clamp(.95rem,.92rem + .2vw,1.05rem)/1.65 var(--sans);color:rgba(23,18,13,.82);text-wrap:pretty}
.p+.p{margin-top:.9rem}
.p strong{font-weight:500;color:var(--ink)}
.p a,.prose a,.dl a,.faq a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;text-decoration-color:rgba(23,18,13,.4)}
.p a:hover,.prose a:hover{text-decoration-color:currentColor}
.btn{display:inline-flex;align-items:center;gap:.8rem;min-height:3rem;padding:0 1.5rem;border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:#fff;font:500 .75rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .4s,color .4s,transform .5s var(--ease)}
.btn span{white-space:normal}
.btn:hover,.btn:focus-visible{background:#fff;color:var(--ink)}
.btn--ghost{background:transparent;color:var(--ink)}
.btn--ghost:hover,.btn--ghost:focus-visible{background:var(--ink);color:#fff}
.btn svg{flex:none;transition:transform .5s var(--ease)}
.btn:hover svg{transform:translate(2px,-2px)}
.btns{display:flex;flex-wrap:wrap;gap:.8rem 1rem}
.sec{position:relative;padding:clamp(4.5rem,10vh,8.5rem) 0}
.sec--tight{padding:clamp(3rem,6vh,5rem) 0}
.sec--line{border-top:1px solid rgba(23,18,13,.14)}
.sec--dark{background:#100e0c;color:#fcfbf8}
.sec--dark .p{color:rgba(252,251,248,.8)}
.sec--dark .p strong{color:#fcfbf8}
.sec--dark .k{color:#e8d3a8}
.sec--dark .btn{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
.sec--dark .btn:hover{background:transparent;color:#fcfbf8}
.sec--dark .btn--ghost{background:transparent;color:#fcfbf8}
.sec--dark .btn--ghost:hover{background:#fcfbf8;color:#100e0c}
.sec--dark :focus-visible{outline-color:#fcfbf8}
.sec--sand{background:#f4f0e8}
.sec--white{background:#fefdfb}
.sec__head{display:grid;gap:1.1rem;margin-bottom:clamp(2.2rem,5vh,4rem);max-width:60rem}
.sec__head .lead{max-width:44rem}
.sec__head--row{display:grid;gap:1.5rem 3rem;align-items:end}
@media (min-width:900px){.sec__head--row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}.sec__head--row .lead{max-width:none}}
.flute{background:repeating-linear-gradient(90deg,rgba(23,18,13,.08) 0 2px,transparent 2px 7px)}
.sec--dark .flute{background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 7px)}
.src{margin:1.2rem 0 0;font:400 .8125rem/1.5 var(--sans);color:rgba(23,18,13,.6)}
.sec--dark .src{color:rgba(252,251,248,.6)}
.src a{color:inherit}

/* ---------- aparición al hacer scroll (sin JS todo se ve) ---------- */
.pg [data-rv="pending"]{opacity:0;transform:translateY(22px)}
.pg [data-rv="in"]{opacity:1;transform:none;transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.pg [data-rv="in"][data-rv-d="1"]{transition-delay:.12s}.pg [data-rv="in"][data-rv-d="2"]{transition-delay:.24s}.pg [data-rv="in"][data-rv-d="3"]{transition-delay:.36s}.pg [data-rv="in"][data-rv-d="4"]{transition-delay:.48s}

/* ---------- migas ---------- */
.crumbs{margin:0 0 1.4rem;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.3rem .6rem;font:500 .75rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(23,18,13,.62)}
.crumbs li+li::before{content:"/";margin-right:.6rem;opacity:.5}
.crumbs a{text-decoration:none}
.crumbs a:hover{text-decoration:underline;text-underline-offset:.25em}
.crumbs [aria-current]{color:var(--ink)}
.sec--dark .crumbs,.ph--photo .crumbs{color:rgba(252,251,248,.72)}.sec--dark .crumbs [aria-current],.ph--photo .crumbs [aria-current]{color:#fcfbf8}

/* ---------- cabecera de página ---------- */
.ph{position:relative;padding:clamp(3rem,7vh,5.5rem) 0 clamp(3rem,7vh,5.5rem);overflow:hidden}
.ph__grid{display:grid;gap:2rem;align-items:end}
.ph__copy{display:grid;gap:1.3rem;justify-items:start}
.ph .t1{max-width:14ch}
.ph .lead{max-width:38rem}
.ph__meta{display:flex;flex-wrap:wrap;gap:.5rem .7rem;margin:.4rem 0 0;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;min-height:2rem;padding:0 .85rem;border:1px solid rgba(23,18,13,.34);border-radius:999px;font:500 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:inherit;transition:background-color .4s,color .4s,border-color .4s}
.chip:hover,.chip:focus-visible{background:var(--ink);border-color:var(--ink);color:#fff}
.chip.is-main{background:var(--ink);border-color:var(--ink);color:#fff}
.chip.is-main:hover{background:transparent;color:var(--ink)}
.ph--split .ph__grid{align-items:center}
@media (min-width:900px){.ph--split .ph__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}}
.ph__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c,#d9d3c8)}
.ph__media picture,.ph__media img{display:block;width:100%;height:100%;object-fit:cover}
.ph__media--render{aspect-ratio:3/4;background:transparent;display:grid;place-items:center}
.ph__media--render picture{display:grid;place-items:center;width:100%;height:100%}
.ph__media--render img{width:auto;height:auto;max-width:100%;object-fit:contain;max-height:min(70vh,46rem)}
.ph__media--render::before{content:"";position:absolute;inset:8% 14%;border:1px solid rgba(23,18,13,.16)}
.ph__media--render::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(23,18,13,.055) 0 2px,transparent 2px 7px);mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);-webkit-mask:linear-gradient(90deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}
.ph--photo{color:#fcfbf8;background:#100e0c;min-height:min(78vh,52rem);display:grid;align-items:end}
.ph--photo .ph__bg{position:absolute;inset:0;z-index:0}
.ph--photo .ph__bg picture,.ph--photo .ph__bg img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.ph--photo .ph__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,14,12,.34) 0%,rgba(16,14,12,.14) 30%,rgba(16,14,12,.82) 100%),linear-gradient(90deg,rgba(16,14,12,.62) 0%,rgba(16,14,12,.28) 45%,rgba(16,14,12,0) 75%)}
.ph--photo .lx__in{position:relative;z-index:1}
.ph--photo .t1{-webkit-text-stroke:.25px currentColor;max-width:17ch;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.ph--photo .k{color:#fcfbf8}
.ph--photo .lead{color:rgba(252,251,248,.9)}
.ph--photo .chip{border-color:rgba(252,251,248,.5)}
.ph--photo .btn{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}.ph--photo .btn:hover,.ph--photo .btn:focus-visible{background:transparent;color:#fcfbf8}
.ph--photo .btn--ghost{background:transparent;border-color:rgba(252,251,248,.7);color:#fcfbf8}.ph--photo .btn--ghost:hover,.ph--photo .btn--ghost:focus-visible{background:#fcfbf8;color:#100e0c}
.ph--photo :focus-visible{outline-color:#fcfbf8}
.ph--photo .chip:hover,.ph--photo .chip.is-main{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
.ph__num{font:500 clamp(4rem,10vw,9rem)/1 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);letter-spacing:-.03em;color:#e8d3a8}
.ph__num small{display:block;font:500 .75rem/1.4 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(252,251,248,.8);margin-top:.6rem}

/* ---------- público: Residencial | Business ----------
   html[data-aud] lo fija el selector (hero de la home o píldora de la barra fija) y se recuerda en localStorage. Sin elección se ve todo. */
html[data-aud="res"] [data-aud="biz"],html[data-aud="biz"] [data-aud="res"]{display:none!important}
[data-aud-opt]{display:none}
html[data-aud="res"] [data-aud="res"][data-aud-opt]{display:revert}


/* ---------- subnavegación de la página (fija bajo la cabecera; al borde superior cuando la cabecera se esconde) ---------- */
html.hdr-hidden .sub{top:0}
@media (prefers-reduced-motion:reduce){.sub{transition:none}}
.sub{position:sticky;top:var(--header-h);z-index:30;transition:top .45s var(--ease);background:rgba(251,249,245,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(23,18,13,.12);border-bottom:1px solid rgba(23,18,13,.12)}
.sub__in{display:flex;align-items:center;gap:1.5rem;width:calc(100% - 2 * var(--gutter));max-width:140rem;margin-inline:auto;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sub__in::-webkit-scrollbar{display:none}
.sub__label{flex:none;padding:.9rem 0;font:500 .75rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
.sub ol{display:flex;gap:1.5rem;margin:0;padding:0;list-style:none}
.sub ol a{display:inline-block;padding:1rem 0;font:500 .75rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;text-decoration:none;color:rgba(23,18,13,.68);background:linear-gradient(var(--ink),var(--ink)) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease),color .4s}
.sub ol a:hover,.sub ol a:focus-visible,.sub ol a.is-on{color:var(--ink);background-size:100% 1px}
.sub__cta{margin-left:auto;flex:none;min-height:2.4rem;padding:0 1.1rem;font-size:.75rem}
.sub__in>ol{margin-left:.4rem}
.sub li.is-off{display:none}
@media (max-width:899.98px){.sub__cta{display:none}}

/* ---------- texto + foto ---------- */
.split{display:grid;gap:2.2rem;align-items:center}
.split--top{align-items:start}
@media (min-width:900px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,6vw,7rem)}.split--rev>:first-child{order:2}}
.split__copy{display:grid;gap:1.3rem;justify-items:start}
.split__media{position:relative;overflow:hidden;background:var(--c,#e3ddd2)}
.split__media picture,.split__media img{display:block;width:100%;height:auto}
.split__media--cover{aspect-ratio:4/5}
.split__media--cover img,.split__media--cover picture{height:100%;object-fit:cover}
.split__media--wide{aspect-ratio:3/2}
.split__media--wide img,.split__media--wide picture{height:100%;object-fit:cover}
.split__cap{margin:.6rem 0 0;font:400 .8125rem/1.5 var(--sans);color:rgba(23,18,13,.62)}
.sec--dark .split__cap{color:rgba(252,251,248,.62)}

/* ---------- tarjetas de series ---------- */
.srs{display:grid;gap:1px;background:rgba(23,18,13,.14);border:1px solid rgba(23,18,13,.14)}
@media (min-width:700px){.srs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.srs{grid-template-columns:repeat(3,minmax(0,1fr))}.srs--5>:nth-child(4),.srs--5>:nth-child(5){grid-column:span 1}}
.srs__card{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:1rem;min-height:26rem;padding:1.6rem 1.6rem 1.4rem;background:#fefdfb;color:inherit;text-decoration:none;overflow:hidden;transition:background-color .6s}
.srs__card:hover,.srs__card:focus-visible{background:#f4f0e8}
.srs__top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.srs__name{font:500 clamp(1.6rem,1.2rem + 1.2vw,2.3rem)/1 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);letter-spacing:-.015em}
.srs__num{font:500 .75rem/1 var(--sans);letter-spacing:.3em;color:var(--bronze)}
.srs__fig{position:relative;display:grid;place-items:center;aspect-ratio:1/1;max-height:17rem;margin:0}
.srs__fig picture{display:grid;place-items:center;width:100%;height:100%}
.srs__fig img{display:block;width:auto;height:auto;max-width:76%;max-height:92%;object-fit:contain;transition:transform 1.2s var(--ease)}
.srs__card:hover .srs__fig img{transform:translateY(-6px) scale(1.03)}
.srs__fig::before{content:"";position:absolute;inset:10% 18%;border:1px solid rgba(23,18,13,.14);transition:inset .9s var(--ease)}
.srs__card:hover .srs__fig::before{inset:4% 10%}
.srs__tag{margin:0;font:400 1rem/1.45 var(--sans)}
.srs__data{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin:.2rem 0 0;padding:0;list-style:none;font:400 .8125rem/1.4 var(--sans);color:rgba(23,18,13,.68)}
.srs__data b{font-weight:500;color:var(--ink)}
.srs__go{display:inline-flex;align-items:center;gap:.6rem;font:500 .75rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.srs__go svg{transition:transform .5s var(--ease)}
.srs__card:hover .srs__go svg{transform:translate(3px,-3px)}

/* ---------- tabla técnica ---------- */
.spec{width:100%;border-collapse:collapse;font:400 .9rem/1.45 var(--sans)}
.spec caption{text-align:left;margin-bottom:1rem}
.spec th,.spec td{padding:.9rem 1rem;border-top:1px solid rgba(23,18,13,.14);text-align:left;vertical-align:top}
.spec thead th{padding-top:0;border-top:0;font:500 .75rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.spec tbody th{font-weight:500;white-space:nowrap}
.spec tbody tr:hover td,.spec tbody tr:hover th{background:rgba(239,220,180,.22)}
.spec .num{font-family:var(--serif);font-size:1.25rem;line-height:1;font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}
.spec .u{font:400 .75rem/1 var(--sans);color:rgba(23,18,13,.6);margin-left:.25rem}
.spec-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:699.98px){.spec thead th:first-child,.spec tbody th{position:sticky;left:0;background:#fbf9f5}}
.sec--dark .spec th,.sec--dark .spec td{border-color:rgba(252,251,248,.16)}
.sec--dark .spec tbody tr:hover td,.sec--dark .spec tbody tr:hover th{background:rgba(255,255,255,.05)}
.sec--dark .spec .u{color:rgba(252,251,248,.6)}
.sec--dark .spec thead th:first-child,.sec--dark .spec tbody th{background:#100e0c}

/* ---------- pestañas (modelos / perfiles) ---------- */
.tabs__list{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1.8rem;padding:0;list-style:none;border-bottom:1px solid rgba(23,18,13,.14)}
.tabs__tab{position:relative;padding:.9rem 1rem;border:0;background:none;color:rgba(23,18,13,.62);font:500 .75rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.tabs__tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.tabs__tab[aria-selected="true"]{color:var(--ink)}
.tabs__tab[aria-selected="true"]::after{transform:none}
.tabs__panel[hidden]{display:none}
.tabs--js .tabs__panel{animation:tabin .6s var(--ease)}
@keyframes tabin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.model{display:grid;gap:1.6rem}
@media (min-width:900px){.model{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:3rem;align-items:start}}
.model__fig{position:relative;display:grid;place-items:center;aspect-ratio:1/1;max-width:28rem;margin:0;background:#fefdfb;border:1px solid rgba(23,18,13,.14)}
.model__fig picture{display:grid;place-items:center;width:100%;height:100%}
.model__fig img{width:auto;height:auto;max-width:82%;max-height:82%;object-fit:contain}
.model__sec{margin:1rem 0 0;max-width:28rem}
.model__sec img{display:block;width:100%;height:auto}
.model__sec figcaption{margin-top:.5rem;font:400 .8125rem/1.5 var(--sans);color:rgba(23,18,13,.62)}
.kv{display:grid;gap:0;margin:0;border-top:1px solid rgba(23,18,13,.14)}
.kv div{display:grid;grid-template-columns:minmax(9rem,.6fr) minmax(0,1fr);gap:1rem;padding:.75rem 0;border-bottom:1px solid rgba(23,18,13,.14)}
.kv dt{font:500 .75rem/1.6 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}
.kv dd{margin:0;font:400 .95rem/1.55 var(--sans)}
.kv dd .num{font-family:var(--serif);font-size:1.35rem;line-height:1;font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}
.sec--dark .kv,.sec--dark .kv div{border-color:rgba(252,251,248,.16)}

/* ---------- acordeón: pliego técnico y FAQ ---------- */
.acc{margin:0;border-top:1px solid rgba(23,18,13,.14)}
.acc details{border-bottom:1px solid rgba(23,18,13,.14)}
.acc summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.15rem 0;cursor:pointer;list-style:none;font:500 clamp(1.05rem,1rem + .3vw,1.25rem)/1.35 var(--sans)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--bronze)}
.acc__ico{position:relative;width:1.4rem;height:1.4rem;flex:none;border:1px solid currentColor;border-radius:50%}
.acc__ico::before,.acc__ico::after{content:"";position:absolute;left:50%;top:50%;width:.6rem;height:1px;background:currentColor;transform:translate(-50%,-50%);transition:transform .4s var(--ease)}
.acc__ico::after{transform:translate(-50%,-50%) rotate(90deg)}
.acc details[open] .acc__ico::after{transform:translate(-50%,-50%) rotate(0)}
.acc__body{padding:0 0 1.4rem;max-width:52rem}
.acc__body .p{max-width:none}
.acc__body ul{margin:.4rem 0 0;padding-left:1.1rem;font:400 .92rem/1.6 var(--sans);color:rgba(23,18,13,.82)}
.acc__body li+li{margin-top:.35rem}
.acc--faq summary{font-family:var(--serif);font-size:clamp(1.15rem,1rem + .6vw,1.5rem);font-weight:500;font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);letter-spacing:-.01em;line-height:1.2}
.sec--dark .acc,.sec--dark .acc details{border-color:rgba(252,251,248,.16)}
.sec--dark .acc summary:hover{color:#e8d3a8}
.sec--dark .acc__body ul{color:rgba(252,251,248,.8)}
.faq__grid{display:grid;gap:2rem}
@media (min-width:1000px){.faq__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:4rem;align-items:start}.faq__aside{position:sticky;top:calc(var(--header-h) + 4rem)}}

/* ---------- galería horizontal con pie (fotos reales con su proyecto) ---------- */
.strip{position:relative}
.strip__track{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;cursor:grab}
.strip__track::-webkit-scrollbar{display:none}
.strip__track.is-drag{cursor:grabbing;scroll-snap-type:none}
.strip__item{flex:0 0 min(78vw,30rem);scroll-snap-align:start;margin:0}
.strip__item--tall{flex-basis:min(70vw,24rem)}
.strip__ph{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--c,#d9d3c8)}
.strip__item--tall .strip__ph{aspect-ratio:4/5}
.strip__ph picture,.strip__ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.strip__item:hover .strip__ph img{transform:scale(1.04)}
.strip__ph button{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:zoom-in}
.strip__cap{display:grid;gap:.3rem;margin-top:.75rem;font:400 .9rem/1.5 var(--sans);color:rgba(23,18,13,.82)}
.strip__cap a{font:500 .75rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink);display:inline-flex;gap:.5rem;align-items:center;margin-top:.2rem}
.strip__cap a:hover{text-decoration:underline;text-underline-offset:.3em}
.strip__nav{display:flex;gap:.5rem;justify-content:flex-end;margin:-.2rem 0 1.4rem}
.strip__btn{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(23,18,13,.4);border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background-color .4s,color .4s}
.strip__btn:hover,.strip__btn:focus-visible{background:var(--ink);color:#fff}
.strip__btn[disabled]{opacity:.3;pointer-events:none}
.sec--dark .strip__cap{color:rgba(252,251,248,.82)}.sec--dark .strip__cap a{color:#fcfbf8}.sec--dark .strip__btn{border-color:rgba(252,251,248,.4)}.sec--dark .strip__btn:hover{background:#fcfbf8;color:#100e0c}
.sec--dark .strip__ph{background:#1d1814}

/* visor (dialog) */
.lb{max-width:min(96vw,120rem);max-height:96vh;padding:0;border:0;background:transparent;color:#fcfbf8}
.lb::backdrop{background:rgba(10,8,6,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lb__fig{margin:0;display:grid;gap:.8rem;justify-items:center}
.lb__fig img{max-width:96vw;max-height:84vh;object-fit:contain;background:#000}
.lb__cap{font:400 .9rem/1.5 var(--sans);color:rgba(252,251,248,.85);text-align:center;max-width:60rem}
.lb__bar{position:fixed;top:1rem;right:1rem;display:flex;gap:.5rem}
.lb__btn{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(252,251,248,.5);border-radius:50%;background:rgba(16,14,12,.5);color:#fcfbf8;cursor:pointer}
.lb__btn:hover{background:#fcfbf8;color:#100e0c}
.lb__prev,.lb__next{position:fixed;top:50%;transform:translateY(-50%)}
.lb__prev{left:1rem}.lb__next{right:1rem}

/* ---------- maderas ---------- */
.woods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
@media (min-width:700px){.woods{grid-template-columns:repeat(6,minmax(0,1fr))}}
.wood{margin:0;display:grid;gap:.6rem}
.wood__ph{aspect-ratio:3/4;overflow:hidden;background:#d9d3c8;border:1px solid rgba(23,18,13,.14)}
.wood__ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.wood:hover .wood__ph img{transform:scale(1.06)}
.wood figcaption{font:500 .75rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase}

/* ---------- ventajas ---------- */
.adv{display:grid;gap:1px;background:rgba(23,18,13,.14);border:1px solid rgba(23,18,13,.14)}
@media (min-width:600px){.adv{grid-template-columns:repeat(3,minmax(0,1fr))}}
.adv__item{display:grid;grid-template-rows:auto 1fr;gap:1rem;padding:1.3rem;background:#fefdfb;transition:background-color .6s}
.adv__item:hover{background:#f4f0e8}
.adv__ph{aspect-ratio:2/1;overflow:hidden;background:#d9d3c8}
.adv__ph img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:filter .8s,transform 1.4s var(--ease)}
.adv__item:hover .adv__ph img{filter:none;transform:scale(1.04)}
.adv__t{margin:0;font:500 clamp(1.1rem,1rem + .4vw,1.35rem)/1.2 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}
.adv__n{font:500 .75rem/1 var(--sans);letter-spacing:.3em;color:var(--bronze);margin-bottom:.4rem;display:block}

/* ---------- descargas ---------- */
.dl{margin:0;padding:0;list-style:none;border-top:1px solid rgba(23,18,13,.14)}
.dl li{border-bottom:1px solid rgba(23,18,13,.14)}
.dl a,.dl .dl__row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.95rem 0;color:inherit;text-decoration:none;transition:padding-left .5s var(--ease)}
.dl a:hover{padding-left:.6rem}
.dl__ico{display:grid;place-items:center;width:2.4rem;height:2.4rem;border:1px solid rgba(23,18,13,.3);border-radius:50%;flex:none}
.dl__t{font:500 .98rem/1.35 var(--sans)}
.dl__m{display:block;margin-top:.15rem;font:400 .8125rem/1.4 var(--sans);color:rgba(23,18,13,.62)}
.dl__sz{font:500 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:rgba(23,18,13,.62)}
.dl--lock a,.dl--lock .dl__row{color:rgba(23,18,13,.72)}
.sec--dark .dl,.sec--dark .dl li{border-color:rgba(252,251,248,.16)}.sec--dark .dl--lock a,.sec--dark .dl--lock .dl__row{color:rgba(252,251,248,.78)}.sec--dark .dl a{color:#fcfbf8}.sec--dark .dl__ico{border-color:rgba(252,251,248,.4)}.sec--dark .dl__m,.sec--dark .dl__sz{color:rgba(252,251,248,.6)}
.dl-grid{display:grid;gap:2.5rem}
@media (min-width:900px){.dl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 4rem}}
.covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
@media (min-width:700px){.covers{grid-template-columns:repeat(5,minmax(0,1fr))}}
.cover{margin:0;display:grid;gap:.6rem;text-decoration:none;color:inherit}
.cover__ph{aspect-ratio:3/4;overflow:hidden;background:#e3ddd2;border:1px solid rgba(23,18,13,.14);box-shadow:0 18px 30px -22px rgba(23,18,13,.45);transition:transform .8s var(--ease),box-shadow .8s var(--ease)}
.cover:hover .cover__ph{transform:translateY(-6px);box-shadow:0 28px 40px -24px rgba(23,18,13,.5)}
.cover__ph img{display:block;width:100%;height:100%;object-fit:cover}
.cover figcaption{font:500 .75rem/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase}

.ava{width:4.5rem;height:4.5rem;border-radius:50%;overflow:hidden;background:#d9d3c8}
.ava picture,.ava img{display:block;width:100%;height:100%;object-fit:cover}

/* ---------- cronología ---------- */
.tl{position:relative;margin:0;padding:0 0 0 2.2rem;list-style:none;display:grid;gap:2rem}
.tl::before{content:"";position:absolute;left:.35rem;top:.6rem;bottom:.6rem;width:1px;background:rgba(23,18,13,.3)}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;left:-2.2rem;top:.55rem;width:.75rem;height:.75rem;border:1px solid var(--ink);border-radius:50%;background:#fbf9f5}
.tl__d{display:block;font:500 .75rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--bronze);margin-bottom:.5rem}
.tl__t{margin:0 0 .4rem;font:500 clamp(1.15rem,1rem + .6vw,1.5rem)/1.2 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}
.tl .p{max-width:40rem}
.sec--dark .tl::before{background:rgba(252,251,248,.3)}.sec--dark .tl li::before{border-color:#fcfbf8;background:#100e0c}

/* ---------- cifras (solo números publicados en la web actual) ---------- */
.figs{display:grid;gap:1.5rem;margin:0;padding:0;list-style:none}
@media (min-width:600px){.figs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.figs{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fig{border-top:1px solid rgba(23,18,13,.3);padding-top:1rem}
.fig__n{display:block;font:500 clamp(2.6rem,1.6rem + 3.2vw,4.6rem)/1 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);letter-spacing:-.02em}
.fig__n small{font-size:.45em;letter-spacing:0;margin-left:.15em}
.fig__t{display:block;margin-top:.5rem;font:400 .92rem/1.5 var(--sans);color:rgba(23,18,13,.78)}
.fig__s{display:block;margin-top:.35rem;font:400 .75rem/1.4 var(--sans);color:rgba(23,18,13,.55)}
.sec--dark .fig{border-color:rgba(252,251,248,.3)}.sec--dark .fig__t{color:rgba(252,251,248,.8)}.sec--dark .fig__s{color:rgba(252,251,248,.55)}

/* ---------- proyectos: filtros y rejilla ---------- */
.flt{display:grid;gap:1rem;margin-bottom:2.2rem}
.flt__group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.flt__k{margin-right:.4rem;font:500 .75rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
.flt__btn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.2rem;padding:0 .9rem;border:1px solid rgba(23,18,13,.3);border-radius:999px;background:transparent;color:inherit;font:500 .75rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .35s,color .35s,border-color .35s}
.flt__btn small{font-size:.75rem;letter-spacing:0;opacity:.7}
.flt__btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.flt__status{font:400 .9rem/1.5 var(--sans);color:rgba(23,18,13,.68)}
.pj{display:grid;gap:2rem 1.5rem;margin:0;padding:0;list-style:none}
@media (min-width:600px){.pj{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.pj{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pj__item[hidden]{display:none}
.pj__card{display:grid;gap:.9rem;color:inherit;text-decoration:none}
.pj__ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c,#d9d3c8)}
.pj__ph picture,.pj__ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.5s var(--ease)}
.pj__card:hover .pj__ph img{transform:scale(1.05)}
.pj__ph::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,0);transition:inset .7s var(--ease),border-color .7s}
.pj__card:hover .pj__ph::after{inset:.6rem;border-color:rgba(255,255,255,.55)}
.pj__t{margin:0;font:500 clamp(1.2rem,1rem + .7vw,1.6rem)/1.15 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);letter-spacing:-.01em}
.pj__m{margin:0;font:400 .8125rem/1.5 var(--sans);color:rgba(23,18,13,.62)}
.pj__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}
.pj__tags li{padding:.3rem .6rem;border:1px solid rgba(23,18,13,.22);border-radius:999px;font:500 .75rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.pj__tags li.is-main{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- ficha de proyecto ---------- */
.case__grid{display:grid;gap:2.5rem}
@media (min-width:1000px){.case__grid{grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr);gap:5rem;align-items:start}.case__aside{position:sticky;top:calc(var(--header-h) + 2rem)}}
.case__sheet{border:1px solid rgba(23,18,13,.4);background:#fffffe;box-shadow:0 30px 50px -40px rgba(23,18,13,.5)}
.case__sheet-h{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.9rem 1.3rem;border-bottom:1px solid rgba(23,18,13,.4);font:500 .75rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase}
.case__sheet-h span:last-child{color:var(--bronze)}
.case__dl{margin:0}
.case__row{display:grid;gap:.3rem;padding:.9rem 1.3rem;border-bottom:1px solid rgba(23,18,13,.14)}
.case__row:last-child{border-bottom:0}
.case__row dt{font:500 .75rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.case__row dd{margin:0;font:400 .95rem/1.55 var(--sans)}
.case__row ul{margin:0;padding-left:1.1rem}
.case__row li+li{margin-top:.2rem}
.case__links{display:flex;flex-wrap:wrap;gap:.4rem}
.mosaic{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:800px){.mosaic{grid-template-columns:repeat(3,minmax(0,1fr))}.mosaic>:first-child{grid-column:span 2;grid-row:span 2}}
.mosaic figure{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--c,#d9d3c8)}
.mosaic picture,.mosaic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.mosaic figure:hover img{transform:scale(1.04)}
.mosaic button{position:absolute;inset:0;width:100%;border:0;background:transparent;cursor:zoom-in}
.mosaic figcaption{position:absolute;left:0;bottom:0;padding:.5rem .8rem;background:rgba(12,9,6,.72);color:#fcfbf8;font:400 .8125rem/1.4 var(--sans)}

/* ---------- banda CTA ---------- */
.band{position:relative;overflow:hidden;padding:clamp(4rem,9vh,7rem) 0;background:#100e0c;color:#fcfbf8}
.band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px);mask:linear-gradient(90deg,#000,transparent 55%);-webkit-mask:linear-gradient(90deg,#000,transparent 55%)}
.band .lx__in{position:relative;display:grid;gap:1.6rem;align-items:center}
@media (min-width:900px){.band .lx__in{grid-template-columns:minmax(0,1.4fr) auto}}
.band .t2{max-width:24ch;font-size:clamp(1.6rem,1rem + 2.1vw,2.8rem)}
.band .p{color:rgba(252,251,248,.8);max-width:36rem}
.band .btn{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
.band .btn:hover{background:transparent;color:#fcfbf8}
.band--light{background:#f4f0e8;color:var(--ink)}
.band--light::before{background:repeating-linear-gradient(90deg,rgba(23,18,13,.06) 0 2px,transparent 2px 7px)}
.band--light .p{color:rgba(23,18,13,.78)}
.band--light .btn{background:var(--ink);border-color:var(--ink);color:#fff}
.band--light .btn:hover{background:transparent;color:var(--ink)}

/* ---------- formularios ---------- */
.frm{display:grid;gap:1.2rem;max-width:44rem}
.frm__row{display:grid;gap:1.2rem}
@media (min-width:700px){.frm__row{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fld{display:grid;gap:.45rem}
.fld label,.fld legend{font:500 .75rem/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(23,18,13,.72)}
.fld input,.fld textarea,.fld select{width:100%;box-sizing:border-box;min-height:3rem;padding:.7rem .9rem;border:1px solid rgba(23,18,13,.3);border-radius:0;background:#fffffe;color:var(--ink);font:400 1rem/1.4 var(--sans)}
.fld textarea{min-height:8rem;resize:vertical}
.fld input:focus,.fld textarea:focus,.fld select:focus{outline:none;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.fld--check{display:flex;gap:.8rem;align-items:flex-start}
.fld--check input{width:1.1rem;height:1.1rem;min-height:0;margin-top:.15rem;accent-color:#17120d}
.fld--check label{letter-spacing:0;text-transform:none;font:400 .9rem/1.5 var(--sans)}
.fld__hint{font:400 .8125rem/1.5 var(--sans);color:rgba(23,18,13,.62)}
.frm fieldset{margin:0;padding:0;border:0;display:grid;gap:.6rem}
.frm__opts{display:flex;flex-wrap:wrap;gap:.5rem}
.frm__opts label{display:inline-flex;align-items:center;gap:.5rem;min-height:2.4rem;padding:0 .9rem;border:1px solid rgba(23,18,13,.3);border-radius:999px;font:400 .9rem/1 var(--sans);cursor:pointer}
.frm__opts input{accent-color:#17120d}
.frm__opts label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.frm__note{font:400 .8125rem/1.5 var(--sans);color:rgba(23,18,13,.62)}
.frm__ok{display:none;padding:1rem 1.2rem;border:1px solid var(--ink);font:400 .95rem/1.5 var(--sans)}
.sec--dark .fld label,.sec--dark .fld legend,.sec--dark .frm legend,.sec--dark .fld--check label,.sec--dark .frm__note,.sec--dark .fld__hint,.sec--dark .frm .k{color:rgba(252,251,248,.82)}
.sec--dark .frm__opts label{border-color:rgba(252,251,248,.45)}
.sec--dark .frm__opts label:has(input:checked){background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
.sec--dark .frm__ok{border-color:#fcfbf8}
.sec--dark .fld input,.sec--dark .fld textarea,.sec--dark .fld select{border-color:transparent}
.sec--dark .frm__opts input,.sec--dark .fld--check input{accent-color:#fcfbf8}
.frm.is-sent .frm__ok{display:block}
.ways{display:grid;gap:1px;background:rgba(23,18,13,.14);border:1px solid rgba(23,18,13,.14)}
@media (min-width:700px){.ways{grid-template-columns:repeat(3,minmax(0,1fr))}}
.way{display:grid;gap:.5rem;padding:1.4rem;background:#fefdfb;color:inherit;text-decoration:none;transition:background-color .5s}
.way:hover{background:#f4f0e8}
.way__k{font:500 .75rem/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}
.way__v{font:500 clamp(1.05rem,1rem + .4vw,1.3rem)/1.3 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);overflow-wrap:anywhere}
.way__s{font:400 .875rem/1.5 var(--sans);color:rgba(23,18,13,.68)}

/* ---------- texto largo (legales, colofón, descripciones) ---------- */
.prose{max-width:46rem;font:400 1rem/1.7 var(--sans);color:rgba(23,18,13,.86)}
.prose h2{margin:2.4rem 0 .8rem;font:500 clamp(1.4rem,1rem + 1.1vw,1.9rem)/1.2 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz);letter-spacing:-.01em;color:var(--ink)}
.prose h3{margin:1.8rem 0 .6rem;font:500 .8125rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.prose p{margin:0 0 1rem}
.prose ul{margin:0 0 1rem;padding-left:1.2rem}
.prose li+li{margin-top:.35rem}
.prose--cols{columns:2;column-gap:4rem;max-width:none}
@media (max-width:899.98px){.prose--cols{columns:1}}

/* ---------- evento ---------- */
.ev__date{display:grid;gap:.2rem;padding:1.4rem 1.6rem;border:1px solid rgba(252,251,248,.4);width:fit-content}
.ev__date b{font:500 clamp(2.2rem,1.6rem + 2vw,3.4rem)/1 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}
.ev__date span{font:500 .75rem/1.5 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.ev__how{display:grid;gap:.6rem;margin:0;padding:0;list-style:none;font:400 .95rem/1.55 var(--sans)}
.ev__how b{font-weight:500;display:block;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}

/* ---------- lista de referencias (hospitality) ---------- */
.refs{display:grid;gap:1px;background:rgba(252,251,248,.16);border:1px solid rgba(252,251,248,.16)}
@media (min-width:700px){.refs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.refs__g{padding:1.4rem;background:#100e0c;display:grid;gap:.8rem;align-content:start}
.refs__g ul{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}
.refs__g li{font:500 clamp(1.05rem,1rem + .5vw,1.5rem)/1.25 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}

/* ---------- índice de secciones de empresa (números) ---------- */
.ix{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(23,18,13,.14)}
.ix li{border-bottom:1px solid rgba(23,18,13,.14)}
.ix a{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.1rem 0;color:inherit;text-decoration:none;transition:padding-left .5s var(--ease)}
.ix a:hover{padding-left:.6rem}
.ix__n{font:500 .75rem/1 var(--sans);letter-spacing:.3em;color:var(--bronze)}
.ix__t{font:500 clamp(1.1rem,1rem + .6vw,1.5rem)/1.2 var(--serif);font-optical-sizing:none;font-variation-settings:"opsz" var(--serif-opsz)}

/* ---------- móvil: ajustes ---------- */
@media (max-width:599.98px){
  .ph{padding-top:2.2rem}
  .t1{font-size:clamp(2rem,10vw,2.8rem)}
  .btn{min-height:2.75rem;padding:0 1.2rem}
  .spec th,.spec td{padding:.7rem .6rem;font-size:.875rem}
  .case__sheet-h,.case__row{padding-left:1rem;padding-right:1rem}
}
@media (prefers-reduced-motion:reduce){
  .pg *,.pg *::before,.pg *::after{transition-duration:.01ms!important;animation:none!important}
  .pg [data-rv="pending"]{opacity:1;transform:none}
}
@media print{.site-header,.sub,.band,.ftr__mark,.strip__nav,.lb{display:none!important}.pg [data-rv]{opacity:1!important;transform:none!important}}


/* ==========================================================================
   Selector de modo en la cabecera (toda la web) + tema por público en las páginas internas
   Business = look & feel oscuro (el del hero Business); Residencial = claro. Lo fija html[data-mode]; en la home lo hace hero.js.
   ========================================================================== */
.site-header .moods{flex:none;margin-left:clamp(.6rem,1.4vw,1.6rem);padding:2px}
.site-header .moods a{min-height:2.2rem;padding:0 .9rem;font:500 .75rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
.site-header .moods__thumb{box-shadow:0 6px 14px -8px rgba(0,0,0,.5)}
.site-header .moods{display:inline-grid;width:auto}
.sub__label{flex:none;margin-right:.25rem;font:500 .75rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze)}
/* Móvil: una sola fila (marca · selector · menú). La marca estrecha su tracking, el selector se compacta y el botón de menú queda sólo con el icono. */
@media (max-width:719.98px){
  .site-header{gap:.4rem}
  .site-header .brand{font-size:.86rem;letter-spacing:.26em}
  .site-header .moods{display:inline-grid;width:auto;padding:2px}
  .site-header .moods a{padding:0 .45rem;min-height:2rem;font-size:.75rem;letter-spacing:0}
  .site-header .menu-btn{min-width:2.75rem;padding:0;justify-content:center;gap:0}
  .site-header .menu-btn > span:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .sub__label{display:none}
}
@media (max-width:389.98px){.site-header .brand{letter-spacing:.18em}.site-header .moods a{padding:0 .4rem}}
@media (max-width:369.98px){.site-header .brand{font-size:.8rem;letter-spacing:.12em}.site-header .moods a{padding:0 .35rem}.site-header .menu-btn{min-width:2.5rem}}
@media (min-width:1760px){.site-header .moods{margin-right:auto}.site-header .site-nav{margin-left:1rem}}

/* ---- tema oscuro (Business) en las páginas internas ---- */
html[data-mode="business"] body.pg{background:#100e0c;color:#fcfbf8}
html[data-mode="business"] .pg .site-header{background:rgba(16,14,12,.82);border-bottom-color:rgba(252,251,248,.14);color:#fcfbf8}
html[data-mode="business"] .pg .site-header .menu-btn,html[data-mode="business"] .pg .site-header .nav-cta{background:rgba(255,255,255,.06)}
html[data-mode="business"] .pg .nav-cta:hover{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
html[data-mode="business"] .pg .skip{background:#fcfbf8;color:#100e0c}
html[data-mode="business"] .pg :focus-visible{outline-color:#fcfbf8}
html[data-mode="business"] .sub{background:rgba(16,14,12,.9);border-color:rgba(252,251,248,.14)}
html[data-mode="business"] .sub__label{color:#e8d3a8}
html[data-mode="business"] .sub ol a{color:rgba(252,251,248,.68);background-image:linear-gradient(#fcfbf8,#fcfbf8)}
html[data-mode="business"] .sub ol a:hover,html[data-mode="business"] .sub ol a.is-on{color:#fcfbf8}
html[data-mode="business"] .k{color:#e8d3a8}
html[data-mode="business"] .p,html[data-mode="business"] .prose{color:rgba(252,251,248,.82)}
html[data-mode="business"] .p strong,html[data-mode="business"] .prose h2{color:#fcfbf8}
html[data-mode="business"] .p a,html[data-mode="business"] .prose a{text-decoration-color:rgba(252,251,248,.45)}
html[data-mode="business"] .src{color:rgba(252,251,248,.6)}
html[data-mode="business"] .btn{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
html[data-mode="business"] .btn:hover,html[data-mode="business"] .btn:focus-visible{background:transparent;color:#fcfbf8}
html[data-mode="business"] .btn--ghost{background:transparent;color:#fcfbf8}
html[data-mode="business"] .btn--ghost:hover,html[data-mode="business"] .btn--ghost:focus-visible{background:#fcfbf8;color:#100e0c}
html[data-mode="business"] .sec--line{border-top-color:rgba(252,251,248,.14)}
html[data-mode="business"] .sec--sand{background:#171310}
html[data-mode="business"] .sec--white{background:#0d0b09}
html[data-mode="business"] .sec--dark{background:#0b0908;box-shadow:inset 0 1px 0 rgba(252,251,248,.1)}
html[data-mode="business"] .flute{background:repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 7px)}
html[data-mode="business"] .crumbs{color:rgba(252,251,248,.72)}html[data-mode="business"] .crumbs [aria-current]{color:#fcfbf8}
html[data-mode="business"] .chip{border-color:rgba(252,251,248,.4)}
html[data-mode="business"] .chip:hover,html[data-mode="business"] .chip.is-main{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
html[data-mode="business"] .chip.is-main:hover{background:transparent;color:#fcfbf8}
html[data-mode="business"] .ph__media,html[data-mode="business"] .split__media{background:#1d1814}
html[data-mode="business"] .ph__media--render{background:transparent}
html[data-mode="business"] .ph__media--render::before{border-color:rgba(252,251,248,.18)}
html[data-mode="business"] .ph__media--render::after{background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 7px)}
html[data-mode="business"] .split__cap{color:rgba(252,251,248,.62)}
html[data-mode="business"] .srs,html[data-mode="business"] .adv,html[data-mode="business"] .ways,html[data-mode="business"] .refs{background:#2a2420;border-color:#2a2420}
html[data-mode="business"] .srs__card,html[data-mode="business"] .adv__item,html[data-mode="business"] .way{background:#100e0c;color:#fcfbf8}
html[data-mode="business"] .srs__card:hover,html[data-mode="business"] .adv__item:hover,html[data-mode="business"] .way:hover{background:#1a1511}
html[data-mode="business"] .srs__num,html[data-mode="business"] .adv__n,html[data-mode="business"] .way__k{color:#e8d3a8}
html[data-mode="business"] .srs__data{color:rgba(252,251,248,.68)}html[data-mode="business"] .srs__data b{color:#fcfbf8}
html[data-mode="business"] .srs__fig::before{border-color:rgba(252,251,248,.16)}
html[data-mode="business"] .way__s{color:rgba(252,251,248,.68)}
html[data-mode="business"] .spec th,html[data-mode="business"] .spec td{border-color:rgba(252,251,248,.16)}
html[data-mode="business"] .spec thead th{color:#e8d3a8}
html[data-mode="business"] .spec tbody tr:hover td,html[data-mode="business"] .spec tbody tr:hover th{background:rgba(255,255,255,.05)}
html[data-mode="business"] .spec .u{color:rgba(252,251,248,.6)}
html[data-mode="business"] .spec thead th:first-child,html[data-mode="business"] .spec tbody th{background:#100e0c}
html[data-mode="business"] .tabs__list{border-color:rgba(252,251,248,.16)}
html[data-mode="business"] .tabs__tab{color:rgba(252,251,248,.62)}html[data-mode="business"] .tabs__tab[aria-selected="true"]{color:#fcfbf8}html[data-mode="business"] .tabs__tab::after{background:#fcfbf8}
html[data-mode="business"] .model__fig{background:#0d0b09;border-color:rgba(252,251,248,.16)}
html[data-mode="business"] .model__sec figcaption{color:rgba(252,251,248,.62)}
html[data-mode="business"] .kv,html[data-mode="business"] .kv div{border-color:rgba(252,251,248,.16)}html[data-mode="business"] .kv dt{color:#e8d3a8}
html[data-mode="business"] .acc,html[data-mode="business"] .acc details{border-color:rgba(252,251,248,.16)}
html[data-mode="business"] .acc summary:hover{color:#e8d3a8}html[data-mode="business"] .acc__body ul{color:rgba(252,251,248,.8)}
html[data-mode="business"] .strip__cap{color:rgba(252,251,248,.82)}html[data-mode="business"] .strip__cap a{color:#fcfbf8}
html[data-mode="business"] .strip__btn{border-color:rgba(252,251,248,.4)}html[data-mode="business"] .strip__btn:hover{background:#fcfbf8;color:#100e0c}
html[data-mode="business"] .strip__ph,html[data-mode="business"] .wood__ph,html[data-mode="business"] .adv__ph,html[data-mode="business"] .pj__ph,html[data-mode="business"] .mosaic figure,html[data-mode="business"] .cover__ph{background:#1d1814}
html[data-mode="business"] .wood__ph,html[data-mode="business"] .cover__ph{border-color:rgba(252,251,248,.16)}
html[data-mode="business"] .dl,html[data-mode="business"] .dl li{border-color:rgba(252,251,248,.16)}
html[data-mode="business"] .dl__ico{border-color:rgba(252,251,248,.4)}html[data-mode="business"] .dl__m,html[data-mode="business"] .dl__sz{color:rgba(252,251,248,.6)}
html[data-mode="business"] .dl--lock a,html[data-mode="business"] .dl--lock .dl__row{color:rgba(252,251,248,.78)}
html[data-mode="business"] .tl::before{background:rgba(252,251,248,.3)}html[data-mode="business"] .tl li::before{border-color:#fcfbf8;background:#100e0c}html[data-mode="business"] .tl__d{color:#e8d3a8}
html[data-mode="business"] .fig{border-color:rgba(252,251,248,.3)}html[data-mode="business"] .fig__t{color:rgba(252,251,248,.8)}html[data-mode="business"] .fig__s{color:rgba(252,251,248,.55)}
html[data-mode="business"] .flt__k{color:#e8d3a8}html[data-mode="business"] .flt__btn{border-color:rgba(252,251,248,.4)}
html[data-mode="business"] .flt__btn[aria-pressed="true"]{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}html[data-mode="business"] .flt__status{color:rgba(252,251,248,.68)}
html[data-mode="business"] .pj__m{color:rgba(252,251,248,.62)}html[data-mode="business"] .pj__tags li{border-color:rgba(252,251,248,.3)}
html[data-mode="business"] .pj__tags li.is-main{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
html[data-mode="business"] .case__sheet{background:#15110e;border-color:rgba(252,251,248,.4);box-shadow:none}
html[data-mode="business"] .case__sheet-h{border-color:rgba(252,251,248,.4)}html[data-mode="business"] .case__sheet-h span:last-child,html[data-mode="business"] .case__row dt{color:#e8d3a8}
html[data-mode="business"] .case__row{border-color:rgba(252,251,248,.14)}
html[data-mode="business"] .band{background:#0b0908;box-shadow:inset 0 1px 0 rgba(252,251,248,.12)}
html[data-mode="business"] .band--light{background:#171310;color:#fcfbf8}
html[data-mode="business"] .band--light::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px)}
html[data-mode="business"] .band--light .p{color:rgba(252,251,248,.8)}
html[data-mode="business"] .band--light .btn{background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}html[data-mode="business"] .band--light .btn:hover{background:transparent;color:#fcfbf8}
html[data-mode="business"] .fld label,html[data-mode="business"] .fld legend,html[data-mode="business"] .frm legend,html[data-mode="business"] .fld--check label,html[data-mode="business"] .frm__note,html[data-mode="business"] .fld__hint{color:rgba(252,251,248,.82)}
html[data-mode="business"] .fld input,html[data-mode="business"] .fld textarea,html[data-mode="business"] .fld select{background:#fffffe;border-color:transparent}
html[data-mode="business"] .frm__opts label{border-color:rgba(252,251,248,.45)}html[data-mode="business"] .frm__opts label:has(input:checked){background:#fcfbf8;border-color:#fcfbf8;color:#100e0c}
html[data-mode="business"] .frm__ok{border-color:#fcfbf8}html[data-mode="business"] .frm__opts input,html[data-mode="business"] .fld--check input{accent-color:#fcfbf8}
html[data-mode="business"] .ix,html[data-mode="business"] .ix li{border-color:rgba(252,251,248,.14)}html[data-mode="business"] .ix__n{color:#e8d3a8}
html[data-mode="business"] .ev__date{border-color:rgba(252,251,248,.4)}html[data-mode="business"] .ev__how b{color:#e8d3a8}
html[data-mode="business"] .prose h3{color:#e8d3a8}
html[data-mode="business"] .ava{background:#1d1814}
html[data-mode="business"] .pg .lx,html[data-mode="business"] .pg .ftr{--pf-bg:#100e0c;--pf-fg:#fcfbf8;--pf-soft:rgba(252,251,248,.72);--pf-line:rgba(252,251,248,.16);--pf-accent:#e8d3a8;--pf-flute:rgba(255,255,255,.05);--w0:#100e0c;--w1:#0d0b09;--bronze:#e8d3a8;--champ:#e8d3a8;--ink:#fcfbf8;color:#fcfbf8}
html[data-mode="business"] .pg .ftr{background:#0d0b09;border-top-color:rgba(252,251,248,.14)}
html[data-mode="business"] .pg .ftr__col a:hover,html[data-mode="business"] .pg .ftr__up:hover .ftr__up-a{color:#100e0c}
html[data-mode="business"] .pg .ftr__mark{background:repeating-linear-gradient(90deg,rgba(252,251,248,.16) 0 2px,rgba(252,251,248,.03) 2px 5px);-webkit-background-clip:text;background-clip:text}
html[data-mode="business"] .pg .tk{border-bottom-color:#e8d3a8;background:linear-gradient(transparent 55%,rgba(232,211,168,.2) 55%)}
html[data-mode="business"] .ph--photo .k{color:#fcfbf8}
html[data-mode="business"] .ph--photo .crumbs{color:rgba(252,251,248,.8)}
html[data-mode="business"] .pg .tk--prov{background:linear-gradient(transparent 72%,rgba(232,211,168,.25) 72%)}
html[data-mode="business"] .pg{color-scheme:dark}
