/* Cross-device compatibility layer. Loaded last so it can safely refine every route. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:320px;overflow-x:hidden}
img,video,svg{max-width:100%}
button,a,input,select,textarea{touch-action:manipulation}

@media(max-width:1100px){
  .section{padding-left:clamp(22px,5vw,56px);padding-right:clamp(22px,5vw,56px)}
  .topbar{padding-left:clamp(18px,4vw,44px);padding-right:clamp(18px,4vw,44px)}
  .footer-main{gap:34px}
  .story-chapters{width:min(650px,62vw)}
}

@media(max-width:820px){
  .contact-bar{min-height:42px;position:relative;z-index:21}
  .contact-bar a{min-height:30px}
  .topbar{height:72px}
  .topbar nav{top:72px;z-index:30;max-height:calc(100vh - 114px);overflow-y:auto;box-shadow:0 14px 30px rgba(10,28,22,.12)}
  .menu{min-width:44px;min-height:44px;padding:8px;cursor:pointer}
  .brand.header-logo img{max-height:52px}
  .page-banner{height:auto;min-height:390px;padding-top:52px;padding-bottom:46px;background-position:center}
  .page-banner>div{width:100%;max-width:650px}
  .page-banner p{font-size:17px;line-height:1.55}
  .page-banner .btn{min-height:48px}
  .business-contact-chip{margin-top:-68px}
  .footer-logo{width:190px}
  .footer-links a{min-height:44px;display:flex;align-items:center}
  .social-icon{width:50px;height:50px}
  .content h1{font-size:clamp(38px,8vw,50px);line-height:1.08}
  .hospitality-feature{gap:28px;margin-bottom:54px}
  .hospitality-intro{gap:30px}
  .sgit-why{gap:36px}
}

@media(max-width:600px){
  body{font-size:16px;line-height:1.58}
  .section{padding:58px 18px}
  .contact-bar{padding:7px 10px;gap:2px 12px;font-size:12px}
  .contact-bar a{gap:5px;overflow-wrap:anywhere}
  .contact-bar svg{width:15px;height:15px;flex:0 0 15px}
  .topbar{height:68px;padding:0 14px}
  .topbar nav{top:68px;padding:18px}
  .brand.header-logo img{width:158px;max-height:48px}
  .page-banner{min-height:430px;padding:42px 18px 54px;background-position:center}
  .page-banner h1{font-size:clamp(38px,11vw,52px);line-height:1.02;overflow-wrap:anywhere}
  .page-banner p{font-size:16px}
  .story-hero{height:auto;min-height:720px;max-height:none}
  .story-brand{top:20px;left:18px;right:18px;font-size:10px;letter-spacing:.12em}
  .story-message{left:18px;right:18px;top:37%;max-width:none}
  .story-message h1{font-size:clamp(43px,13vw,58px);line-height:.96;margin:16px 0 20px}
  .story-message p{font-size:16px;line-height:1.5}
  .story-message .actions{gap:8px;margin-top:20px}
  .story-btn,.story-link{min-height:46px}
  .story-chapters{left:14px;right:14px;bottom:25px;gap:7px;grid-template-columns:1fr 1fr}
  .story-chapters div{min-width:0;padding:9px 8px;gap:6px}
  .story-chapters strong{overflow-wrap:anywhere}
  .home-v2 .venture-card{padding:18px;border-radius:15px}
  .venture-travel{min-height:460px}
  .venture-hospitality,.venture-tech{min-height:390px}
  .home-v2 .venture-card>div:last-child{width:100%;padding:0;border-radius:0;background:none}
  .home-v2 .venture-card h3{font-size:clamp(31px,9vw,38px)}
  .home-v2 .venture-card p{font-size:15px;line-height:1.5}
  .home-properties-copy{padding:62px 20px}
  .home-properties h2,.home-story h2,.home-cta h2{font-size:clamp(38px,11vw,50px)}
  .property-stack a{padding:24px 20px;min-height:190px}
  .property-stack b{font-size:27px}
  .story-copy{padding:58px 20px}
  .story-copy>p,.home-cta p{font-size:16px}
  .business-contact-chip{position:relative;width:calc(100% - 24px);max-width:none;margin:-46px 12px 16px;padding:10px 12px;background:rgba(5,20,16,.76)}
  .business-contact-chip>div{display:grid;gap:5px}
  .business-contact-chip a{font-size:12px;line-height:1.35;overflow-wrap:anywhere}
  .hospitality-photo{height:300px;border-radius:4px 30px 4px 4px}
  .hospitality-feature.reverse .hospitality-photo{border-radius:30px 4px 4px}
  .hospitality-photo>span{font-size:38px}
  .hospitality-feature h3{font-size:clamp(34px,10vw,45px)}
  .hospitality-feature p{font-size:16px}
  .hospitality-reserve{margin:0 18px 58px;padding:32px 22px}
  .hospitality-numbers{padding:0 18px}
  .sgit-hero{min-height:560px;padding:64px 18px 58px}
  .sgit-hero h1{font-size:clamp(39px,11vw,48px);line-height:1.02}
  .sgit-hero p{font-size:17px}
  .sgit-points{justify-content:flex-start;text-align:left}
  .sgit-btn{width:100%;justify-content:center}
  .benefit-grid{grid-template-columns:1fr}
  .room-slider{height:220px}
  .hospitality-theme>.section .product-grid{grid-auto-columns:minmax(280px,88vw);gap:15px;margin-right:-18px;padding-right:18px}
  .product-body{padding:21px 18px}
  .product h2{font-size:27px;line-height:1.15}
  .commercials{gap:8px}
  .product-body .actions{display:grid;grid-template-columns:1fr}
  .product-body .btn{width:100%;min-height:46px}
  .property-gallery-grid{grid-template-rows:210px 125px 125px;gap:8px}
  .gallery-modal{grid-template-columns:40px minmax(0,1fr) 40px;padding:16px 4px}
  .gallery-close{right:10px;top:10px}
  .other-property img{height:180px}
  .property-contact{gap:28px}
  .contact-box,.review-card{padding:24px 20px}
  .faq-list summary{padding:16px 15px;line-height:1.4}
  .faq-icon{margin-right:9px}
  .faq-list details p{padding:0 15px 18px}
  .site-footer-v2{padding:44px 18px 22px}
  .footer-main{gap:32px}
  .footer-bottom{gap:8px;margin-top:30px}
  .agent-hero{padding:65px 18px}
  .agent-table-wrap{margin-right:-18px;border-radius:8px 0 0 8px}
  .admin-card{padding:18px 14px}
  .admin-actions{flex-wrap:wrap}
  .admin-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:7px}
  .admin-tabs button{flex:0 0 auto;min-height:44px}
  .field input,.field textarea,.field select{font-size:16px}
}

@media(max-width:380px){
  .contact-bar{font-size:11px;gap:0 8px}
  .brand.header-logo img{width:145px}
  .story-message h1{font-size:41px}
  .story-chapters{grid-template-columns:1fr 1fr}
  .story-chapters div{font-size:8px}
  .home-v2 .venture-card h3{font-size:30px}
  .hospitality-theme>.section .product-grid{grid-auto-columns:86vw}
}

@media(min-width:821px) and (max-width:1180px){
  .topbar nav{gap:18px}
  .home-hero{min-height:650px}
  .home-hero-art{min-height:650px}
  .value-grid article{padding:28px 22px}
  .promise-grid{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:1600px){
  .section,.home-properties-copy,.story-copy{padding-left:max(7vw,calc((100vw - 1500px)/2));padding-right:max(7vw,calc((100vw - 1500px)/2))}
  .venture-grid,.center-home-head,.hospitality-intro,.hospitality-feature,.section-head,.content{max-width:1500px;margin-left:auto;margin-right:auto}
  .story-message{left:max(7vw,calc((100vw - 1500px)/2))}
}

@media(hover:none){
  .product:hover,.other-property:hover{transform:none;box-shadow:none}
  .hospitality-photo:hover img{transform:none}
}
.admin-session-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:18px}.admin-session-actions .danger{background:#fff;color:#a93232;border-color:#d7a5a5}
@media(max-width:600px){.admin-session-actions{justify-content:flex-start;flex-wrap:wrap}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
