:root{--ink:#20221f;--paper:#f4f0e8;--sand:#d2c3ad;--line:rgba(32,34,31,.24);--white:#fbfaf7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Manrope,Arial,sans-serif}.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}.site-header{height:96px;padding:8px 4.5vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:10;border-bottom:1px solid var(--line)}.brand{width:300px;height:78px;display:flex;align-items:center;gap:17px}.brand-symbol{width:52px;height:68px;display:block;overflow:hidden;flex:0 0 auto}.brand img{display:block;width:104px;height:104px;max-width:none;object-fit:fill;transform:translate(-26px,-8px);mix-blend-mode:multiply}.brand-name{min-height:35px;padding-left:17px;border-left:1px solid var(--line);display:flex;align-items:center;white-space:nowrap;font:600 12px/1 Manrope,Arial,sans-serif;letter-spacing:.15em}.brand-name span{margin-right:.54em;font-weight:700;letter-spacing:.2em}.menu{display:flex;gap:30px;align-items:center;font-size:11px;letter-spacing:.09em;text-transform:uppercase}.menu a{transition:opacity .2s}.menu a:hover{opacity:.48}.menu-contact{border:1px solid var(--ink);padding:10px 16px}.menu-button{display:none}.hero{min-height:calc(100vh - 96px);background:#242724 url('../img/centro-comercial.png') center/cover no-repeat;color:var(--white);position:relative;overflow:hidden;padding:28px 4.5vw 34px;display:flex;flex-direction:column;justify-content:space-between}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgb(10 12 11 /.8) 0%,rgb(10 12 11 /.54) 42%,rgb(10 12 11 /.16) 74%,rgb(10 12 11 /.28) 100%),linear-gradient(0deg,rgb(10 12 11 /.46),transparent 50%);pointer-events:none}.hero-grid{display:none}.eyebrow,.section-label{font:500 10px/1.4 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.11em}.hero-eyebrow{position:relative;z-index:1}.hero-content{position:relative;z-index:1;margin-top:auto;max-width:1120px}.hero h1,.contact h2{margin:0;font:500 clamp(54px,8.5vw,128px)/.88 "Playfair Display",Georgia,serif;letter-spacing:-.055em}.hero h1 em,.services h2 em,.contact h2 em{font-weight:500}.hero-bottom{margin-top:46px;display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-bottom p{width:280px;margin:0;font-size:13px;line-height:1.65;color:rgb(255 255 255 /.77)}.text-link{display:inline-flex;align-items:center;gap:19px;font-size:11px;text-transform:uppercase;letter-spacing:.09em;padding-bottom:9px;border-bottom:1px solid var(--ink)}.text-link.light{color:var(--white);border-color:var(--white)}.text-link span,.outline-button span{font-size:17px}.hero-index{position:absolute;z-index:1;right:4.5vw;top:31px;font:10px "DM Mono",monospace;color:rgb(255 255 255 /.65)}.section-pad{padding:120px 4.5vw}.statement{display:grid;grid-template-columns:31% 1fr;border-bottom:1px solid var(--line)}.statement-copy{max-width:760px}.intro{margin:0 0 26px;font:500 clamp(28px,3.45vw,52px)/1.08 "Playfair Display",Georgia,serif;letter-spacing:-.035em}.statement-copy>p:not(.intro){max-width:530px;font-size:15px;line-height:1.8;margin:0 0 35px;color:#4a4b47}.projects{background:#e4ded3}.projects-heading{display:flex;justify-content:space-between;padding-bottom:65px}.projects-heading p{margin:0;font-size:13px;color:#65645d}.project-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:52px 24px;align-items:start}.project{overflow:hidden}.project a{display:block}.project-image{position:relative;overflow:hidden;background-size:cover;background-position:center;transition:transform .5s ease}.project:hover .project-image{transform:scale(.985)}.project-large .project-image{height:54vw;max-height:690px}.project-small .project-image{height:33vw;max-height:450px}.top-space{margin-top:100px}.lift{margin-top:-40px}.casa{background-image:linear-gradient(#0002,#0002),url('../img/campomar/terraza-campomar.png')}.patio{background-image:url('../img/departamentos/sala-comedor.jpg')}.loma{background-image:url('../img/otros/tocador.jpg')}.bruma{background:#e4ded3;border:1px solid var(--ink);display:grid;place-items:center}.bruma .image-number{color:var(--ink)}.bruma .coming-soon{color:var(--ink);font:500 clamp(20px,2.2vw,32px) "Playfair Display",Georgia,serif;letter-spacing:-.03em}.image-number{position:absolute;top:18px;left:19px;color:#fff;font:10px "DM Mono",monospace}.project-meta{display:flex;justify-content:space-between;gap:15px;padding-top:14px;border-bottom:1px solid var(--line);padding-bottom:16px}.project-meta h2{margin:0;font:500 17px "Playfair Display",Georgia,serif}.project-meta p{margin:3px 0 0;color:#64635c;font:10px "DM Mono",monospace;text-transform:uppercase}.outline-button{margin-top:70px;border:1px solid var(--ink);padding:15px 18px;display:inline-flex;align-items:center;gap:47px;font-size:10px;text-transform:uppercase}.services{background:var(--ink);color:var(--white);position:relative;overflow:hidden;isolation:isolate}.services-intro{display:grid;grid-template-columns:31% 1fr;padding-bottom:80px}.services h2{margin:0;font:500 clamp(38px,5vw,75px)/.98 "Playfair Display",Georgia,serif;letter-spacing:-.04em}.service-list{border-top:1px solid rgb(255 255 255 /.3);margin:0 4.5vw}.service-list article{min-height:118px;display:grid;grid-template-columns:11% 38% 1fr;align-items:center;border-bottom:1px solid rgb(255 255 255 /.3)}.service-list span{font:10px "DM Mono",monospace;color:var(--sand)}.service-list h3{margin:0;font:500 23px "Playfair Display",Georgia,serif}.service-list p{margin:0;max-width:330px;color:#c9c9c4;font-size:12px;line-height:1.65}.service-categories{margin:0;padding:0;list-style:none;color:#c9c9c4;font-size:12px;line-height:1.65}.service-categories li{position:relative;padding-left:13px}.service-categories li::before{content:"—";position:absolute;left:0;color:var(--sand)}.process{display:grid;grid-template-columns:31% 1fr}.process-content{max-width:750px}.process ol{list-style:none;padding:0;margin:55px 0 0;border-top:1px solid var(--line)}.process li{display:grid;grid-template-columns:70px 1fr 1.4fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.process li span{font:10px "DM Mono",monospace}.process li strong{font:500 18px "Playfair Display",Georgia,serif}.process li p{margin:0;color:#62625d;font-size:12px;line-height:1.6}.contact{background:var(--sand);padding:110px 4.5vw 28px;min-height:80vh;display:flex;flex-direction:column}.contact h2{margin-top:28px;max-width:900px}.contact-button{margin-top:70px;border-bottom:1px solid var(--ink);width:max-content;max-width:100%;padding:0 0 12px;font:500 clamp(18px,2.5vw,34px) "Playfair Display",Georgia,serif;display:flex;gap:65px}.contact-button span{font-family:Manrope;font-size:28px}.contact-footer{margin-top:auto;padding-top:130px;display:grid;grid-template-columns:1fr 1fr 1fr;font:10px/1.55 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.05em}.contact-footer a{text-align:center;text-decoration:underline}.contact-footer p:last-child{text-align:right}.gallery-modal{position:fixed;z-index:100;inset:0;display:none;isolation:isolate;overflow-y:auto;padding:48px 4.5vw;color:var(--white);background:#101210}.gallery-modal.open{display:block}.gallery-modal:before{content:"";position:fixed;z-index:-1;inset:-30px;background:url('../img/campomar/terraza-campomar.png') center/cover no-repeat;filter:blur(22px);pointer-events:none}.gallery-content{position:relative;z-index:1;max-width:1240px;margin:0 auto}.gallery-content h2{margin:19px 0 42px;font:500 clamp(46px,6vw,86px)/.92 "Playfair Display",Georgia,serif;letter-spacing:-.045em}.gallery-close{position:fixed;z-index:2;top:23px;right:4.5vw;border:1px solid rgb(255 255 255 /.62);padding:10px 14px;color:var(--white);background:#fff0;font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.09em;cursor:pointer}.gallery-slider{position:relative}.gallery-viewport{overflow:hidden}.gallery-images{display:flex;transition:transform .5s ease}.gallery-images figure{flex:0 0 100%;margin:0}.gallery-images img{width:100%;height:min(67vh,700px);display:block;object-fit:contain;background:#fff0}.gallery-images figcaption{margin-top:11px;font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:rgb(255 255 255 /.8)}.gallery-nav{position:absolute;z-index:1;top:calc(50% - 19px);width:42px;height:42px;border:1px solid rgb(255 255 255 /.7);color:var(--white);background:rgb(16 18 16 /.6);font-size:21px;cursor:pointer}.gallery-nav:hover{background:var(--white);color:var(--ink)}.gallery-nav:disabled{opacity:.28;cursor:default}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-status{margin:24px 0 0;text-align:center;font:10px "DM Mono",monospace;letter-spacing:.12em}.apartments-modal:before{background-image:url('../img/departamentos/sala-comedor.jpg')}.apartments-prev{left:16px}.apartments-next{right:16px}.other-modal:before{background-image:url('../img/otros/sala.jpg')}.other-prev{left:16px}.other-next{right:16px}.other-images figcaption{color:var(--white);font:500 18px "Playfair Display",Georgia,serif;text-transform:none;letter-spacing:0}.contact-details{display:grid;grid-template-columns:minmax(330px,1fr) 1fr;gap:70px;margin-top:58px;max-width:850px}.contact-group-title{margin:0 0 17px;font:10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.contact-item{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid rgb(32 34 31 /.45);font:11px "DM Mono",monospace}.contact-item span{text-transform:uppercase;letter-spacing:.07em}.contact-item strong{text-align:right;font-weight:500}.social-icons{display:flex;gap:12px}.social-icons a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ink);transition:background .2s,color .2s}.social-icons a:hover{background:var(--ink);color:var(--sand)}.social-icons svg{width:19px;height:19px;fill:currentColor;stroke:currentColor;stroke-width:1.8}.social-icons svg rect,.social-icons svg circle{fill:none}.social-icons .social-fill{fill:currentColor;stroke:none}.contact-phone strong{display:flex;flex-direction:column;gap:4px}.contact-phone a{text-decoration:underline;text-underline-offset:3px}.contact{width:100%;margin:0;min-height:0;padding:68px 4.5vw 28px}.contact-details{max-width:none;margin-top:0}.contact-footer{margin-top:64px;padding-top:0}.contact-details>.contact-group:last-child{justify-self:center}.services{position:relative;overflow:hidden;isolation:isolate}.services:before{content:'';position:absolute;z-index:-1;width:52vw;height:52vw;right:-22vw;top:-25vw;background:radial-gradient(circle,rgb(210 195 173 /.2),transparent 67%);filter:blur(34px)}.services>*{position:relative;z-index:1}@media(max-width:720px){.gallery-modal{padding:76px 20px 32px}.gallery-close{right:20px;top:20px}.gallery-content h2{margin-bottom:32px}.gallery-images{display:flex;gap:0}.gallery-images img{height:auto;max-height:62vh}.gallery-nav{top:calc(50% - 20px);width:38px;height:38px}.gallery-prev{left:8px}.gallery-next{right:8px}.apartments-prev{left:8px}.apartments-next{right:8px}.other-prev{left:8px}.other-next{right:8px}.other-images figcaption{font-size:18px}}@media(max-width:720px){.contact-details{grid-template-columns:1fr;gap:35px;margin-top:45px}.contact-item{font-size:10px}}@media(max-width:720px){.contact{width:100%;min-height:0;padding:48px 20px 24px}.contact-details{margin-top:0}.contact-details>.contact-group:last-child{justify-self:start}.contact-footer{margin-top:55px}}.menu-button{display:none;background:none;border:none;font:600 14px Manrope,sans-serif;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}@media(max-width:900px){.menu-button{display:flex;align-items:center;gap:8px}.menu-button span{width:22px;height:2px;background:var(--ink);position:relative;display:block}.menu-button span:before,.menu-button span:after{content:"";position:absolute;width:22px;height:2px;background:var(--ink);left:0}.menu-button span:before{top:-6px}.menu-button span:after{top:6px}.menu{position:fixed;inset:0;background:rgba(244,240,232,.90);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);flex-direction:column;padding:120px 40px;gap:30px;transform:translateY(-100%);transition:transform .35s ease;font-size:14px}.menu.open{transform:translateY(0)}}@media(min-width:901px){.menu{position:static;transform:none;flex-direction:row;padding:0}}
