
@font-face{font-family:BVP;src:url('/Assets/fonts/huongson/be-vietnam-pro-public-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:BVP;src:url('/Assets/fonts/huongson/be-vietnam-pro-public-600.woff2') format('woff2');font-weight:600 800;font-display:swap}
:root{--cream:#fff8e9;--paper:#fffdf7;--red:#ae242c;--blue:#0068df;--ink:#24313a;--muted:#62717a;--line:#e8dfcf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 BVP,Arial,sans-serif}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0068df;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:44px;line-height:1.2;letter-spacing:-1.1px;margin-bottom:20px}h2{font-size:29px;line-height:1.3;letter-spacing:-.5px;margin-bottom:8px}h3{font-size:17px;line-height:1.45;margin-bottom:8px}.wrap{width:min(1200px,calc(100% - 48px));margin:auto}.mast{background:#fff6dc;border-bottom:1px solid #eddec0;position:relative}.mast:before{content:'';position:absolute;left:0;top:0;bottom:0;width:240px;background:url('/Assets/img/huongson/public-ref-drum.webp') left center/260px no-repeat;opacity:.16;pointer-events:none}.brand{display:flex;align-items:center;gap:15px;padding:23px 0;position:relative}.brand img{width:59px;height:65px;object-fit:contain}.brand strong{display:block;font-size:23px;letter-spacing:.4px;color:#a91d28}.brand small{font-size:12px;color:#5c635e}.brand .brand-right{margin-left:auto;text-align:right;font-size:12px;color:#796a51}.nav{position:sticky;top:0;z-index:20;background:#fffdf9;border-bottom:1px solid var(--line)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}.links{display:flex;gap:24px}.links a{font-size:13px;font-weight:600;padding:18px 0;white-space:nowrap}.links a:hover,.links a.active{color:var(--red)}.links a.active{border-bottom:3px solid var(--red)}.menu{display:none;border:1px solid var(--line);background:white;border-radius:8px;padding:7px 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dfd9cd;border-radius:8px;background:white;color:var(--ink);padding:10px 17px;font-weight:600;line-height:1.4}.btn:hover{background:#f6f1e6}.btn.blue{background:var(--blue);color:white;border-color:var(--blue)}.btn.blue:hover{background:#0058bb}.btn.red{color:var(--red);border-color:#e6c9c7;background:#fff4f0}.btn.sm{padding:7px 12px;font-size:12px}.demo{font-size:11px;color:#665d4f;background:#f4eddf;padding:8px 0}.hero{padding:38px 0 26px;display:grid;grid-template-columns: .82fr 1.18fr;gap:40px;align-items:center}.eyebrow{font-size:11px;letter-spacing:1.7px;font-weight:600;color:var(--red);margin-bottom:15px;text-transform:uppercase}.hero p{color:var(--muted);font-size:15px;max-width:450px}.hero h1 span{color:var(--red)}.actions{display:flex;gap:10px;flex-wrap:wrap}.hero figure{margin:0;position:relative;border-radius:16px;overflow:hidden;background:#eee}.hero figure img{height:360px;width:100%;object-fit:cover;object-position:center}.hero figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#10281bcc);color:#fff;padding:38px 22px 18px;font-size:12px}.hero figcaption strong{font-size:18px;display:block}.period{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0 16px;color:var(--muted);font-size:12px}.period select{border:1px solid var(--line);background:white;border-radius:7px;padding:7px 10px;color:var(--ink)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:32px;overflow:hidden}.stat{padding:22px 26px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font-size:30px;display:block;line-height:1.3}.stat small{color:var(--muted);font-size:11px}.stat .label{font-size:12px;margin:6px 0 1px}.section{padding:36px 0 44px;scroll-margin-top:80px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:23px}.section-head p{color:var(--muted);margin:0;max-width:720px;font-size:13px}.section .eyebrow{margin-bottom:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.card>img{width:100%;height:205px;object-fit:cover}.card .body{padding:20px}.card p{font-size:13px;color:var(--muted);margin-bottom:15px}.tag{display:inline-block;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:600;background:#f4eee1;color:#80693e}.tag.red{background:#fff0ec;color:#a32b32}.tag.green{background:#e9f4ec;color:#246641}.tag.blue{background:#edf4ff;color:#245a9b}.meta{font-size:11px;color:var(--muted);margin:8px 0 14px}.textbtn{border:0;background:none;padding:0;color:var(--blue);font-size:12px;font-weight:600}.textbtn:hover{text-decoration:underline}.tint{background:#fff4dd;border-top:1px solid #eedfc0;border-bottom:1px solid #eedfc0}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chip{border:1px solid #ddd5c5;background:#fffdf8;border-radius:24px;padding:7px 14px;font-size:12px;color:#5e635e}.chip[aria-pressed=true]{background:#ae242c;border-color:#ae242c;color:#fff}.products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product .pic{height:185px;background:#eee;position:relative}.product .pic img{width:100%;height:100%;object-fit:cover}.product .pic .tag{position:absolute;left:12px;bottom:12px;background:#ffffffed}.product .body{padding:17px}.product h3{font-size:16px}.product .stars{color:#a8750b;font-size:15px;letter-spacing:2px}.product p{font-size:12px}.product .sample{font-size:10px;color:#83786b;margin-top:12px}.oc-note{font-size:11px;color:#7c6c54;margin-bottom:0}.map-grid{display:grid;grid-template-columns:1.6fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.map-panel{position:relative;min-height:490px;background:#f0f2e9;display:flex;align-items:center;justify-content:center;overflow:hidden}.map-panel img{width:100%;height:490px;object-fit:contain}.map-caption{position:absolute;bottom:12px;left:12px;right:12px;background:#ffffffed;border-radius:7px;padding:8px 12px;font-size:10px;color:#626c65}.pin{position:absolute;border:3px solid #fff;background:#ae242c;width:34px;height:34px;border-radius:50%;color:white;font-size:13px;box-shadow:0 2px 9px #24313a44}.pin:hover,.pin.selected{background:#0068df;transform:scale(1.15)}.map-info{padding:25px}.map-info h3{font-size:21px}.map-info .map-list{display:grid;gap:8px;max-height:245px;overflow:auto;margin-top:20px}.map-item{display:flex;align-items:center;gap:12px;text-align:left;padding:10px;border:1px solid #eee7da;border-radius:8px;background:#fff;width:100%;font-size:12px}.map-item.selected{border-color:#0068df;background:#edf4ff}.map-item span{color:var(--muted);display:block;font-size:10px}.map-info .filters{margin-top:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:25px}.metric-panel{background:#fff;border:1px solid var(--line);padding:24px;border-radius:12px}.metric-panel h3{font-size:19px}.mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.mini-stats strong{font-size:25px;display:block}.mini-stats span{font-size:11px;color:var(--muted)}.barrow{display:grid;grid-template-columns:145px 1fr 48px;gap:12px;align-items:center;margin:15px 0;font-size:12px}.bar{height:8px;background:#efe9df;border-radius:9px;overflow:hidden}.bar i{display:block;height:100%;background:#728f80;border-radius:9px}.bar.blue i{background:#5386c2}.bar.gold i{background:#d4a550}.note{font-size:11px;color:var(--muted);margin:14px 0 0}.rowlink{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #eee7dd;padding:12px 0;font-size:12px}.rowlink small{display:block;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.project-feature{position:relative;border-radius:14px;overflow:hidden;min-height:365px}.project-feature img{width:100%;height:100%;object-fit:cover;position:absolute}.project-feature .projectcopy{position:absolute;bottom:0;left:0;right:0;padding:50px 25px 25px;background:linear-gradient(transparent,#153026dd);color:white}.projectcopy p{font-size:12px;margin-bottom:0}.project-feature h3{font-size:25px}.project-list{display:grid;gap:12px}.project-row{padding:20px;background:white;border:1px solid var(--line);border-radius:10px}.project-row h3{font-size:15px}.project-row .progress{display:flex;gap:12px;align-items:center;font-size:11px;margin-top:15px}.project-row .bar{flex:1}.directory{background:#f7f3e9;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.searchrow{display:grid;grid-template-columns:1fr 240px;gap:15px;margin:22px 0}.searchrow input,.searchrow select{width:100%;border:1px solid #ded7ca;border-radius:8px;padding:12px 15px;background:white}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.person{padding:21px;background:#fff;border:1px solid var(--line);border-radius:12px}.person-head{display:flex;align-items:center;gap:13px}.avatar{display:grid;place-items:center;width:51px;height:51px;border-radius:50%;background:#e9edf1;color:#475b6d;font-weight:600;flex:none}.person h3{font-size:16px;margin:0}.person small{font-size:11px;color:var(--muted)}.person .duty{margin-top:16px;font-size:12px;min-height:66px}.person .actions{margin-top:16px}.empty{padding:25px;text-align:center;color:var(--muted);grid-column:1/-1}.service{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-highlight{background:#edf3fa;padding:28px;border-radius:13px}.service-highlight h3{font-size:24px}.service-highlight strong{font-size:43px;color:#235c97}.services-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.services-list .btn{justify-content:space-between;font-size:12px;background:white}.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.footer{background:#f3ead6;border-top:3px solid #ae242c;padding:35px 0 22px}.footergrid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.footer h3{font-size:17px}.footer p,.footer a{font-size:12px;color:#685f51}.footer a{display:block;margin:7px 0}.footnote{border-top:1px solid #ddcfb6;margin-top:25px;padding-top:15px;font-size:10px;color:#796d5c}.top{position:fixed;right:15px;bottom:20px;border:1px solid #ddcbae;border-radius:50%;background:#fff8e9;width:40px;height:40px;color:#ae242c;z-index:15}dialog{border:0;border-radius:14px;width:min(820px,calc(100% - 28px));max-height:90dvh;padding:0;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#182d3e88}.modal-close{position:sticky;float:right;top:14px;margin:14px;z-index:2;background:#fff;border:1px solid #ddd;border-radius:50%;width:35px;height:35px;font-size:21px}.article-body{padding:34px;clear:both}.article-body h2{font-size:29px}.article-body p{font-size:14px;line-height:1.85}.article-body img{width:100%;max-height:350px;object-fit:cover;border-radius:10px;margin:20px 0}.article-body h3{margin-top:25px}.article-body ul{padding-left:22px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#24313a;color:#fff;padding:13px 22px;border-radius:9px;z-index:100;max-width:calc(100% - 40px);font-size:12px}body.lock{overflow:hidden}[hidden]{display:none!important}
@media(max-width:1000px){.links{gap:14px}.links a{font-size:11px}.hero{gap:25px}h1{font-size:36px}.hero figure img{height:320px}.products{grid-template-columns:repeat(2,1fr)}.people{grid-template-columns:repeat(2,1fr)}.grid3{gap:15px}.map-grid{grid-template-columns:1.2fr 1fr}.barrow{grid-template-columns:120px 1fr 40px}.stat{padding:20px}.stat strong{font-size:26px}}
@media(max-width:720px){.wrap{width:calc(100% - 32px)}.brand{padding:17px 0;gap:10px}.brand img{width:44px;height:48px}.brand strong{font-size:18px}.brand small{font-size:10px}.brand-right{display:none}.nav-inner{min-height:52px}.menu{display:block}.links{display:none;position:absolute;top:52px;left:0;right:0;background:#fffdf9;padding:12px 20px;box-shadow:0 8px 12px #0001;max-height:70vh;overflow:auto}.links.open{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.links a{font-size:12px;padding:11px 0}.nav .btn{font-size:11px}.hero{grid-template-columns:1fr;padding-top:28px;gap:22px}h1{font-size:35px;margin-bottom:16px}.hero p{font-size:13px}.hero figure img{height:240px;object-position:center}.hero figcaption strong{font-size:15px}.period{align-items:flex-start;flex-direction:column;gap:8px}.stats{grid-template-columns:1fr 1fr}.stat{padding:17px}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat strong{font-size:25px}.section{padding:28px 0 32px}.section-head{align-items:flex-start;gap:10px;flex-direction:column}.section-head .btn{padding:7px 12px;font-size:11px}h2{font-size:25px}.grid3,.split,.project-grid,.service,.newsgrid,.footergrid{grid-template-columns:1fr}.products{gap:12px}.product .pic{height:150px}.product .body{padding:13px}.product h3{font-size:14px}.product p{font-size:11px}.product .btn{font-size:11px;padding:7px 9px}.map-grid{grid-template-columns:1fr}.map-panel,.map-panel img{min-height:350px;height:350px}.map-info{padding:20px}.people{grid-template-columns:1fr}.searchrow{grid-template-columns:1fr;gap:10px}.person .duty{min-height:0}.project-feature{min-height:300px}.metric-panel{padding:20px}.mini-stats strong{font-size:23px}.barrow{grid-template-columns:130px 1fr 45px;gap:8px;font-size:11px}.card>img{height:215px}.service-highlight{padding:23px}.service-highlight strong{font-size:36px}.article-body{padding:22px}.article-body h2{font-size:25px}.article-body p{font-size:13px}.footergrid{gap:18px}.services-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Extensions only for live data components absent from the approved HTML. */
.hs-skip{position:fixed;top:-80px;left:16px;z-index:100;background:#fff;padding:12px;border:2px solid var(--blue)}.hs-skip:focus{top:12px}
.village-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.village-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:20px}.village-card h3{margin-top:10px}.village-card .meta{margin:12px 0}.village-card .meta b{display:inline;font-size:14px}.search-label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}.search-input{width:min(100%,380px);padding:11px 14px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:20px}
.cover-wrap{position:relative}.cover-wrap img{width:100%;height:205px;object-fit:cover;display:block}.image-note{position:absolute;bottom:10px;left:10px;background:#fffdf7ed;padding:3px 8px;border-radius:5px;font-size:10px;color:var(--ink)}.product-placeholder{height:100%;display:grid;place-items:center;background:#f3ecd9;color:#8b7045;font-size:40px;font-weight:600}
.income-callout{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.income-callout>span{display:block;color:var(--muted)}.income-callout strong{display:block;font-size:30px;color:var(--blue)}.income-callout small{font-size:12px;color:var(--muted);font-weight:400}
.source-details,.more-projects{margin-top:24px;border:1px solid var(--line);border-radius:10px;padding:16px 20px;background:#fffdf8}.source-details summary,.more-projects summary{cursor:pointer;font-weight:600}.source-row{display:grid;gap:4px;padding:12px 0;border-bottom:1px solid var(--line)}.source-row small{color:var(--muted)}.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}.project-cards .project-row{margin:0}
.service-rate{display:flex;align-items:center;gap:24px;margin:24px 0}.service-rate p{font-size:12px;max-width:200px;color:var(--muted)}.ring{width:155px;height:155px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--blue) var(--rate),#e4eaf0 0)}.ring:before{content:'';position:absolute;inset:12px;border-radius:50%;background:#fffdf7}.service-rate .ring strong{position:relative;font-size:28px}.preview-note{margin-top:20px;padding:14px 18px;background:#fff1c6;border:1px solid #e0c47c;border-radius:8px}
/* Content containment does not alter dimensions from the reference. */
.person-head>div,.searchrow input,.searchrow select{min-width:0}.person img.avatar{object-fit:cover}.person .duty p{margin:8px 0}.bar i{max-width:100%}.map-item{display:block}.map-panel.map-link{display:block}.map-link .map-caption{position:absolute;left:16px;bottom:16px;right:16px;background:#fffef2eb;padding:12px;border-radius:8px;font-size:12px;color:var(--ink)}
@media(max-width:1000px){.village-grid,.project-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.cover-wrap img{height:215px}.village-grid{gap:12px}.village-card{padding:17px}.project-cards{grid-template-columns:1fr}.service-rate{gap:15px}.ring{width:140px;height:140px}}
@media(max-width:380px){.village-grid{grid-template-columns:1fr}.service-rate{flex-wrap:wrap}}

/* Warm public identity; geometry and typography remain as approved. */
:root{--cream:#fff3d8;--paper:#fffdf7;--red:#b12a32;--line:#e9ddc3}.mast{background:#fff0c9}.tint{background:#fff1cf;border-color:#ebd6a1}.eyebrow{color:#a52730}.stats{background:#fffaf0}.tag:not(.blue):not(.green){background:#ffe9b0;color:#744d1f}.card,.product{border-color:#e9ddc3}.chip:hover{background:#ffedbc;border-color:#d5b96d}.chip.active,.chip[aria-pressed="true"]{background:#ffedb5;border-color:#cba44c;color:#793038}.map-info{background:#fff9e9}.btn.red{background:#fff0e8;color:#a52730;border-color:#e7c1b9}

/* Approved palette: color and paint only; existing sizes, font and layout preserved. */
:root{--cream:#FFF0CA;--paper:#FFFCF5;--red:#B12632;--blue:#0068DF;--ink:#26343D;--muted:#5C6871;--line:#E9DFC9}
.mast{background:#FFF0CA;border-bottom-color:#E6D3A0}.brand strong{color:var(--red)}.brand small,.brand .brand-right{color:#655A43}.nav{background:#FFFFFF}.hero h1 span,.eyebrow{color:var(--red)}.tint{background:#FFF3D9;border-color:#E9DFC9}.directory{background:#FFF6E3}.stats{background:#FFF8E7;box-shadow:inset 0 3px 0 #D5A43B}.stats .stat strong{color:var(--red)}.card,.metric-panel,.person,.village-card,.project-row{background:#FFFFFF;border-color:#E9DFC9}.map-info{background:#FFF8E7}.tag,.tag.blue,.tag.green,.tag.red,.pic .tag{color:var(--red)!important;background:#FFFFFF!important;box-shadow:inset 0 0 0 1px #DCA3A9;transition:background-color .18s,color .18s}.tag:hover{background:var(--red)!important;color:#FFFFFF!important;box-shadow:inset 0 0 0 1px var(--red)}
.chip{background:#FFFFFF;color:#4E5961;border-color:#E1D4BA}.chip:hover{background:#FFF0CA;border-color:#CFA852}.chip.active,.chip[aria-pressed="true"]{background:var(--red);color:#FFFFFF;border-color:var(--red)}.textbtn{color:#0068DF}.btn.blue{background:#0068DF;color:#FFFFFF;border-color:#0068DF}.btn.red{background:#FFFFFF;color:var(--red);border-color:#DCA3A9}.bar{background:#EFECE4}.bar i{background:#379478}.bar.blue i{background:#2C80D5}.bar.gold i{background:#D5A43B}.bar[data-hs-chart-color="coral"] i{background:#D75D57}.bar[data-hs-chart-color="blue"] i{background:#2C80D5}.bar[data-hs-chart-color="gold"] i{background:#D5A43B}.bar[data-hs-chart-color="green"] i{background:#379478}.ring{background:conic-gradient(#2C80D5 var(--rate),#EFECE4 0)}.stars{color:#9A701A}.footer{background:#84212B;border-top-color:#D5A43B;color:#FFFFFF}.footer h3{color:#FFFFFF}.footer p,.footer a{color:#FFF2D5}.footer a:hover{color:#FFFFFF;text-decoration:underline}.footnote{color:#FFE5AC;border-color:#A75057}
@media(hover:hover) and (pointer:fine){.card,.person,.village-card,.project-row{transition:box-shadow .2s,transform .2s}.card:hover,.person:hover,.village-card:hover,.project-row:hover{transform:translateY(-3px);box-shadow:0 7px 20px #72212B14}.card img{transition:transform .28s}.card:hover img{transform:scale(1.015)}.textbtn:hover{color:#A0212D}.btn.blue:hover{background:#005BC4}}
@media(prefers-reduced-motion:reduce){.card,.person,.village-card,.project-row,.card img,.tag{transition:none!important;transform:none!important}}

.service-highlight{background:#FFF8E7;border-color:#E6D5AB}
