/* V9.1 – Vietnamese typography repair and premium editorial footer. */
:root {
  --display:"Segoe UI","Noto Sans",Arial,sans-serif;
  --sans:"Segoe UI","Noto Sans",Arial,sans-serif;
}
html{font-kerning:normal;text-size-adjust:100%;-webkit-text-size-adjust:100%;}
body{font-family:var(--sans);font-size:15.5px;line-height:1.78;text-rendering:auto;font-feature-settings:"kern" 1;font-variant-ligatures:normal;}
h1,h2,h3,h4,.band-inner p,.concept-panel h3,.lab-note h3,.chart-header h3,.era-feature h3,.roadmap b,.source-links strong,.closing-side p{
  font-family:var(--display)!important;
  letter-spacing:0!important;
  font-kerning:normal;
  font-feature-settings:"kern" 1;
  text-rendering:auto;
  font-synthesis:none;
  overflow-wrap:normal;
  word-break:normal;
}
.hero h1{font-weight:700;line-height:1.17;letter-spacing:0!important;font-size:clamp(3.1rem,5.1vw,5.5rem);}
.section h2,.section-head h2{font-weight:670;line-height:1.19;letter-spacing:0!important;font-size:clamp(2.25rem,4.05vw,4.05rem);}
.hero h1 .highlight-line,.section-head h2 .accent-text{letter-spacing:0!important;}
.band-inner p{font-weight:500;line-height:1.55}
.closing-inner h2{font-family:var(--display)!important;font-weight:690;letter-spacing:0!important;line-height:1.13;font-size:clamp(2.95rem,6.6vw,6.5rem)}
.closing-side p{font-weight:450;line-height:1.7}
.mechanism-card h3,.origin-card h3,.roadmap b,.concept-panel h3{font-weight:650;line-height:1.33}
.source-links strong{font-weight:630;line-height:1.35}
/* Improve text readability without shrinking content to illegibility. */
.lead,.hero-intro,.source-section p,.flow-detail p{letter-spacing:0;line-height:1.8}
.section-head h2{max-width:21ch}
.hero h1{max-width:14ch}
/* Nonintrusive contrast polish. */
.header{background:rgba(255,250,245,.96)}
.footer-v91{background:#F1EDE4;color:#273B34;position:relative;border-top:1px solid #E4D8C8;padding:0;}
.footer-v91::before{content:"";display:block;height:4px;background:linear-gradient(90deg,#D96543 0%,#E7AC70 49%,#BACDC1 100%)}
.prefooter{padding:68px 0 72px;background:linear-gradient(115deg,#F9EADB 0%,#F8F1E5 54%,#ECF0E5 100%);border-top:1px solid #E5DCCB}
.prefooter-inner{display:flex;justify-content:space-between;align-items:center;gap:44px}
.prefooter-eyebrow{display:block;color:#B95F41;font-size:11px;font-weight:800;letter-spacing:.07em;margin-bottom:17px}
.prefooter h2{font-family:var(--display);font-size:clamp(2rem,3vw,3.1rem);color:#293C32;line-height:1.26;letter-spacing:0;font-weight:680;margin:0 0 15px}
.prefooter h2 span{color:#BF603F}
.prefooter-copy p{color:#59695C;max-width:640px;font-size:15px;line-height:1.8}
.prefooter-actions{display:flex;gap:11px;flex-wrap:wrap;flex:0 0 auto}
.prefooter-actions a{display:inline-flex;justify-content:center;align-items:center;gap:13px;padding:14px 20px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:750;min-height:50px;transition:transform .2s,box-shadow .2s}
.prefooter-actions a:hover{transform:translateY(-2px)}
.prefooter-primary{background:#D96543;color:#fff;box-shadow:0 10px 24px rgba(177,85,53,.17)}
.prefooter-secondary{background:#FFFBF5;color:#304D41;border:1px solid #DCCDBB;box-shadow:0 6px 18px rgba(62,47,32,.05)}
.footer-main{display:grid;grid-template-columns:1.55fr 1fr 1.05fr .95fr;gap:36px;padding:60px 0 47px;align-items:start}
.footer-identity{display:flex;flex-direction:column;align-items:flex-start}
.footer-brand-v91{margin:0 0 14px;text-decoration:none;color:#314B40;font-size:20px}
.footer-brand-v91 .brand-symbol i:nth-child(1){background:#3E584E}.footer-brand-v91 .brand-symbol i:nth-child(2){background:#DD623F}.footer-brand-v91 .brand-symbol i:nth-child(3){background:#DFAE64}
.footer-kicker{color:#BE6343;letter-spacing:.13em;font-size:10px;font-weight:800;margin-bottom:18px}
.footer-identity p{max-width:340px;font-size:14px;line-height:1.85;color:#617164;margin:0 0 20px}
.footer-site{font-size:13px;color:#A9563D;text-decoration:none;font-weight:750;border-bottom:1px solid #CCAA94;padding-bottom:4px}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.footer-col h3{color:#364B40;font-family:var(--sans)!important;font-weight:780;font-size:14px;letter-spacing:0!important;margin:0 0 10px;line-height:1.3}
.footer-col>a{color:#5A685E;text-decoration:none;font-size:13.5px;line-height:1.6;transition:color .18s,transform .18s}
.footer-col>a:hover,.footer-top-link:hover{color:#C35F3E;transform:translateX(2px)}
.footer-col-note{font-size:12px;line-height:1.72;color:#79857A;max-width:240px;margin-top:6px}
.footer-edition{padding:20px 22px 22px;background:#FFFBF4;border:1px solid #E2D4C0;border-radius:19px;box-shadow:0 12px 28px rgba(63,50,35,.065)}
.footer-edition h3{margin-bottom:0}
.edition-number{font-size:62px;line-height:1.04;font-weight:750;color:#355749;letter-spacing:-.025em}
.edition-number span{font-size:27px;color:#C46A4B}
.edition-label{font-size:10px;letter-spacing:.08em;font-weight:800;color:#BB7655}
.footer-edition p{color:#667265;font-size:12px;line-height:1.85;margin:0}
.footer-edition .footer-top-link{font-size:13px;font-weight:750;color:#B45A3B;text-decoration:none;margin-top:4px}
.footer-bottom-v91{padding:23px 0 30px;border-top:1px solid #D9D6C9;color:#717D72;display:flex;align-items:center;justify-content:space-between;gap:14px 24px;flex-wrap:wrap;font-size:11.5px;line-height:1.7;letter-spacing:0}
.footer-bottom-v91>a{font-size:12px;color:#B66341;text-decoration:none;font-weight:750}
@media(max-width:1080px){.footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:32px}.footer-edition{grid-column:1/-1;max-width:330px}.prefooter-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){
  .hero h1{font-size:clamp(2.5rem,9vw,3.75rem);line-height:1.19}
  .section h2,.section-head h2{font-size:clamp(2rem,7.2vw,3rem);line-height:1.24}
  .footer-main{grid-template-columns:1fr 1fr;gap:28px 22px;padding:42px 0}
  .footer-identity{grid-column:1/-1}.footer-edition{grid-column:1/-1;max-width:none}
  .footer-col h3{font-size:13px}.footer-col>a{font-size:12.5px}
  .footer-bottom-v91{flex-direction:column;align-items:flex-start;padding-bottom:30px}
  .prefooter{padding:48px 0}.prefooter-actions{width:100%}.prefooter-actions a{flex:1 1 165px}
}
@media(max-width:370px){.footer-main{grid-template-columns:1fr}.footer-col{gap:8px}.prefooter-actions a{flex-basis:100%}}
@media print{.footer-v91{background:#fff}.prefooter-actions,.footer-col>a,.footer-site{display:none!important}}
