@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--ink:#0a0806;--cream:#f1e8d6;--mute:#b3a68d;--gold:#c9a25a;--gold2:#e6c88a;--line:rgba(201,162,90,.28);--serif:"Cormorant",Georgia,serif;--sans:"Inter",system-ui,sans-serif;--pad:clamp(20px,4.5vw,72px)}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink)}
html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--ink);color:var(--cream);font:400 clamp(15px,1.05vw,17px)/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
em{font-style:italic;color:var(--gold2);font-weight:400}
.skip{position:fixed;left:12px;top:-60px;background:var(--gold);color:#000;padding:10px 16px;z-index:200;border-radius:4px}.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
#loader{position:fixed;inset:0;background:var(--ink);z-index:150;display:grid;place-items:center;transition:opacity .9s ease,visibility .9s}
#loader.off{opacity:0;visibility:hidden}
.lm{font:italic 400 clamp(80px,14vw,160px)/1 var(--serif);color:var(--gold);animation:pulse 2s ease-in-out infinite}
#lf{position:absolute;bottom:34%;width:min(220px,50vw);height:1px;background:linear-gradient(90deg,var(--gold) var(--p,0%),var(--line) var(--p,0%))}
@keyframes pulse{50%{opacity:.55}}
.nav{position:fixed;inset:34px 0 auto 0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:18px var(--pad);transition:background .5s,padding .4s}
.nav{background:linear-gradient(180deg,rgba(10,8,6,.82),rgba(10,8,6,0))}.nav.solid{inset-block-start:0;background:rgba(10,8,6,.94);border-bottom:1px solid var(--line);padding-block:12px}
.brand{display:flex;align-items:center;gap:12px}
.bm{width:38px;height:38px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font:italic 400 24px/1 var(--serif);color:var(--gold)}
.bn{font:500 22px/1 var(--serif);letter-spacing:.04em;display:flex;flex-direction:column}
.bn small{font:400 9px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--mute);margin-top:5px}
.nav nav{display:flex;gap:clamp(18px,2.6vw,42px)}
.nav nav a{font-size:11px;letter-spacing:.26em;text-transform:uppercase;opacity:.78;position:relative;padding:6px 0;transition:opacity .3s}
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.nav nav a:hover{opacity:1}.nav nav a:hover::after{transform:scaleX(1)}
.cta{font-size:12px;letter-spacing:.14em;border:1px solid var(--gold);padding:10px 18px;border-radius:999px;color:var(--gold2);transition:background .3s,color .3s}
.cta:hover{background:var(--gold);color:#000}

.eyebrow{display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
.eyebrow span{width:42px;height:1px;background:var(--gold)}
.cover{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.cover-bg{position:absolute;inset:-4%;background-size:cover;background-position:center 60%;transform:scale(1.12);animation:cover-in 3.6s cubic-bezier(.16,.8,.2,1) .4s forwards}
@keyframes cover-in{to{transform:scale(1)}}
.cover-shade{position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 75%,rgba(10,8,6,.88) 0%,rgba(10,8,6,.55) 45%,rgba(10,8,6,.15) 100%),linear-gradient(0deg,var(--ink) 0%,transparent 28%)}
.cover-in{position:relative;padding:0 var(--pad) clamp(70px,11vh,130px);max-width:1200px}
.cover h1{font:500 clamp(64px,13.5vw,230px)/.84 var(--serif);letter-spacing:-.02em;margin:22px 0 28px}
.cover h1 span{display:block;overflow:hidden;padding-bottom:.08em}
.cover h1 .l1{transform:translateY(105%);animation:rise 1.4s cubic-bezier(.16,.8,.2,1) 1.1s forwards}
.cover h1 .l2{transform:translateY(105%);animation:rise 1.4s cubic-bezier(.16,.8,.2,1) 1.3s forwards;padding-left:.7em}
@keyframes rise{to{transform:none}}
.sub{max-width:34ch;font:italic 400 clamp(20px,2vw,30px)/1.3 var(--serif);opacity:0;animation:fade 1.4s ease 2.1s forwards}
.cover .eyebrow{opacity:0;animation:fade 1.2s ease 1s forwards}
.go{display:inline-flex;align-items:center;gap:16px;margin-top:38px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2);opacity:0;animation:fade 1.2s ease 2.5s forwards}
.go i{width:1px;height:54px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden}
.go i::after{content:"";position:absolute;left:0;top:-100%;width:1px;height:100%;background:var(--cream);animation:drip 2s ease-in-out infinite}
@keyframes drip{to{top:100%}}@keyframes fade{to{opacity:1}}
.cover-meta{position:absolute;right:var(--pad);bottom:clamp(30px,5vh,56px);display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
@media(max-width:700px){.cover-meta{display:none}.cover h1 .l2{padding-left:.3em}}
.act{position:relative;height:var(--h)}
.stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#000}
.layers{position:absolute;inset:0;will-change:transform;transform-origin:50% 55%}
.layers img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.layers img:first-child{opacity:1}
.shade{position:absolute;inset:0;pointer-events:none;background:radial-gradient(100% 90% at 50% 50%,transparent 45%,rgba(0,0,0,.65) 100%),linear-gradient(90deg,rgba(10,8,6,.78) 0%,rgba(10,8,6,.35) 38%,transparent 62%),linear-gradient(0deg,rgba(10,8,6,.6),transparent 26%)}
.actno{position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);writing-mode:vertical-rl;display:flex;align-items:center;gap:18px;font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold2);z-index:3}
.actno b{font:italic 400 44px/1 var(--serif);writing-mode:horizontal-tb;color:var(--gold)}
.actno::before{content:"";width:1px;height:70px;background:var(--line)}
.chap{position:absolute;left:var(--pad);bottom:clamp(60px,14vh,150px);max-width:min(620px,86vw);opacity:0;visibility:hidden;will-change:transform,opacity;z-index:3}
.chap h2{font:500 clamp(42px,6.2vw,104px)/.95 var(--serif);letter-spacing:-.015em;margin-bottom:22px;text-shadow:0 2px 40px rgba(0,0,0,.5)}
.chap p{max-width:44ch;font-size:clamp(15px,1.2vw,18px);opacity:.9;text-shadow:0 1px 20px rgba(0,0,0,.7);border-left:1px solid var(--gold);padding-left:18px}
.bar{position:absolute;left:var(--pad);right:var(--pad);bottom:26px;height:1px;background:var(--line);z-index:3}
.bar i{display:block;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}
@media(max-width:700px){.actno{display:none}.chap{bottom:70px}.shade{background:linear-gradient(0deg,rgba(10,8,6,.88) 0%,rgba(10,8,6,.3) 55%,transparent 80%)}}
.wrap{padding:0 var(--pad);max-width:1500px;margin:0 auto}
.oficio{padding:clamp(100px,16vw,220px) 0 clamp(80px,12vw,160px);background:radial-gradient(60% 50% at 80% 0%,rgba(201,162,90,.1),transparent),var(--ink)}
.big{font:500 clamp(46px,8vw,132px)/.95 var(--serif);letter-spacing:-.02em;margin:24px 0 clamp(60px,8vw,110px)}
.cols{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.cols>div{padding:30px 26px 10px 0;border-right:1px solid var(--line);margin-right:26px}
.cols>div:last-child{border:0}
.cols b{font:italic 400 22px var(--serif);color:var(--gold)}
.cols h3{font:500 clamp(28px,2.6vw,40px)/1.1 var(--serif);margin:12px 0}
.cols p{color:var(--mute);font-size:15px}
@media(max-width:900px){.cols{grid-template-columns:1fr 1fr}.cols>div{padding-bottom:30px}}
@media(max-width:560px){.cols{grid-template-columns:1fr}.cols>div{border-right:0;margin-right:0;border-bottom:1px solid var(--line)}}
.contact{padding:clamp(90px,14vw,200px) 0;background:linear-gradient(180deg,var(--ink),#120d09 70%)}
.huge{font:500 clamp(54px,10.5vw,190px)/.9 var(--serif);letter-spacing:-.025em;margin:28px 0 clamp(50px,7vw,100px)}
.cgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:clamp(24px,4vw,70px);align-items:start;border-top:1px solid var(--line);padding-top:36px}
.lead{font:italic 400 clamp(20px,1.8vw,28px)/1.35 var(--serif)}
.row{display:flex;flex-wrap:wrap;gap:12px}
.btn{display:inline-block;background:var(--gold);color:#120d09;padding:16px 28px;border-radius:999px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;transition:transform .3s,background .3s}
.btn:hover{background:var(--gold2);transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--gold2);border:1px solid var(--gold)}.btn.ghost:hover{background:var(--gold);color:#120d09}
address{font-style:normal;color:var(--mute)}address h3{font:500 28px var(--serif);color:var(--cream);margin-bottom:8px}address a{color:var(--gold2)}
@media(max-width:900px){.cgrid{grid-template-columns:1fr}}
.foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:26px var(--pad);border-top:1px solid var(--line);font-size:11px;letter-spacing:.14em;color:var(--mute)}
.rev{opacity:0;transform:translateY(40px);transition:opacity 1.1s cubic-bezier(.16,.8,.2,1),transform 1.1s cubic-bezier(.16,.8,.2,1)}
.rev.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}.cover-bg,.cover h1 span,.sub,.go,.cover .eyebrow{animation:none!important;opacity:1;transform:none}}
.layers canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.stage .shade::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,230,180,.07) 50%,transparent 65%);}
@keyframes sweep{0%,100%{transform:translateX(-30%)}50%{transform:translateX(30%)}}
@media (prefers-reduced-motion:reduce){.stage::after,.stage .shade::after{animation:none}}

.topbar{position:fixed;inset:0 0 auto 0;height:34px;z-index:101;display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad);background:#070504;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);transition:transform .4s}
.topbar a{color:var(--gold2);letter-spacing:.14em}
body.scrolled .topbar{transform:translateY(-100%)}
.nav-act{display:flex;gap:10px;align-items:center}
.cta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.cta.solidbtn{background:var(--gold);color:#120d06;border-color:var(--gold);font-weight:500}
.cta.solidbtn:hover{background:var(--gold2)}
.mbar{display:none}
@media(max-width:980px){.nav nav{display:none}.bn small{display:none}.tb-mid{display:none}}
@media(max-width:700px){
 .topbar{display:none}.nav{inset-block-start:0;background:rgba(10,8,6,.92);padding-block:10px}
 .cta.solidbtn{display:none}.cta span{font-size:12px}
 .mbar{display:grid;grid-template-columns:1fr 1.2fr 1fr;position:fixed;inset:auto 0 0 0;z-index:100;background:#0a0806;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
 .mbar a{padding:15px 6px;text-align:center;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2)}
 .mbar a.w{background:var(--gold);color:#120d06;font-weight:500}
 .chap{bottom:84px}.foot{padding-bottom:70px}
}
.mbar a{white-space:nowrap;letter-spacing:.08em!important;font-size:11px!important}

/* ===== v6: multi-idioma, SEO, móvil ===== */
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cover-bg{background-image:url(/img/hogar-0209.webp)}
.nav{background:rgba(10,8,6,.97)!important;backdrop-filter:none;gap:14px}
.nav.solid{background:#0a0806!important}
.dnav{display:flex;gap:clamp(14px,2vw,34px)}
.dnav a{font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.82;padding:6px 0}
.dnav a:hover{opacity:1;color:var(--gold2)}
.langs{display:flex;gap:2px;border:1px solid var(--line);border-radius:999px;padding:2px}
.langs a{font-size:11px;letter-spacing:.08em;padding:6px 9px;border-radius:999px;color:var(--mute);min-width:32px;text-align:center}
.langs a[aria-current]{background:var(--gold);color:#120d06;font-weight:500}
.langs a:not([aria-current]):hover{color:var(--gold2)}
.burger{display:none;position:relative}
.burger summary{list-style:none;cursor:pointer;width:42px;height:42px;display:grid;place-content:center;gap:5px;border:1px solid var(--line);border-radius:50%}
.burger summary::-webkit-details-marker{display:none}
.burger summary i{display:block;width:18px;height:1.5px;background:var(--gold2)}
.burger nav{position:fixed;left:0;right:0;top:62px;background:#0a0806;border-bottom:1px solid var(--line);padding:10px var(--pad) 18px;display:flex;flex-direction:column}
.burger nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream)}
.chap h3{font:500 clamp(42px,6.2vw,104px)/.95 var(--serif);letter-spacing:-.015em;margin-bottom:22px;text-shadow:0 2px 40px rgba(0,0,0,.5)}
.chap .more{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);border-bottom:1px solid var(--gold);padding-bottom:3px}
.lede{color:var(--mute);max-width:62ch;margin-bottom:46px;font-size:clamp(16px,1.2vw,19px)}
.svc,.zones,.faq{padding:clamp(80px,12vw,170px) 0 clamp(40px,6vw,90px)}
.svc .big,.zones .big,.faq .big{margin-bottom:26px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#100c08;transition:transform .4s,border-color .4s}
.card:hover{transform:translateY(-4px);border-color:var(--gold)}
.card img,.card .noimg{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;background:#17110b}
.noimg{display:grid;place-items:center;font:italic 400 80px var(--serif);color:var(--gold)}
.card>div:last-child{padding:20px 20px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font:500 30px/1.1 var(--serif)}.card .k{color:var(--gold2);font-size:13px;letter-spacing:.04em}.card p{color:var(--mute);font-size:14.5px}
.mv{margin-top:auto;padding-top:12px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.zgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;border-top:1px solid var(--line);padding-top:30px}
.zgrid h3{font:500 28px/1.1 var(--serif);margin-bottom:8px}.zgrid p{color:var(--mute);font-size:15px}
.alinks,.inl{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px;list-style:none}
.alinks a,.inl a{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13px;color:var(--gold2)}
.alinks a:hover,.inl a:hover{background:var(--gold);color:#120d06}
.faq details,.page details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary,.page summary{cursor:pointer;font:500 clamp(22px,2vw,30px)/1.2 var(--serif);list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after,.page summary::after{content:"+";color:var(--gold);font-size:28px;line-height:1}
.faq details[open] summary::after,.page details[open] summary::after{content:"–"}
.faq summary::-webkit-details-marker,.page summary::-webkit-details-marker{display:none}
.faq details p,.page details p{color:var(--mute);margin-top:12px;max-width:70ch}
.foot{display:block;padding:60px var(--pad) 26px;letter-spacing:normal}
.fcols{display:grid;grid-template-columns:1.1fr 1.4fr 1.2fr 1fr;gap:34px;max-width:1500px;margin:0 auto 34px}
.foot h2{font:500 22px var(--serif);color:var(--cream);margin-bottom:12px}
.foot ul{list-style:none;display:grid;gap:8px}.foot p,.foot li{font-size:13.5px;line-height:1.6}
.foot a:hover{color:var(--gold2)}.foot .copy{border-top:1px solid var(--line);padding-top:20px;font-size:11px;letter-spacing:.14em;text-align:center}
.inner .nav{position:sticky;top:0;inset:auto}
.inner .topbar{position:static}
.inner .nav{margin-top:0}
.page{padding:clamp(50px,7vw,100px) 0 40px}
.narrow{max-width:920px}
.crumbs{font-size:12px;letter-spacing:.1em;color:var(--mute);margin-bottom:26px}.crumbs a{color:var(--gold2)}
.page h1{font:500 clamp(40px,6.5vw,84px)/1 var(--serif);letter-spacing:-.015em;margin-bottom:24px}
.intro{font:italic 400 clamp(20px,2vw,28px)/1.4 var(--serif);color:var(--cream);margin-bottom:34px}
.hero-img{width:100%;height:auto;border-radius:14px;margin:6px 0 40px;display:block;border:1px solid var(--line)}
.page h2{font:500 clamp(28px,3vw,42px)/1.1 var(--serif);margin:44px 0 16px}
.page p{color:#d9cfbb;max-width:72ch}
.ticks{list-style:none;display:grid;gap:10px}.ticks li{padding-left:26px;position:relative;color:#d9cfbb}.ticks li::before{content:"";position:absolute;left:0;top:.7em;width:14px;height:1px;background:var(--gold)}
.ctaband{margin:60px 0 10px;border:1px solid var(--line);border-radius:16px;padding:clamp(26px,4vw,48px);background:radial-gradient(80% 120% at 100% 0,rgba(201,162,90,.12),transparent)}
.ctaband h2{margin-top:0}.ctaband p{margin-bottom:22px}
.inner .contact{padding:70px 0}.inner .huge{font-size:clamp(40px,7vw,100px)}
.inner .rev{opacity:1;transform:none}
@media(max-width:1100px){.cards,.zgrid{grid-template-columns:1fr 1fr}.fcols{grid-template-columns:1fr 1fr}.dnav{display:none}.burger{display:block}}
@media(max-width:700px){
 .cards,.zgrid,.fcols{grid-template-columns:1fr}
 .nav{position:fixed;inset:0 0 auto 0!important;padding:8px 14px!important;gap:8px}
 .inner .nav{position:sticky!important}
 .brand .bn{font-size:20px}.bm{width:34px;height:34px;font-size:21px}
 .nav-act{gap:6px}.langs a{padding:6px 7px;min-width:28px;font-size:10.5px}
 .cta{padding:0;width:38px;height:38px;justify-content:center}.cta span{display:none}
 .burger nav{top:54px}
 .burger summary{width:38px;height:38px}
 .stage::after{display:none}
 .layers{-webkit-mask-image:linear-gradient(180deg,transparent 4%,#000 14%,#000 62%,transparent 82%);mask-image:linear-gradient(180deg,transparent 4%,#000 14%,#000 62%,transparent 82%)}
 .shade{background:linear-gradient(0deg,rgba(10,8,6,.92) 0%,rgba(10,8,6,.5) 38%,transparent 62%)!important}
 .chap{bottom:84px}.chap h3{font-size:clamp(34px,10vw,46px);margin-bottom:14px}
 .cover-bg{background-position:62% 50%}
 .cover h1{font-size:clamp(56px,17vw,90px)}
 .foot{padding-bottom:84px}
}
@media(max-width:360px){.langs a{padding:6px 5px;min-width:24px}.brand .bn{font-size:18px}}
.mbar a{white-space:nowrap;font-size:11px!important;letter-spacing:.08em!important;padding-inline:6px!important;text-overflow:ellipsis;overflow:hidden}
.mbar{display:grid!important;grid-template-columns:1fr 1.25fr 1.35fr}
.langs a:not([aria-current]){color:#c9bda6}
@media(max-width:700px){.layers{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 62%,transparent 82%);mask-image:linear-gradient(180deg,transparent 0,#000 10%,#000 62%,transparent 82%)}}

/* v7: vídeo en vez de fotogramas, sin ruido SVG */
.stage::after{display:none!important}
.layers video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0a0806}
@media(max-width:700px){.layers video{inset:auto;left:0;top:15%;height:42%}}
#loader{transition-duration:.5s}

/* v10: escenas de 1 pantalla, texto legible, sin banda negra */
.chap h3,.chap h2{color:#fff}.chap p{opacity:1;color:#f3ead8;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 24px rgba(0,0,0,.85)}
.shade{background:linear-gradient(90deg,rgba(10,8,6,.85) 0%,rgba(10,8,6,.55) 35%,transparent 65%),linear-gradient(0deg,rgba(10,8,6,.7),transparent 35%)!important}
@media(max-width:700px){
 .layers video{left:0;top:54px;height:58%;inset:54px 0 auto 0}
 .layers{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 78%,transparent 100%)!important;mask-image:linear-gradient(180deg,#000 0,#000 78%,transparent 100%)!important}
 .shade{background:linear-gradient(0deg,rgba(10,8,6,.96) 0%,rgba(10,8,6,.7) 40%,transparent 62%)!important}
 .chap{bottom:84px}
}
@media(max-width:700px){.layers video{height:74%!important}.shade{background:linear-gradient(0deg,rgba(10,8,6,.97) 0%,rgba(10,8,6,.75) 30%,transparent 58%)!important}}

/* v14: portada sin duplicar el sofá, proporcionada */
.cover{min-height:min(100svh,760px);align-items:center}
.cover-bg{background-image:radial-gradient(70% 90% at 78% 40%,rgba(120,70,30,.28),transparent 70%),linear-gradient(135deg,#17110b,#0a0806 70%)!important;animation:none;transform:none;inset:0}
.cover-shade{background:linear-gradient(0deg,var(--ink) 0%,transparent 25%)!important}
.cover-in{padding-top:clamp(110px,16vh,170px);padding-bottom:clamp(60px,9vh,100px)}
.cover h1{font-size:clamp(52px,min(9vw,15vh),150px)!important;line-height:.95;margin:18px 0 22px}
.cover h1 .l2{padding-left:0!important}
.cover .sub{max-width:34em}
@media(max-width:700px){.cover h1{font-size:clamp(46px,15vw,76px)!important}}

/* v15: la portada ES el vídeo del sofá */
.hero-in{position:absolute;left:var(--pad);bottom:clamp(60px,12vh,130px);max-width:min(900px,90vw);z-index:4;will-change:opacity,transform}
.hero-in h1{font:500 clamp(48px,min(8.5vw,14vh),140px)/.95 var(--serif);letter-spacing:-.02em;margin:18px 0 22px;color:#fff}
.hero-in h1 span{display:block;overflow:hidden;padding-bottom:.08em}
.hero-in h1 .l1{transform:translateY(105%);animation:rise 1.4s cubic-bezier(.16,.8,.2,1) .3s forwards}
.hero-in h1 .l2{transform:translateY(105%);animation:rise 1.4s cubic-bezier(.16,.8,.2,1) .5s forwards}
.hero-in .eyebrow{opacity:0;animation:fade 1.2s ease .2s forwards}
.hero-in .sub{max-width:34em;animation-delay:1s;color:#f3ead8;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 24px rgba(0,0,0,.85)}
.hero-in .go{animation-delay:1.4s}
@media(max-width:700px){.hero-in{bottom:84px}.hero-in h1{font-size:clamp(44px,14vw,70px)}}

/* ===== v16: acabado premium y conversión ===== */
.svc,.zones,.faq{padding-top:clamp(64px,8vw,120px)}
.card{position:relative;transition:transform .5s cubic-bezier(.16,.8,.2,1),border-color .4s,box-shadow .5s}
.card:hover{box-shadow:0 24px 60px -24px rgba(201,162,90,.35)}
.card img{transition:transform 1.2s cubic-bezier(.16,.8,.2,1)}.card:hover img{transform:scale(1.05)}
.card{overflow:hidden}.card .mv{margin-top:auto;padding-top:10px;color:var(--gold2);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.card .noimg{display:grid;place-items:center;background:radial-gradient(70% 90% at 50% 40%,rgba(201,162,90,.16),#100c08)}
.card .noimg b{position:static;font:italic 400 64px var(--serif);color:var(--gold)}
.lede,.cols p,.zgrid p,.card p{color:#cbbfa6}
.eyebrow{font-size:12px}

/* proceso */
.proc{padding:clamp(70px,10vw,150px) 0 clamp(40px,6vw,90px);background:linear-gradient(180deg,var(--ink),#0f0b07)}
.proc .big{margin-bottom:clamp(36px,5vw,70px)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);counter-reset:s}
.steps li{padding:34px 28px 10px 0;margin-right:28px;border-right:1px solid var(--line);position:relative}
.steps li:last-child{border:0;margin:0}
.steps b{font:italic 400 clamp(44px,4.4vw,68px)/1 var(--serif);color:var(--gold);display:block;opacity:.9}
.steps h3{font:500 clamp(26px,2.3vw,34px)/1.1 var(--serif);margin:14px 0 10px}
.steps p{color:#cbbfa6;font-size:15px}
.why{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:clamp(40px,5vw,70px);padding:30px 0 0;border-top:1px solid var(--line)}
.why h3{font:500 20px/1.2 var(--serif);color:var(--gold2);margin-bottom:6px;letter-spacing:.01em}
.why p{color:#cbbfa6;font-size:14.5px}
.why>div{padding-left:18px;border-left:2px solid var(--gold)}
/* materiales */
.mats{padding:clamp(50px,8vw,120px) 0}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{border:1px solid var(--line);border-radius:999px;padding:11px 20px;font-size:14px;color:var(--cream);background:rgba(201,162,90,.05);transition:background .3s,border-color .3s,transform .3s}
.chips li:hover{background:rgba(201,162,90,.16);border-color:var(--gold);transform:translateY(-2px)}
/* presupuesto */
.quote{padding:clamp(70px,10vw,150px) 0;background:radial-gradient(60% 70% at 15% 20%,rgba(201,162,90,.13),transparent),#0c0906;border-top:1px solid var(--line)}
.quote .big{margin-bottom:24px}
.qf{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;max-width:980px}
.chips2{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.chip{font:inherit;font-size:15px;color:var(--cream);background:transparent;border:1px solid var(--line);border-radius:999px;padding:14px 24px;cursor:pointer;min-height:48px;transition:all .3s}
.chip:hover{border-color:var(--gold)}
.chip[aria-pressed=true]{background:var(--gold);color:#120d06;border-color:var(--gold);font-weight:500}
.qn{display:flex;flex-direction:column;gap:8px;flex:1;min-width:220px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold2)}
.qn input{font:inherit;font-size:17px;letter-spacing:0;text-transform:none;color:var(--cream);background:transparent;border:0;border-bottom:1px solid var(--gold);padding:12px 2px;outline:none;border-radius:0}
.qn input:focus{border-color:var(--gold2);box-shadow:0 1px 0 var(--gold2)}
.qb{border:0;cursor:pointer;min-height:52px;font-family:inherit}
.qnote{margin-top:18px;color:var(--mute);font-size:14px}
/* contacto + mapa */
.map{width:100%;height:260px;border:1px solid var(--line);border-radius:14px;filter:grayscale(.85) invert(.92) contrast(.9) hue-rotate(180deg);grid-column:1/-1}
@media(min-width:901px){.cgrid{grid-template-columns:1.2fr 1fr 1fr}.map{grid-column:1/-1;height:300px;margin-top:20px}}
.contact .btn{min-height:50px}
.contact .btn.ghost{background:transparent}
.cgrid .row .btn:nth-child(2){background:var(--gold);color:#120d09}.cgrid .row .btn:first-child{background:transparent;color:var(--gold2);border:1px solid var(--gold)}
/* detalles de interacción */
a,button,summary{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:4px}
.dnav a{position:relative}.dnav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,.8,.2,1)}.dnav a:hover::after{transform:scaleX(1)}
.faq summary{min-height:56px}
.layers{overflow:hidden}.layers video{transform-origin:50% 55%;will-change:transform}
.langs.lm{display:none}
@media(max-width:1100px){.steps,.why{grid-template-columns:1fr 1fr}.steps li:nth-child(2){border-right:0;margin-right:0}}
@media(max-width:700px){
 .nav-act>.langs:not(.lm){display:none}
 .burger nav .langs.lm{display:flex;margin-top:14px;align-self:flex-start}
 .langs.lm a{min-width:44px;padding:12px 10px;font-size:13px}
 .steps,.why{grid-template-columns:1fr}.steps li{border-right:0;margin-right:0;border-bottom:1px solid var(--line);padding-bottom:26px}
 .mbar a{padding:16px 6px;font-size:12px!important}
 body{padding-bottom:calc(58px + env(safe-area-inset-bottom))}
 .chip{padding:13px 18px;font-size:14.5px}.qf .btn{width:100%;text-align:center}
 .map{height:220px}
}
@media(prefers-reduced-motion:reduce){.card img,.chips li,.dnav a::after{transition:none}}

/* v17 ajustes formulario */
.quote .big{line-height:1.05;padding-bottom:.06em}
.qf{display:grid;grid-template-columns:1fr auto;gap:22px 28px;align-items:end;max-width:900px}
.chips2{grid-column:1/-1}
.qn{display:block;min-width:0}.qn span{display:block;margin-bottom:6px}
.qn input{width:100%;background:rgba(201,162,90,.06);border:1px solid var(--line);border-radius:12px;padding:15px 18px;font-size:17px}
.qn input::placeholder{color:#8f8470}
.qn input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,90,.18)}
.chip{border-color:rgba(201,162,90,.55)}
.qnote{padding-bottom:20px;color:#b3a68d}
.steps p,.why p{text-wrap:pretty}
@media(max-width:700px){.qf{grid-template-columns:1fr}.quote{padding-bottom:110px}}

.quote .big,.mats .big,.proc .big{line-height:1.12!important}
.chips li{border-color:rgba(201,162,90,.5)}
.mats .lede{margin:18px 0 28px}

/* v16: canvas de fotogramas */
.layers canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#0a0806 center/cover no-repeat;transform-origin:50% 55%;will-change:transform}
@media(max-width:700px){.layers canvas{inset:54px 0 auto 0;height:74%}}
.cover-bg{will-change:transform}

.layers video{will-change:auto}

/* publicación: mapa sin iframe, legales, contraste */
.mapcard{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:28px;background:radial-gradient(80% 120% at 100% 0,rgba(201,162,90,.14),#100c08);filter:none!important;height:auto!important;min-height:150px}
.mapcard span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.mapcard b{font:500 clamp(22px,3vw,30px) var(--serif);color:var(--cream)}
.mapcard i{font-style:normal;color:var(--gold2);font-size:13px;letter-spacing:.1em}
.foot .legal{font-size:12.5px;text-align:center;margin:22px 0 14px;display:flex;gap:6px 18px;justify-content:center;flex-wrap:wrap}
.foot .copy{color:#b3a78f;line-height:1.8}
.legalp h2{font:500 24px var(--serif);margin:34px 0 10px}.legalp p,.legalp li{color:#d9cfbb;line-height:1.7;margin-bottom:10px}.legalp ul{padding-left:20px}
