/* Portrait experience: readable type, deliberate touch targets and one-column decisions. */
@media(max-width:680px){
 html{scroll-padding-top:88px}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.section-shell{width:calc(100% - 36px)}
 .site-header{height:72px;padding:0 16px;gap:10px}.gh-brand img{width:155px}.gh-brand{min-height:44px;display:flex;align-items:center}.header-cta{font-size:12px;min-height:44px;padding:10px 14px;gap:0}.header-cta span{display:none}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;flex:0 0 44px;padding:0;border:1px solid #183d3625;border-radius:50%;background:transparent}.menu-toggle span{display:block;width:18px;height:2px;background:var(--forest)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .site-header nav.open{top:72px;max-height:calc(100dvh - 150px);overflow-y:auto;padding:14px 18px 20px;border-radius:0 0 24px 24px;box-shadow:0 16px 24px #183d3615}.site-header nav a{display:flex;align-items:center;min-height:48px;font-size:15px;padding:8px 12px}
 .mobile-dock{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;min-height:64px}.mobile-dock>a{min-height:44px;display:flex;align-items:center;justify-content:center;flex:1;font-size:13px}.mobile-dock button{min-height:44px;font-size:12px;padding:10px 17px}.modal-open .mobile-dock{visibility:hidden}
 .btn{min-height:48px;font-size:13px;white-space:normal}.text-link,.image-open{min-height:44px;font-size:13px}.section-topic{font-size:12px;line-height:1.6;letter-spacing:.2px;margin-bottom:18px}h2{font-size:36px;letter-spacing:-1.1px}
 .hero{min-height:0}.hero-copy{padding:260px 22px 122px;max-width:none}.hero h1{font-size:clamp(54px,15.5vw,70px);letter-spacing:-2.7px}.hero-photo{height:53%;width:100%}.hero h2{font-size:32px}.location-line{font-size:12px}.hero-intro{font-size:14px;line-height:1.8;max-width:360px;margin-top:20px}.hero-affiliation{font-size:10px;letter-spacing:1.8px;margin:20px 0 26px}.hero-copy .btn{font-size:13px;min-height:48px}.hero-developer{font-size:11px;margin-top:27px;gap:10px}.hero-developer img{width:154px}.hero-foot{padding:0 22px;height:80px;font-size:12px}.hero-foot-label{display:none}.hero-foot>a{min-height:44px;gap:14px}.hero-switch{gap:0}.hero-switch button,.hero-switch button.active{position:relative;width:32px;height:44px;background:transparent;border-radius:0}.hero-switch button:after{content:'';position:absolute;left:6px;right:6px;top:21px;height:4px;border-radius:4px;background:#eae2ce66}.hero-switch button.active:after{background:var(--copper)}.film-orbit{width:48px;height:48px;top:95px;right:20px}.hero-caption{font-size:10px}
 .intro-description,.film-heading>p,.residence-heading>p,.developer-copy>p,.finance-heading p,.contact-section p,.residence-bespoke p,.location-section .section-title p,.connection-note p{font-size:14px;line-height:1.85}.project-details span,.fact-ribbon p{font-size:12px;line-height:1.7}.project-details{gap:22px 16px;padding:22px 17px}.project-details strong{font-size:24px}
 .film-grid .gh-inline-film,.film-grid .gh-film-cover{min-height:0;aspect-ratio:16/10;border-radius:24px!important}.film-feature-title{font-size:25px;left:19px;bottom:23px}.film-duration{font-size:11px}.film-play-circle{width:44px;height:44px}.developer-film{height:auto;aspect-ratio:16/10;min-height:0}.developer-film .gh-film-cover{min-height:0}.developer-film-label{bottom:22px;left:22px;right:64px}.developer-film-label strong{font-size:23px}.developer-film-label small{font-size:10px}.developer-values span{font-size:12px}.developer-communities>span{font-size:12px}.developer-communities a{min-height:44px}
 .official-tour-copy{padding:24px}.official-tour-copy p{font-size:14px}.official-tour-cover{height:auto;aspect-ratio:16/10}.official-interior-info{min-height:114px;padding:16px 16px 18px}.official-interior-info>svg{display:none}.official-interior-info strong{font-size:14px}.official-interior-info>span{font-size:12px;line-height:1.5}.official-interior-render{height:180px;padding:10px}.official-interior-heading p{font-size:14px}
 .map-inspector-heading p{font-size:12px}.map-inspector-tabs button{font-size:13px;min-height:44px}.map-search input{font-size:16px}.map-search{min-height:48px}.map-places button strong{font-size:12px}.map-places button small{font-size:10px}.map-layer-option{font-size:12px;min-height:44px}.map-tile-options button{font-size:12px;min-height:48px}.map-layer-panel h4{font-size:12px}.map-opacity{font-size:12px}.map-opacity input{min-height:44px}.map-toolbar button{width:44px;height:44px;padding:11px}.gh-map-experience .leaflet-control-zoom a{width:44px!important;height:44px!important;line-height:44px!important}.map-detail>p{font-size:13px;line-height:1.7}.map-detail .text-link{font-size:12px;min-height:44px}.map-detail .place-type{font-size:10px}.gh-map-experience .map-panel{flex-basis:410px;height:410px;min-height:410px}
 .lifestyle-stage{height:700px}.lifestyle-copy{left:22px;top:45px}.lifestyle-copy p{font-size:14px;max-width:290px;line-height:1.8}.lifestyle-copy>span{font-size:12px}.lifestyle-copy h3{font-size:40px}.lifestyle-tabs{left:22px;right:22px;bottom:48px;gap:20px 14px}.lifestyle-tabs button{min-height:68px}.lifestyle-tabs span{font-size:22px}.lifestyle-tabs small{font-size:11px}.lifestyle-caption{font-size:10px}
 .np-res-wing-switch button,.np-res-type-switch button{min-height:44px;font-size:12px}.np-res-type-switch{flex-wrap:wrap;overflow:visible;gap:8px}.np-res-type-switch button{padding:10px 14px}.np-res-expand{font-size:12px;min-height:44px}.np-res-plan-caption{flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}.np-res-plan-caption>span:last-child{font-size:11px;text-align:left}.np-res-detail{padding:24px 20px;scroll-margin-top:88px}.np-res-detail>h3{font-size:21px}.np-res-detail-area{font-size:34px}.np-res-detail dl{font-size:13px;gap:18px}.np-res-detail>p{font-size:13px}.np-res-view dd{font-size:13px}.np-res-visual-actions button,.np-res-consult,.np-res-finance-link{font-size:13px;min-height:48px}.np-res-card{padding:12px}.np-res-card-render img{height:145px}.np-res-card-top,.np-res-card-area-label,.np-res-card-model{font-size:11px}.np-res-card-type,.np-res-card-usable{font-size:12px}.np-res-card>strong{font-size:29px}.np-res-card-render::after{font-size:10px}.np-res-catalog-heading{align-items:flex-start}.np-res-catalog-type{font-size:12px}.np-plan-close,.np-plan-zoom-controls>button{width:44px;height:44px}.np-plan-dialog-bar{padding:14px 16px}.np-plan-dialog-bottom{padding:12px 14px calc(12px + env(safe-area-inset-bottom));flex-wrap:wrap}.np-plan-dialog-bottom>.np-plan-selection{max-width:none;width:100%;font-size:12px}.np-plan-zoom-controls{justify-content:flex-end;width:100%}.np-plan-zoom-value{font-size:13px}
 .finance-workspace{padding:18px 15px}.finance-heading h2{font-size:38px}.finance-residence-areas{grid-template-columns:1fr 1fr;gap:18px}.finance-pricing-area{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.finance-residence-areas span{font-size:12px;min-height:0}.finance-residence-areas strong{font-size:18px}.finance-pricing-area{display:flex;align-items:center;justify-content:space-between}.finance-pricing-area span{margin:0}#financeFormula{font-size:12px;line-height:1.8;padding:13px}.finance-residence-eyebrow{font-size:12px}.finance-change-unit{min-height:44px;font-size:13px}
 .finance-tabs{gap:4px;padding:4px;position:sticky;top:80px;z-index:4;box-shadow:0 3px 12px #183d360b}.finance-tabs button{min-height:52px;font-size:12px;line-height:1.45;padding:8px 5px}.payment-choice strong{font-size:24px}.payment-choice small{font-size:12px}.payment-choice .plan-choice-number{font-size:11px!important}.plan-signing-money{font-size:12px}.finance-inputs{grid-template-columns:1fr;gap:22px}.finance-inputs label{font-size:13px}.input-unit span{font-size:12px}.finance-dates{gap:25px}.finance-dates span{font-size:12px}.finance-dates strong{font-size:24px}.finance-status{font-size:12px;line-height:1.8}.payment-summary{padding:19px 16px;gap:22px 18px}.payment-summary>div>span{font-size:12px}.payment-summary strong{font-size:26px}.payment-summary small{font-size:11px;line-height:1.6}
 .finance-panel-intro p,.finance-chart-heading p{font-size:13px}.finance-program{font-size:12px;white-space:normal}.finance-chart-heading>span{font-size:12px}.finance-chart{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px}.finance-chart svg{min-width:520px}.finance-chart text{font-size:13px}.finance-legend{font-size:12px;line-height:1.5}.finance-comparison:before,.payment-table-wrap:before{content:'Vuốt ngang để xem đầy đủ bảng';display:block;position:sticky;left:0;font-size:11px;color:var(--muted);padding:10px 12px;background:var(--pearl)}.payment-table,.finance-comparison .payment-table{font-size:12px}.payment-table thead th{font-size:11px}.finance-detail summary{font-size:14px;min-height:52px}.finance-detail summary>span{flex-shrink:0}.finance-controls{padding:20px 17px}.finance-field-grid{grid-template-columns:1fr;gap:23px}.finance-field-grid label{font-size:13px}.finance-field-grid .input-unit span{font-size:12px}.finance-field-grid small,.finance-assumption{font-size:12px;line-height:1.8}.finance-field-grid input[type=month],.finance-field-grid select,.finance-year-filter select{font-size:16px;min-height:48px}.finance-loan-toggle{font-size:14px;min-height:52px}.finance-loan-toggle input{width:22px;height:22px;flex-shrink:0}.finance-loan-summary span,.finance-metrics span{font-size:12px}.finance-loan-summary small,.finance-metrics small{font-size:11px}.finance-insight{font-size:14px}.finance-loan-summary>p{font-size:13px}.finance-yield-strip{flex-wrap:wrap;gap:18px}.finance-yield-strip>div{flex:1 0 42%}.finance-yield-strip span{font-size:12px}.finance-yield-strip strong{font-size:14px}.finance-sensitivity>div:last-child{grid-template-columns:1fr;gap:10px}.finance-sensitivity>div:last-child>div{padding:17px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center}.finance-sensitivity strong{font-size:22px;margin:0}.finance-sensitivity span,.finance-sensitivity p{font-size:12px}.finance-sensitivity p:last-child{grid-column:1/-1}.finance-finish p{font-size:12px;max-width:none}.finance-chart-empty{font-size:13px}#investmentBreakdown{font-size:12px;grid-template-columns:1fr}#investmentBreakdown strong{font-size:15px}
 .library-item{display:grid;grid-template-columns:115px minmax(0,1fr);gap:16px;align-items:center}.library-item>img{width:115px;height:100px;aspect-ratio:auto}.library-item span{min-width:0;padding:0 16px 0 0}.library-item strong{font-size:22px;line-height:1.35}.library-item small{font-size:12px;line-height:1.5}.library-item i{right:0;bottom:50%;font-size:19px}.site-footer{padding:28px 18px 25px}.site-footer p{font-size:12px}.site-footer>button,.site-footer>a{min-height:44px;font-size:12px}.contact-section h2{font-size:34px}.contact-actions>.btn{font-size:13px;min-height:48px}.contact-actions>a:not(.btn){font-size:14px}.contact-actions>span{font-size:12px}
 .dialog-close{width:44px;height:44px;min-width:44px;flex-shrink:0}.dialog-top{padding:14px 16px}.image-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0}.image-dialog .dialog-top{flex-wrap:wrap;padding:14px 16px}.image-dialog .dialog-top h2{max-width:none;flex:1 0 100%;font-size:19px}.image-tools{width:100%;justify-content:flex-end;gap:8px}.image-tools button:not(.dialog-close),.image-tools .dialog-close{min-width:44px;height:44px;font-size:14px}.image-viewport{overscroll-behavior:contain}.consult-dialog{padding:28px 22px;max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}.consult-dialog label{font-size:13px}.consult-dialog input,.consult-dialog select,.consult-dialog textarea{font-size:16px;min-height:48px}.consult-fields{grid-template-columns:1fr}.consult-heading h2{font-size:29px}.consult-heading p{font-size:13px}.consult-selected{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.consult-ready .btn{min-height:48px;font-size:12px}.consult-ready .text-link{font-size:13px}.privacy-dialog p{font-size:14px}.privacy-dialog .dialog-close{width:44px;height:44px}.official-tour-bar{padding:12px 14px;gap:10px}.official-tour-bar>img{width:106px}.official-tour-heading h2{font-size:13px}.official-tour-close{width:44px;height:44px}.official-tour-tools select{font-size:16px;min-height:44px;max-width:220px}.official-tour-tools label{font-size:12px}.official-tour-bottom{padding-bottom:calc(12px + env(safe-area-inset-bottom))}.official-tour-bottom button{min-height:44px;font-size:12px}.toast{white-space:normal;font-size:13px;bottom:80px}
}
@media(max-width:370px){.header-cta{display:none}.gh-brand img{width:175px}.np-res-detail{grid-template-columns:1fr}.np-res-detail-area{text-align:left;margin:0 0 15px}.hero-foot{padding:0 18px}.hero-foot>a{gap:10px}.np-res-wing-switch button{padding:10px 5px}.np-res-card>strong{font-size:25px}.finance-tabs button{font-size:11px}}
/* Safe alignment keeps every edge reachable when an image is wider/taller than the viewer. */
.image-viewport{place-items:safe center}.image-viewport img{align-self:safe center}.film-dialog .dialog-brand{background:var(--cream);padding:9px 12px;border-radius:12px;width:178px}
@media(max-width:680px){.finance-workspace{overflow:visible}.finance-controls input,.finance-controls select,.finance-inputs input{scroll-margin-top:160px}.finance-chart svg{min-width:600px}.finance-chart text{font-size:17px}.film-grid .film-secondary.gh-inline-film,.film-secondary .gh-film-cover{aspect-ratio:1080/1254}.np-res-card{scroll-margin-top:100px}}
@media(max-width:680px){.finance-analysis-grid{grid-template-columns:minmax(0,1fr)}.finance-analysis-results{min-width:0}.finance-chart-card,.finance-comparison,.payment-table-wrap{max-width:100%}.finance-sensitivity{grid-template-columns:minmax(0,1fr)}.finance-sensitivity>div{min-width:0}}
@media(max-width:680px){.finance-controls fieldset:disabled{display:none}}
@media(max-width:680px){.finance-tabs{scroll-margin-top:80px}}
