:root{--gold:#d49300;--gold2:#b97600;--ink:#211e1a;--muted:#6d665d;--line:#e9e2d8;--cream:#f6f1e8;--white:#fffdfa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}button{font:inherit}.topbar{height:34px;background:#171512;color:#d9d1c7;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:9px;letter-spacing:.04em}.top-left{display:flex;gap:20px;align-items:center}.top-left a:hover,.top-social a:hover{color:#f0a500}.top-social{display:flex;gap:14px}.header{height:88px;background:#fff;display:flex;align-items:center;padding:0 5vw;gap:30px;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee8df}.logo{width:145px;height:78px;display:flex;align-items:center}.logo img{max-width:104px;max-height:72px;width:auto;height:auto;object-fit:contain}.header nav{display:flex;gap:31px;margin-left:auto}.header nav a{text-transform:uppercase;font-size:10px;letter-spacing:.13em;position:relative;padding:34px 0}.header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:var(--gold);transition:right .25s ease}.header nav a:hover:after{right:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:45px;padding:0 21px;text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:.09em;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(106,71,0,.15)}.btn.gold{background:var(--gold);color:#fff}.btn.light{background:rgba(255,255,255,.85);color:#201d19;border-color:rgba(255,255,255,.7)}.hamb{display:none;background:none;border:0;font-size:25px;margin-left:auto}.hero{height:min(760px,calc(100vh - 122px));min-height:620px;position:relative;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transform:scale(1.01)}.hero-mask{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,253,249,.98) 0%,rgba(255,253,249,.89) 28%,rgba(255,253,249,.23) 62%,rgba(15,10,5,.08) 100%)}.hero-copy{position:absolute;left:9vw;top:50%;transform:translateY(-50%);max-width:560px;animation:hero .8s both}.eyebrow{font-size:10px;letter-spacing:.2em;color:var(--gold2);font-weight:700;margin:0 0 17px}.hero h1{font:400 clamp(54px,6.6vw,94px)/.94 "Playfair Display",serif;margin:0;max-width:650px}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:470px;color:#403b35;margin:27px 0 30px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.scroll{position:absolute;right:5vw;bottom:32px;border:1px solid rgba(255,255,255,.8);width:48px;height:48px;display:grid;place-items:center;color:#fff;border-radius:50%;font-size:20px}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 7vw;background:#fff;border-bottom:1px solid var(--line)}.facts div{padding:5px 28px;border-right:1px solid var(--line)}.facts div:first-child{padding-left:0}.facts div:last-child{border:0}.facts strong{display:block;color:var(--gold);font:400 20px "Playfair Display",serif;margin-bottom:8px}.facts span{font-size:9px;letter-spacing:.15em;font-weight:700}.facts p{margin:7px 0 0;font-size:12px;color:var(--muted);line-height:1.5}.about{display:grid;grid-template-columns:1fr 1fr;min-height:600px}.about-copy{padding:100px 9vw;display:flex;flex-direction:column;justify-content:center}.about h2,.section-head h2,.projects-head h2,.contact h2,.legal-page h1{font:400 51px/1.04 "Playfair Display",serif;margin:0}.about-copy>p:not(.eyebrow){font-size:14px;line-height:1.85;color:var(--muted);max-width:530px;margin:26px 0}.text-button{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--gold2);display:inline-flex;gap:14px;align-items:center}.about-photo img{width:100%;height:100%;min-height:500px;object-fit:cover}.services{padding:110px 8vw;background:#fbf8f2}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-head>p{max-width:390px;color:var(--muted);line-height:1.7;font-size:13px;margin:0}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.service-grid article{background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}.service-grid article:hover{transform:translateY(-8px);box-shadow:0 20px 45px rgba(54,38,17,.1)}.photo{aspect-ratio:4/3;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.service-grid article:hover .photo img{transform:scale(1.04)}.service-body{padding:19px}.service-body small{color:var(--gold);font-size:9px;letter-spacing:.12em}.service-body h3{font:400 22px/1.1 "Playfair Display",serif;margin:12px 0 8px}.service-body p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}.projects{padding:100px 8vw;background:#1b1916;color:#f5efe6}.projects-head{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:38px}.projects-head h2{font-size:52px}.projects-head>p{max-width:420px;color:#bdb4a8;font-size:13px;line-height:1.7;margin:0}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.project-card{padding:0 0 20px;border:0;text-align:left;background:#24211d;color:#fff;cursor:pointer;overflow:hidden;transition:transform .4s ease,background .4s ease}.project-card:hover{transform:translateY(-7px);background:#2a2621}.project-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s ease}.project-card:hover img{transform:scale(1.035)}.project-card span{display:block;color:#e6a000;font-size:9px;letter-spacing:.13em;margin:16px 16px 7px}.project-card strong{display:block;font:400 21px/1.15 "Playfair Display",serif;margin:0 16px}.project-card em{display:block;font-style:normal;text-transform:uppercase;font-size:9px;letter-spacing:.1em;margin:15px 16px 0;color:#c9c0b5}.contact{display:grid;grid-template-columns:1fr .75fr 1.25fr;min-height:500px;background:#f0e9dd}.contact-copy{padding:90px 5vw 90px 8vw}.contact h2{font-size:57px}.contact-copy>p:not(.eyebrow){max-width:400px;color:var(--muted);line-height:1.7;font-size:13px;margin:25px 0 28px}.contact-details{padding:90px 4vw;display:flex;flex-direction:column;justify-content:center;gap:28px;border-left:1px solid rgba(105,89,68,.15)}.contact-details small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:9px;color:var(--gold2);margin-bottom:7px}.contact-details a,.contact-details span{display:block;font-size:13px;line-height:1.6}.map{min-height:500px}.map iframe{width:100%;height:100%;border:0;filter:saturate(.55) contrast(.95)}footer{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:50px;padding:58px 8vw;background:#151310;color:#d7d0c6}.foot-brand img{max-width:100px;max-height:70px;background:#fff;padding:3px}.foot-brand p{font-size:11px;line-height:1.6;color:#958d82;max-width:220px}.foot-brand+div,.foot-brand~div{display:flex;flex-direction:column;gap:10px}.foot-brand~div b{font-size:9px;letter-spacing:.15em;margin-bottom:6px}.foot-brand~div a,.foot-brand~div span{font-size:11px;color:#a69e93}.social-footer{display:flex!important;flex-wrap:wrap;gap:10px!important}.legal{padding:15px 8vw;background:#0d0c0b;color:#746e65;font-size:9px}.legal a:hover{color:#e3a000}.modal{display:none;position:fixed;inset:0;z-index:100}.modal.open{display:block}.modal-bg{position:absolute;inset:0;background:rgba(10,9,7,.78);backdrop-filter:blur(5px)}.modal-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,92vw);max-height:88vh;overflow:auto;background:#fffdf9;display:grid;grid-template-columns:1.1fr .9fr;box-shadow:0 30px 100px rgba(0,0,0,.35)}.modal-box>img{width:100%;height:100%;min-height:430px;object-fit:cover}.modal-box>div{padding:55px}.modal-box h2{font:400 44px/1.05 "Playfair Display",serif;margin:0 0 20px}.modal-box p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:28px}.modal-close{position:absolute;right:13px;top:10px;border:0;background:#fff;width:38px;height:38px;border-radius:50%;font-size:28px;cursor:pointer;z-index:2}.legal-page{max-width:900px;margin:0 auto;padding:110px 7vw}.legal-page h1{margin-bottom:50px}.legal-page h2{font:400 28px "Playfair Display",serif;margin-top:40px}.legal-page p{color:var(--muted);line-height:1.8;font-size:14px}.reveal{opacity:0;transform:translateY(25px)}.reveal.visible{opacity:1;transform:none;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}@keyframes hero{from{opacity:0;transform:translateY(calc(-50% + 20px))}to{opacity:1;transform:translateY(-50%)}}
@media(max-width:1100px){.header nav{gap:18px}.service-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.contact{grid-template-columns:1fr 1fr}.map{grid-column:1/-1;height:400px}.facts{grid-template-columns:1fr 1fr;gap:18px}.facts div{border:0}}
@media(max-width:760px){.topbar{display:none}.header{height:80px}.logo{width:105px}.logo img{max-width:85px;max-height:68px}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:24px 7vw;flex-direction:column;gap:15px;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header nav a{padding:0}.header nav a:after{display:none}.header>.btn{display:none}.hamb{display:block}.hero{height:650px;min-height:0}.hero-copy{left:7vw;right:7vw}.hero h1{font-size:51px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-mask{background:linear-gradient(90deg,rgba(255,253,249,.98),rgba(255,253,249,.48))}.facts{grid-template-columns:1fr;padding:25px 7vw}.facts div{padding:16px 0;border-bottom:1px solid var(--line)}.facts div:last-child{border:0}.about{grid-template-columns:1fr}.about-copy{padding:75px 7vw}.about h2,.section-head h2,.projects-head h2{font-size:40px}.about-photo img{min-height:360px}.services,.projects{padding:75px 7vw}.section-head,.projects-head{display:block}.section-head>p,.projects-head>p{margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.contact-copy,.contact-details{padding:70px 7vw}.contact-details{border:0;border-top:1px solid rgba(105,89,68,.15)}.map{height:340px}.contact h2{font-size:48px}footer{grid-template-columns:1fr 1fr;padding:48px 7vw}.foot-brand{grid-column:1/-1}.modal-box{grid-template-columns:1fr;max-height:90vh}.modal-box>img{min-height:260px;max-height:300px}.modal-box>div{padding:35px}.modal-box h2{font-size:35px}}
@media(max-width:500px){.service-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions .btn{width:100%;max-width:280px}.logo img{max-width:75px}}
.projects-empty{min-height:320px;border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;text-align:center;background:linear-gradient(120deg,#211e1a,#2a251f)}.projects-empty>div{max-width:540px;padding:40px}.projects-empty span{display:grid;place-items:center;width:46px;height:46px;border:1px solid #d49300;color:#e5a000;border-radius:50%;margin:0 auto 18px;font-size:24px}.projects-empty h3{font:400 34px "Playfair Display",serif;margin:0 0 12px}.projects-empty p{color:#bdb4a8;font-size:13px;line-height:1.7;margin:0 0 24px}

.centered{justify-content:center;text-align:center}.areas{padding:105px 7vw;background:#fff}.areas .section-head{margin-bottom:42px}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.area-card{position:relative;min-height:390px;overflow:hidden;border-radius:2px;cursor:pointer;background:#222}.area-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1)}.area-card:hover img{transform:scale(1.045)}.area-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.76))}.area-content{position:absolute;left:25px;right:25px;bottom:25px;color:#fff}.area-content h3{font:400 32px/1 "Playfair Display",serif;margin:0 0 12px}.area-content p{font-size:12px;line-height:1.6;color:#f1ece5;margin:0 0 18px}.area-button{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.7);color:#fff;padding:11px 14px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.area-card:hover .area-button{background:var(--gold);border-color:var(--gold)}.service-card{display:block;text-align:left;padding:0;background:#fff;border:1px solid var(--line);overflow:hidden;cursor:pointer;width:100%;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}.service-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(54,38,17,.1)}.service-body>span{display:block;color:var(--gold2);font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-top:15px}.project-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.filter{border:1px solid #514b44;background:transparent;color:#d5cdc2;padding:9px 13px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}.filter:hover,.filter.active{background:var(--gold);border-color:var(--gold);color:#fff}.modal-location{font-size:11px;color:#8b8176;margin:0 0 24px}.area-card,.service-card,.project-card{outline:none}.area-card:focus-visible,.service-card:focus-visible,.project-card:focus-visible{box-shadow:0 0 0 3px rgba(212,147,0,.35)}.follow-title{display:block;margin-top:20px}
@media(max-width:1100px){.area-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.areas{padding:75px 7vw}.area-grid{grid-template-columns:1fr}.area-card{min-height:340px}.project-filters{justify-content:flex-start;margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}}
@media(max-width:500px){.service-grid{grid-template-columns:1fr}}

/* TAPIZA V6 — ajustes solicitados */
.about{background:var(--cream)}
.about-photo{background:var(--cream);min-height:500px;position:relative;overflow:hidden}
.about-photo img{display:none}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:200;width:52px;height:52px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .2s ease}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:29px;height:29px}
.wa-inline{display:inline-flex;align-items:center;gap:8px;color:#1e1c18;font-weight:700;margin-top:9px}
.wa-inline svg{width:17px;height:17px;flex:none}
.wa-inline:hover{color:#1b9e4d}
.social-icon{width:16px;height:16px;display:block}
.social-link{display:inline-flex!important;align-items:center;justify-content:center;color:#d9d1c7}
.social-link:hover{color:#f0a500!important}
.social-footer .social-link{color:#b9b0a4}
