/* Shared small-screen layout and touch controls. */
@media(max-width:760px){
html{scroll-padding-top:20px;-webkit-text-size-adjust:100%}body{margin:0;overflow-x:clip}main,section,article,form{min-width:0}img,svg,video{max-width:100%}input,select,textarea{min-width:0}
header{padding-left:5%;padding-right:5%;gap:16px}.logo{font-size:25px}.logo small{font-size:8px;letter-spacing:.14em}.menu{display:block;min-width:88px;min-height:44px;color:#103657;background:#ffffffed;border:1px solid #8ba2b8;border-radius:3px;font-size:13px;position:relative;z-index:7}
header nav{display:none;position:absolute;top:calc(100% - 2px);left:5%;right:5%;width:auto;padding:12px 18px;background:#fff;border:1px solid #d1dfeb;box-shadow:0 12px 28px #1236541a;z-index:6;gap:0;flex-direction:column;align-items:stretch}header nav.open{display:flex}header nav a{display:block;min-height:48px;padding:13px 8px;color:#103657;font-size:15px;border:0}
section{padding-left:5%;padding-right:5%}.section-title{overflow-wrap:anywhere}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:18px}.body-copy, .topic p{overflow-wrap:anywhere}
.hero{height:auto;min-height:720px;max-height:none}.hero-content{padding:48px 5% 290px}.hero h1{font-size:clamp(25px,6.7vw,36px);line-height:1.6;letter-spacing:0}.hero .hero-line{white-space:normal}.hero-content>p{font-size:15px;line-height:1.9}.hero .eyebrow{font-size:10px;line-height:1.8;letter-spacing:.13em;margin-bottom:24px}.hero .luxury-scene{inset:0;background-position:right bottom;background-size:auto 370px}.hero-actions{gap:14px}
.finance-hero{min-height:780px;height:auto}.finance-copy{padding:106px 5% 290px;max-width:100%}.finance-copy h1{font-size:clamp(30px,7.7vw,42px);line-height:1.5;letter-spacing:.01em}.finance-breadcrumb{font-size:9px}.finance-copy .eyebrow{font-size:10px;letter-spacing:.12em}.finance-portrait{object-position:65% center}.finance-copy p{font-size:15px;line-height:1.9}.finance-copy .circle-link{font-size:14px;gap:18px}
.resort-hero{min-height:760px;height:auto;padding:118px 5% 165px}.resort-hero .breadcrumb{top:94px;left:5%;font-size:10px}.resort-hero h1{font-size:clamp(29px,7.4vw,38px)}.resort-hero .lead{font-size:16px;line-height:1.95}.resort-caption{right:5%;bottom:24px}
.detail-content,.connection-section{padding-left:5%;padding-right:5%}.detail-content h2,.connection-section h2{font-size:28px;line-height:1.6}.detail-content .detail-grid{min-width:0}.approach-layout{grid-template-columns:1fr;gap:22px}.approach-layout .body-copy{font-size:16px;line-height:1.95}.detail-faq summary{font-size:17px;line-height:1.8;padding-right:4px}.detail-faq details p{font-size:16px}
.finance-solutions .service-slider{min-width:0;max-width:100%}.finance-solutions .service-slider .detail-grid{display:flex;overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:14px;scroll-padding-left:0;scrollbar-width:none;cursor:auto}.finance-solutions .service-slider .detail-grid::-webkit-scrollbar{display:none}.finance-solutions .finance-service-disclosure{flex:0 0 92%;min-width:0;scroll-snap-align:start}.finance-service-disclosure summary{font-size:18px;min-height:74px;padding:18px}.finance-service-content p{font-size:15px;padding:18px;line-height:1.9}.service-slider-controls button{min-width:46px;min-height:46px}
.detail-contact,#contact.contact{padding:36px 5%}.detail-contact h2,#contact h2{font-size:28px;line-height:1.6}.contact-form{width:100%;margin-top:26px}.contact-form-grid{grid-template-columns:1fr;gap:0}.contact-field input,.contact-field select,.contact-field textarea{font-size:16px;min-height:48px;padding:13px 12px}.contact-field textarea{min-height:150px}.contact-field label,.contact-field legend,#contact-themes-label{font-size:15px}.contact-multi-options{grid-template-columns:1fr}.contact-multi-options label{min-height:44px;font-size:15px}.contact-multi summary{font-size:15px;min-height:48px}.contact-consent{font-size:14px;line-height:1.85}.contact-consent input{flex:none;width:20px;height:20px;margin-top:3px}.contact-submit{width:100%;max-width:400px;min-height:54px;font-size:16px;letter-spacing:.02em}.contact-channels{grid-template-columns:1fr}.contact-email,.contact-line{font-size:14px;padding:16px}.contact-email strong{font-size:16px}.contact-line img{width:64px}.contact-privacy{font-size:13px!important}.contact-status{overflow-wrap:anywhere}
footer{padding:30px 5%;gap:22px;flex-wrap:wrap}.legal-links{width:100%;font-size:13px}.legal-links a{display:inline-flex;align-items:center;min-height:44px}.legal{padding:28px 5% 40px;font-size:15px}.legal h2{font-size:20px}
}
@media(max-width:360px){.hero-content{padding-bottom:270px}.hero-actions .hero-primary{min-width:145px}.hero-actions .hero-secondary{min-width:125px}.finance-copy h1{font-size:29px}.finance-service-disclosure summary{font-size:17px}.contact-line{gap:8px}.contact-line img{width:54px}}
/* Mobile finance opening: readable copy followed by the full portrait. */
@media(max-width:760px){
.finance-hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;background:white;overflow:hidden}
.finance-hero .finance-copy{order:1;position:relative;max-width:100%;width:100%;padding:104px 5% 26px}
.finance-copy h1{font-size:clamp(29px,7.4vw,38px);line-height:1.5;letter-spacing:.01em;margin-bottom:18px}
.finance-copy .finance-breadcrumb{margin-bottom:20px;font-size:9px;line-height:1.7}
.finance-copy .eyebrow{font-size:10px;line-height:1.7;margin-bottom:18px;letter-spacing:.1em}
.finance-copy p{font-size:15px;line-height:1.85;margin-bottom:18px}
.finance-copy .circle-link{margin-top:8px;font-size:14px;gap:18px;min-height:44px}
.finance-hero .finance-portrait{order:2;position:relative;inset:auto;display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;mask:none;-webkit-mask:none}
.finance-hero:after{display:none}.finance-hero .finance-globe-motion{display:none}
.finance-hero .finance-bottom{order:3;position:relative;inset:auto;padding:15px 5%;font-size:9px;gap:15px}
.finance-solutions .service-slider .detail-grid{align-items:stretch}
.finance-card-title{min-height:88px;font-size:18px;padding:18px}
}
/* Clear, deliberate mobile type over the relocation photograph. */
@media(max-width:760px){
.resort-hero{padding:108px 6% 150px;min-height:760px;justify-content:flex-start}
.resort-hero:after{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 43%,rgba(255,255,255,.82) 67%,rgba(255,255,255,.12) 100%)}
.resort-hero .breadcrumb{font-size:10px;letter-spacing:.06em;line-height:1.7;margin-bottom:18px}
.resort-hero .section-title{font-size:11px;letter-spacing:.07em;line-height:1.6;margin-bottom:24px;overflow-wrap:normal}
.resort-hero h1{font-size:clamp(24px,6.5vw,30px);letter-spacing:0;line-height:1.7;margin-bottom:24px;overflow-wrap:normal;word-break:normal;color:#061c3e}
.resort-hero .lead{font-size:15px;line-height:1.9;letter-spacing:0;color:#27455f;max-width:100%;margin:0 0 22px;overflow-wrap:normal;word-break:normal}
.resort-hero .detail-cta{font-size:15px;min-height:50px;padding:14px 20px;margin:0;gap:28px;line-height:1.6}
.resort-hero .detail-layout>div{max-width:100%}
}
@media(max-width:360px){.resort-hero h1{font-size:23px}.resort-hero .section-title{font-size:10px}.resort-hero .lead{font-size:14px}}
/* Compact mobile home hero with the skyline in normal document flow. */
@media(max-width:760px){
main>.hero{display:flex;flex-direction:column;min-height:0;height:auto;max-height:none;background:#fff}
.hero .hero-content{order:1;flex:none;padding:32px 6% 28px}
.hero .eyebrow{font-size:9px;letter-spacing:.13em;line-height:1.8;margin-bottom:22px}
.hero h1{font-size:clamp(26px,6.7vw,33px);line-height:1.6;letter-spacing:0;margin-bottom:22px}
.hero-content>p{font-size:14px;line-height:1.9;letter-spacing:0;margin:0 0 24px}
.hero-actions{display:flex;align-items:center;gap:18px;margin-top:0;flex-wrap:wrap}
.hero-actions .hero-primary{min-width:150px;min-height:50px;padding:12px 16px;font-size:14px}
.hero-actions .hero-secondary{min-width:136px;min-height:46px;font-size:13px;gap:12px}
.hero .luxury-scene{order:2;flex:none;position:relative;inset:auto;min-height:0;width:100%;height:245px;background-size:contain;background-position:center bottom;background-repeat:no-repeat;transform:none}
.hero .luxury-scene:after{background-size:contain;background-position:center bottom}
.hero:after{display:none}
#message{margin-top:0;padding-top:28px}
}
@media(max-width:360px){.hero .hero-content{padding-top:26px;padding-bottom:24px}.hero h1{font-size:25px}.hero-actions{gap:12px}.hero-actions .hero-primary{min-width:140px}.hero-actions .hero-secondary{min-width:126px}.hero .luxury-scene{height:220px}}
/* Integrated finance hero: portrait flows into the copy through a soft fade. */
@media(max-width:760px){
.finance-hero{display:block;position:relative;min-height:0;background:linear-gradient(180deg,#edf6ff 0%,#fff 62%);overflow:hidden}
.finance-hero .finance-portrait{position:absolute;inset:76px 0 auto;display:block;width:100%;height:330px;aspect-ratio:auto;object-fit:cover;object-position:83% 38%;mask-image:linear-gradient(180deg,#000 0%,#000 66%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 66%,transparent 100%)}
.finance-hero .finance-copy{position:relative;z-index:2;width:100%;max-width:none;padding:364px 6% 26px}
.finance-copy .finance-breadcrumb{font-size:9px;line-height:1.6;margin:0 0 14px;color:#486884}
.finance-copy .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:16px;line-height:1.7}
.finance-copy h1{font-size:clamp(27px,7vw,34px);line-height:1.5;margin-bottom:20px;letter-spacing:0}
.finance-copy p{font-size:14px;line-height:1.9;margin:0 0 18px;color:#31516d}
.finance-copy .circle-link{font-size:14px;margin-top:4px;gap:20px}
.finance-hero .finance-bottom{position:relative;inset:auto;padding:8px 6% 20px;background:transparent;font-size:9px}
.finance-hero:after{display:none}
}
@media(max-width:360px){.finance-hero .finance-portrait{height:300px}.finance-hero .finance-copy{padding-top:334px}.finance-copy h1{font-size:26px}}
