.loader{position:fixed;inset:0;z-index:9999;background:var(--color-navy-dark, #0F2640);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .8s ease,visibility .8s ease}.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-circle-wrap{position:relative;width:280px;height:280px;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);animation:loaderFadeUp .6s .2s forwards}.loader-circle-wrap svg.loader-circle{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);z-index:1}.loader-circle-disc{position:absolute;top:50%;left:50%;width:268px;height:268px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);z-index:0}.loader-circle-track{fill:none;stroke:#ffffff2e;stroke-width:1.5}.loader-circle-progress{fill:none;stroke:var(--color-silver-light, #D0D4D8);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:854;stroke-dashoffset:854;animation:circleProgress 2.2s .5s cubic-bezier(.65,0,.35,1) forwards}.loader-arrow{position:absolute;top:-7px;left:50%;transform:translate(-50%) rotate(0);transform-origin:50% calc(50% + 147px);color:var(--color-silver-light, #D0D4D8);animation:arrowRotate 2.2s .5s cubic-bezier(.65,0,.35,1) forwards}.loader-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:55%}.loader-logo-img{width:100%;height:auto;display:block;max-width:180px}.loader-percent{margin-top:2.5rem;font-size:.75rem;font-weight:500;letter-spacing:.25em;color:var(--color-silver, #A8B0B8);opacity:0;transform:translateY(10px);animation:loaderFadeUp .4s .7s forwards;font-variant-numeric:tabular-nums;font-family:Montserrat,sans-serif}.loader-percent span{color:#fff;font-weight:600}@keyframes loaderFadeUp{to{opacity:1;transform:translateY(0)}}@keyframes circleProgress{to{stroke-dashoffset:0}}@keyframes arrowRotate{to{transform:translate(-50%) rotate(360deg)}}.geo-bg-light{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='%231B3A5C' stroke-width='1.5' stroke-opacity='0.05'/%3E%3Cpath d='M28 0L28 34L0 50L0 84L28 100L56 84L56 50L28 34' fill='none' stroke='%231B3A5C' stroke-width='1.5' stroke-opacity='0.05'/%3E%3C/svg%3E");background-size:56px 100px;background-repeat:repeat}.geo-bg-offwhite{background-color:#f5f6f7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50L0 16L28 0L56 16L56 50L28 66L28 100' fill='none' stroke='%231B3A5C' stroke-width='1.5' stroke-opacity='0.05'/%3E%3Cpath d='M28 0L28 34L0 50L0 84L28 100L56 84L56 50L28 34' fill='none' stroke='%231B3A5C' stroke-width='1.5' stroke-opacity='0.05'/%3E%3C/svg%3E");background-size:56px 100px;background-repeat:repeat}#nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;transition:background .4s,padding .4s}#nav.scrolled{background:#0f2640f2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1rem 3rem}.nav-logo{display:inline-flex;align-items:center;text-decoration:none}.nav-logo img{height:36px;width:auto;display:block}.nav-links{display:flex;gap:2.5rem;list-style:none;margin:0;padding:0}.nav-links a{color:#ffffffb3;text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;transition:color .3s;position:relative;font-family:Montserrat,sans-serif}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--color-silver-light, #D0D4D8);transition:width .3s}.nav-links a:hover{color:#fff}.nav-links a:hover:after{width:100%}.nav-hamburger{display:none;cursor:pointer;padding:.5rem;margin:-.5rem;color:#fff;line-height:0}.mobile-toggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.mobile-overlay{position:fixed;inset:0;z-index:200;background:#0f2640;opacity:0;visibility:hidden;transition:opacity .3s ease-out,visibility .3s ease-out;display:flex;flex-direction:column}.mobile-toggle:checked~.mobile-overlay{opacity:1;visibility:visible}body:has(.mobile-toggle:checked){overflow:hidden}.mobile-close{position:absolute;top:1.25rem;right:1.25rem;padding:.5rem;color:#ffffffe6;cursor:pointer;line-height:0;transition:color .2s}.mobile-close:hover{color:#fff}.mobile-logo{padding:1.5rem}.mobile-logo img{height:36px;width:auto;display:block;filter:brightness(0) invert(1)}.mobile-nav{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:0 2rem 4rem;margin-top:-3rem}.mobile-nav a{display:block;width:100%;max-width:360px;padding:1rem 1.5rem;text-align:center;color:#d0d4d8;font-family:Montserrat,sans-serif;font-size:1.05rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;text-decoration:none;transition:color .2s}.mobile-nav a:hover{color:#fff}.mobile-cta{margin-top:1.5rem;background:#c9a96e;color:#0f2640!important;font-weight:600!important;font-size:.85rem!important;letter-spacing:.12em!important;border-radius:4px;transition:background .2s}.mobile-cta:hover{background:#d5b881}.mobile-whatsapp{margin-top:2.5rem;display:inline-flex!important;align-items:center;justify-content:center;gap:.5rem;font-size:.85rem!important;letter-spacing:.05em!important;text-transform:none!important;color:#a8b0b8!important;width:auto!important}.mobile-whatsapp:hover{color:#fff!important}.hero{position:relative;height:100vh;height:100svh;min-height:700px;overflow:hidden;display:flex;align-items:flex-end}.hero-bg{position:absolute;inset:0;background:url(/images/portfolio/residencial-fachada-principal-full.jpg) center/cover no-repeat;transform:scale(1.15);transition:transform 10s ease-out}.hero.in-view .hero-bg{transform:scale(1)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0f2640eb,#0f264066 40%,#0f264026,#0f26400d);z-index:1}.hero-particles{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.hero-content{position:relative;z-index:2;padding:0 3rem 5rem;max-width:900px}.hero-tag{font-size:.7rem;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--color-silver-light, #D0D4D8);margin-bottom:1.5rem;opacity:0;transform:translateY(30px)}.hero.in-view .hero-tag{animation:heroReveal .8s .3s cubic-bezier(.16,1,.3,1) forwards}.hero-title{font-family:Montserrat,sans-serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.03em;margin-bottom:1.5rem;opacity:0;transform:translateY(40px)}.hero.in-view .hero-title{animation:heroReveal 1s .5s cubic-bezier(.16,1,.3,1) forwards}.rotating-wrapper{display:block;position:relative;height:1.15em;overflow:hidden}.rotating-word{display:block;position:absolute;top:0;left:0;width:100%;font-style:normal;font-family:Montserrat,sans-serif;color:var(--color-silver-light, #D0D4D8);font-weight:300;letter-spacing:-.03em;opacity:0;transform:translateY(110%);transition:all .7s cubic-bezier(.16,1,.3,1)}.rotating-word.is-active{opacity:1;transform:translateY(0)}.rotating-word.is-leaving{opacity:0;transform:translateY(-110%)}.hero-line{width:60px;height:2px;background:var(--color-gold-accent, #C9A96E);margin-bottom:1.5rem;opacity:0;transform:scaleX(0);transform-origin:left}.hero.in-view .hero-line{animation:heroLine .8s .7s cubic-bezier(.16,1,.3,1) forwards}.hero-desc{font-size:1rem;font-weight:300;color:#ffffffbf;line-height:1.8;max-width:500px;opacity:0;transform:translateY(30px)}.hero.in-view .hero-desc{animation:heroReveal .8s .9s cubic-bezier(.16,1,.3,1) forwards}@keyframes heroReveal{to{opacity:1;transform:translateY(0)}}@keyframes heroLine{to{opacity:1;transform:scaleX(1)}}.scroll-indicator{position:absolute;bottom:2rem;right:3rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:scrollFadeIn 1s 3.2s forwards}.scroll-indicator span{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:#ffffff80;writing-mode:vertical-lr;font-family:Montserrat,sans-serif}.scroll-line{width:1px;height:40px;background:#fff3;position:relative;overflow:hidden}.scroll-line-inner{position:absolute;top:-100%;left:0;width:100%;height:100%;background:#fff9;animation:scrollPulse 1.8s ease-in-out infinite}@keyframes scrollFadeIn{to{opacity:1}}@keyframes scrollPulse{0%{top:-100%}to{top:100%}}.about{padding:10rem 3rem;background:transparent;display:grid;grid-template-columns:1fr 1fr;gap:6rem;max-width:1400px;margin:0 auto;align-items:center}.about-label{font-size:.65rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:#7a8490;margin-bottom:1.5rem}.about-heading{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;color:var(--color-navy, #1B3A5C);line-height:1.1;letter-spacing:-.03em;margin-bottom:2rem}.about-heading em{font-style:normal;color:#7a8490;font-weight:300}.about-text{font-size:1rem;line-height:1.9;color:#555;font-weight:300}.about-text strong{color:var(--color-navy, #1B3A5C);font-weight:600}.about-visual{position:relative;overflow:visible}.about-img-main{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:2px;display:block}.about-img-float{position:absolute;bottom:-3rem;right:-3rem;width:55%;aspect-ratio:4/3;object-fit:cover;border:6px solid #fff;border-radius:2px;box-shadow:0 20px 60px #00000026;z-index:2}.geo-bg-light .about{padding-bottom:13rem}.panorama{height:60vh;min-height:400px;position:relative;overflow:hidden}.panorama-bg{position:absolute;inset:-20% 0;background:url(/images/portfolio/residencial-panorama-baia-full.jpg) center/cover no-repeat;will-change:transform}.panorama-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#0f2640bf,#0f26404d)}.panorama-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding:0 3rem;max-width:800px}.panorama-quote{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;color:#fff;line-height:1.4}.panorama-quote strong{font-weight:700}.panorama-attr{margin-top:1.5rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--color-silver-light, #D0D4D8)}.segments{padding:10rem 3rem;background:var(--color-navy-dark, #0F2640)}.segments-inner{max-width:1400px;margin:0 auto}.segments-header{text-align:center;margin-bottom:6rem}.segments-label{font-size:.65rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:var(--color-silver, #A8B0B8);margin-bottom:1rem}.segments-title{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;color:#fff;letter-spacing:-.03em}.segments-title em{font-style:normal;color:var(--color-silver-light, #D0D4D8);font-weight:300}.segment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.segment-card{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;cursor:pointer}.segment-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.segment-card:hover img{transform:scale(1.08)}.segment-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(15,38,64,.9) 0%,transparent 60%);transition:background .5s;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem}.segment-card:hover .segment-card-overlay{background:linear-gradient(to top,#0f2640f2,#0f264033 70%)}.segment-num{font-size:.6rem;font-weight:700;letter-spacing:.3em;color:var(--color-gold-accent, #C9A96E);margin-bottom:.5rem}.segment-name{font-size:1.3rem;font-weight:700;color:#fff;margin:0 0 .5rem}.segment-desc{font-size:.8rem;font-weight:300;color:#fff9;line-height:1.6;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .4s}.segment-card:hover .segment-desc{max-height:100px;opacity:1}.portfolio{padding:10rem 3rem 5rem;background:transparent}.portfolio-inner{max-width:1400px;margin:0 auto}.portfolio-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem}.portfolio-title{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;color:var(--color-navy, #1B3A5C);letter-spacing:-.03em;line-height:1.1;margin:0}.portfolio-title em{font-style:normal;color:#7a8490;font-weight:300}.portfolio-link{font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-navy, #1B3A5C);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity .3s;white-space:nowrap}.portfolio-link:hover{opacity:.7}.portfolio-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:1.5rem}.portfolio-item{position:relative;overflow:hidden;border-radius:3px;cursor:pointer}.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}.portfolio-item:hover img{transform:scale(1.05)}.portfolio-big{grid-row:span 2;min-height:500px}.portfolio-small{min-height:240px}.portfolio-item-overlay{position:absolute;inset:0;background:#1b3a5c00;transition:background .5s;display:flex;align-items:flex-end;padding:2rem}.portfolio-item:hover .portfolio-item-overlay{background:#1b3a5c80}.portfolio-item-info{transform:translateY(20px);opacity:0;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s}.portfolio-item:hover .portfolio-item-info{transform:translateY(0);opacity:1}.portfolio-item-tag{font-size:.6rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold-accent, #C9A96E)}.portfolio-item-name{font-size:1.3rem;font-weight:700;color:#fff;margin:.3rem 0 0}.cta{padding:8rem 3rem;background:var(--color-navy, #1B3A5C);text-align:center}.cta-inner{max-width:700px;margin:0 auto}.cta-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;letter-spacing:-.03em;margin-bottom:1.5rem}.cta-title em{font-style:normal;color:var(--color-silver, #A8B0B8);font-weight:300}.cta-text{font-size:1rem;color:#fff9;font-weight:300;line-height:1.8;margin-bottom:3rem}.cta-btn{display:inline-flex;align-items:center;gap:.75rem;padding:1.1rem 2.5rem;background:transparent;border:1px solid var(--color-silver, #A8B0B8);color:#fff;font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .4s;position:relative;overflow:hidden}.cta-btn:before{content:"";position:absolute;inset:0;background:var(--color-silver-light, #D0D4D8);transform:translate(-101%);transition:transform .4s}.cta-btn:hover:before{transform:translate(0)}.cta-btn:hover{color:var(--color-navy-dark, #0F2640);border-color:var(--color-silver-light, #D0D4D8)}.cta-btn span,.cta-btn svg{position:relative;z-index:1}.cta-btn:hover svg{transform:translate(4px)}.cta-btn svg{transition:transform .3s}.grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px}.whatsapp-btn{position:fixed;bottom:1.5rem;right:1.5rem;z-index:50;display:flex;align-items:center;justify-content:center;width:70px;height:70px;background:#25d366;border-radius:50%;box-shadow:0 4px 20px #00000040;transition:background .2s,transform .2s;text-decoration:none;color:#fff}.whatsapp-btn:hover{background:#20bd5a;transform:scale(1.1)}.whatsapp-icon{width:36px;height:36px}.reveal{opacity:0;transform:translateY(50px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:900px){#nav{padding:1rem 1.5rem}.nav-links{display:none}.nav-hamburger{display:inline-flex;align-items:center}.hero-content{padding:0 1.5rem 3rem}.about{grid-template-columns:1fr;padding:5rem 1.5rem;gap:3rem}.about-img-float{display:none}.segment-grid{grid-template-columns:1fr}.segments,.portfolio{padding:5rem 1.5rem}.portfolio-grid{grid-template-columns:1fr}.portfolio-big{grid-row:span 1;min-height:350px}.portfolio-header{flex-direction:column;align-items:flex-start;gap:1rem}.panorama-content{padding:0 1.5rem}.cta{padding:5rem 1.5rem}.scroll-indicator{display:none}}
