:root{--sage:#496b5f;--deep:#233c35;--sand:#f6f3ed;--cream:#fcfaf7;--line:#e8e3d9;--ink:#24392f;--muted:#627369;--gold:#b08a57}*{box-sizing:border-box}html{scroll-behavior:smooth}body.spa-site{margin:0;background:#fff;color:var(--ink);font:16px/1.7 'Be Vietnam Pro',Arial,sans-serif}body.spa-site a{text-decoration:none;color:inherit}body.spa-site img{max-width:100%;display:block}body.spa-site h1,body.spa-site h2,body.spa-site h3{line-height:1.25;letter-spacing:-.025em}body.spa-site h1{font-size:clamp(2.65rem,4.4vw,5.2rem);margin:17px 0 26px}body.spa-site h2{font-size:clamp(2rem,3vw,3.05rem);margin:12px 0 20px}body.spa-site h3{font-size:1.2rem}.spa-wrap{width:min(1190px,calc(100% - 44px));margin-inline:auto}.spa-top{background:var(--deep);color:#e8eee8;font-size:12px}.spa-top .spa-wrap{display:flex;justify-content:space-between;gap:15px;padding:8px 0}.spa-header{background:#fff;position:sticky;top:0;z-index:999;box-shadow:0 4px 18px #162b2210}.spa-nav{display:flex;align-items:center;justify-content:space-between;gap:26px;min-height:90px}.spa-logo{display:flex;align-items:center;gap:12px;font-size:22px;font-weight:800;line-height:1.15;white-space:nowrap}.spa-logo small{display:block;font-size:9px;font-weight:700;color:var(--gold);letter-spacing:.18em;margin-top:7px}.spa-logo-mark{display:grid;place-items:center;font-size:27px;color:#fff;width:43px;height:43px;border-radius:50%;background:var(--sage)}.spa-nav nav{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-size:13px;font-weight:700}.spa-nav nav a:hover,.spa-more:hover{color:#ae8256}.spa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;gap:10px;border:1px solid var(--sage);background:var(--sage);color:#fff!important;padding:12px 24px;border-radius:9px;font:700 14px 'Be Vietnam Pro',sans-serif;cursor:pointer;transition:background .2s,transform .2s}.spa-btn:hover{background:var(--deep);transform:translateY(-2px)}.spa-outline{background:transparent;color:var(--sage)!important}.spa-nav-cta{white-space:nowrap}.spa-hamb{display:none;cursor:pointer;border:0;background:transparent;font-size:28px}.spa-skip{position:absolute;left:-10000px}.spa-skip:focus{position:fixed;left:5px;top:5px;z-index:9999;background:#fff}.spa-hero{background:linear-gradient(115deg,#f6f3ed 5%,#fff 67%);overflow:hidden}.spa-hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:62px;padding:65px 0}.spa-kicker{color:var(--gold);letter-spacing:.18em;font-size:12px;font-weight:800}.spa-hero h1{max-width:650px}.spa-hero h1 em{font-style:normal;color:var(--sage)}.spa-hero p{font-size:18px;max-width:560px;color:var(--muted)}.spa-actions{display:flex;gap:14px;flex-wrap:wrap;margin:35px 0}.spa-hero-note{border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:var(--sage);font-weight:700}.spa-hero-photo{position:relative}.spa-hero-photo img{width:100%;height:550px;object-fit:cover;border-radius:180px 180px 14px 14px}.spa-hero-photo span{position:absolute;bottom:12px;right:12px;background:#fffe;padding:6px 12px;border-radius:8px;font-size:10px}.spa-features{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:45px 0 30px}.spa-features>div{padding:18px 27px;border-right:1px solid var(--line)}.spa-features>div:last-child{border:0}.spa-features b{color:var(--gold);font-size:14px}.spa-features h3{margin:7px 0}.spa-features p{color:var(--muted);margin:0;font-size:14px}.spa-section{padding-top:85px;padding-bottom:85px}.spa-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:31px;gap:25px}.spa-heading p,.spa-page-hero p{color:var(--muted);margin:0}.spa-more{font-weight:700;color:var(--sage)!important;white-space:nowrap}.spa-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.spa-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .2s,box-shadow .2s;min-width:0}.spa-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #304b3216}.spa-card-img{height:195px;overflow:hidden;background:var(--sand)}.spa-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.spa-card:hover img{transform:scale(1.04)}.spa-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.spa-card-body>span{font-size:10px;letter-spacing:.13em;font-weight:800;color:var(--gold)}.spa-card-body h3{font-size:18px;margin:10px 0;line-height:1.35}.spa-card-body p{font-size:13px;color:var(--muted);margin:0 0 18px;flex:1}.spa-card-body strong{font-size:13px;color:var(--sage)}.spa-cream{background:var(--sand)}.spa-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.spa-split-image img,.spa-page-split img{width:100%;height:440px;object-fit:cover;border-radius:18px}.spa-split p{color:var(--muted);margin-bottom:20px}.spa-split .spa-btn{margin-top:14px}.spa-call{background:var(--deep);color:#fff;padding:75px 0;text-align:center}.spa-call h2{max-width:780px;margin:15px auto}.spa-call p{color:#d4e0d8;margin-bottom:25px}.spa-btn-light{background:#fff;color:var(--deep)!important}.spa-page-hero{background:var(--sand);padding:75px 0 80px}.spa-page-hero h1{font-size:clamp(2.1rem,3.5vw,3.8rem);max-width:900px}.spa-bread{font-size:13px;color:var(--sage);margin-bottom:22px}.spa-bread a:hover{text-decoration:underline}.spa-page-hero p{max-width:750px;font-size:17px}.spa-page-body{padding-top:60px;padding-bottom:85px;min-height:400px}.spa-page-intro{max-width:760px;margin-bottom:40px}.spa-page-body>h2{font-size:30px}.spa-page-split{align-items:start}.spa-page-split small{font-size:12px;color:var(--muted)}.spa-highlight{padding:30px 36px;background:var(--sand);border-radius:12px;margin-top:30px}.spa-table-wrap{overflow:auto;margin:22px 0}.spa-price{width:100%;border-collapse:collapse;min-width:680px}.spa-price th,.spa-price td{border-bottom:1px solid var(--line);padding:17px;text-align:left}.spa-price th{background:var(--sage);color:#fff}.spa-price tr:nth-child(even){background:#faf9f6}.spa-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.spa-gallery figure{margin:0;background:var(--sand);border-radius:12px;overflow:hidden}.spa-gallery img{height:230px;width:100%;object-fit:cover}.spa-gallery figcaption{font-size:11px;padding:10px;color:var(--muted)}.spa-article-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:45px;padding:65px 0 90px}.spa-reading figure{margin:0 0 35px}.spa-reading figure img{width:100%;height:430px;object-fit:cover;border-radius:13px}.spa-reading figcaption{font-size:12px;color:var(--muted);padding-top:7px}.spa-rich{font-size:16px;line-height:1.95;overflow-wrap:anywhere}.spa-rich h2{font-size:27px;margin:32px 0 13px}.spa-rich h3{font-size:22px}.spa-rich p{margin:0 0 21px}.spa-aside{position:sticky;top:130px}.spa-aside-card{background:var(--sand);border-radius:14px;padding:25px;margin-bottom:28px}.spa-aside-card h3{margin:0 0 10px}.spa-aside-card p{font-size:14px}.spa-aside-link{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.spa-disclaimer{background:#f2f6f2;border-left:3px solid var(--sage);padding:15px 20px;color:var(--muted);font-size:13px}.spa-demo-form{display:grid;gap:16px;margin:24px 0}.spa-demo-form label{display:grid;gap:6px;font-weight:700;font-size:13px}.spa-demo-form input:not([type=checkbox]),.spa-demo-form select{height:48px;border:1px solid #cdd9d0;border-radius:8px;background:#fff;padding:0 12px;font:inherit;width:100%}.spa-demo-form .spa-check{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:12px}.spa-contact-list{padding-left:18px}.spa-footer{background:#203a32!important;color:#e7f0e8!important;padding:66px 0 22px}.spa-footer .spa-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:45px}.spa-footer .spa-foot-grid>div{min-width:0}.spa-footer .spa-foot-logo{font-size:24px;font-weight:800;color:#fff!important;display:block;margin-bottom:15px}.spa-footer h3{color:#fff;font-size:17px;margin:0 0 24px}.spa-footer p,.spa-footer small{font-size:13px;line-height:1.9;color:#c8d6cc}.spa-footer .spa-foot-grid a:not(.spa-foot-logo){display:block;color:#dce6dc;margin:0 0 13px;font-size:13px}.spa-footer .spa-foot-grid a:hover{color:#e5c08a}.spa-footer .spa-foot-grid a.spa-foot-cta{color:#e8c899;font-weight:700;margin-top:20px}.spa-foot-bottom{border-top:1px solid #597063;padding-top:20px;margin-top:45px;display:flex;justify-content:space-between;gap:15px;color:#c4d4c8;font-size:12px}@media(max-width:1100px){.spa-nav nav{gap:13px}.spa-nav-cta{display:none}.spa-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.spa-foot-grid{gap:25px!important}}@media(max-width:800px){.spa-top .spa-wrap span:last-child{display:none}.spa-hamb{display:block}.spa-nav nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;box-shadow:0 10px 20px #24392f22;padding:20px;flex-direction:column;align-items:stretch;gap:2px}.spa-nav nav.is-open{display:flex}.spa-nav nav a{padding:10px}.spa-hero-grid,.spa-split,.spa-article-layout{grid-template-columns:1fr}.spa-hero-grid{padding:45px 0;gap:35px}.spa-hero-photo img{height:390px}.spa-features{grid-template-columns:1fr;gap:0}.spa-features>div{border-right:0;border-bottom:1px solid var(--line)}.spa-section{padding-top:60px;padding-bottom:60px}.spa-footer .spa-foot-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.spa-wrap{width:min(100% - 28px,1190px)}.spa-nav{min-height:72px}.spa-logo{font-size:17px}.spa-top{font-size:10px}.spa-hero-photo img{height:320px;border-radius:110px 110px 10px 10px}.spa-cards,.spa-gallery,.spa-footer .spa-foot-grid{grid-template-columns:1fr}.spa-heading{display:block}.spa-article-layout{padding-top:28px}.spa-reading figure img{height:255px}.spa-page-hero{padding:43px 0}.spa-page-body{padding:40px 0}.spa-foot-bottom{display:block}.spa-page-split img{height:280px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* VinaSite Spa 1.9.1: force consistent, accessible CTA and search styles on 404 pages. */
body.spa-site .spa-footer a{color:#dce6dc;text-decoration:none}
body.spa-site .spa-footer .spa-foot-grid a{display:block;margin-bottom:12px}
body.spa-site main#main{min-height:45vh}
body.spa-site .spa-page-body .spa-cards{margin-top:20px}

/* Spa 1.9.2 – editorial service layout, team portraits and balanced consultation banner */
.spa-call-visual{padding:0;text-align:left;overflow:hidden;background:#203c33}
.spa-call-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:460px;gap:56px;align-items:center}
.spa-call-content{padding:75px 0}
.spa-call-visual h2{font-size:clamp(2.1rem,3.25vw,3.65rem);max-width:620px;margin:15px 0 22px}
.spa-call-visual p{font-size:16px;max-width:490px;line-height:1.8;margin:0 0 30px}
.spa-call-picture{height:100%;min-height:460px;position:relative;margin:0;overflow:hidden;border-radius:160px 0 0 0}
.spa-call-picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.spa-call-picture figcaption,.spa-service-photo>span,.spa-team-image>span{position:absolute;bottom:16px;left:16px;padding:7px 12px;background:rgba(255,255,255,.93);color:#315448;font-size:11px;border-radius:7px}
.spa-services-intro{max-width:850px;margin-bottom:50px}
.spa-service-list{display:grid;gap:40px}
.spa-service-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(25px,5vw,80px);padding-bottom:40px;border-bottom:1px solid var(--line)}
.spa-service-row:nth-child(even) .spa-service-photo{order:2}
.spa-service-photo{position:relative;overflow:hidden;border-radius:20px;background:var(--sand);height:360px}
.spa-service-photo img{width:100%;height:100%;object-fit:cover}
.spa-service-counter{font-size:12px;letter-spacing:.16em;color:var(--gold);font-weight:800}
.spa-service-detail h2{font-size:clamp(1.65rem,2.7vw,2.55rem);margin:14px 0}
.spa-service-detail p{color:var(--muted);margin:0 0 18px;font-size:16px}
.spa-service-benefit{padding:12px 16px;background:var(--sand);border-left:3px solid var(--sage);border-radius:0 8px 8px 0;margin-bottom:24px;font-size:14px}
.spa-team-intro{text-align:center;max-width:790px;margin:0 auto 44px}
.spa-team-intro p{color:var(--muted)}
.spa-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.spa-team-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px #203c330b}
.spa-team-image{position:relative;height:360px;background:var(--sand)}
.spa-team-image img{height:100%;width:100%;object-fit:cover;object-position:center top}
.spa-team-image>span{bottom:10px;left:10px;right:10px;text-align:center;font-size:10px}
.spa-team-info{padding:24px}
.spa-team-info h3{font-size:22px;margin:12px 0}
.spa-team-info p{color:var(--muted);font-size:14px;min-height:70px}
.spa-team-info a{color:var(--sage)!important;font-weight:800}
@media(max-width:850px){.spa-call-layout{gap:25px}.spa-service-photo{height:300px}.spa-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.spa-call-layout,.spa-service-row{grid-template-columns:1fr}.spa-call-content{padding:52px 0 10px}.spa-call-picture{min-height:270px;height:270px;border-radius:80px 80px 0 0}.spa-service-row:nth-child(even) .spa-service-photo{order:0}.spa-service-row{gap:20px}.spa-service-photo{height:260px}.spa-service-detail{padding-bottom:10px}.spa-team-grid{grid-template-columns:1fr}.spa-team-image{height:390px}}
