@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;650;700&display=swap');
:root{--navy:#0b2349;--blue:#00568d;--pale:#f3f7fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;color:var(--navy);font-family:Inter,Arial,sans-serif;background:white}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4da9d9;outline-offset:3px}header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 2.2%;background:linear-gradient(110deg,#e1edf4,#f0f7ff)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:20px;letter-spacing:1.6px;font-weight:700}.brand svg{width:39px;height:40px;fill:none;stroke:#09558a;stroke-width:1.7;stroke-linecap:round}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:3px;font-weight:600}nav{display:flex;gap:24px;font-size:12px}nav a:first-child{color:#0069a8;font-weight:600}.button{border:0;border-radius:6px;display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:#fff;font-size:12px;font-weight:600;padding:14px 17px;line-height:1.2}.button:hover{background:#064574}.hero{height:362px;position:relative;isolation:isolate}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;z-index:-2}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#072f4eda, #072f4e50 65%,#072f4e0a);z-index:-1}.hero-copy{padding:58px 3.2%;color:#fff;max-width:73%}.eyebrow{font-size:10px;letter-spacing:1.1px;font-weight:500;margin:0 0 9px}h1{font-size:46px;line-height:1.06;letter-spacing:-1.2px;margin:0;font-weight:650}.subtitle{font-size:19px;line-height:1.3;margin:12px 0 18px}.hero-features{display:flex;border-top:1px solid #ffffff42;max-width:650px;padding-top:16px;gap:30px}.hero-features>span{display:flex;align-items:center;gap:10px;font-size:30px}.hero-features small{font-size:11px;line-height:1.4;font-weight:500}.booking{position:absolute;right:2.2%;top:24px;width:325px;background:#fff;border-radius:12px;padding:20px 23px;box-shadow:0 8px 28px #0a213324;z-index:3}.booking h2{font-size:20px;letter-spacing:-.5px;margin:0 0 4px}.booking>p{font-size:12px;margin:0 0 14px}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}label{display:block;border:1px solid #dae0e6;border-radius:5px;font-size:10px;padding-top:5px;overflow:hidden}label input,label select{display:block;width:100%;min-width:0;background:#fff;border:0;border-top:1px solid #edf0f2;margin-top:3px;padding:9px 7px;color:var(--navy);font-size:11px}label{padding-left:8px}label input,label select{margin-left:-8px;width:calc(100% + 8px)}.guests{margin:12px 0}.booking .button{width:100%;padding:13px 4px}.booking ul{list-style:none;padding:0;margin:18px 0 0;font-size:19px}.booking li{display:flex;align-items:center;gap:10px;margin-top:6px;line-height:1}.booking li span{font-size:10px;color:#334565}#queryResult{border-top:1px solid #dde3ed;margin-top:15px;font-size:12px}#queryResult p{line-height:1.5}.note{font-size:10px;color:#65728a}#copyQuery{border:0;background:#e5f0f6;color:var(--blue);padding:8px;border-radius:4px}#videoToggle{position:absolute;bottom:10px;right:370px;border:1px solid #ffffff77;background:#133e5570;border-radius:20px;padding:7px 11px;font-size:10px;color:white}.gallery{display:grid;grid-template-columns:35.7fr 18.3fr 12fr 7.7fr 24.5fr;grid-template-rows:20.3vw 16.6vw;gap:7px;padding:8px 9px 0}.photo,.reference-photo{background-repeat:no-repeat}.photo{border:0;border-radius:4px;transition:filter .2s}.photo:hover{filter:brightness(1.07)}.pic-0{grid-column:1;grid-row:1/3}.pic-1{grid-column:2/4;grid-row:1}.pic-2{grid-column:4/6;grid-row:1}.pic-3{grid-column:2;grid-row:2}.pic-4{grid-column:3/5;grid-row:2}.pic-5{grid-column:5;grid-row:2}.amenities{display:flex;justify-content:space-between;gap:18px;padding:30px 3.6% 26px}.amenities>div{display:flex;align-items:start;gap:11px;font-size:25px;color:#1a4e7b}.amenities span{color:var(--navy);font-size:11px;line-height:1.4}.amenities small{display:block;font-size:10px;color:#50617b;margin-top:5px;white-space:nowrap}.apartment{display:grid;grid-template-columns:3.2fr repeat(4,1fr);gap:16px;background:#f4f7fa;padding:25px 3.7% 20px}.apartment-intro{padding:7px 20px 0 0}.apartment .eyebrow{color:#576b87}.apartment h2{font-size:26px;letter-spacing:-.6px;line-height:1.2;margin:0 0 9px}.apartment p{font-size:13px;color:#4f5f79;line-height:1.5;margin:0}.feature-card{background:#fff;border-radius:12px;padding:15px}.feature-card>span{font-size:33px;color:#00568d}.feature-card h3{font-size:12px;margin:12px 0 6px;line-height:1.3}.feature-card p{font-size:11px;line-height:1.5}.lower-section,.plans,.contact{max-width:1200px;margin:auto;padding:65px 35px}.lower-section{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}.lower-section h2,.plans h2,.contact h2{font-size:30px;letter-spacing:-.7px;margin:10px 0 16px}.lower-section p,.plans p,.contact p{font-size:14px;line-height:1.7;color:#50617b}.lower-section img{width:100%;height:280px;object-fit:cover;object-position:center 38%;border-radius:8px}.lower-section .button{margin-top:14px}.plans{border-top:1px solid #e3e9f0;padding-top:40px}.plans>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.plans article{background:#f3f7fa;border-radius:9px;padding:20px}.plans h3{font-size:17px}.contact{text-align:center;padding-top:35px;padding-bottom:60px}.contact p{max-width:650px;margin:0 auto 20px}.contact small{display:block;font-size:10px;color:#7a879b;margin-top:16px}footer{background:#0b3152;color:white;display:flex;justify-content:space-between;gap:20px;padding:28px 4%;font-size:12px}footer b{letter-spacing:1.3px}dialog{border:0;border-radius:10px;padding:40px 55px 20px;background:#fff;max-width:95vw;max-height:95vh}dialog::backdrop{background:#071d32e6}dialog figure{margin:0}.reference-photo{width:min(72vw,850px);aspect-ratio:var(--ratio);max-height:75vh}dialog figure:has(.pic-0){width:min(65vw,500px)}dialog .pic-0{width:100%}dialog figcaption{text-align:center;font-size:12px;margin-top:15px}dialog>button{position:absolute;border:0;background:transparent;color:var(--navy);font-size:36px}#closeDialog{top:0;right:12px;font-size:30px}#prevPhoto{left:10px;top:45%}#nextPhoto{right:10px;top:45%}@media(min-width:1500px){.hero{height:430px}.hero-copy{padding-top:70px}h1{font-size:55px}.subtitle{font-size:22px}.booking{width:370px;padding:25px;top:30px}.booking h2{font-size:23px}.booking>p{font-size:14px}label input,label select{padding:12px 8px}.booking li{margin-top:10px}#videoToggle{right:420px}.gallery{grid-template-rows:20.3vw 16.6vw}}@media(max-width:1150px){nav{gap:13px;font-size:10px}.brand{font-size:16px}.brand small{font-size:8px}.header-button{font-size:10px}.hero-copy{padding-top:50px;max-width:67%}h1{font-size:40px}.subtitle{font-size:16px}.hero-features{gap:18px}.hero-features small{font-size:10px}.hero-features>span{font-size:23px;gap:7px}.booking{width:300px;padding:20px}.booking h2{font-size:18px}#videoToggle{right:330px}.amenities{gap:12px;padding:25px 20px;flex-wrap:wrap}.amenities>div{flex-basis:17%}.apartment{grid-template-columns:repeat(4,1fr)}.apartment-intro{grid-column:1/-1;padding-bottom:12px}.apartment h2{font-size:27px}}@media(max-width:760px){header{padding:12px 18px}.brand{font-size:16px}.brand svg{width:34px}nav{display:none}.header-button{font-size:0;padding:12px}.header-button:after{content:'Disponibilidad';font-size:11px}.hero{height:auto;padding-bottom:20px;background:#eaf2f8}.hero video,.shade{height:400px}.hero-copy{height:400px;max-width:none;padding:48px 24px 0}.hero .eyebrow{font-size:9px}h1{font-size:42px}.subtitle{font-size:17px;line-height:1.5}.desktop{display:none}.hero-features{gap:16px;flex-wrap:wrap;max-width:460px}.hero-features>span{flex-basis:44%}.hero-features small{font-size:11px}.booking{position:relative;top:auto;right:auto;width:calc(100% - 32px);margin:-12px auto 0;padding:23px}.booking h2{font-size:22px}.booking>p{font-size:13px}.booking ul{display:flex;gap:16px;flex-wrap:wrap}.booking li span{font-size:10px}label{font-size:11px}label input,label select{font-size:13px;padding:12px 8px}#videoToggle{top:365px;bottom:auto;right:25px;padding:5px 9px;font-size:9px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:7px;padding:8px}.photo{grid-column:auto;grid-row:auto;aspect-ratio:var(--ratio)}.pic-0{grid-column:1/-1;aspect-ratio:460/488}.amenities{padding:24px;gap:20px}.amenities>div{flex-basis:42%}.amenities small{font-size:11px}.apartment{grid-template-columns:1fr 1fr;padding:28px 22px;gap:12px}.apartment-intro{padding-right:0}.apartment h2{font-size:26px}.feature-card{padding:18px}.feature-card h3{font-size:13px}.feature-card p{font-size:12px}.lower-section{grid-template-columns:1fr;gap:25px;padding:45px 24px}.plans{padding:30px 24px}.plans>div:last-child{grid-template-columns:1fr;gap:12px}.plans article{padding:15px 20px}.contact{padding:35px 24px}.contact h2,.plans h2,.lower-section h2{font-size:27px}footer{flex-wrap:wrap;padding:25px;font-size:11px}dialog{padding:40px 30px 20px}dialog figure:has(.pic-0){width:75vw}.reference-photo{width:75vw}#prevPhoto{left:2px}#nextPhoto{right:2px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.pic-0{background-size:285.217391% 245.696721%;background-position:1.056338% 60.759494%;--ratio:460/488;}
.pic-1{background-size:332.151899% 452.452830%;background-position:52.126499% 46.252677%;--ratio:395/265;}
.pic-2{background-size:311.638955% 472.047244%;background-position:98.877666% 46.878307%;--ratio:421/254;}
.pic-3{background-size:558.297872% 555.092593%;background-position:44.382544% 71.617497%;--ratio:235/216;}
.pic-4{background-size:516.535433% 555.092593%;background-position:68.147448% 71.617497%;--ratio:254/216;}
.pic-5{background-size:412.578616% 555.092593%;background-position:98.993964% 71.617497%;--ratio:318/216;}

.icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.hero-features .icon{width:29px;height:29px}.feature-card .icon{width:34px;height:34px}
.pic-0{background-size:cover;background-position:center;--ratio:460/440;}
.pic-1{background-size:cover;background-position:center;--ratio:395/228;}
.pic-2{background-size:cover;background-position:center;--ratio:421/215;}
.pic-3{background-size:cover;background-position:center;--ratio:235/175;}
.pic-4{background-size:cover;background-position:center;--ratio:254/175;}
.pic-5{background-size:cover;background-position:center;--ratio:318/175;}
.photo{position:relative}.photo-label{position:absolute;bottom:12px;left:12px;background:#162b3eaa;color:white;border-radius:20px;padding:8px 12px;font-size:11px;text-align:left}.reference-photo{background-size:contain;background-color:#f3f7fa}
/* Keep the availability form inside the full-height video background. */
.hero{height:auto;min-height:440px;display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:30px;padding:24px 2.2%;align-items:center}.hero-copy{max-width:none;padding:28px 12px}.booking{position:relative;top:auto;right:auto;width:100%;margin:0;align-self:center}.hero video,.hero .shade{height:100%;inset:0}.booking{z-index:1}.hero-copy{position:relative;z-index:1}
@media(min-width:1500px){.hero{min-height:470px;grid-template-columns:minmax(0,1fr) 370px;padding:30px 2.2%}.hero-copy{padding:35px 15px}}
@media(min-width:761px) and (max-width:1150px){.hero{grid-template-columns:minmax(0,1fr) 300px;gap:20px;min-height:440px}.hero-copy{padding:20px 5px}.hero-features{flex-wrap:wrap}.hero-features>span{flex-basis:42%}h1{font-size:36px}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;align-items:stretch;gap:24px;padding:30px 16px 24px;min-height:0}.hero-copy{height:auto;padding:12px 8px 0;max-width:none}.booking{width:100%;margin:0;padding:23px}.hero video,.hero .shade{height:100%}.hero-features{padding-top:18px;padding-bottom:0}.shade{background:linear-gradient(90deg,#072f4edb,#072f4e70)}}

.pic-4{--ratio:9/16;background-position:center 55%}.reference-photo.pic-4{width:min(70vw,380px);height:70vh;aspect-ratio:auto;background-size:contain;background-position:center}

/* Native portrait video, fully visible, never enlarged beyond source size. */
.hero{min-height:640px;grid-template-columns:minmax(240px,1fr) 325px;gap:360px;background:#123750}.hero video{object-fit:contain;object-position:center;width:360px;height:640px;left:calc(50% - 180px);top:50%;transform:translateY(-50%)}.hero .shade{background:transparent}.hero-copy{padding:20px 4px}h1{font-size:36px}.hero .subtitle{font-size:17px}.hero-features{flex-wrap:wrap;gap:20px}.hero-features>span{flex-basis:43%}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;gap:16px;padding:20px;align-items:stretch}.gallery .photo{grid-column:auto;grid-row:auto;aspect-ratio:3/4;background-size:contain;background-position:center;background-color:#eef1f3;border-radius:6px}.reference-photo{background-size:contain!important;background-position:center!important}.reference-photo.pic-0{width:min(72vw,700px);height:75vh;aspect-ratio:auto}
@media(min-width:1500px){.hero{min-height:720px;grid-template-columns:minmax(300px,1fr) 370px;gap:420px}.hero video{width:405px;height:720px;left:calc(50% - 202.5px)}h1{font-size:44px}}
@media(max-width:1100px) and (min-width:761px){.hero{grid-template-columns:1fr 1fr;gap:24px;padding-top:510px}.hero video{height:480px;width:270px;top:15px;left:calc(50% - 135px);transform:none}.hero-copy{padding:15px}.booking{align-self:center}}
@media(max-width:760px){.hero{display:flex;gap:24px;padding-top:0;background:#123750}.hero video{position:relative;left:auto;top:auto;transform:none;width:100%;height:auto;max-height:640px;aspect-ratio:9/16;object-fit:contain;z-index:0;order:-1}.hero-copy{padding:12px 8px}.hero .shade{display:none}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.gallery .photo{aspect-ratio:3/4}.photo-label{font-size:10px;padding:6px 8px;left:6px;bottom:8px}.hero h1{font-size:35px}}

@media(min-width:1101px){.hero-copy{max-width:360px}}

.pic-0{--ratio:3/4;}
.pic-1{--ratio:3/4;}
.pic-2{--ratio:3/4;}
.pic-3{--ratio:3/4;}
.pic-4{--ratio:3/4;}
.pic-5{--ratio:3/4;}
.reference-photo,.reference-photo.pic-0,.reference-photo.pic-4{width:min(72vw,700px);height:75vh;aspect-ratio:auto;background-size:contain!important;background-position:center!important}dialog figure:has(.pic-0){width:auto}

.pic-0{background-image:url("assets/plafones-0.png");}
.pic-1{background-image:url("assets/plafones-1.png");}
.pic-2{background-image:url("assets/sin-enseres-2.png");}
.pic-3{background-image:url("assets/sin-enseres-3.png");}
.pic-4{background-image:url("assets/sin-enseres-4.png");}
.pic-5{background-image:url("assets/original-5.jpg");}
/* Full hero background video, with the form and title overlaid. */
.hero{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:40px;min-height:440px;padding:24px 2.2%;background:#123750;overflow:hidden;isolation:isolate}.hero video{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;transform:none;object-fit:cover;object-position:center 38%;z-index:-2}.hero .shade{display:block;position:absolute;inset:0;height:100%;background:linear-gradient(90deg,rgba(7,28,42,.55) 0%,rgba(7,28,42,.34) 42%,rgba(7,28,42,.08) 72%,rgba(7,28,42,.03) 100%);z-index:-1}.hero-copy{max-width:650px;padding:24px 12px;position:relative;z-index:1}.hero h1{font-size:46px}.hero .subtitle{font-size:19px}.hero-features{flex-wrap:nowrap;gap:24px}.hero-features>span{flex-basis:auto}.booking{position:relative;top:auto;right:auto;width:100%;margin:0;align-self:center;z-index:1}
@media(min-width:1500px){.hero{grid-template-columns:minmax(0,1fr) 370px;min-height:480px}.hero h1{font-size:54px}}
@media(max-width:1100px) and (min-width:761px){.hero{grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding-top:24px}.hero h1{font-size:37px}.hero-features{flex-wrap:wrap}.hero-features>span{flex-basis:42%}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;gap:24px;padding:30px 16px 24px;min-height:0}.hero video{position:absolute;inset:0;width:100%;height:100%;max-height:none;transform:none;aspect-ratio:auto;object-fit:cover;object-position:center;z-index:-2}.hero .shade{display:block;background:linear-gradient(180deg,rgba(7,28,42,.44),rgba(7,28,42,.34) 48%,rgba(7,28,42,.08) 72%)}.hero-copy{padding:12px 8px}.hero h1{font-size:37px}.hero .subtitle{font-size:17px}.hero-features{flex-wrap:wrap}.hero-features>span{flex-basis:43%}.booking{width:100%;margin:0}}

.lower-section .via-verde-video{display:block;width:100%;height:520px;max-height:75vh;object-fit:contain;background:#123750;border-radius:8px}@media(max-width:760px){.lower-section .via-verde-video{height:auto;aspect-ratio:9/16;max-height:75vh}}

.gallery[hidden]{display:none!important}

@media(max-width:760px){header{flex-wrap:wrap}header nav{display:flex;order:3;width:100%;overflow-x:auto;gap:20px;padding:8px 0 3px;font-size:12px;white-space:nowrap}header nav a{flex-shrink:0}}

.via-verde-official{min-width:0;width:100%}.via-verde-official iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:8px;background:#123750}.via-verde-official>a{display:inline-block;margin-top:12px;font-size:13px;color:#005b8c}

/* Cover the hero with the horizontal YouTube video at its native ratio. */
.hero-video-background{position:absolute;inset:0;z-index:-2;overflow:hidden;container-type:size}.hero-video-background iframe{position:absolute;left:50%;top:50%;width:100%;height:100%;width:max(100cqw,177.778cqh);height:max(100cqh,56.25cqw);transform:translate(-50%,-50%);border:0;pointer-events:none}

.hero-copy{text-shadow:0 1px 3px rgba(0,0,0,.75)}

.brand{font-size:18px;letter-spacing:1px}.brand svg{width:46px;height:46px;flex-shrink:0}.brand small{font-size:9px;letter-spacing:2.6px}@media(max-width:1150px){.brand{font-size:15px;letter-spacing:.5px}header{gap:12px}}@media(max-width:760px){.brand{font-size:15px}.brand svg{width:39px;height:39px}.brand small{font-size:8px}}@media(max-width:370px){.brand{font-size:13px}.brand svg{width:32px;height:32px}.header-button{padding:10px 7px}}

.via-verde-official .via-verde-caption{margin:14px 0 0;font-size:17px;line-height:1.4;font-weight:600;color:var(--navy)}

.via-verde-direct{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:8px;background:#123750}
