/* BARON ROJO — Sitio estático, adaptable y sin dependencias externas */
:root{--red:#a63129;--red-bright:#c43d30;--red-dark:#72251f;--ink:#171917;--deep:#151817;--charcoal:#202422;--muted:#66706b;--paper:#f9f8f5;--paper-warm:#f0eee9;--line:#dddcd6;--white:#fff;--gold:#e4bd48;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",Arial,Helvetica,sans-serif;--container:1216px;--shadow:0 28px 72px rgba(21,24,23,.15)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.dialog-open{overflow:hidden}
::selection{color:#fff;background:var(--red)}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid #ddbb5d;outline-offset:4px}
img,svg{display:block;max-width:100%}
svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.container{width:min(var(--container),calc(100% - 80px));margin-inline:auto}
.skip-link{position:fixed;z-index:200;top:-80px;left:16px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:6px}.skip-link:focus{top:12px}
.topline{height:36px;background:var(--deep);color:#fff}
.topline-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.topline-label,.topline-contact{display:inline-flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.13em}
.topline-square{width:7px;height:7px;background:var(--red-bright);transform:rotate(45deg)}
.topline-contact{font-size:11px;letter-spacing:.08em;transition:color .25s}.topline-contact:hover{color:#efb0a9}.topline-contact .icon{width:14px;height:14px}.topline-contact .icon-small{width:13px;height:13px}
.site-header{height:93px;position:sticky;top:0;z-index:70;background:rgba(249,248,245,.98);border-bottom:1px solid #e8e6e0;transition:box-shadow .3s,background .3s}.site-header.scrolled{box-shadow:0 12px 35px rgba(0,0,0,.07);background:rgba(249,248,245,.96);backdrop-filter:blur(16px)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;min-width:0;flex-shrink:0}.brand-art{width:83px;height:68px;overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:2px}.brand-art img{width:86px;height:auto;max-width:none;mix-blend-mode:multiply}.brand-copy{display:flex;flex-direction:column;gap:4px;white-space:nowrap}.brand-copy strong{font-family:var(--serif);font-size:22px;line-height:1;font-weight:500;letter-spacing:-.06em}.brand-copy strong span{color:var(--red)}.brand-copy small{font-size:8px;letter-spacing:.19em;font-weight:800;color:#595c58}
.navigation{display:flex;align-items:center;gap:34px;margin-left:auto;margin-right:24px}.nav-link{font-size:13px;font-weight:650;color:#4d514b;position:relative;padding:34px 0;transition:color .2s}.nav-link::after{content:"";position:absolute;bottom:27px;height:2px;background:var(--red);left:0;right:100%;transition:right .25s}.nav-link:hover,.nav-link.active{color:var(--red)}.nav-link:hover::after,.nav-link.active::after{right:0}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:23px;border:1px solid transparent;font-size:12px;letter-spacing:.035em;font-weight:800;white-space:nowrap;padding:0 20px;transition:transform .25s,background .25s,border-color .25s,color .25s,box-shadow .25s;cursor:pointer}.btn .icon{width:17px;height:17px;transition:transform .25s}.btn:hover .icon{transform:translate(2px,-2px)}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--deep);color:#fff}.btn-dark:hover{background:var(--red)}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red-dark);box-shadow:0 12px 28px rgba(142,45,37,.19)}.btn-outline{color:var(--ink);border-color:#aaa9a3;background:transparent}.btn-outline:hover{border-color:var(--red);color:var(--red)}.btn-large{min-height:57px;padding:0 23px;font-size:13px}.header-cta{min-width:166px}
.menu-toggle{display:none;border:1px solid #d6d4cd;width:46px;height:46px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;background:transparent;z-index:75}.menu-toggle span{width:19px;height:2px;background:var(--ink);transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-7px) rotate(-45deg)}
/* Portada */
.hero{position:relative;isolation:isolate;background:var(--paper);overflow:hidden}.hero::before{content:"";position:absolute;z-index:-1;top:70px;left:-300px;width:750px;height:650px;background:radial-gradient(circle,#e3ebed 0%,transparent 71%);opacity:.73;pointer-events:none}.hero-grain{position:absolute;inset:0;pointer-events:none;opacity:.25;background-image:linear-gradient(#778b8d10 1px,transparent 1px),linear-gradient(90deg,#778b8d10 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to right,transparent,#000 60%,transparent)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:3.9%;align-items:center;min-height:655px;padding-top:47px;padding-bottom:47px;position:relative}
.hero-content{padding:28px 0 33px;position:relative;z-index:1}.eyebrow,.section-kicker{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.145em;font-weight:800;color:var(--red);margin:0}.eyebrow-line{width:26px;height:2px;background:var(--red)}
.hero-heading{font-family:var(--serif);font-weight:400;letter-spacing:-.087em;line-height:.895;margin:33px 0 22px;font-size:clamp(90px,10vw,154px)}.hero-heading span{display:block}.hero-heading-red{color:var(--red);padding-right:.12em}.hero-period{display:inline!important;font-style:italic;font-size:.64em;vertical-align:baseline;margin-left:.02em}
.hero-title-wrap{display:flex;align-items:stretch;gap:17px;margin:28px 0 22px}.hero-title-stroke{display:block;width:3px;background:var(--red);flex-shrink:0}.hero-subheading{font-family:var(--serif);font-size:clamp(23px,2.5vw,33px);letter-spacing:-.035em;line-height:1.27;margin:0;max-width:370px}.hero-subheading em{font-weight:400;color:var(--red)}.hero-description{max-width:475px;font-size:15px;line-height:1.9;color:var(--muted);margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.hero-services{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #d8d7d1;padding-top:24px;margin-top:39px;font-size:11px;color:#4f5550;font-weight:750;letter-spacing:.045em}.hero-services i{width:3px;height:3px;border-radius:50%;background:var(--red)}
.hero-visual{height:575px;position:relative;background:#232928;overflow:hidden;isolation:isolate;box-shadow:20px 22px 0 #e4e4dd,0 28px 65px rgba(27,32,30,.17)}.hero-visual::before{content:"";width:440px;height:440px;border:1px solid #ffffff20;position:absolute;top:-245px;right:-170px;border-radius:50%}.hero-visual::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,transparent 30%,#a6312944 95%)}.hero-visual-grid{position:absolute;inset:0;opacity:.27;background-image:linear-gradient(#a2a6a120 1px,transparent 1px),linear-gradient(90deg,#a2a6a120 1px,transparent 1px);background-size:42px 42px}.hero-building{position:absolute;top:-15px;right:-16px;height:96%;width:auto;max-width:none;opacity:.83}.red-orbit{position:absolute;width:400px;height:400px;border:65px solid rgba(161,42,33,.55);border-radius:50%;top:52px;left:-227px;mix-blend-mode:screen}.hero-corner-marker{position:absolute;top:29px;left:29px;color:#e9e7e2;display:flex;gap:12px;align-items:center;font-family:var(--serif)}.hero-corner-marker span:first-child{border:1px solid #f7f4e759;width:41px;height:41px;display:grid;place-items:center;font-size:17px}.hero-corner-marker span:last-child{font-size:11px;color:#b7bdb8;letter-spacing:.1em}
.hero-logo-frame{position:absolute;right:21px;top:91px;width:270px;background:#f5f7f8;padding:12px;transform:rotate(3deg);box-shadow:0 15px 35px rgba(0,0,0,.22)}.hero-logo-head,.hero-logo-foot{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.09em;font-weight:850;color:#626d70}.hero-logo-head{border-bottom:1px solid #d0d4d3;padding-bottom:9px}.tiny-plus{font-size:18px;line-height:1}.hero-logo-frame img{display:block;width:100%;height:202px;object-fit:contain;mix-blend-mode:multiply}.hero-logo-foot{border-top:1px solid #d0d4d3;padding-top:9px;color:var(--red-dark)}
.visual-photo{position:absolute;left:39px;bottom:56px;width:216px;height:238px;background:#d6dfe1;border:7px solid #f9f8f2;box-shadow:0 20px 43px #0006;transform:rotate(-5deg);overflow:hidden}.visual-photo img{height:100%;width:100%;object-fit:cover;object-position:center 55%;filter:saturate(.85) contrast(1.06)}.visual-vertical{position:absolute;right:16px;bottom:76px;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.24em;font-size:9px;font-weight:800;color:#d7dcd3a8}.visual-bottom{position:absolute;left:25px;right:25px;bottom:15px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:10px;font-weight:800;letter-spacing:.17em;border-top:1px solid #f3f3ed48;padding-top:10px}
.hero-bottomline{display:flex;gap:23px;align-items:center;padding-bottom:20px;font-size:10px;letter-spacing:.13em;font-weight:800;color:#5e6760}.hero-bottomline-rule{height:1px;flex:1;background:#d6d7d0}.down-arrow{font-size:17px;margin-left:6px;display:inline-block;animation:downfloat 2s infinite}@keyframes downfloat{50%{transform:translateY(5px)}}
/* Franja */
.ticker{height:64px;background:var(--red);overflow:hidden;color:#fff;display:flex;align-items:center}.ticker-track{width:max-content;display:flex;align-items:center;gap:36px;animation:marquee 39s linear infinite}.ticker-track span{font-size:12px;font-weight:800;letter-spacing:.14em;white-space:nowrap}.ticker-track .ticker-star{font-size:17px;color:#f2d2cc;line-height:1}@keyframes marquee{to{transform:translateX(-50%)}}
/* Sección de servicios */
.section{padding:120px 0}.services-section{background:var(--paper)}.section-heading-grid{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:47px}.section-kicker span{color:var(--red);font-weight:900}.section-heading{margin:19px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(54px,6.1vw,83px);letter-spacing:-.068em;line-height:1.07}.section-heading em{color:var(--red);font-weight:400}.section-heading-aside{display:flex;align-items:center;gap:19px;max-width:290px;margin-bottom:7px}.section-heading-aside p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.aside-circle{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;border:1px solid var(--red);color:var(--red);flex:none}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.service-card{position:relative;min-height:247px;padding:31px 30px 28px;border:1px solid #e0dfda;background:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:background .25s,box-shadow .3s,border-color .25s,transform .3s}.service-card::after{content:"";width:130px;height:130px;border:1px solid #e7e2df;position:absolute;right:-65px;bottom:-72px;transform:rotate(45deg);transition:border-color .25s}.service-card:hover{background:#fffdfa;border-color:#d4aaa6;transform:translateY(-5px);box-shadow:0 16px 35px #29130e0d}.service-card:hover::after{border-color:#d2a39b}.service-top{display:flex;align-items:start;justify-content:space-between;position:relative;z-index:1}.service-index{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--red)}.service-icon{width:43px;height:43px;fill:none;stroke:var(--red);stroke-width:1.25;stroke-linejoin:round;stroke-linecap:round;opacity:.85;transition:transform .3s}.service-card:hover .service-icon{transform:rotate(-8deg) scale(1.08)}.service-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(20px,2vw,26px);letter-spacing:-.035em;line-height:1.3;margin:21px 0 0;max-width:305px;position:relative;z-index:1}.service-bottom-line{height:2px;width:31px;background:var(--red);margin-top:28px;transition:width .3s}.service-card:hover .service-bottom-line{width:63px}
.services-summary{margin-top:13px;background:#ece9e3;padding:27px 33px;display:flex;align-items:center;justify-content:space-between;gap:28px}.services-summary>div{display:flex;align-items:center;gap:13px;white-space:nowrap}.services-summary strong{color:var(--red);font-family:var(--serif);font-size:49px;font-weight:400;line-height:1}.services-summary>div span{font-size:10px;letter-spacing:.16em;font-weight:850}.services-summary p{margin:0;font-size:12px;font-weight:800;letter-spacing:.12em;color:#5e5e55}.services-summary p span{color:var(--red)}.services-summary a{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:13px;font-weight:800;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:6px}.services-summary a .icon{width:16px;height:16px}
/* Galería */
.work-section{padding:104px 0 110px;position:relative;overflow:hidden;background:#171c1b;color:#f7f6f1}.work-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 92% 14%,#85342d26,transparent 38%),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:auto,85px 100%;pointer-events:none}.work-section .container{position:relative}.work-section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.section-kicker-light{color:#df9e95}.section-kicker-light span{color:#edb1a7}.work-top-detail{font-size:10px;font-weight:800;letter-spacing:.14em;color:#aebbb1}.work-title-row{display:flex;justify-content:space-between;align-items:end;gap:45px;margin:14px 0 41px}.work-heading{font-size:clamp(54px,6.4vw,87px);max-width:800px}.work-heading em{color:#d66d5c}.work-title-row p{font-size:13px;line-height:1.8;color:#b3bcb8;max-width:260px;margin:0 0 8px}
.gallery-grid{display:grid;grid-template-columns:.96fr 1.16fr .96fr;gap:16px;height:425px}.gallery-card{position:relative;display:block;border:1px solid #ffffff25;background:#394641;cursor:zoom-in;overflow:hidden;width:100%;padding:0;text-align:left}.gallery-card img{width:100%;height:100%;object-fit:cover;filter:grayscale(.1) contrast(1.02);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .5s}.gallery-card-1 img{object-position:52% 50%}.gallery-card-2 img{object-position:48% 49%}.gallery-card-3 img{object-position:53% 46%}.gallery-card:hover img{transform:scale(1.07);filter:grayscale(0) contrast(1.05)}.gallery-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#111e240b 0%,transparent 35%,#131917d9 100%);pointer-events:none}.gallery-card::after{content:"";position:absolute;z-index:2;inset:10px;border:1px solid #ffffff42;opacity:.65;pointer-events:none}.gallery-overlay{position:absolute;z-index:3;inset:0;color:#fff;padding:27px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px}.gallery-number{position:absolute;top:26px;left:27px;font-family:var(--serif);font-size:17px}.gallery-label{font-family:var(--serif);font-size:clamp(22px,2.8vw,32px);font-weight:400;line-height:1.12;letter-spacing:-.035em;max-width:200px}.gallery-expand{position:absolute;right:25px;bottom:27px;border:1px solid #fff8;width:38px;height:38px;display:grid;place-items:center;transition:background .2s}.gallery-expand .icon{width:17px;height:17px}.gallery-card:hover .gallery-expand{background:var(--red)}.work-bottomline{padding-top:23px;display:flex;justify-content:space-between;color:#afb4ac;font-size:10px;letter-spacing:.12em;font-weight:800}
/* Cotización */
.quote-section{padding:105px 0;background:#edeae3;overflow:hidden;position:relative}.quote-section::before{content:"";position:absolute;width:520px;height:520px;border:1px solid #d9c5bd;top:-220px;left:-320px;border-radius:50%}.quote-grid{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:8%}.quote-copy{position:relative;z-index:1}.quote-heading{font-family:var(--serif);font-size:clamp(65px,8.1vw,114px);font-weight:400;letter-spacing:-.082em;line-height:.99;max-width:620px;margin:28px 0}.quote-heading em{color:var(--red);display:block;font-weight:400}.quote-subline{font-size:11px;letter-spacing:.16em;font-weight:800;color:#62645f;margin:0 0 32px}.quote-art{height:400px;background:var(--red);position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;color:#fff;box-shadow:18px 18px 0 #d6d0c7;overflow:hidden}.quote-art::before{content:"";position:absolute;width:420px;height:420px;border:50px solid #ffffff12;border-radius:50%;right:-205px;top:-215px}.quote-art::after{content:"";position:absolute;width:210px;height:210px;border:1px solid #ffffff2a;border-radius:50%;left:-120px;bottom:-95px}.quote-art-outline{position:absolute;inset:20px;border:1px solid #ffffff48;pointer-events:none}.quote-art-inner{width:73%;height:76%;display:flex;flex-direction:column;align-items:start;justify-content:space-between}.quote-art-top{letter-spacing:.18em;font-size:11px;font-weight:800}.quote-art-symbol{display:flex;gap:8px;align-items:flex-end;height:85px;transform:rotate(-9deg)}.quote-art-symbol span{width:23px;height:66px;background:#ffffffd1;transform:skew(-12deg)}.quote-art-symbol span:nth-child(2){height:84px;background:var(--gold)}.quote-art-symbol span:nth-child(3){height:53px;background:#f7f3e8}.quote-factura{display:flex;align-items:center;gap:17px;font-family:var(--serif);font-size:clamp(29px,3.3vw,43px);line-height:1.02;letter-spacing:-.045em}.quote-factura strong{font-weight:400;color:#ffe2b2}.quote-check{border:1px solid #f9e1d0;border-radius:50%;width:53px;height:53px;flex:none;display:grid;place-items:center}.quote-check .icon{width:24px;height:24px}.quote-art-bottom{position:absolute;bottom:29px;left:37px;right:37px;display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.12em}.quote-art-bottom span{color:#ffe3b5}
/* Contacto */
.contact-section{background:#202422;color:#f8f7f1;padding:105px 0 120px;overflow:hidden;position:relative}.contact-grid{display:grid;grid-template-columns:.93fr 1.07fr;gap:6%;align-items:center}.contact-text{position:relative;min-height:310px}.contact-text h2{font-family:var(--serif);font-size:clamp(65px,7.6vw,106px);letter-spacing:-.073em;font-weight:400;line-height:1.03;margin:40px 0 18px}.contact-text h2 span{color:#df6c5b}.contact-text>p:not(.section-kicker){color:#b2b9b2;font-size:15px}.contact-watermark{font-family:var(--serif);font-size:240px;position:absolute;left:0;bottom:-115px;color:#ffffff07;line-height:1;pointer-events:none;white-space:nowrap}
.contact-card{background:#f8f7f2;color:var(--ink);padding:39px 42px 0;box-shadow:12px 13px 0 #39413c}.contact-card-label{color:var(--red);font-size:11px;font-weight:800;letter-spacing:.16em}.contact-phone{font-family:var(--serif);font-size:clamp(32px,3.6vw,52px);font-weight:400;letter-spacing:-.047em;white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:25px 0 26px;transition:color .2s}.contact-phone:hover{color:var(--red)}.contact-phone .icon{width:24px;height:24px;stroke:var(--red)}.contact-card-divider{height:1px;background:#d7d5cd}.contact-whatsapp,.contact-call{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid #d7d5cd;font-size:13px;font-weight:800;transition:color .2s}.contact-whatsapp span,.contact-call span{display:flex;align-items:center;gap:13px}.contact-whatsapp span .icon,.contact-call span .icon{color:var(--red);width:23px;height:23px}.contact-whatsapp:hover,.contact-call:hover{color:var(--red)}.contact-card-footer{background:#eeeae2;margin:0 -42px;padding:18px 42px;display:flex;align-items:center;gap:10px;font-size:12px;color:#4c5750;font-weight:800}.contact-card-footer .icon{color:var(--red);width:17px;height:17px}
/* Pie */
.site-footer{background:#141716;color:#f8f8f5;border-top:1px solid #3b413e}.footer-main{display:flex;align-items:center;justify-content:space-between;padding:43px 0;gap:20px}.footer-brand{display:flex;align-items:center;gap:15px}.footer-brand-logo{background:#e7ebee;width:80px;height:65px;overflow:hidden;display:grid;place-items:center}.footer-brand-logo img{width:82px;height:auto;max-width:none}.footer-brand>span:last-child{display:flex;flex-direction:column;gap:8px}.footer-brand strong{font-family:var(--serif);font-size:25px;font-weight:400;letter-spacing:-.04em}.footer-brand small{font-size:9px;font-weight:800;letter-spacing:.1em;color:#b4bcb5}.footer-nav{display:flex;align-items:center;gap:33px;font-size:12px;color:#cbd1ca}.footer-nav a:hover,.footer-bottom a:hover{color:#eb968b}.footer-bottom{border-top:1px solid #393d3a;padding:22px 0 25px;display:flex;justify-content:space-between;gap:20px;color:#aeb4ac;font-size:10px;letter-spacing:.08em;font-weight:700}.footer-bottom a{display:flex;align-items:center;gap:8px;color:#fff;font-size:11px}.footer-bottom .icon{height:15px;width:15px}
.floating-whatsapp{position:fixed;right:22px;bottom:24px;z-index:65;display:flex;align-items:center;gap:11px;background:#1f4c3c;color:#fff;padding:14px 17px;box-shadow:0 12px 32px #0e251c4d;border:1px solid #60957d;border-radius:50px;font-size:12px;font-weight:800;letter-spacing:.01em;transition:transform .2s,background .2s}.floating-whatsapp:hover{transform:translateY(-3px);background:#286149}.floating-whatsapp .icon{width:24px;height:24px}.floating-whatsapp .floating-arrow{width:15px;height:15px}
/* Visor de fotografías */
.image-dialog{max-width:min(90vw,800px);max-height:90dvh;padding:16px;border:1px solid #ffffff55;background:#191d1b;color:#fff;box-shadow:0 35px 90px #0009;overflow:visible}.image-dialog::backdrop{background:rgba(6,10,8,.83);backdrop-filter:blur(7px)}.dialog-close{width:42px;height:42px;display:grid;place-items:center;border:1px solid #fff6;background:#202522;color:#fff;position:absolute;top:-50px;right:0;cursor:pointer}.dialog-close:hover{background:var(--red)}.dialog-content{display:flex;flex-direction:column;gap:12px;align-items:center}.dialog-content img{width:auto;max-width:100%;max-height:72dvh;object-fit:contain}.dialog-content p{font-size:12px;font-weight:750;letter-spacing:.07em;margin:0;padding:3px 0}
/* Revelado progresivo, degradación segura sin JavaScript */
.js-enabled .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.js-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}.services-grid .service-card:nth-child(3n+2){transition-delay:.07s}.services-grid .service-card:nth-child(3n){transition-delay:.13s}.gallery-grid .gallery-card:nth-child(2){transition-delay:.08s}.gallery-grid .gallery-card:nth-child(3){transition-delay:.16s}
@media(max-width:1120px){.container{width:min(var(--container),calc(100% - 58px))}.navigation{gap:19px;margin-right:6px}.brand-copy strong{font-size:20px}.header-cta{min-width:148px}.hero-heading{font-size:clamp(85px,10.1vw,115px)}.hero-visual{height:530px}.hero-logo-frame{width:225px}.hero-logo-frame img{height:165px}.visual-photo{width:185px;height:210px}.hero-grid{min-height:602px;gap:2.4%}.hero-description{font-size:14px}.contact-phone{font-size:clamp(30px,3.1vw,44px)}.contact-card{padding-inline:30px}.contact-card-footer{margin-inline:-30px;padding-inline:30px}}
@media(max-width:900px){.site-header{height:80px}.brand-art{height:60px;width:75px}.brand-art img{width:78px}.brand-copy strong{font-size:20px}.navigation{display:none;position:absolute;top:80px;left:0;right:0;margin:0;padding:18px 29px 24px;background:var(--paper);box-shadow:0 18px 29px #00000017;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.navigation.open{display:flex}.nav-link{padding:17px 0;border-bottom:1px solid #e5e2dd;font-size:15px}.nav-link::after{bottom:0}.menu-toggle{display:flex}.header-cta{margin-left:auto}.hero-grid{grid-template-columns:1fr .86fr;gap:3%;min-height:0;padding-block:49px}.hero-heading{font-size:clamp(69px,9.8vw,105px)}.hero-visual{height:470px;box-shadow:12px 12px 0 #e4e4dd}.hero-logo-frame{width:205px;top:95px;right:14px}.hero-logo-frame img{height:148px}.visual-photo{width:160px;height:180px;left:22px;bottom:48px}.hero-corner-marker{left:20px;top:21px}.hero-visual .visual-vertical{display:none}.hero-description{line-height:1.7}.hero-services{margin-top:25px}.section{padding:85px 0}.section-heading-aside{max-width:215px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{min-height:232px}.services-summary p{display:none}.work-section{padding-block:84px}.gallery-grid{height:370px}.quote-section{padding-block:85px}.quote-art{height:340px}.contact-section{padding:85px 0}.contact-grid{gap:4%}.contact-text h2{font-size:clamp(56px,7.7vw,85px)}.contact-phone{font-size:clamp(27px,3.6vw,37px)}.contact-card{padding:29px 26px 0}.contact-card-footer{margin-inline:-26px;padding-inline:26px}}
@media(max-width:690px){.container{width:calc(100% - 36px)}.topline{height:31px}.topline-label{font-size:8px;letter-spacing:.08em}.topline-contact{font-size:9px}.topline-contact .icon-small{display:none}.site-header{height:75px}.header-inner{gap:8px}.brand-art{width:62px;height:54px}.brand-art img{width:66px}.brand{gap:6px}.brand-copy strong{font-size:17px}.brand-copy small{font-size:7px;letter-spacing:.095em}.header-cta{display:none}.navigation{top:75px;padding-inline:18px}.menu-toggle{width:43px;height:43px;margin-left:auto}.hero-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch;padding-top:54px;padding-bottom:39px}.hero-content{padding:0}.hero-heading{font-size:clamp(82px,16vw,128px);margin:24px 0 17px}.hero-title-wrap{margin:22px 0 16px}.hero-subheading{font-size:clamp(26px,6vw,34px)}.hero-description{max-width:500px;font-size:14px;line-height:1.72}.hero-actions{gap:10px}.btn-large{min-height:53px;font-size:12px;padding-inline:19px}.hero-services{margin-top:27px;padding-top:19px;font-size:10px;gap:10px}.hero-visual{height:455px;width:calc(100% - 11px);margin-bottom:12px;box-shadow:11px 12px 0 #e4e4dd}.hero-logo-frame{right:8%;width:49%;top:71px}.hero-logo-frame img{height:clamp(123px,30vw,190px)}.visual-photo{left:8%;width:41%;height:43%;bottom:56px}.hero-bottomline{font-size:9px;gap:12px}.ticker{height:53px}.ticker-track{gap:26px}.ticker-track span{font-size:10px}.section{padding:76px 0}.section-heading-grid{display:block;margin-bottom:29px}.section-heading{font-size:clamp(48px,10.5vw,72px);margin-top:15px}.section-heading-aside{margin-top:19px;max-width:100%;gap:13px}.section-heading-aside p{font-size:12px}.aside-circle{height:37px;width:37px}.aside-circle svg{width:15px;height:15px}.services-grid{gap:10px}.service-card{min-height:206px;padding:23px 20px}.service-card h3{font-size:clamp(19px,3.4vw,24px)}.service-icon{height:34px;width:34px}.service-bottom-line{margin-top:17px}.services-summary{padding:19px;gap:15px}.services-summary strong{font-size:41px}.services-summary>div span{font-size:9px}.services-summary a{font-size:11px}.work-section{padding:72px 0}.work-top-detail{display:none}.work-title-row{display:block;margin-bottom:25px}.work-title-row p{margin-top:17px;max-width:430px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:280px 235px;height:auto;gap:10px}.gallery-card-2{grid-row:1 / span 2;grid-column:2}.gallery-card-1{grid-column:1;grid-row:1}.gallery-card-3{grid-column:1;grid-row:2}.gallery-overlay{padding:17px}.gallery-number{top:16px;left:17px}.gallery-label{font-size:clamp(19px,4vw,28px);max-width:145px}.gallery-expand{right:17px;bottom:17px;height:29px;width:29px}.gallery-expand .icon{height:15px;width:15px}.gallery-card::after{inset:6px}.quote-section{padding:76px 0}.quote-grid{grid-template-columns:1fr;gap:38px}.quote-heading{font-size:clamp(67px,14vw,105px);margin:20px 0}.quote-art{height:300px;width:calc(100% - 12px)}.quote-art-inner{width:80%;height:74%}.quote-art-symbol{height:68px}.quote-art-symbol span{height:57px}.quote-art-symbol span:nth-child(2){height:70px}.quote-art-symbol span:nth-child(3){height:45px}.quote-factura{font-size:clamp(30px,7vw,45px)}.quote-art-bottom{bottom:25px}.contact-section{padding:70px 0 80px}.contact-grid{grid-template-columns:1fr;gap:18px}.contact-text{min-height:160px}.contact-text h2{font-size:clamp(61px,12.5vw,92px);margin:17px 0 12px}.contact-text>p:not(.section-kicker){font-size:13px}.contact-watermark{bottom:-140px;right:-40px;left:auto;font-size:160px}.contact-card{margin-top:14px}.contact-phone{font-size:clamp(28px,6.9vw,46px)}.footer-main{align-items:flex-start;gap:35px;flex-direction:column}.footer-nav{flex-wrap:wrap;gap:19px}.footer-bottom{flex-direction:column;gap:14px}.floating-whatsapp{right:13px;bottom:13px;padding:13px 14px}.floating-whatsapp .icon{width:23px;height:23px}}
@media(max-width:420px){.brand-copy strong{font-size:16px}.brand-copy small{font-size:6px}.hero-heading{font-size:clamp(76px,17.2vw,98px)}.hero-actions .btn{flex:1;gap:10px;padding:0 12px}.hero-actions .btn .icon{height:15px;width:15px}.hero-visual{height:385px}.hero-logo-frame{width:52%;top:72px;padding:9px}.hero-logo-frame img{height:120px}.hero-logo-head,.hero-logo-foot{font-size:7px}.visual-photo{width:43%;height:42%;left:7%}.services-grid{grid-template-columns:1fr}.service-card{min-height:174px}.service-card h3{font-size:24px;max-width:270px}.service-icon{height:40px;width:40px}.services-summary{flex-wrap:wrap}.services-summary a{margin-left:auto}.gallery-grid{grid-template-rows:220px 200px}.gallery-label{font-size:19px}.contact-phone{font-size:clamp(27px,7.8vw,34px)}.contact-card{padding:27px 20px 0}.contact-card-footer{margin-inline:-20px;padding-inline:20px}.quote-art{height:290px}.quote-art-bottom{font-size:8px}.floating-whatsapp span{display:none}.floating-whatsapp .floating-arrow{display:none}.floating-whatsapp{border-radius:50%;height:56px;width:56px;justify-content:center;padding:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js-enabled .reveal{opacity:1!important;transform:none!important}}

/* Visibilidad garantizada: la pagina no depende de JS para mostrar el contenido. */
.js-enabled .reveal { opacity: 1; transform: none; transition: none; }
.js-enabled .reveal.is-visible { animation: baron-entry .62s cubic-bezier(.2,.7,.2,1) both; }
@keyframes baron-entry { from { opacity: .78; transform: translateY(13px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .js-enabled .reveal.is-visible { animation: none; } }
