:root{--navy:#071522;--navy-2:#0c2334;--ink:#112230;--cream:#f4f0e8;--paper:#fbfaf6;--copper:#b78653;--gold:#d7b37b;--muted:#7d8991;--line:rgba(15,35,50,.15);--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;left:16px;top:-60px;background:#fff;color:#000;padding:12px 16px;z-index:100}.skip-link:focus{top:16px}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:92px;display:flex;align-items:center;gap:42px;padding:0 max(24px,calc((100vw - 1180px)/2));color:#fff;border-bottom:1px solid rgba(255,255,255,.13)}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:38px;height:38px;border:1px solid var(--gold);display:grid;place-items:center;font:600 14px var(--serif);color:var(--gold);transform:rotate(45deg)}.brand-mark+span{display:grid}.brand-mark+span>*{transform:none}.brand strong{font:500 14px var(--serif);letter-spacing:.22em}.brand small{font-size:7px;letter-spacing:.25em;color:#b8c2ca}.site-header nav{display:flex;gap:28px;margin-left:auto}.site-header nav a,.header-cta{font-size:11px;text-transform:uppercase;letter-spacing:.13em}.site-header nav a{color:#d9e0e5;transition:.2s}.site-header nav a:hover{color:var(--gold)}.header-cta{border:1px solid rgba(255,255,255,.5);padding:13px 16px}.header-cta span,.button span,.text-link span{margin-left:14px}.nav-toggle{display:none}.dark{background:var(--navy);color:#fff}.light{background:var(--cream)}.section{position:relative;padding:118px 0}.wave{position:absolute;top:-1px;left:0;width:100%;height:34px;clip-path:polygon(0 0,100% 0,100% 22%,85% 65%,65% 28%,45% 72%,22% 30%,0 75%)}.wave-dark{background:var(--navy)}.wave-light{background:var(--cream)}.hero{height:min(820px,100vh);min-height:700px;position:relative;display:grid;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,15,24,.96) 0%,rgba(4,15,24,.78) 36%,rgba(4,15,24,.22) 68%,rgba(4,15,24,.05)),url("assets/images/aguascalientes-hero.png") center/cover no-repeat;transform:scale(1.02)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:180px;background:linear-gradient(transparent,var(--navy))}.hero-content{position:relative;z-index:2;padding-top:72px}.eyebrow{margin:0 0 16px;color:var(--copper);font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.dark .eyebrow{color:var(--gold)}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:-.025em;line-height:1.05;margin:0}h1{font-size:clamp(48px,6.8vw,92px);max-width:960px}h1 em,h2 em{font-weight:500;color:var(--gold)}.hero-types{display:flex;gap:14px;align-items:center;margin:28px 0 20px;color:#d7dee3;font-size:11px;text-transform:uppercase;letter-spacing:.18em}.hero-types i{width:3px;height:3px;background:var(--gold);border-radius:50%}.lead{max-width:600px;color:#d5dde3;font-size:18px}.actions{display:flex;gap:14px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.12em;border:1px solid transparent;cursor:pointer}.primary{background:var(--cream);color:var(--ink)}.ghost{border-color:rgba(255,255,255,.46);color:#fff}.dark-button{background:var(--navy);color:#fff}.scroll-cue{position:absolute;z-index:3;right:5vw;bottom:70px;display:grid;place-items:center;gap:8px;font-size:16px;color:var(--gold)}.scroll-cue span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#fff}.metrics{padding-top:66px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding-bottom:52px}.metrics-grid>div{padding:0 24px;border-right:1px solid var(--line);text-align:center}.metrics-grid>div:last-child{border:0}.metrics strong{display:block;font:500 36px var(--serif)}.metrics span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#66737c}.promo-bar{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:60px}.promo-bar h2{font-size:clamp(34px,4vw,56px);max-width:740px}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:58px}.section-heading h2,.about h2,.problem-grid h2,.purpose h2,.contact h2,.value h2{font-size:clamp(40px,5.3vw,70px)}.section-heading>p{max-width:420px;color:#acb8c0}.light .section-heading>p{color:#66737c}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.15)}.service-card{min-height:340px;padding:38px 30px;border-right:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;background:linear-gradient(145deg,rgba(255,255,255,.03),transparent);transition:.35s}.service-card:last-child{border:0}.service-card:hover{background:#102c41;transform:translateY(-7px)}.service-card>span,.steps span{font:500 14px var(--serif);color:var(--gold)}.service-card h3{font:500 36px var(--serif);margin:70px 0 10px}.service-card p{color:#aeb9c0}.service-card a{margin-top:auto;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.13em}.split{display:grid;grid-template-columns:1.12fr .88fr;gap:80px;align-items:center}.image-panel{position:relative}.image-panel img{aspect-ratio:1.35;object-fit:cover}.image-panel:before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--copper);z-index:0}.image-panel img{position:relative;z-index:1}.image-panel span{position:absolute;z-index:2;left:20px;bottom:16px;background:rgba(7,21,34,.86);color:#fff;padding:8px 12px;font-size:9px;letter-spacing:.15em;text-transform:uppercase}.about-copy p{color:#66737c}.about-copy blockquote{margin:28px 0;padding-left:24px;border-left:1px solid var(--copper);font:italic 21px var(--serif);color:var(--ink)}.text-link{display:inline-block;margin-top:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.problem-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.risk-list p{display:flex;gap:22px;align-items:center;margin:0;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.15);color:#d1dae0}.risk-list span{color:var(--gold);font:500 13px var(--serif)}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.benefit-grid>div{padding:34px 28px;border-right:1px solid var(--line)}.benefit-grid>div:last-child{border:0}.benefit-grid b{font-size:28px;color:var(--copper)}.benefit-grid h3{font:500 27px var(--serif);margin:30px 0 7px}.benefit-grid p{margin:0;color:#66737c}.value{min-height:620px;display:grid;align-items:center;overflow:hidden}.value-image{position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(7,21,34,.91) 43%,rgba(7,21,34,.2)),url("assets/images/portafolio-inmobiliario.png") center/cover no-repeat}.value-content{position:relative}.value-content>p:not(.eyebrow){max-width:530px;color:#c2cbd1;font-size:17px}.value-points{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.value-points span{padding:9px 13px;border:1px solid rgba(255,255,255,.3);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.purpose-inner{text-align:center;max-width:850px}.purpose-inner p:not(.eyebrow){max-width:650px;margin:26px auto;color:#66737c;font-size:18px}.method{padding-bottom:140px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.15)}.steps li{padding:28px 18px;border-right:1px solid rgba(255,255,255,.15)}.steps li:last-child{border:0}.steps h3{font:500 20px var(--serif);margin:38px 0 8px}.steps p{font-size:13px;color:#aeb9c0}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.contact-copy>p:not(.eyebrow){color:#66737c;font-size:17px}.direct-contact{display:grid;gap:8px;margin-top:40px;font-size:14px}.direct-contact a:first-child{font:500 27px var(--serif)}.direct-contact address{font-style:normal;color:#66737c;margin-top:10px}.lead-form{background:#fff;padding:38px;box-shadow:0 20px 70px rgba(16,30,40,.11)}.form-head{display:flex;gap:18px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.form-head span{color:var(--copper);font:500 14px var(--serif)}.form-head p{margin:0;font:500 21px var(--serif)}label{display:grid;gap:7px;margin-bottom:17px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#53616a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;border:0;border-bottom:1px solid #cad0d3;background:transparent;padding:10px 2px;font:15px var(--sans);color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--copper)}.submit{width:100%;background:var(--navy);color:#fff;margin-top:8px}.lead-form small{display:block;color:#899399;margin-top:14px;line-height:1.4}.footer{padding:60px 0 28px}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-links,.socials{display:flex;gap:24px}.footer-links a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#bac5cc}.socials a{width:32px;height:32px;border:1px solid #53626e;display:grid;place-items:center;font-size:10px}.legal{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:38px;color:#798791;font-size:11px}.legal a{color:#aeb9c0}.floating-whatsapp{position:fixed;z-index:30;right:20px;bottom:20px;background:#1f9e59;color:#fff;padding:13px 18px;border-radius:30px;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:12px;font-weight:700}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:76px;padding:0 22px}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--navy);padding:24px;flex-direction:column}.site-header nav.open{display:flex}.nav-toggle{display:block;margin-left:auto;color:#fff;background:none;border:1px solid #61707b;padding:9px 12px}.header-cta{display:none}.brand strong{font-size:12px}.hero{min-height:760px}.hero-content{padding-top:70px}.metrics-grid{grid-template-columns:1fr 1fr;gap:0}.metrics-grid>div{padding:24px;border-bottom:1px solid var(--line)}.promo-bar,.section-heading{display:block}.promo-bar .button{margin-top:28px}.section-heading>p{margin-top:24px}.service-grid{grid-template-columns:1fr}.service-card{min-height:270px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.service-card h3{margin-top:36px}.split,.problem-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-grid>div{border-bottom:1px solid var(--line)}.steps{grid-template-columns:repeat(3,1fr)}.steps li{border-bottom:1px solid rgba(255,255,255,.15)}.footer-top{display:grid;gap:34px}.footer-links{flex-wrap:wrap}}
@media(max-width:580px){.wrap{width:min(100% - 32px,1180px)}.section{padding:92px 0}.hero{min-height:720px}.hero-bg{background-position:62% center}.hero-content{padding-top:45px}h1{font-size:45px}.hero-types{align-items:flex-start;flex-direction:column;gap:6px}.hero-types i{display:none}.lead{font-size:16px}.actions{flex-direction:column;align-items:stretch}.scroll-cue{display:none}.metrics-grid{grid-template-columns:1fr 1fr}.metrics strong{font-size:29px}.metrics span{font-size:8px}.promo-bar h2,.section-heading h2,.about h2,.problem-grid h2,.purpose h2,.contact h2,.value h2{font-size:38px}.service-card{padding-inline:10px}.split{gap:48px}.image-panel:before{display:none}.benefit-grid{grid-template-columns:1fr}.benefit-grid>div{border-right:0}.steps{grid-template-columns:1fr 1fr}.steps li{padding:24px 14px}.contact-grid{gap:42px}.lead-form{padding:26px 20px}.form-row{grid-template-columns:1fr}.footer-links{display:grid;grid-template-columns:1fr 1fr}.floating-whatsapp{right:12px;bottom:12px}.wave{height:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.hero-bg{background-image:linear-gradient(90deg,rgba(4,15,24,.96) 0%,rgba(4,15,24,.78) 36%,rgba(4,15,24,.22) 68%,rgba(4,15,24,.05)),url("assets/images/aguascalientes-centro-hero-v2.webp")}
.hero-location{display:flex;align-items:baseline;gap:14px;margin:0 0 18px;color:#fff;text-transform:uppercase}.hero-location span{font:500 clamp(24px,3vw,42px) var(--serif);letter-spacing:.12em}.hero-location small{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.28em}
@media(max-width:580px){.hero-location{display:grid;gap:2px}.hero-location span{font-size:28px;letter-spacing:.08em}}
.value-image{background-image:linear-gradient(90deg,var(--navy) 0%,rgba(7,21,34,.91) 43%,rgba(7,21,34,.2)),url("assets/images/portafolio-inmobiliario.webp")}
.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.field-error{display:block;min-height:0;color:#a5372a;font-size:11px;letter-spacing:0;text-transform:none}.field-error:not(:empty){margin-top:3px}.has-error{border-color:#a5372a!important}.form-status{margin:14px 0;padding:13px 15px;font-size:13px;line-height:1.45}.form-status.success{background:#e7f4eb;color:#176533;border-left:3px solid #2f8b50}.form-status.error{background:#f8e9e6;color:#8d2d25;border-left:3px solid #b7473d}.form-status a{text-decoration:underline;font-weight:700}.submit:disabled{cursor:wait;opacity:.68}.cf-turnstile{margin:18px 0}.lead-form small a{text-decoration:underline;color:var(--ink)}

/* Portrait reinforces the personal advisory message in the "Sobre Luis" section. */
.portrait-panel img{aspect-ratio:5 / 4;max-height:500px;object-position:center top}

/* Property galleries */
.properties{padding:104px 0 124px}.properties-heading{display:flex;justify-content:space-between;gap:48px;align-items:end;margin-bottom:64px}.properties-heading h2{font-size:clamp(40px,5.3vw,70px)}.properties-heading>p{max-width:370px;margin:0;color:#acb8c0}.property-carousel{padding:34px 0 48px;border-top:1px solid rgba(255,255,255,.18)}.property-carousel:last-child{padding-bottom:0}.property-carousel-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.property-label{margin:0 0 3px;color:var(--gold);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.property-carousel h3{margin:0;font:500 clamp(28px,3vw,40px) var(--serif)}.carousel-controls{display:flex;align-items:center;gap:8px}.carousel-count{margin-right:8px;color:#b9c3ca;font:500 13px var(--serif);letter-spacing:.08em}.carousel-button{width:42px;height:42px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:19px;cursor:pointer;transition:.2s}.carousel-button:hover,.carousel-button:focus-visible{background:var(--gold);border-color:var(--gold);color:var(--navy)}.carousel-track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,30vw,352px);gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scroll-behavior:smooth;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(255,255,255,.16)}.carousel-track:focus-visible{outline:1px solid var(--gold);outline-offset:5px}.carousel-track::-webkit-scrollbar{height:7px}.carousel-track::-webkit-scrollbar-track{background:rgba(255,255,255,.12)}.carousel-track::-webkit-scrollbar-thumb{background:var(--gold)}.carousel-track figure{position:relative;min-height:360px;margin:0;overflow:hidden;background:#102838;scroll-snap-align:start}.carousel-track img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.carousel-track figure:hover img{transform:scale(1.04)}.carousel-track figcaption{position:absolute;left:12px;bottom:12px;margin:0;padding:7px 10px;background:rgba(7,21,34,.82);color:#fff;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:900px){.properties-heading{display:block;margin-bottom:48px}.properties-heading>p{margin-top:22px}.carousel-track{grid-auto-columns:clamp(210px,48vw,320px)}.carousel-track figure{min-height:330px}}
@media(max-width:580px){.properties{padding:84px 0 92px}.properties-heading h2{font-size:38px}.property-carousel{padding:30px 0 42px}.property-carousel-head{align-items:center}.carousel-track{grid-auto-columns:76vw;gap:12px}.carousel-track figure{min-height:370px}.carousel-count{display:none}.carousel-button{width:38px;height:38px}}

/* Reusable conversion actions distributed across the page. */
.whatsapp-button{background:#1f9e59;color:#fff;border-color:#1f9e59}
.whatsapp-button:before,.floating-whatsapp:before,.whatsapp-header:before{content:"";width:17px;height:17px;flex:0 0 17px;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='white' d='M16 3A12.8 12.8 0 0 0 5 22.4L3.3 29l6.8-1.8A13 13 0 1 0 16 3Zm0 23.6a10.5 10.5 0 0 1-5.3-1.5l-.4-.2-4 .9 1.1-3.8-.2-.4A10.5 10.5 0 1 1 16 26.6Zm5.8-7.8c-.3-.2-1.9-1-2.2-1.1-.3-.1-.5-.2-.8.2-.2.3-.8 1.1-1.1 1.3-.2.2-.4.2-.7.1-2-1-3.4-1.9-4.8-4.2-.4-.7.4-.7 1.1-2.2.1-.2 0-.5 0-.7l-1-2.4c-.3-.6-.6-.5-.8-.5h-.7c-.3 0-.7.1-1 .5-.3.4-1.3 1.3-1.3 3.2s1.4 3.7 1.6 4c.2.3 2.7 4.2 6.6 5.9 2.5 1.1 3.5 1.1 4.7.9 1.4-.2 1.9-1.3 2.2-2.6.2-1.2.2-2.2.1-2.4-.2-.2-.5-.3-.9-.5Z'/%3E%3C/svg%3E")}
.whatsapp-button{gap:9px}
.whatsapp-button span{margin-left:5px}
.floating-whatsapp{display:flex;align-items:center;gap:8px}
.whatsapp-header{display:flex;align-items:center;gap:8px}
.whatsapp-button:hover,.whatsapp-button:focus-visible{background:#18854a;border-color:#18854a}
.outline-dark{border-color:var(--navy);color:var(--navy)}
.section-actions,.contact-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.properties>.wrap>.section-actions{justify-content:center;margin-top:56px}
.purpose-inner .button{margin-top:8px}
@media(max-width:580px){.section-actions,.contact-actions{flex-direction:column;align-items:stretch}.section-actions .button,.contact-actions .button{width:100%}}

/* Visible contact numbers for visitors and search engines. */
.direct-contact a:nth-child(-n+2){display:flex;align-items:baseline;gap:12px;font:500 27px var(--serif)}
.direct-contact a small{min-width:64px;color:#66737c;font:700 9px var(--sans);letter-spacing:.13em;text-transform:uppercase}
@media(max-width:580px){.direct-contact a:nth-child(-n+2){font-size:23px}}
