/* A single mobile layout contract, applied after legacy desktop rules. */
.concept-home .hero{display:block;width:100%;aspect-ratio:16/9;height:auto;min-height:0;max-height:none;padding:0;background:#005589}
.concept-home .hero-video,.concept-home .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;filter:none}
.concept-home .hero-image{background-size:contain;background-position:center;background-repeat:no-repeat}
.concept-home .hero:before{display:none}
@media(max-width:900px){
 .concept-home{--mobile-gutter:20px}
 .concept-home .wrap,.concept-home .site-header .wrap,.concept-home .life-section>.wrap{width:calc(100% - 2*var(--mobile-gutter));max-width:760px;margin-inline:auto}
 .concept-home:not(.vigos-page) main{padding-top:53px}
 .concept-home .header-inner{min-height:53px}
 .concept-home .hero{height:auto!important;min-height:0!important;aspect-ratio:16/9}
 .concept-home .nav{right:20px;left:auto;top:100%;width:min(360px,calc(100vw - 40px));max-height:calc(100dvh - 64px)}
 .concept-home .section,.concept-home .vigos-section{padding-top:55px;padding-bottom:55px}
 .concept-home .section-head{display:block;margin-bottom:30px;gap:0}
 .concept-home .section-head>div,.concept-home .section-head h2,.concept-home .section-head p{width:100%;max-width:100%}
 .concept-home .section-head p{margin-top:20px}
 .concept-home h1,.concept-home h2,.concept-home h3{hyphens:none;word-break:normal;overflow-wrap:normal;letter-spacing:0;line-height:1.4}
 .concept-home p,.concept-home li,.concept-home dd{font-size:1rem;line-height:1.8;text-align:left;word-spacing:normal;overflow-wrap:break-word}
 .concept-home .eyebrow{font-size:.875rem;line-height:1.65;letter-spacing:0}
 .concept-home .factbar{padding:45px 0 230px}
 .concept-home .factbar h1{font-size:clamp(1.9rem,6.7vw,3.1rem);margin-bottom:32px}
 .concept-home .factbar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
 .concept-home .factbar-grid>div{padding:0 8px;border:0!important;text-align:center}
 .concept-home .factbar strong{font-size:clamp(1.5rem,4.6vw,2.25rem);line-height:1.4;white-space:normal}
 .concept-home .factbar span{font-size:.875rem;line-height:1.6}
 .concept-home .factbar p{font-size:.875rem;text-align:center}
 .concept-home #tong-quan{width:100%;grid-template-columns:1fr;min-height:0}
 .concept-home #tong-quan .split-copy{padding:35px var(--mobile-gutter);width:100%;align-items:stretch}
 .concept-home #tong-quan h2{max-width:100%;font-size:clamp(1.9rem,6.8vw,2.5rem)}
 .concept-home #tong-quan .split-image{order:0;height:auto;min-height:0;aspect-ratio:16/10}
 .concept-home #tong-quan .split-image img{transform:none;width:100%;height:100%;object-fit:cover}
 .concept-home #tong-quan .split-image:after{background:linear-gradient(0deg,#edf6fa,transparent 20%)}
 .concept-home .metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 28px}
 .concept-home .metric-row>div{min-width:0}.concept-home .metric-row strong{font-size:1.5rem}.concept-home .metric-row span{font-size:.875rem}
 .concept-home .product-grid{grid-template-columns:1fr;gap:32px}.concept-home .product-card:nth-child(2){margin-top:0}
 .concept-home .location-layout{grid-template-columns:1fr;gap:28px}
 .concept-home .location-map,.location-panel{height:auto;min-height:0}
 .concept-home .location-map img{height:auto;min-height:0;object-fit:contain}
 .concept-home .location-list{display:grid;grid-template-columns:1fr;overflow:visible;gap:24px;padding:0}
 .concept-home .travel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
 .concept-home .travel-stop,.concept-home .travel-stop+.travel-stop{padding:0;border:0}
 .concept-home .travel-time strong{font-size:2rem}.concept-home .travel-adjacent strong{font-size:1.4rem}
 .concept-home .travel-stop li{font-size:.95rem}
 .concept-home #tien-ich{padding:110px 0 50px;background:linear-gradient(var(--paper),#007dc5 70px)}
 .concept-home #tien-ich .section-head{width:100%;max-width:none;margin-bottom:30px}
 .concept-home #tien-ich .section-head h2{font-size:clamp(1.65rem,5.8vw,2.3rem);line-height:1.45}
 .concept-home #tien-ich .section-head p{max-width:100%;margin-top:24px;text-align:left}
 .concept-home .amenities-overview{width:100%;left:auto;transform:none;margin:0 0 35px;border-radius:14px}
 .concept-home .amenity-track{width:100%;margin:0;padding:0;gap:16px;scroll-padding:0}
 .concept-home .amenity-track .amenity{flex-basis:100%;transform:none;opacity:1}
 .concept-home .amenity-track .amenity-image{height:auto;aspect-ratio:16/10}
 .concept-home .amenity-track h3{font-size:1.7rem}.concept-home .amenity-track p{text-align:center;font-size:1rem}
 .concept-home .amenity-index{grid-template-columns:repeat(2,minmax(0,1fr))}
 .concept-home .render-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px;gap:12px}
 .concept-home .render-section{padding:45px 0 60px}.concept-home .actual-section{padding:120px 0 55px}
 .concept-home .actual-grid{grid-template-columns:1fr;gap:28px}
 .concept-home .actual-grid figure,.concept-home .actual-grid figure:first-child,.concept-home .actual-grid figure:nth-child(2){grid-column:auto}
 .concept-home .actual-grid img,.concept-home .actual-grid figure:nth-child(-n+2) img{width:100%;height:auto;aspect-ratio:16/10}
 .concept-home .actual-grid figcaption{font-size:.875rem;padding:12px 0 0}
 .concept-home .activity-grid{grid-template-columns:1fr;gap:38px;max-width:none}
 .concept-home .school-milestone{grid-template-columns:1fr;gap:26px;margin-top:45px}
 .concept-home .policy-section{padding:115px 0 55px}
 .concept-home .policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
 .concept-home .policy-section .policy-card,.concept-home .policy-section .policy-card:first-child,.concept-home .policy-section .policy-card:nth-child(3){padding:20px 16px;min-height:0!important;border:1px solid #ffffff33;border-radius:12px;background:#ffffff0d;display:flex;flex-direction:column;gap:10px}
 .concept-home .policy-section .policy-card strong{font-size:clamp(1.35rem,5vw,1.8rem);line-height:1.4;margin:0;font-family:"Be Vietnam Pro",sans-serif;font-weight:600}
 .concept-home .policy-section .policy-card p{font-size:.875rem;line-height:1.65;margin:0;max-width:none}
 .concept-home .policy-lead{display:block}.concept-home .policy-lead .btn{margin-top:22px}
 .concept-home #chinh-sach .stacked-heading{font-size:clamp(1.75rem,6vw,2.4rem)}
 .concept-home .cta-band{padding:90px 0 50px}.concept-home .cta-inner{display:block}.concept-home .cta-actions{margin-top:24px}
 .concept-home .news-grid{grid-template-columns:1fr;gap:30px}.concept-home .news-copy h3{font-size:1.4rem}
 .concept-home .foot-inner{display:block}.concept-home .footer-navigation{max-width:100%;margin-top:30px}
 .concept-home .foot p,.concept-home .foot-links,.concept-home .footer-social{font-size:.875rem}
 .concept-home .reveal{opacity:1;transform:none;transition:none}
 .vigos-page .vigos-hero{min-height:560px;padding-top:53px}
 .vigos-page .vigos-hero .wrap{width:calc(100% - 40px);padding:70px 0 45px}
 .vigos-page .vigos-overview{grid-template-columns:1fr;margin-top:40px;gap:25px}
 .vigos-page .vigos-overview-image,.vigos-page .vigos-overview-image img{height:auto;min-height:0;aspect-ratio:16/10}
 .vigos-page .vigos-summary dl,.vigos-page .vigos-product,.vigos-page .vigos-location-grid,.vigos-page .vigos-connection-groups,.vigos-page .vigos-amenity-list,.vigos-page .vigos-photo-grid,.vigos-page .vigos-plan-index,.vigos-page .vigos-amenity-grid{grid-template-columns:1fr;gap:28px}
 .vigos-page .vigos-summary dl>div,.vigos-page .vigos-specs>div{grid-template-columns:1fr;gap:6px}
 .vigos-page .vigos-product>img{position:static}
 .vigos-page .vigos-title h2{font-size:clamp(1.85rem,6.7vw,2.5rem);line-height:1.4}
 .vigos-page .vigos-amenities{padding:115px 0 55px}.vigos-page .vigos-life{padding-top:120px}
 .vigos-page .policy-section{padding:55px 0}
 .vigos-page .contact-box{grid-template-columns:1fr}.vigos-page .contact-copy,.vigos-page .contact-form{padding:28px 20px}
 .vigos-page .vigos-photo-grid img{height:auto;aspect-ratio:16/10}
}
@media(max-width:380px){.concept-home .travel-grid{grid-template-columns:1fr}.concept-home .render-grid{grid-template-columns:1fr;grid-auto-rows:220px}.concept-home .render-grid .wide{grid-column:span 1;grid-row:span 1}.concept-home .vigos-facts{grid-template-columns:1fr;gap:20px}}

@media(max-width:900px){.concept-home #tong-quan .stacked-heading [data-fit-line]{white-space:normal;font-size:clamp(1.5rem,5.4vw,2rem);line-height:1.5;text-wrap:balance}.concept-home .vigos-plan svg{font-size:inherit}}

/* Intrinsic media and explicit frames keep lazy images visible at every width. */
.concept-home .news-image img{height:auto}
.policy-duration{display:block;font:500 .875rem/1.6 'Be Vietnam Pro',sans-serif;color:#e4f2fa;margin-top:5px}
@media(max-width:900px){
 .concept-home .wrap .wrap{width:100%;max-width:none}
 .concept-home #tong-quan .split-copy{max-width:none;margin:0;align-items:stretch}
 .concept-home h1,.concept-home h2,.concept-home h3,.concept-home h4{overflow-wrap:break-word;text-wrap:wrap}
 .concept-home .eyebrow,.concept-home .btn,.concept-home .quiet-link{white-space:normal;text-wrap:wrap}
 .concept-home .section-head,.concept-home .vigos-title{text-align:left}
 .concept-home .section-head h2{font-size:clamp(1.75rem,6vw,2.5rem)}
 .concept-home .section-head p,.concept-home .location-intro p{max-width:none}
 .concept-home #vi-tri .location-intro{max-width:none;width:100%;margin:20px 0 0}
 .concept-home .location-list>div,.concept-home .location-list>div:first-child{padding:18px 0;border-left:0}
 .concept-home .location-list>div>span{font-size:1rem}
 .concept-home .travel-grid{align-items:start}
 .concept-home .cinematic-strip{height:auto;min-height:0;aspect-ratio:16/10}
 .concept-home .cinematic-strip img{width:100%;height:100%;transform:none;object-fit:cover}
 .concept-home .cinematic-strip:before,.concept-home .cinematic-strip:after{height:40px}
 .concept-home .cinematic-strip span{left:20px;right:20px;bottom:45px;font-size:.75rem;line-height:1.6;max-width:calc(100% - 40px)}
 .concept-home .product-card>a{display:block;aspect-ratio:auto;background:#e6f1f7}
 .concept-home .product-card>a img{position:static;width:100%;max-width:100%;height:auto;left:auto;top:auto;object-fit:contain;transform:none}
 .concept-home .product-card>a:hover img{transform:none}
 .concept-home .masterplan-frame span,.concept-home .location-map span{position:static;display:block;padding:12px 16px;font-size:.875rem;line-height:1.6;text-align:center}
 .concept-home .amenity-track .amenity-image img{height:100%;width:100%;object-fit:cover}
 .concept-home .amenity-track{scroll-snap-type:x mandatory}
 .concept-home .render-grid .wide{grid-column:auto;grid-row:auto}
 .concept-home .render-grid img{height:100%}
 .concept-home .render-grid figcaption{font-size:.8rem;line-height:1.5;padding:32px 12px 12px}
 .concept-home .activity-grid>.activity-album{grid-column:auto}
 .concept-home .activity-grid .album-media>.activity-photo{aspect-ratio:16/10}
 .concept-home .activity-grid .album-media>.activity-photo img{height:100%;object-fit:cover}
 .concept-home .activity-grid .activity-copy h3{font-size:1.4rem!important}
 .concept-home .school-milestone{width:100%;max-width:none;grid-template-columns:1fr;gap:26px}
 .concept-home .policy-section .policy-lead{padding:0 0 26px;margin-bottom:24px}
 .concept-home .policy-section .policy-lead strong{font-size:clamp(1.85rem,7vw,2.6rem)}
 .concept-home .policy-section .policy-note{font-size:.875rem;line-height:1.75;margin-top:24px}
 .concept-home .funding-partners{margin-top:40px;padding-top:28px}
 .concept-home .funding-partners h3{font-size:1.4rem;text-align:center}
 .concept-home .contact-copy,.concept-home .contact-form{padding:28px 20px}
 .concept-home .foot-links a,.concept-home .footer-social a{line-height:1.7}
 .concept-home .sticky-contact .btn{min-width:0;padding-inline:8px;line-height:1.5}
 .vigos-page .vigos-hero>img{height:100%;max-width:100%;object-fit:cover}
 .vigos-page .vigos-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vigos-page .vigos-facts>div{padding-left:12px;min-width:0}
 .vigos-page .vigos-summary dl>div{gap:6px;padding:16px 0}
 .vigos-page .vigos-summary dl{gap:0}
 .vigos-page .vigos-summary dd,.vigos-page .vigos-specs dd{margin:0}
 .vigos-page .vigos-overview-image img{width:100%;height:auto;object-fit:cover}
 .vigos-page .vigos-product>img,.vigos-page .vigos-location-grid>img{height:auto;max-width:100%;top:auto}
 .vigos-page .vigos-amenity-grid img{height:auto;aspect-ratio:16/10;object-fit:cover}
}
@media(max-width:360px){
 .concept-home .policy-grid{grid-template-columns:1fr}
 .concept-home .metric-row{grid-template-columns:1fr;gap:18px}
}
@media(max-width:900px){
 .concept-home #project-positioning{font-size:clamp(1.8rem,6.7vw,3rem);line-height:1.4;margin-bottom:32px}
 .concept-home #project-positioning span,.concept-home #project-positioning em{line-height:1.4;text-wrap:wrap}
 .vigos-page .policy-section .section-head{text-align:left;margin-bottom:30px}
 .concept-home .vigos-title p{max-width:none;margin:20px 0 0}
}

/* Partner marks share a stable frame; role labels never determine image position. */
.concept-home .development-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;max-width:760px;margin:0 auto;align-items:start}
.concept-home .development-logos .development-logo{position:static;display:flex;flex-direction:column;align-items:center;gap:20px;aspect-ratio:auto;overflow:visible;min-width:0;text-align:center}
.concept-home .development-logo .partner-role{width:100%;min-height:3.2em;margin:0;padding:0;font-size:.875rem;line-height:1.6;font-weight:600;text-align:center;color:var(--muted)}
.concept-home .development-logo img.partner-mark{position:static;display:block;width:260px;max-width:100%;height:120px;margin:0;transform:none;object-fit:contain;object-position:center}
.concept-home .bank-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;max-width:760px;margin:0 auto;align-items:center}
.concept-home .bank-logos .bank-logo{position:static;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;margin:0;aspect-ratio:auto;overflow:visible}
.concept-home .bank-logo img.partner-mark{position:static;display:block;width:190px;max-width:100%;height:60px;margin:0;transform:none;object-fit:contain;object-position:center}
@media(max-width:900px){
 .concept-home #tong-quan .split-copy{display:block;width:100%;max-width:none;padding:35px 20px;margin:0}
 .concept-home #vi-tri>.wrap,.concept-home #tien-ich>.wrap{width:calc(100% - 40px);max-width:760px;padding-inline:0;margin-inline:auto}
 .concept-home #vi-tri .section-head,.concept-home #tien-ich .section-head{display:block;width:100%;max-width:none;margin:0 0 30px;padding:0;text-align:left}
 .concept-home #vi-tri .section-head h2,.concept-home #tien-ich .section-head h2{width:100%;max-width:none;margin:14px 0 0;text-align:left}
 .concept-home #vi-tri .location-intro{width:100%;max-width:none;margin:20px 0 0;padding:0;text-align:left}
 .concept-home #tong-quan .split-copy>p.mobile-prose,
 .concept-home #vi-tri .location-intro>p.mobile-prose,
 .concept-home #tien-ich .section-head>p.mobile-prose,
 .concept-home #tien-ich .amenity-copy>p.mobile-prose{
  display:block;box-sizing:border-box;width:100%;min-width:0;max-width:none;margin:0 0 20px;padding:0;
  font-size:1rem;line-height:1.8;text-align:justify;text-align-last:left;text-justify:inter-word;text-indent:0;text-wrap:wrap;
  letter-spacing:0;word-spacing:normal;white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:none;
 }
 .concept-home #tien-ich .section-head>p.mobile-prose{margin-top:20px}
 .concept-home #tien-ich .amenity-track .amenity-copy{width:100%;margin:0;padding:20px 0 0;text-align:left}
 .concept-home #tien-ich .amenity-track .amenity-copy h3{text-align:left;margin:0 0 10px}
 .concept-home #tien-ich .amenity-track .amenity-copy p.mobile-prose{margin-bottom:0}
 .concept-home #doi-ngu>.wrap{width:calc(100% - 40px);max-width:760px;padding:0;margin-inline:auto}
 .concept-home #doi-ngu .section-head,.concept-home #doi-ngu .section-head h2{text-align:center;margin-inline:auto}
 .concept-home #doi-ngu .funding-partners{margin-top:40px;padding-top:30px}
 .concept-home #doi-ngu .funding-partners h3{text-align:center;font-size:1.4rem;margin:0 0 28px}
}
@media(max-width:600px){
 .concept-home .development-logos{grid-template-columns:1fr;gap:36px;max-width:340px}
 .concept-home .development-logo .partner-role{min-height:0;font-size:.875rem;max-width:280px}
 .concept-home .development-logo img.partner-mark{width:240px;height:105px}
 .concept-home .bank-logos{grid-template-columns:1fr;gap:24px;max-width:260px}
 .concept-home .bank-logo img.partner-mark{width:180px;height:60px}
}
/* Narrative alignment applies equally to desktop, tablet and mobile. */
.concept-home #tong-quan .split-copy>p.mobile-prose,
.concept-home #vi-tri .location-intro>p.mobile-prose,
.concept-home #tien-ich .section-head>p.mobile-prose,
.concept-home #tien-ich .amenity-track .amenity-copy>p.mobile-prose{
 text-align:justify;text-align-last:left;text-justify:inter-word;text-wrap:wrap;
 word-spacing:normal;letter-spacing:0;hyphens:none;
}

/* The Vigos narrative shares one readable text frame across devices. */
.concept-home.vigos-page .vigos-overview-copy,
.concept-home.vigos-page .vigos-title,
.concept-home.vigos-page .vigos-location-copy,
.concept-home.vigos-page .vigos-plan-index>article,
.concept-home.vigos-page .vigos-amenity-grid>article,
.concept-home.vigos-page .vigos-full-amenities,
.concept-home.vigos-page .vigos-product>div{min-width:0;max-width:100%}
.concept-home.vigos-page main p.vigos-prose{
 width:100%;min-width:0;max-width:none;padding:0;text-indent:0;
 font-size:1rem;line-height:1.8;text-align:justify;text-align-last:left;text-justify:inter-word;
 text-wrap:wrap;white-space:normal;word-break:normal;overflow-wrap:break-word;
 letter-spacing:0;word-spacing:normal;hyphens:none;
}
.concept-home.vigos-page .vigos-overview-copy>p.vigos-prose,
.concept-home.vigos-page .vigos-location-copy>p.vigos-prose{margin:0 0 20px}
.concept-home.vigos-page .vigos-title>p.vigos-prose{max-width:760px;margin:24px auto 0}
.concept-home.vigos-page .vigos-summary dl>div,
.concept-home.vigos-page .vigos-specs>div{min-width:0;align-items:start}
.concept-home.vigos-page .vigos-summary dd,
.concept-home.vigos-page .vigos-specs dd{min-width:0;margin:0;line-height:1.8;text-align:left;word-break:normal;overflow-wrap:break-word}
@media(max-width:1100px){
 .concept-home.vigos-page .vigos-overview{grid-template-columns:1fr;gap:30px}
 .concept-home.vigos-page .vigos-overview-image{min-height:0}
 .concept-home.vigos-page .vigos-overview-image img{min-height:0;height:auto;aspect-ratio:16/10}
 .concept-home.vigos-page .vigos-product{grid-template-columns:1fr}
 .concept-home.vigos-page .vigos-product>img{position:static;top:auto}
}
@media(max-width:900px){
 .concept-home.vigos-page main>.wrap,
 .concept-home.vigos-page .vigos-section>.wrap,
 .concept-home.vigos-page .section>.wrap{width:calc(100% - 40px);max-width:760px;padding-inline:0;margin-inline:auto}
 .concept-home.vigos-page .vigos-title{width:100%;max-width:none;padding:0;text-align:left}
 .concept-home.vigos-page .vigos-title h2{width:100%;max-width:none;margin:14px 0 0;text-align:left}
 .concept-home.vigos-page .vigos-title>p.vigos-prose{max-width:none;margin:20px 0 0}
 .concept-home.vigos-page .vigos-overview-copy{width:100%;padding:0;margin:0}
 .concept-home.vigos-page .vigos-summary dl{grid-template-columns:1fr;gap:0}
 .concept-home.vigos-page .vigos-summary dl>div,
 .concept-home.vigos-page .vigos-specs>div{grid-template-columns:1fr;gap:6px}
 .concept-home.vigos-page .vigos-amenity-list{grid-template-columns:1fr;gap:28px}
}
