/* Solvay · Salvia Editorial · Brand guide v1 / 2026 */
:root{--hueso:#F3F1EA;--cal:#DCD9CD;--salvia:#A9B39A;--olivo:#4A5440;--nogal:#8C6A4F;--carbon:#22251F;--ink:var(--carbon);--teal:var(--olivo);--paper:var(--hueso);--sand:var(--hueso);--olive:var(--olivo);--line:var(--cal);--muted:var(--olivo);--white:var(--hueso)}
*,*::before,*::after{border-radius:0!important;box-shadow:none!important;text-shadow:none!important}
body{font-family:'Instrument Sans',Arial,sans-serif;font-weight:400;color:var(--carbon);background:var(--hueso);font-size:16px;line-height:1.7}
h1,h2,h3,.herosub,.statement,.names,.bigprice,.total strong,.stats strong,.media-placeholder strong,.video-player p,.footerhead>span,.video-placeholder strong{font-family:'Newsreader',Georgia,serif;font-weight:400;letter-spacing:-.025em}
h1{font-weight:300;line-height:1.06}h2{line-height:1.12}h3{line-height:1.2}em{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;color:var(--olivo)}
header{height:128px;background:var(--hueso);color:var(--carbon);border-bottom:1px solid var(--cal);padding-inline:5%}
.logo{font-family:'Newsreader',Georgia,serif;font-weight:300;letter-spacing:.3em;font-size:36px;line-height:1.15;min-width:120px;padding-left:.3em;display:inline-block;color:var(--carbon)}
.logo span{font-family:'Instrument Sans',Arial,sans-serif;font-weight:400;font-size:8px;letter-spacing:.24em;line-height:2.8;white-space:nowrap;padding-right:.3em}
.headerleft,.headeright{font-size:12px;color:var(--olivo)}
.headerleft:hover,.headeright:hover,.section-nav a:hover{color:var(--carbon);text-decoration:underline;text-underline-offset:6px}
.eyebrow,.tag,.num,.media-placeholder>span{font-family:'Instrument Sans',Arial,sans-serif;font-weight:600;letter-spacing:.2em;color:var(--olivo)}
.hero{background:var(--olivo)}.hero:after{background:rgba(34,37,31,.12)}
.hero .herocontent{background:var(--hueso);color:var(--carbon);border:1px solid var(--cal);padding:32px 42px;width:min(850px,88%)}
.hero .eyebrow{color:var(--olivo);font-size:10px;margin-bottom:24px}.hero h1{font-size:clamp(44px,5vw,74px)}
.hero-intro{background:var(--hueso)}.herosub{font-weight:400}.herodesc{color:var(--olivo)}
.section-nav{border-color:var(--cal)}.section-nav a{color:var(--olivo)}
.sand{background:var(--hueso)}
.btn{font-family:'Instrument Sans',Arial,sans-serif;font-weight:500;background:var(--carbon);color:var(--hueso);border:1px solid var(--carbon);padding:16px 22px;transition:background .15s,color .15s;transform:none!important}
.btn:hover{background:var(--olivo);border-color:var(--olivo)}.btn.outline{background:transparent;color:var(--carbon);border-color:var(--carbon)}.btn.outline:hover{background:var(--cal);border-color:var(--carbon)}
.features{gap:24px}.features article{background:var(--cal);padding:30px 26px;border:1px solid var(--cal)}
.features article:nth-child(2),.features article:nth-child(3),.features article:nth-child(5),.features article:nth-child(6){background:var(--hueso)}
.features article:nth-child(4){background:var(--salvia);border-color:var(--salvia)}
.features p,.intro,.details p,.details li,.video-layout p,.limited p{color:var(--olivo)}
.feature-image{border:1px solid var(--cal)}.num{font-size:10px;color:var(--olivo)}
.statement{font-weight:400;font-style:normal;border-color:var(--cal);color:var(--olivo)}
.audiences article{background:var(--cal);color:var(--carbon);padding:38px;border:1px solid var(--cal)}
.audiences article:nth-child(2){background:var(--salvia);color:var(--carbon);border-color:var(--salvia)}
.audiences article:nth-child(2) p,.audiences article:nth-child(2) .tag{color:var(--carbon)}.audiences p{color:var(--carbon)}
li:before{color:var(--olivo)}.limited{border-color:var(--cal)}
.media-placeholder{background:var(--olivo);color:var(--hueso)}.media-placeholder:after{display:none}.media-placeholder>span{color:var(--hueso)}
.media-placeholder.predio-photo,.media-placeholder.entorno-photo,.media-placeholder.lotes-photo{color:var(--hueso)}.render-label{color:var(--hueso)}
.video-player{background:var(--olivo);border:1px solid var(--cal)}.video-player video{background:var(--carbon)}.video-player p{font-family:'Newsreader',Georgia,serif;color:var(--hueso);font-weight:400}
.stats{background:var(--cal);border-block:1px solid var(--cal);padding-block:36px}.stats strong{font-weight:300;color:var(--carbon)}.stats span{font-family:'Instrument Sans',Arial,sans-serif;color:var(--olivo)}
.dark{background:var(--olivo);color:var(--hueso)}.dark .eyebrow,.dark .tag,.dark .lead,.zonegrid p,.zonegrid li{color:var(--hueso)}.dark .statement{color:var(--hueso);border-color:var(--salvia)}.dark li:before,.names i{color:var(--salvia)}.dark em{color:var(--hueso)}
.pricing{gap:24px;align-items:stretch}.pricing>div:first-child{background:var(--olivo);color:var(--hueso);padding:36px}.pricing>div:first-child .tag,.pricing>div:first-child p{color:var(--hueso)}.bigprice{font-weight:300}.bigprice small{font-family:'Instrument Sans',Arial,sans-serif}
.calculator{background:var(--cal);border:1px solid var(--cal);padding:35px}.calculator .tag{color:var(--olivo)}.calculator label,.payrow,.calculator output{font-family:'Instrument Sans',Arial,sans-serif}.calculator input{accent-color:var(--olivo)}.total,.payrow{border-color:#b7b7a8}.total strong{color:var(--carbon);font-weight:300}.payrow.monthly{background:var(--salvia);color:var(--carbon)}.note{color:var(--olivo)}
.trust{gap:40px}.trust article,.trust article:nth-child(2){background:transparent;border-top:1px solid var(--carbon);padding:26px 0 0}.trust li{border-color:var(--cal);padding-left:0;padding-right:25px}.trust li:before{left:auto;right:0;color:var(--olivo)}.trust article:nth-child(2){background:var(--cal);padding:26px}.trust p,.social p{color:var(--olivo)}.social{border-color:var(--cal)}
.cta.dark{background:var(--hueso);color:var(--carbon);border-block:1px solid var(--cal)}.cta.dark .eyebrow,.cta.dark .lead,.cta.dark .contactlist ul{color:var(--olivo)}.cta.dark li:before{color:var(--olivo)}.cta.dark em{color:var(--olivo)}
.dark .btn{background:var(--carbon);border-color:var(--carbon);color:var(--hueso)}.dark .btn:hover{background:var(--olivo);border-color:var(--olivo)}.dark .btn.outline{background:transparent;color:var(--carbon);border-color:var(--carbon)}.dark .btn.outline:hover{background:var(--cal)}
footer{background:var(--hueso)}.footerhead>span{font-family:'Newsreader',Georgia,serif;color:var(--olivo)}.footerlinks,.terms{color:var(--olivo);border-color:var(--cal)}.footerlinks a:hover,.footerlinks button:hover{color:var(--carbon)}
dialog{background:var(--hueso);color:var(--carbon);border:1px solid var(--cal)}dialog::backdrop{background:rgba(34,37,31,.8)}dialog p{color:var(--olivo)}dialog textarea{font-family:'Instrument Sans',Arial,sans-serif;background:var(--cal);border-color:var(--cal);color:var(--carbon)}.close{color:var(--carbon)}
:focus-visible{outline:2px solid var(--olivo);outline-offset:5px}.dark :focus-visible{outline-color:var(--hueso)}.cta :focus-visible{outline-color:var(--olivo)}.hero-photo{filter:none}
@media(max-width:900px){.pricing>div:first-child,.calculator{padding:28px}.audiences article{padding:28px}}
@media(max-width:600px){html{scroll-padding-top:100px}header{height:104px;padding:0 5%;gap:10px}.logo{font-size:28px;letter-spacing:.3em}.logo span{font-size:6px;letter-spacing:.19em}.headerleft,.headeright{font-size:10px}.hero .herocontent{padding:28px 18px}.hero h1{font-size:44px}.hero .eyebrow{font-size:8px;letter-spacing:.16em}.features article{padding:24px 18px}.features h3{font-size:25px}.features p{font-size:13px}.stats{padding:28px 10px}.stats strong{font-size:clamp(24px,5.8vw,35px)}.stats span{font-size:10px}.trust{gap:28px}.pricing>div:first-child,.calculator{padding:26px}.bigprice{font-size:65px}.footerhead .logo{font-size:29px}.footerhead>span{font-size:21px}}
@media(max-width:380px){header{grid-template-columns:1fr auto;gap:16px}.headerleft{display:none}.logo{justify-self:start}.headeright{font-size:10px}.hero h1{font-size:39px}}

/* Photo-led banner and a clear Mexican peso dollar sign. */
.hero{height:clamp(470px,44vw,620px);min-height:470px;align-items:start}
.hero:after{background:linear-gradient(180deg,rgba(34,37,31,.65) 0%,rgba(34,37,31,.32) 30%,rgba(34,37,31,.04) 70%,transparent 100%)}
.hero .herocontent{position:absolute;top:36px;left:6%;width:min(850px,88%);margin:0;background:transparent;border:0;padding:0;text-align:left;color:var(--hueso)}
.hero .eyebrow{color:var(--hueso);margin-bottom:22px}.hero h1{color:var(--hueso);font-size:clamp(44px,5vw,72px);max-width:800px}.hero h1 em{color:var(--hueso)}
.hero-photo{object-position:center 56%}
.peso{font-family:'Instrument Sans',Arial,sans-serif!important;font-style:normal;font-weight:400;letter-spacing:0;display:inline!important;margin:0!important}
.stats .peso{font-size:.9em;line-height:inherit;color:inherit}.bigprice .peso{font-size:.72em;vertical-align:.05em;line-height:inherit}
.total strong{font-family:'Instrument Sans',Arial,sans-serif;font-size:36px;font-weight:400}
@media(max-width:600px){.hero{height:450px;min-height:450px}.hero .herocontent{top:30px;padding:0;left:6%;width:88%}.hero .eyebrow{font-size:8px;margin-bottom:20px}.hero h1{font-size:44px}.hero-photo{object-position:50% center}.total strong{font-size:32px}}
@media(max-width:380px){.hero h1{font-size:39px}}

/* Prominent total entry price and a centered payment plan. */
.entry-price{max-width:740px;margin:28px auto 26px;padding:28px 24px;background:var(--olivo);color:var(--hueso);text-align:center;border:1px solid var(--olivo)}
.entry-price .tag{color:var(--hueso);margin-bottom:14px;font-size:10px}.entry-price>strong{display:block;font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:clamp(40px,5.5vw,66px);line-height:1.15;letter-spacing:-.02em}.entry-price .peso{font-size:.75em}.entry-price .price-unit{font-family:'Instrument Sans',Arial,sans-serif;font-size:.34em;font-weight:400;letter-spacing:.05em}.entry-price small{display:block;font-size:12px;line-height:1.6;margin-top:12px;color:var(--hueso)}
.payment-summary{margin:40px auto 0;padding:32px;max-width:100%;background:var(--cal);border:1px solid var(--cal);text-align:center}.payment-summary h3{margin:0 0 26px;font-family:'Instrument Sans',Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--olivo)}
.payment-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}.payment-stages li{padding:8px 22px;border-left:1px solid #b9bdad}.payment-stages li:first-child{border-left:0}.payment-stages li:before{display:none}.payment-stages strong{display:block;font-family:'Newsreader',Georgia,serif;font-size:52px;font-weight:300;line-height:1.15;color:var(--carbon)}.payment-stages span{display:block;max-width:210px;margin:12px auto 0;font-family:'Instrument Sans',Arial,sans-serif;font-size:14px;line-height:1.6;color:var(--carbon)}
@media(max-width:600px){.entry-price{padding:25px 18px;margin-top:24px}.entry-price>strong{font-size:48px}.payment-summary{padding:28px 18px}.payment-stages li{padding:8px 12px}.payment-stages strong{font-size:44px}.payment-stages span{font-size:13px}}
@media(max-width:480px){.entry-price>strong{font-size:42px}.entry-price .tag{font-size:9px}.payment-stages{grid-template-columns:1fr}.payment-stages li{display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center;border-left:0;border-top:1px solid #b9bdad;padding:20px 5px}.payment-stages li:first-child{border-top:0;padding-top:0}.payment-stages li:last-child{padding-bottom:0}.payment-stages span{margin:0;text-align:left;font-size:14px}.payment-stages strong{font-size:44px;text-align:center}}

/* Initial price comparison with owner-provided market references. */
.price-comparison{max-width:800px;margin:36px auto 30px;text-align:left}.price-comparison h2{text-align:center;font-family:'Newsreader',Georgia,serif;font-size:34px;font-weight:400;margin-bottom:22px}.comparison-table-wrap{border:1px solid var(--cal)}.price-comparison table{width:100%;border-collapse:collapse;table-layout:fixed;font-family:'Instrument Sans',Arial,sans-serif;font-size:14px}.comparison-caption{padding:13px 20px;text-align:left;font-size:11px;color:var(--olivo);letter-spacing:.04em;border-bottom:1px solid var(--cal);background:var(--hueso)}.price-comparison thead{background:var(--cal)}.price-comparison th,.price-comparison td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--cal);vertical-align:middle}.price-comparison thead th{font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.price-comparison th:first-child{width:65%}.price-comparison th:last-child,.price-comparison td:last-child{text-align:right}.price-comparison tbody th{font-weight:400}.price-comparison tr:last-child th,.price-comparison tr:last-child td{border-bottom:0}.price-comparison .solvay-row{background:var(--olivo);color:var(--hueso)}.price-comparison .solvay-row th{font-weight:600}.solvay-row small{display:block;margin-top:5px;font-size:11px;font-weight:400;line-height:1.5}.solvay-row td>span{display:block;font-size:10px;margin-bottom:2px}.solvay-row td strong{font-family:'Instrument Sans',Arial,sans-serif;font-size:23px;font-weight:600;white-space:nowrap}.comparison-message{font-family:'Newsreader',Georgia,serif;font-size:24px;line-height:1.35;text-align:center;color:var(--olivo);margin:20px 0 14px}.comparison-note{font-family:'Instrument Sans',Arial,sans-serif;font-size:10px;line-height:1.7;color:var(--olivo);margin:0;text-align:left}
@media(max-width:600px){.price-comparison{margin-top:28px}.price-comparison h2{font-size:30px}.price-comparison th,.price-comparison td{padding:12px 14px}.price-comparison table{font-size:13px}.price-comparison thead th{font-size:10px;letter-spacing:.06em}.solvay-row small{font-size:10px}.solvay-row td strong{font-size:21px}.comparison-message{font-size:22px}.comparison-caption{padding:12px 14px}}
@media(max-width:380px){.price-comparison th:first-child{width:62%}.price-comparison th,.price-comparison td{padding:12px 10px}.solvay-row td strong{font-size:19px}}

/* Solvay verbal signature on the banner, opposite the main headline. */
.hero:after{background:radial-gradient(ellipse 75% 65% at top left,rgba(34,37,31,.40) 0%,rgba(34,37,31,.15) 38%,transparent 75%),radial-gradient(ellipse 45% 60% at bottom right,rgba(34,37,31,.32) 0%,rgba(34,37,31,.08) 40%,transparent 75%)}
.banner-signature{position:absolute;right:6%;bottom:30px;z-index:1;margin:0;text-align:right;font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(26px,2.8vw,39px);line-height:1.08;letter-spacing:-.025em;color:var(--hueso);pointer-events:none}.banner-signature span{display:block}
@media(max-width:600px){.banner-signature{right:6%;bottom:26px;font-size:27px;line-height:1.08}}
@media(max-width:380px){.banner-signature{font-size:25px}}

/* Highlighted price statement above the comparison. */
.price-claim{margin:0 0 26px;padding:25px 24px;background:var(--salvia);color:var(--carbon);border:1px solid var(--olivo);text-align:center;font-family:'Newsreader',Georgia,serif;font-weight:400;font-size:clamp(34px,4.4vw,48px);line-height:1.15;letter-spacing:-.025em}
@media(max-width:600px){.price-claim{font-size:36px;padding:23px 18px;margin-bottom:24px}}

/* Center the initial-offer block on desktop, keeping the mobile layout. */
@media(min-width:601px){.limited{grid-template-columns:minmax(0,1fr);gap:22px;text-align:center;padding-bottom:12px}.limited>div{width:100%;max-width:760px;margin-inline:auto}.limited h3{max-width:760px;margin:0 auto}.limited>p{max-width:840px;margin:0 auto}.limited .tag{text-align:center}}

/* Gallery expansion: double click on desktop, tap on touch devices. */
.media-placeholder.predio-photo{background-image:linear-gradient(180deg,rgba(15,31,30,.45),rgba(15,31,30,.08) 45%,rgba(15,31,30,.65)),url("assets/solvay-predio-actualizado.jpg")}
.image-expand,.image-expand img{cursor:default}.image-expand:focus-visible{outline:2px solid var(--olivo);outline-offset:5px}
dialog.image-lightbox{width:min(1200px,94vw);max-width:94vw;max-height:94dvh;padding:48px 18px 18px;border:1px solid var(--cal);background:var(--carbon);color:var(--hueso);overflow:auto;overscroll-behavior:contain}dialog.image-lightbox::backdrop{background:rgba(0,0,0,.88)}.image-lightbox figure{margin:0;text-align:center}.image-lightbox img{display:block;max-width:100%;max-height:calc(94dvh - 140px);width:auto;height:auto;object-fit:contain;margin:0 auto}.image-lightbox figcaption{font-family:'Instrument Sans',Arial,sans-serif;font-size:13px;line-height:1.5;color:var(--hueso);text-align:center;margin-top:14px}.image-close{position:absolute;top:4px;right:12px;border:0;background:transparent;color:var(--hueso);font-size:32px;line-height:40px;width:44px;height:40px}.image-lightbox>a{display:block;width:fit-content;margin:12px auto 0;color:var(--hueso);font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){dialog.image-lightbox{padding:48px 10px 16px;width:96vw;max-width:96vw}.image-lightbox img{max-height:calc(94dvh - 155px)}}

/* Automatically looping map video replaces the Entorno photograph. */
.media-placeholder.entorno-video-card{background:var(--olivo);padding:22px 18px;gap:16px;justify-content:space-between;min-width:0}.entorno-video-card:after{display:none}.entorno-video-card .entorno-loop{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:var(--olivo);min-height:0}.entorno-video-card>span{flex-shrink:0}.entorno-video-card>strong{font-size:29px;flex-shrink:0}
@media(max-width:600px){.media-placeholder.entorno-video-card{min-width:82%;scroll-snap-align:start}.entorno-video-card>strong{font-size:30px}}

/* New vertical Entorno video, shown in full. */
.entorno-video-card .entorno-loop{aspect-ratio:9/16;max-height:360px;object-fit:contain}

/* Full-rectangle 9:16 Entorno video, with captions overlaid like the photo cards. */
.media-placeholder.entorno-video-card{position:relative;display:block;padding:0;gap:0;aspect-ratio:9/16;min-height:0;height:auto;background:var(--olivo);overflow:hidden}
.entorno-video-card .entorno-loop{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;aspect-ratio:9/16;object-fit:cover}
.media-placeholder.entorno-video-card:after{content:'';display:block;position:absolute;inset:0;width:auto;height:auto;box-shadow:none;border:0;background:linear-gradient(180deg,rgba(34,37,31,.35),transparent 18%,transparent 70%,rgba(34,37,31,.5));pointer-events:none;z-index:1}
.entorno-video-card>span{position:absolute;top:22px;left:20px;right:20px;z-index:2;color:var(--hueso);font-size:10px;pointer-events:none}
.entorno-video-card>strong{position:absolute;left:20px;right:20px;bottom:56px;z-index:2;font-size:clamp(20px,2.4vw,32px);color:var(--hueso);pointer-events:none}
@media(max-width:600px){.media-placeholder.entorno-video-card{padding:0;min-height:0;aspect-ratio:9/16}.entorno-video-card>strong{font-size:27px;bottom:58px}}

/* Square 1:1 map video. Captions sit outside the map to keep it fully visible. */
.media-placeholder.entorno-video-card{display:flex;flex-direction:column;aspect-ratio:auto;height:auto;min-height:0;padding:0;gap:0;justify-content:space-between}.media-placeholder.entorno-video-card:after{display:none}.entorno-video-card .entorno-loop{position:static;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:1/1;object-fit:contain;flex:none}.entorno-video-card>span{position:static;inset:auto;padding:18px 20px;font-size:10px;z-index:auto}.entorno-video-card>strong{position:static;inset:auto;padding:18px 20px;font-size:28px;z-index:auto}
@media(max-width:600px){.media-placeholder.entorno-video-card{aspect-ratio:auto;min-height:0;padding:0}.entorno-video-card>strong{font-size:27px}}

/* All three gallery cards use a square outer frame, not just square media. */
.gallery{align-items:start}
.gallery>.media-placeholder{position:relative;display:block;box-sizing:border-box;aspect-ratio:1/1;height:auto;min-height:0;max-height:none;align-self:start;padding:0;overflow:hidden}
.gallery>.media-placeholder>span{position:absolute;top:16px;left:16px;right:16px;padding:0;margin:0;font-size:9px;z-index:2;pointer-events:none}
.gallery>.media-placeholder>strong{position:absolute;left:16px;right:16px;bottom:20px;padding:0;margin:0;font-size:clamp(20px,2.3vw,32px);line-height:1.12;z-index:2;pointer-events:none}
.gallery>.lotes-photo>strong{bottom:34px}.gallery>.lotes-photo>.render-label{left:16px;bottom:12px;font-size:8px;z-index:2}
.gallery>.entorno-video-card .entorno-loop{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:1/1;max-height:none;object-fit:contain;margin:0;padding:0}
.gallery>.entorno-video-card>strong{bottom:44px}
.gallery>.entorno-video-card:after{content:'';display:block;position:absolute;inset:0;width:auto;height:auto;border:0;background:linear-gradient(180deg,rgba(34,37,31,.42),transparent 20%,transparent 60%,rgba(34,37,31,.55));pointer-events:none;z-index:1}
@media(max-width:600px){.gallery>.media-placeholder{flex:0 0 82%;width:82%;min-width:82%;min-height:0;height:auto;aspect-ratio:1/1;padding:0}.gallery>.media-placeholder>strong{font-size:27px}.gallery>.media-placeholder>span{font-size:9px}}

/* Project renders supplied by the owner. Existing sections and gallery stay intact. */
.project-render{margin:36px 0;min-width:0}
.project-render .render-expand{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;line-height:0}
.project-render img{display:block;width:100%;height:auto}
.project-render figcaption{margin:12px 0 0;font-family:'Instrument Sans',Arial,sans-serif;font-size:11px;line-height:1.6;color:var(--olivo)}
.render-entrance{margin:36px 0 0}.render-entrance img{max-height:560px;object-fit:cover;object-position:center}
.audiences .render-family{margin:0 0 26px}.render-family figcaption{font-size:10px}
#datos .render-urbanization{margin:0 0 36px}
.media-placeholder.lotes-photo{background-image:linear-gradient(180deg,rgba(34,37,31,.46),rgba(34,37,31,.04) 45%,rgba(34,37,31,.72)),url("assets/solvay-render-aerea.jpg")}
@media(max-width:600px){.project-render{margin-block:26px}.render-entrance{margin-bottom:0}.render-entrance img{max-height:none}.project-render figcaption{font-size:10px}.audiences .render-family{margin-bottom:24px}#datos .render-urbanization{margin-bottom:28px}}

/* Gallery captions below square media, keeping photographs and map unobstructed. */
.gallery-captions-below{align-items:start}
.gallery-card{margin:0;min-width:0;color:var(--carbon)}
.gallery-card .gallery-media{position:relative;display:block;width:100%;aspect-ratio:1/1;padding:0;border:0;background:var(--olivo);overflow:hidden;line-height:0}
.gallery-card .gallery-media img,.gallery-card .gallery-media video{position:static;display:block;width:100%;height:100%;aspect-ratio:1/1;max-height:none;margin:0;padding:0;object-fit:cover}
.gallery-card .gallery-media video{object-fit:contain}
.gallery-card figcaption{padding:20px 0 0;line-height:1.6}
.gallery-category{display:block;margin-bottom:12px;font-family:'Instrument Sans',Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.17em;color:var(--olivo)}
.gallery-card h3{margin:0;font-size:clamp(25px,2.6vw,34px);line-height:1.2;color:var(--carbon)}
.gallery-card figcaption small{display:block;margin-top:10px;font-size:11px;color:var(--olivo)}
@media(max-width:600px){.gallery-captions-below>.gallery-card{flex:0 0 82%;width:82%;min-width:82%;scroll-snap-align:start}.gallery-card figcaption{padding-top:18px}.gallery-card h3{font-size:28px}.gallery-category{font-size:10px;margin-bottom:10px}}

/* Use the standard cursor on the two gallery photographs, including their images. */
.gallery-card .gallery-media.image-expand,.gallery-card .gallery-media.image-expand img{cursor:default}

/* Requested banner location treatment and a larger centered project video. */
.hero .eyebrow{color:#000}
.video-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:1000px;margin-inline:auto}
.video-layout>.video-player{width:100%;justify-self:center}
.video-layout>div:last-child{width:100%;max-width:790px;margin-inline:auto}
@media(max-width:600px){.video-layout{gap:26px}}

/* Keep the skyline visible at every viewport size and restore white location text. */
.hero .hero-photo{object-position:50% 0%}
.hero .eyebrow{color:var(--carbon);font-weight:700}

/* Location label sits in its own centered strip above the banner photograph. */
.banner-location{margin:0;padding:17px 6%;background:var(--hueso);color:var(--carbon);border-bottom:1px solid var(--cal);text-align:center;font-family:'Instrument Sans',Arial,sans-serif;font-size:11px;font-weight:600;line-height:1.7;letter-spacing:.17em;text-transform:uppercase}
@media(max-width:600px){.banner-location{padding:14px 6%;font-size:10px;letter-spacing:.12em}}

/* Unified three-line brand header, without a divider before the location. */
header{height:auto;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto auto;gap:8px 20px;padding:22px 5% 18px;border-bottom:0}
header>.headerleft{grid-column:1;grid-row:1;align-self:center}
header>.logo{grid-column:2;grid-row:1;justify-self:center}
header>.headeright{grid-column:3;grid-row:1;align-self:center}
header>.logo span{font-size:9px;letter-spacing:.28em;line-height:2.4}
.header-location{grid-column:1/-1;grid-row:2;margin:0;padding:0;color:var(--carbon);text-align:center;font-family:'Instrument Sans',Arial,sans-serif;font-size:10px;font-weight:500;line-height:1.6;letter-spacing:.14em}
@media(max-width:600px){header{height:auto;padding:18px 5% 15px;gap:8px 10px}header>.logo span{font-size:7px;letter-spacing:.25em}.header-location{font-size:8px;letter-spacing:.09em;line-height:1.7}}
@media(max-width:380px){header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}header>.logo{grid-column:2;justify-self:center}header>.headeright{font-size:9px}.header-location{font-size:7.5px;letter-spacing:.07em}}
