/* VIVANTARA · Piscinas y su entorno · Octubre 2026 */
.pillar-video{z-index:1}
.complement-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.complement-card{border:1px solid #ffffff24;background:#ffffff04;overflow:hidden}.complement-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.complement-card>div{padding:24px 26px 28px}.complement-card span{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}.complement-card h3{font:500 1.8rem/1.2 'Playfair Display',serif;margin:10px 0}.complement-card p{font-size:.94rem;color:#c3d0e1;margin:0}.image-disclosure{font-size:.73rem;color:#b9c5d8;margin:20px 0 0}@media(max-width:760px){.complement-gallery{grid-template-columns:1fr;gap:22px}.complement-card>div{padding:22px}.complement-card h3{font-size:1.7rem}}
html{scroll-padding-top:24px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--turq);outline-offset:5px}
.hero{height:auto;min-height:860px;min-height:100svh;padding:150px 0 100px}.hero-content{max-width:850px;width:76%;padding-top:0}.hero h1{font-size:clamp(3rem,5.5vw,5.5rem);max-width:850px;line-height:1.07}.hero-category{font-size:.72rem;letter-spacing:.19em;text-transform:uppercase;color:var(--gold-light)}.hero-copy{max-width:630px;font-size:1.06rem}.hero-note{bottom:20px}.hero-overlay{background:linear-gradient(90deg,rgba(2,14,36,.89),rgba(2,14,36,.58) 57%,rgba(2,14,36,.1))}.section{padding-top:90px;padding-bottom:90px}
.section-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end;margin-bottom:40px}.section-heading h2,.faq h2{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.035em;margin:0}.section-heading>p{color:var(--muted);max-width:400px;margin:0}.section-heading em{color:var(--gold);font-style:normal}.section-kicker{margin-bottom:20px}.routes{background:#fff}.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.route-card{padding:30px;background:var(--cream);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,border-color .2s}.route-card:hover{transform:translateY(-4px);border-color:var(--gold)}.route-card:nth-child(2){background:var(--navy);color:#fff}.card-number{font-size:.8rem;color:var(--gold);margin-bottom:30px}.route-card h3{font:500 1.8rem/1.16 'Playfair Display',serif;max-width:240px}.route-card p{color:var(--muted);font-size:.92rem}.route-card:nth-child(2) p{color:#d2dbe8}.route-card a{margin-top:auto;padding-top:24px;font-size:.84rem;font-weight:700;text-decoration:none;display:flex;justify-content:space-between;gap:10px}.route-card:nth-child(2) .card-number{color:var(--gold-light)}
.promise .pillars{margin-top:40px}.pool-details{border-block:1px solid var(--line);margin:30px 0;padding:20px 0}.pool-details summary{cursor:pointer;display:flex;justify-content:space-between;font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:28px}.detail-grid h3{font-size:1rem}.detail-grid p{font-size:.9rem;color:var(--muted)}
.complements{background:var(--navy);color:#fff}.complements .section-heading>p{color:#c3d0e1}.complements .section-kicker,.complements em{color:var(--gold-light)}.complement-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:stretch}.complement-layout figure{margin:0;display:flex;flex-direction:column}.complement-layout figure img{height:100%;min-height:480px;object-fit:cover;width:100%}.complement-layout figcaption{font-size:.7rem;color:#b9c5d8;padding-top:8px}.complement-list article{padding:18px 0;border-bottom:1px solid #ffffff26}.complement-list article:first-child{padding-top:0}.complement-list article>span{font-size:.67rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-light)}.complement-list h3{font:500 1.65rem 'Playfair Display',serif;margin:7px 0}.complement-list p{color:#c3d0e1;font-size:.9rem;margin:0}.section-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:35px}.section-bottom p{font-size:.83rem;max-width:480px;color:#c3d0e1;margin:0}.section-bottom .button{flex-shrink:0}
.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stage-grid article{padding:35px;border:1px solid var(--line);background:#fff}.stage-grid span{color:var(--gold);font-size:.73rem;text-transform:uppercase;letter-spacing:.09em}.stage-grid h3{font:500 2rem 'Playfair Display',serif;margin:15px 0}.stage-grid p{color:var(--muted);margin:0}.stage-note{border-left:2px solid var(--gold);padding-left:22px;margin:28px 0 0;max-width:850px;font-size:.92rem;color:var(--muted)}.process{background:white}.process-card-image{aspect-ratio:4/3}.faq{background:var(--cream)}.faq-list{margin-top:35px;max-width:960px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-weight:600;list-style-position:outside;margin-left:20px;padding-left:8px}.faq details p{color:var(--muted);margin:15px 0 0 28px;max-width:780px}.extras{min-width:0;border:1px solid var(--line);padding:16px;margin:0 0 22px}.extras legend{font-size:.83rem;font-weight:700;padding:0 6px}.extras small{font-weight:400;color:var(--muted)}.extras label{display:flex;align-items:center;gap:10px;font-size:.84rem;margin-bottom:10px}.extras input{width:17px;height:17px;margin:0;flex:0 0 17px;accent-color:var(--navy)}.extras p{font-size:.75rem;color:var(--muted);margin:12px 0 0}.contact select{white-space:normal;min-width:0}.contact form,.contact-copy,.section-heading>*{min-width:0}.contact input,.contact select,.contact textarea{font-size:16px}.closing-cta{min-height:480px}.reveal{opacity:1;transform:none}.model-photo img{object-fit:cover}
@media(max-width:1000px){.section-heading{gap:30px}.route-card{padding:22px}.route-card h3{font-size:1.5rem}.complement-layout{gap:25px}.hero-content{width:86%}.hero h1{max-width:780px}.site-header nav{gap:14px}}
@media(max-width:760px){.section{padding:60px 22px}.site-header{height:80px}.hero{min-height:780px;padding:120px 0 90px}.hero-content{width:auto;margin:0 22px}.hero h1{font-size:clamp(2.7rem,10vw,3.7rem);max-width:none}.hero-category{font-size:.62rem}.hero-copy{font-size:.98rem}.hero-actions{gap:20px;margin-top:25px}.hero-note{display:none}.section-heading{grid-template-columns:1fr;gap:20px}.route-grid,.stage-grid,.detail-grid,.complement-layout{grid-template-columns:1fr}.route-card{padding:26px}.card-number{margin-bottom:15px}.route-card h3{font-size:1.85rem;max-width:100%}.route-card a{padding-top:14px}.complement-layout figure img{height:320px;min-height:0}.section-bottom{flex-direction:column;align-items:stretch}.section-bottom .button{white-space:normal;text-align:center}.stage-grid article{padding:26px}.process-card-image{aspect-ratio:16/10}.extras{padding:12px}.site-header nav.open{gap:18px}.contact .field-row{grid-template-columns:1fr}.contact form{padding:22px}.closing-cta h2{font-size:2.6rem}.whatsapp-float{bottom:14px;right:14px}.model-gallery .model-photo:first-child{height:400px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}

/* Mismo formato que las otras imágenes del proceso. */
.process-card-image.coordination-image{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:60% center;background:none}
@media(max-width:760px){.process-card-image.coordination-image{aspect-ratio:16/10}}

.detail-image{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:20px;background:var(--cream)}.detail-note{font-size:.73rem;color:var(--muted);margin:8px 0 0}.pool-details[open]>summary>span{transform:rotate(45deg)}

.measurement-panel[hidden]{display:none!important}.measurement-panel{position:fixed;bottom:18px;left:18px;z-index:1000;width:min(640px,calc(100% - 36px));padding:22px;background:#fff;color:var(--ink);box-shadow:0 8px 40px #0004;border:1px solid var(--line);border-radius:6px;max-height:85svh;overflow:auto}.measurement-panel p{font-size:.8rem;line-height:1.5;margin:8px 0 16px}.measurement-actions{display:flex;gap:12px}.measurement-actions button{flex:1;padding:12px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:3px;cursor:pointer;font:600 .85rem "DM Sans",sans-serif}.footer-options{display:flex;flex-direction:column;gap:10px}.footer-options button{border:0;padding:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}
