/* Shared layouts adapt to content, orientation and touch input. */
:root{--page-gutter:max(clamp(18px,3.5vw,50px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));--header-offset:132px;--usable-height:100dvh}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--header-offset)}
body{min-inline-size:0}main,section,article,header,footer,form,nav{min-inline-size:0}
.container{width:min(1250px,calc(100% - var(--page-gutter) - var(--page-gutter)))}
img,video{max-inline-size:100%}svg:not(.svg-defs){max-inline-size:100%}
[data-cms-text],.panel-footnote,.form-note,.gallery-disclaimer,.pricing-note,.lightbox-note,.result-status{overflow-wrap:anywhere}
.hero,.stay-cards,.team-section,.extra-grid,.faq-list,.visit-grid,.stay-panel,.form-row,.trust-items{min-width:0}
.hero>*,.stay-cards>*,.team-section>*,.extra-grid>*,.visit-grid>*,.stay-panel>*,.form-row>*,.trust-items>*{min-width:0}
.stay-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));align-items:stretch}
.extra-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.hero{grid-template-columns:minmax(0,.46fr) minmax(0,.54fr)}
.hero-actions{flex-wrap:wrap}.hero-actions .button,.hero-actions .text-link{white-space:normal;text-align:center}
.hero-specialty{font-size:clamp(16px,1.35vw,19px);line-height:1.4}
.hero-signature{font-size:clamp(14px,1.2vw,17px);line-height:1.5}.hero-signature>span{flex-shrink:1}
.button{font-size:15px;min-height:48px;line-height:1.35;white-space:normal}
.text-link{font-size:15px;line-height:1.5}.menu-toggle,.circle-button{min-width:44px;min-height:44px}
.gallery-filters button,.stay-tabs button,.card-details{min-height:44px;font-size:13px}
.card-details{display:inline-flex;align-items:center;padding:8px 0}
.slide-controls{padding:2px;gap:0;right:18px;bottom:18px}.slide-dot{width:40px;height:40px}
.trust-items{grid-template-columns:repeat(3,minmax(0,1fr))}.trust-items span{font-size:14px;line-height:1.45}.trust-items strong{font-size:19px}
.stay-card h3{font-size:23px;line-height:1.2}.stay-card>p{font-size:16px;line-height:1.55;max-width:none}
.stay-actions{gap:12px}.stay-actions>.text-link{font-size:15px}.stay-card{min-width:0}
.care-icons{grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#d4edf5;border-radius:8px;overflow:hidden}
#cuidados .care-icons article{border:0;background:#f0fbff;padding:20px 15px;min-width:0}
.care-icons h3{font-size:16px;line-height:1.35}.care-icons p{font-size:13px;line-height:1.5}
.team-section{grid-template-columns:repeat(2,minmax(0,1fr))}.team-section>div>p:not(.eyebrow){font-size:16px;line-height:1.55}
.team-section>div>p.team-certification{font-size:12px}.technology-card{min-width:0;gap:23px}.technology-card>div{min-width:0}
.technology-card>.icon{width:95px;height:95px}.technology-card h3{font-size:24px}.technology-card p{font-size:16px;line-height:1.5}.technology-card .small{font-size:13px}.technology-card .text-link{font-size:14px}
.extra-grid h3{font-size:22px;line-height:1.25}.extra-grid ul{font-size:15px;line-height:1.55}.extra-grid article>div{min-width:0}.extra-icon{width:72px;height:72px}
.pricing-note{font-size:12px;line-height:1.55}.section-header{align-items:center;flex-wrap:wrap}.section-header>div{min-width:0}.extra-badge{font-size:11px;white-space:normal;text-align:center}
.gallery-toolbar{flex-wrap:wrap}.gallery-filters{min-width:0}.gallery-arrows{display:flex}.photo-rail{min-width:0;max-width:100%;overscroll-behavior-inline:contain;scroll-padding-inline:0;touch-action:pan-x pan-y pinch-zoom}
.photo-card,.photo-card.tall{height:clamp(230px,22vw,320px);min-width:0}.photo-card>span{gap:12px;font-size:18px}.photo-card>span>span{flex-shrink:0}.photo-card img{aspect-ratio:16/10}
.gallery-disclaimer{font-size:12px}.faq-list{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-list details{min-width:0}
.faq-list summary{min-height:44px;font-size:16px;line-height:1.4}.faq-list details p{font-size:15px;line-height:1.6}
.visit-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:clamp(30px,5vw,70px)}.visit-copy>p{font-size:17px;line-height:1.5}
.visit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.visit-form label{font-size:13px;line-height:1.5}.visit-form input,.visit-form select{min-width:0;max-width:100%;font-size:16px;min-height:48px;height:auto}
.form-submit{font-size:15px}.form-note{font-size:12px;line-height:1.6}.request-result textarea{font-size:16px;line-height:1.5;max-width:100%}
.result-actions .button{min-height:44px;font-size:13px}.result-actions .text-link{font-size:13px;min-height:44px;align-items:center}.result-status{font-size:13px;line-height:1.5}
.footer-inner{flex-wrap:wrap}.footer p{font-size:13px;line-height:1.55;min-width:0}.footer p a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}
.lightbox,.guide-dialog,.service-dialog{margin:auto;width:min(1000px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(var(--usable-height) - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overscroll-behavior:contain;scrollbar-gutter:stable}
.guide-dialog{width:min(650px,calc(100vw - 32px))}.lightbox>img{min-height:0;max-height:calc(var(--usable-height) - 160px);object-fit:contain}.lightbox-bottom{align-items:center}.lightbox-bottom p{font-size:19px;line-height:1.4;overflow-wrap:anywhere}.lightbox-note{font-size:12px;line-height:1.5}
.guide-dialog>.dialog-close,.service-dialog>.dialog-close{position:sticky;float:right;top:0;right:0;margin:-12px -10px 0 12px;z-index:3}
.guide-dialog h2,.service-dialog>h2{clear:none;overflow-wrap:anywhere}.guide-dialog>p:not(.eyebrow){font-size:16px;line-height:1.5}
.guide-options>button{min-height:70px}.guide-options>button>span{min-width:0;font-size:16px}.guide-options small{font-size:13px;line-height:1.45}
.stay-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-copy>p:not(.eyebrow){font-size:16px}.check-list{font-size:14px;line-height:1.6}.panel-footnote{font-size:12px;line-height:1.5}.image-tag{max-width:calc(100% - 30px);white-space:normal;font-size:12px;line-height:1.4}
.stay-tabs{overscroll-behavior-inline:contain;scrollbar-width:thin}.stay-tabs button{max-width:100%;white-space:normal;flex-shrink:0}
@media(min-width:1025px){.nav-links{gap:clamp(18px,2vw,30px)}.nav-links a{font-size:14px}.nav-cta{font-size:13px;min-height:46px}.nav{gap:24px}.brand-art{width:170px;height:auto;aspect-ratio:190/111}}
@media(max-width:1024px){
 .nav{gap:20px;min-height:100px}.brand-art{width:155px;height:auto;aspect-ratio:190/111}.nav-cta{margin-left:auto;font-size:14px;padding:12px 18px}
 .nav-links{display:none;position:absolute;inset:100% 0 auto;background:#fff;border-bottom:1px solid #dbe8ee;box-shadow:0 12px 22px #08244310;padding:14px var(--page-gutter) 24px;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(var(--usable-height) - var(--header-offset) - 20px);overflow-y:auto;overscroll-behavior:contain}
 .nav-links.open{display:flex}.nav-links a{font-size:17px;min-height:48px;display:flex;align-items:center;white-space:normal;line-height:1.4}.nav-links a:after{display:none}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;order:3;padding:12px;margin:0;width:44px;height:44px}.menu-toggle span{width:20px;height:1px;display:block;background:#082443}
 .trust-items{gap:18px}.trust-items>div{gap:13px;padding-right:15px}.trust-items strong{font-size:17px}.trust-items span{font-size:13px}
 .care-icons{grid-template-columns:repeat(3,minmax(0,1fr))}.team-section{grid-template-columns:1fr;gap:28px}.technology-card{padding:26px;scroll-margin-top:var(--header-offset)}
 .photo-card,.photo-card.tall{flex-basis:75%;height:clamp(250px,35vw,370px)}
 .hero-actions .button,.hero-actions .text-link{font-size:14px}.hero-quote{max-width:320px}.hero-content{padding-right:18px}.hero-actions{gap:12px}
 .visit-grid{gap:30px}.visit-copy{padding-right:15px}.visit-heart{right:0;top:-38px}.visit-heart .icon{width:60px;height:60px}
}
@media(max-width:800px){
 .visit-grid{grid-template-columns:1fr;gap:26px}.visit-copy{padding-right:65px}.visit-copy h2{font-size:clamp(34px,5vw,43px)}.visit-copy>p{max-width:560px}.visit-heart{top:0;right:5px}
 .faq-list{grid-template-columns:1fr}.faq-list details{padding:15px 20px}.footer-inner{gap:24px}.footer p{padding-left:0;border:0}.footer p:last-of-type{padding-left:0}
}
@media(max-width:700px){
 .hero{grid-template-columns:minmax(0,1fr);padding-top:18px}.hero-content{padding:0}.hero-quote{width:90%;max-width:360px}.hero-specialty{font-size:16px}
 .hero-actions{gap:14px}.hero-actions .button{font-size:15px;min-height:48px;padding:13px 21px}.hero-actions .text-link{font-size:15px;min-height:44px;align-items:center}
 .hero-visual{width:100%;max-width:550px}.hero-signature{font-size:14px;margin-block:20px;gap:10px}.hero-signature>span{width:18px;flex-shrink:0}
 .trust-items{grid-template-columns:1fr}.trust-items>div{padding:0 8px 18px;gap:18px}.trust-items>div:last-child{padding-bottom:0}.trust-items strong{font-size:19px}.trust-items span{font-size:15px}
 .stay-cards{grid-template-columns:minmax(0,1fr)}.stay-card{padding:25px}.stay-card h3{font-size:24px;margin-top:55px}.stay-card>p{font-size:16px;max-width:none}.stay-actions>.text-link{font-size:15px}.card-number{font-size:42px}
 .care-icons{grid-template-columns:repeat(2,minmax(0,1fr))}#cuidados .care-icons article{padding:20px 12px}.care-icons h3{font-size:16px;max-width:none}.care-icons p{font-size:13px}
 .technology-card{gap:19px;padding:25px 22px}.technology-card>.icon{width:75px;height:75px}.technology-card h3{font-size:23px}.technology-card p{font-size:16px}.technology-card .small{font-size:13px}.technology-card .text-link{font-size:14px}
 .extra-grid{grid-template-columns:minmax(0,1fr)}.extra-grid article{padding:24px 20px;gap:18px}.extra-icon{width:60px;height:60px}.extra-icon .icon{width:40px;height:40px}.extra-grid h3{font-size:22px}.extra-grid ul{font-size:15px}
 .gallery-toolbar{gap:14px;align-items:center}.gallery-filters{gap:7px;max-width:100%}.gallery-filters button{font-size:13px;min-height:44px;padding:9px 13px}.gallery-arrows{display:flex;margin-left:auto}.gallery-arrows .circle-button{width:44px;height:44px}
 .photo-card,.photo-card.tall{flex-basis:88%;height:clamp(250px,62vw,360px)}.photo-card>span{font-size:18px;left:16px;right:16px;bottom:18px}.gallery-disclaimer{font-size:12px;line-height:1.6}
 .faq-list summary{font-size:16px;min-height:44px}.faq-list details p{font-size:15px}
 .visit-form{padding:24px 20px;grid-template-columns:minmax(0,1fr)}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.visit-form label{font-size:13px}.visit-form input,.visit-form select,.form-row input,.form-row select{font-size:16px;min-height:48px}.form-note{font-size:12px}.form-submit{font-size:15px;min-height:48px}.visit-copy>p{font-size:17px}
 .footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}.footer-inner{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr);gap:22px}.footer p{font-size:13px}.footer p:last-of-type{padding-top:15px;flex-wrap:wrap}
 .mobile-visit{left:var(--page-gutter);right:var(--page-gutter);bottom:calc(12px + env(safe-area-inset-bottom,0px));font-size:16px;min-height:50px;padding:13px 20px}
 .nav-open .mobile-visit,.keyboard-open .mobile-visit,.modal-open .mobile-visit{opacity:0;pointer-events:none;transform:translateY(10px)}
 .lightbox,.guide-dialog,.service-dialog{max-width:calc(100vw - 24px);width:calc(100vw - 24px);max-height:calc(var(--usable-height) - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 .guide-dialog,.service-dialog{padding:28px 22px 24px}.guide-dialog h2{font-size:29px}.guide-options>button{gap:13px;padding:16px 13px}.guide-options>button>span{font-size:16px}.guide-options small{font-size:13px}
 .stay-panel{grid-template-columns:minmax(0,1fr)}.stay-image{height:clamp(200px,55vw,300px)}.stay-copy{padding-top:24px}.stay-copy .button{font-size:15px;min-height:48px}.stay-tabs button{font-size:13px}
 .lightbox-bottom{gap:10px;padding:16px 12px 8px}.lightbox-bottom p{font-size:18px}.lightbox-note{font-size:12px;margin-inline:22px}
}
@media(max-width:600px){.nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;min-height:96px}.brand{width:155px;max-width:100%;justify-self:start}.brand-art{width:100%;height:auto}.nav-cta{display:none}.menu-toggle{grid-column:2;grid-row:1;justify-self:end;min-width:48px;min-height:48px;width:48px;height:48px;padding:14px}.menu-toggle span{width:22px}}
@media(max-width:480px){.form-row{grid-template-columns:minmax(0,1fr);gap:0}.technology-card{flex-wrap:wrap}.technology-card>.icon{width:70px;height:70px}.technology-card>div{flex:1 1 190px}.extra-grid article{gap:14px}.extra-icon{width:48px;height:48px}.extra-icon .icon{width:34px;height:34px}.extra-grid article>div{flex:1}.footer-inner{grid-template-columns:minmax(0,1fr)}.footer p:last-of-type{grid-column:auto}.lightbox>img{max-height:calc(var(--usable-height) - 190px)}}
@media(max-height:520px) and (orientation:landscape){.header{position:relative}.nav{min-height:74px}.brand-art{width:115px;height:auto}.nav-links{max-height:65svh}.mobile-visit{display:none}.footer{padding-bottom:30px}.hero{padding-top:16px}.lightbox,.guide-dialog,.service-dialog{max-height:calc(var(--usable-height) - 16px);max-width:calc(100vw - 24px)}.lightbox>img{max-height:calc(var(--usable-height) - 130px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-card img,.mobile-visit,.nav-links a:after{transition:none}}

img.hero-reference.reference-art{aspect-ratio:427/407;object-fit:contain;border:0;border-radius:0}

/* Editable copy must not inherit the dimensions of its decorative rules. */
.hero-signature>[data-cms-text]{width:auto;height:auto;background:none;flex:0 1 auto;min-width:0;text-align:center;line-height:1.5}
.hero-signature>.signature-rule{width:clamp(18px,4vw,60px);height:1px;flex:0 0 clamp(18px,4vw,60px);background:#aebfd5}
.hero-signature{grid-column:1/-1;min-width:0;gap:clamp(10px,2vw,20px);margin-block:22px}

/* The supplied cover includes nearby lettering outside the photograph. */
.reference-frame{aspect-ratio:427/365;overflow:hidden}
.reference-frame img.hero-reference.reference-art{clip-path:polygon(0 0,100% 0,100% 83%,85% 89%,70% 91%,43% 91%,21% 86%,7% 78%,0 62%)}
.reference-frame img.hero-reference:not(.reference-art){width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border:0;border-radius:24px}
