:root{--slate:#4c5760;--mist:#93a8ac;--sand:#d7ceb2;--taupe:#a5998c;--olive:#66635b;--cream:#f4f1e9;--white:#fff;--ink:#30383d;--shell:min(1180px,calc(100% - 48px));}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Manrope",sans-serif;line-height:1.12}h1{font-size:clamp(3rem,7vw,6.7rem);max-width:900px;letter-spacing:-.055em;margin-bottom:24px}h2{font-size:clamp(2rem,4vw,4rem);letter-spacing:-.04em}h3{font-size:1.35rem}.shell{width:var(--shell);margin-inline:auto}.section{padding:120px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:600;color:var(--sand);margin-bottom:24px}.eyebrow.dark{color:var(--olive)}
.hero{min-height:100svh;color:#fff;position:relative;background:linear-gradient(90deg,rgba(38,49,57,.94) 0%,rgba(53,64,72,.72) 43%,rgba(52,62,68,.12) 73%),url("assets/skymap-panorama.jpg") center/cover no-repeat;display:flex;flex-direction:column}.nav{height:96px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.22);position:relative;z-index:5}.brand{color:inherit;text-decoration:none;font:700 1.15rem/1 "Manrope",sans-serif;letter-spacing:.21em;display:flex;align-items:center;gap:12px}.brand-mark{width:24px;height:24px;border:1px solid currentColor;border-radius:50%;position:relative}.brand-mark:after{content:"";position:absolute;width:13px;height:1px;background:currentColor;transform:rotate(-35deg);left:5px;top:11px}.nav-links{display:flex;gap:36px}.nav-links a{color:#fff;text-decoration:none;font-size:.92rem}.nav-links a:hover{color:var(--sand)}.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span:not(.sr-only){display:block;width:26px;height:1px;background:#fff;margin:6px}.hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:75px 120px}.hero-subtitle{font-size:clamp(1.1rem,2vw,1.45rem);max-width:580px;color:rgba(255,255,255,.82);margin-bottom:38px}.button{width:max-content;background:var(--taupe);color:#fff;text-decoration:none;padding:16px 23px;display:inline-flex;align-items:center;gap:28px;font-weight:600;transition:.25s}.button:hover{background:var(--sand);color:var(--ink);transform:translateY(-2px)}.scroll-cue{position:absolute;right:4%;bottom:42px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;display:flex;align-items:center;gap:12px}.scroll-cue span{display:block;width:38px;height:1px;background:#fff}
.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start;margin-bottom:70px}.section-intro h2{max-width:760px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(76,87,96,.28)}.benefit-grid article{padding:36px 36px 20px 0}.benefit-grid article+article{border-left:1px solid rgba(76,87,96,.28);padding-left:36px}.number{font-size:.74rem;letter-spacing:.15em;color:var(--olive);display:block;margin-bottom:50px}.benefit-grid p{color:var(--olive);max-width:310px}
.gallery{background:#e6e1d5;padding-bottom:48px}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:48px}.gallery-heading>div{max-width:680px}.gallery-heading>p{max-width:370px;color:var(--olive)}.gallery-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;min-height:320px}.gallery-main{grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.gallery-grid figure:hover img{transform:scale(1.025)}figcaption{position:absolute;inset:auto 0 0;background:linear-gradient(transparent,rgba(31,38,42,.85));padding:70px 24px 20px;color:#fff;display:flex;justify-content:space-between;font-size:.8rem}.gallery-cta{display:flex;justify-content:center;margin-top:48px}
.services{background:var(--slate);color:#fff}.services-heading{max-width:760px;margin-bottom:64px}.services-heading>p:last-child{color:rgba(255,255,255,.7);max-width:540px}.services-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:clamp(48px,7vw,100px);align-items:stretch}.services-image{min-width:0}.services-image img{width:100%;height:auto;display:block;object-fit:contain}.services-content{min-width:0;display:flex;flex-direction:column}.service-list article{display:grid;grid-template-columns:65px minmax(0,1fr);gap:25px;border-top:1px solid rgba(255,255,255,.22);padding:32px 0}.service-list article:last-child{border-bottom:1px solid rgba(255,255,255,.22)}.service-list span{font-size:.75rem;color:var(--sand);letter-spacing:.12em}.service-list p{color:rgba(255,255,255,.7);max-width:500px}.boundary-hint{margin-top:auto;padding-top:30px;padding-left:24px;border-left:2px solid var(--sand);max-width:560px}.boundary-hint h3{font-size:1rem;margin-bottom:8px}.boundary-hint p{margin:0;color:rgba(255,255,255,.64);font-size:.88rem;line-height:1.55;overflow-wrap:anywhere}
.process-heading{text-align:center;max-width:680px;margin:0 auto 80px}.process-list{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr)}.process-list li{padding:0 28px;border-left:1px solid rgba(76,87,96,.3);min-height:270px}.process-list li:last-child{border-right:1px solid rgba(76,87,96,.3)}.process-list>li>span{display:flex;width:42px;height:42px;border-radius:50%;background:var(--sand);align-items:center;justify-content:center;font-size:.75rem;margin-bottom:55px}.process-list p{color:var(--olive);font-size:.94rem}
.about{background:#0B100C;color:#fff}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;min-height:680px;position:relative}.about-portrait{height:680px;align-self:stretch}.about-portrait img{width:100%;height:100%;display:block;object-fit:contain;object-position:left center}.about-content{width:min(560px,calc(100vw - 80px));padding:80px 0;position:absolute;left:50%;transform:translateX(-50%)}.about-content h2{font-size:clamp(2rem,3.8vw,3.7rem);margin-bottom:32px}.about-content>p:not(.eyebrow){color:rgba(255,255,255,.7);max-width:560px}.about-content>p:last-child{margin-bottom:0}
.final-cta{padding:130px 0;background:linear-gradient(100deg,rgba(48,58,64,.96),rgba(76,87,96,.86)),url("assets/skymap-vista-aerea.jpg") center/cover;color:#fff;text-align:center}.cta-inner{display:flex;flex-direction:column;align-items:center}.cta-inner h2{max-width:850px}.contact-transition{width:100%;max-width:576px;margin-top:32px;position:relative;top:25px}.contact-transition h3{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:500;margin-bottom:12px;position:relative;top:-30px}.contact-transition p{color:rgba(255,255,255,.68);margin-bottom:0}.contact-placeholder{margin-top:32px;padding-top:28px;border-top:1px solid rgba(255,255,255,.25);width:min(620px,100%)}.contact-placeholder>p{margin-bottom:18px;font-size:1.1rem;font-weight:600}.contact-links{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.whatsapp-contact,.email-contact{display:inline-block;line-height:0;border:0;background:transparent;padding:8px 0}.whatsapp-contact img,.email-badge{display:flex;width:min(89.8px,42vw);aspect-ratio:173/65}.whatsapp-contact img{display:block;height:auto}.whatsapp-contact:hover,.email-contact:hover{opacity:.88}.whatsapp-contact:focus-visible,.email-contact:focus-visible{outline:2px solid #fff;outline-offset:5px}.email-contact{color:#fff;text-decoration:none}.email-badge{align-items:center;justify-content:center;gap:7px;overflow:hidden;border-radius:4px;background:#2f6fae;color:#fff;font:700 clamp(.58rem,3vw,.7rem)/1 "DM Sans",sans-serif;letter-spacing:.08em;white-space:nowrap}.email-icon{position:relative;flex:0 0 auto;width:19px;height:13px;border:1.5px solid currentColor;border-radius:1px}.email-icon:after{content:"";position:absolute;left:2px;right:2px;top:-1px;height:8px;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg) skew(7deg,7deg)}footer{background:#343d43;color:#fff;padding:38px 0}footer .shell{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:40px}footer p{margin:0;color:rgba(255,255,255,.58);font-size:.8rem}.privacy-link{color:#fff;font-size:.82rem;text-underline-offset:5px}.privacy-link:hover{color:var(--sand)}
@media(max-width:800px){:root{--shell:min(100% - 32px,1180px)}.section{padding:80px 0}.gallery{padding-bottom:48px}.hero{background-position:62% center}.nav{height:76px}.menu-toggle{display:block;z-index:2}.nav-links{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;gap:0;background:rgba(52,62,68,.98);padding:18px}.nav-links.open{display:flex}.nav-links a{padding:13px}.hero-content{padding-block:80px 100px}h1{font-size:clamp(2.75rem,14vw,4.6rem)}.scroll-cue{display:none}.section-intro,.services-layout{grid-template-columns:1fr;gap:32px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article,.benefit-grid article+article{padding:28px 0;border-left:0;border-bottom:1px solid rgba(76,87,96,.28)}.number{margin-bottom:24px}.gallery-heading{display:block}.gallery-grid{grid-template-columns:1fr}.gallery-grid figure{min-height:280px}.gallery-main{grid-row:auto;min-height:420px!important}.services-heading{margin-bottom:40px}.service-list article{padding:28px 0}.boundary-hint{margin-top:28px;padding-top:0}.process-list{grid-template-columns:1fr 1fr;gap:0}.process-list li{min-height:270px;border-bottom:1px solid rgba(76,87,96,.3)}.about-layout{grid-template-columns:1fr}.about-portrait{height:min(130vw,680px)}.about-portrait img{object-position:left top}.about-content{width:100%;padding:64px 16px 80px;max-width:none;position:static;transform:none}footer .shell{grid-template-columns:1fr;gap:18px;text-align:center;justify-items:center}}
@media(max-width:520px){.process-list{grid-template-columns:1fr}.process-list li{min-height:auto;padding:28px 14px}.process-list li:last-child{border-right:0}.process-list>li>span{margin-bottom:25px}.gallery-main{min-height:330px!important}.final-cta{padding:90px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.back-to-top{position:fixed;right:24px;bottom:24px;z-index:20;width:48px;height:48px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:rgba(76,87,96,.92);color:#fff;font-size:1.35rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(48,56,61,.2);opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s,visibility .25s,background .25s}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:var(--mist)}.back-to-top:focus-visible{outline:2px solid var(--sand);outline-offset:4px}@media(max-width:520px){.back-to-top{right:16px;bottom:16px}}@media(prefers-reduced-motion:reduce){.back-to-top{transition:none}}
.legal-page{background:var(--cream)}.legal-header{background:var(--slate);color:#fff;padding:28px 0}.legal-header .shell{display:flex;align-items:center;justify-content:space-between;gap:24px}.back-link{color:#fff;text-decoration:none;font-size:.92rem}.back-link:hover{color:var(--sand)}.legal-main{padding:90px 0 110px}.legal-article{max-width:820px}.legal-article .eyebrow{color:var(--olive)}.legal-article h1{font-size:clamp(2.6rem,6vw,5rem);color:var(--slate);max-width:760px}.legal-lead{font-size:1.15rem;color:var(--olive);max-width:720px;margin-bottom:56px}.legal-article section{padding:30px 0;border-top:1px solid rgba(76,87,96,.24)}.legal-article h2{font-size:clamp(1.4rem,2.5vw,2rem);letter-spacing:-.025em}.legal-article p,.legal-article li{color:var(--olive)}.legal-article ul{padding-left:22px}.legal-article a{color:var(--slate);text-underline-offset:4px}.legal-note{margin-top:34px;padding:22px;border-left:3px solid var(--taupe);background:#e9e4d9}.legal-footer .shell{grid-template-columns:1fr auto auto}@media(max-width:800px){.legal-header .shell{align-items:flex-start}.legal-main{padding:64px 0 80px}.legal-footer .shell{grid-template-columns:1fr}}
