/* Normalized VI typography from source/public/assets/css/lang-vi.css; applies equally to both locales on public pages. */
html[data-site-font="manrope"][data-site-font][data-site-font] .brand__name{font-weight:700 !important;line-height:1.25 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .brand__tag{font-size:11px !important;font-weight:500 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .primary-nav a{font-size:14.5px !important;font-weight:700 !important;line-height:1.45 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .lang-switch,html[data-site-font="manrope"][data-site-font][data-site-font] .lang-switch a,html[data-site-font="manrope"][data-site-font][data-site-font] .lang-switch .sep{font-size:13px !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .side-nav__label{font-size:13.5px !important;font-weight:700 !important;line-height:1.45 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .section-label{font-size:14px !important;font-weight:700 !important;line-height:1.45 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .btn,html[data-site-font="manrope"][data-site-font][data-site-font] .btn-outline-orange,html[data-site-font="manrope"][data-site-font][data-site-font] .btn-ghost,html[data-site-font="manrope"][data-site-font][data-site-font] .btn-primary{font-size:16px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .btn-sm{font-size:13px !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .btn-lg{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-cta__btn,html[data-site-font="manrope"][data-site-font][data-site-font] .btn.home-cta__btn,html[data-site-font="manrope"][data-site-font][data-site-font] .blog-featured__cta,html[data-site-font="manrope"][data-site-font][data-site-font] .founder-teaser__cta{font-size:16px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.06em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .map-link,html[data-site-font="manrope"][data-site-font][data-site-font] .view-all{font-size:13px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-cta__title{line-height:1.1 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-cta__desc{font-size:17px !important;line-height:1.6 !important;letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-cta__socials .label{font-size:12px !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .inno-card__title{font-size:18px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .fp-card__title{font-size:16px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .timeline__year{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom__inner,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom__inner a,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom a,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom .right,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom__inner .right a{font-size:13px !important;font-weight:500 !important;line-height:1.5 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .site-footer,html[data-site-font="manrope"][data-site-font][data-site-font] .site-footer a,html[data-site-font="manrope"][data-site-font][data-site-font] .site-footer p,html[data-site-font="manrope"][data-site-font][data-site-font] .site-footer__bottom,html[data-site-font="manrope"][data-site-font][data-site-font] .site-footer__bottom a,html[data-site-font="manrope"][data-site-font][data-site-font] .foot-col,html[data-site-font="manrope"][data-site-font][data-site-font] .foot-col a{font-size:14px !important;line-height:1.5 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .site-footer h5,html[data-site-font="manrope"][data-site-font][data-site-font] .foot-col h5{font-size:14px !important;font-weight:700 !important;line-height:1.45 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__role{font-size:16px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__desc{font-size:18px !important;line-height:1.6 !important;letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__resume,html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__resume *{font-size:15px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__stats .num,html[data-site-font="manrope"][data-site-font][data-site-font] .stats-row .num,html[data-site-font="manrope"][data-site-font][data-site-font] .num{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__stats .lbl,html[data-site-font="manrope"][data-site-font][data-site-font] .stats-row .lbl,html[data-site-font="manrope"][data-site-font][data-site-font] .lbl{font-size:15px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .timeline,html[data-site-font="manrope"][data-site-font][data-site-font] .timeline *,html[data-site-font="manrope"][data-site-font][data-site-font] .journey,html[data-site-font="manrope"][data-site-font][data-site-font] .journey *,html[data-site-font="manrope"][data-site-font][data-site-font] .milestone,html[data-site-font="manrope"][data-site-font][data-site-font] .milestone *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .milestone__year{line-height:1.2 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .milestone__title{font-size:17px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .milestone__desc{font-size:17px !important;line-height:1.6 !important;letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .skills-tools,html[data-site-font="manrope"][data-site-font][data-site-font] .skills-tools *,html[data-site-font="manrope"][data-site-font][data-site-font] .skill-row,html[data-site-font="manrope"][data-site-font][data-site-font] .skill-row *,html[data-site-font="manrope"][data-site-font][data-site-font] .skill-bar,html[data-site-font="manrope"][data-site-font][data-site-font] .tools-grid,html[data-site-font="manrope"][data-site-font][data-site-font] .tools-grid *,html[data-site-font="manrope"][data-site-font][data-site-font] .tool,html[data-site-font="manrope"][data-site-font][data-site-font] .tool *,html[data-site-font="manrope"][data-site-font][data-site-font] .tool__label{letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .skill-row .name,html[data-site-font="manrope"][data-site-font][data-site-font] .tool__label{font-size:14.5px !important;font-weight:600 !important;line-height:1.5 !important;letter-spacing:0.01em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .quote-block,html[data-site-font="manrope"][data-site-font][data-site-font] .quote-block *,html[data-site-font="manrope"][data-site-font][data-site-font] .quote,html[data-site-font="manrope"][data-site-font][data-site-font] .quote *{line-height:1.6 !important;letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .projects,html[data-site-font="manrope"][data-site-font][data-site-font] .projects *,html[data-site-font="manrope"][data-site-font][data-site-font] .projects-sidebar,html[data-site-font="manrope"][data-site-font][data-site-font] .projects-sidebar *,html[data-site-font="manrope"][data-site-font][data-site-font] .projects-layout{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .ph-label{font-size:12px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .showing,html[data-site-font="manrope"][data-site-font][data-site-font] .sort{font-size:13px !important;font-weight:600 !important;line-height:1.45 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .proj-card__year{font-size:13px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .proj-card__title{font-size:18px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .proj-card,html[data-site-font="manrope"][data-site-font][data-site-font] .proj-card *,html[data-site-font="manrope"][data-site-font][data-site-font] .project,html[data-site-font="manrope"][data-site-font][data-site-font] .project *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .filter,html[data-site-font="manrope"][data-site-font][data-site-font] .filter *,html[data-site-font="manrope"][data-site-font][data-site-font] .filters,html[data-site-font="manrope"][data-site-font][data-site-font] .filters *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .chip,html[data-site-font="manrope"][data-site-font][data-site-font] .chip-mute,html[data-site-font="manrope"][data-site-font][data-site-font] .tag,html[data-site-font="manrope"][data-site-font][data-site-font] .meta{font-size:15px !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .count{font-size:15px !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .blog,html[data-site-font="manrope"][data-site-font][data-site-font] .blog *,html[data-site-font="manrope"][data-site-font][data-site-font] .post,html[data-site-font="manrope"][data-site-font][data-site-font] .post *,html[data-site-font="manrope"][data-site-font][data-site-font] .blog-sidebar,html[data-site-font="manrope"][data-site-font][data-site-font] .blog-sidebar *,html[data-site-font="manrope"][data-site-font][data-site-font] .pagination,html[data-site-font="manrope"][data-site-font][data-site-font] .pagination *,html[data-site-font="manrope"][data-site-font][data-site-font] .related,html[data-site-font="manrope"][data-site-font][data-site-font] .related *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .blog-featured__meta,html[data-site-font="manrope"][data-site-font][data-site-font] .blog-card__meta,html[data-site-font="manrope"][data-site-font][data-site-font] .blog-card__meta .dot,html[data-site-font="manrope"][data-site-font][data-site-font] .blog-meta{font-size:12px !important;font-weight:600 !important;line-height:1.45 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .blog-card__title{font-size:20px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.01em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .blog-card__excerpt,html[data-site-font="manrope"][data-site-font][data-site-font] .post__body,html[data-site-font="manrope"][data-site-font][data-site-font] .post__excerpt,html[data-site-font="manrope"][data-site-font][data-site-font] .post-body{font-size:18px !important;line-height:1.65 !important;letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .videos,html[data-site-font="manrope"][data-site-font][data-site-font] .videos *,html[data-site-font="manrope"][data-site-font][data-site-font] .playlist,html[data-site-font="manrope"][data-site-font][data-site-font] .playlist *,html[data-site-font="manrope"][data-site-font][data-site-font] .video-card,html[data-site-font="manrope"][data-site-font][data-site-font] .video-card *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .tab{font-size:13px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .video-badge,html[data-site-font="manrope"][data-site-font][data-site-font] .video-card__new{font-size:11px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .featured-video__title{font-size:22px !important;font-weight:700 !important;line-height:1.3 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .featured-video__sub{font-size:12px !important;font-weight:600 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .playlist__title{font-size:14px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .video-card__title{font-size:16px !important;font-weight:600 !important;line-height:1.45 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .video-meta{font-size:15px !important;font-weight:600 !important;line-height:1.45 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .gallery,html[data-site-font="manrope"][data-site-font][data-site-font] .gallery *,html[data-site-font="manrope"][data-site-font][data-site-font] .gallery-card,html[data-site-font="manrope"][data-site-font][data-site-font] .gallery-card *,html[data-site-font="manrope"][data-site-font][data-site-font] .masonry,html[data-site-font="manrope"][data-site-font][data-site-font] .masonry *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .overlay{font-size:13px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .contact,html[data-site-font="manrope"][data-site-font][data-site-font] .contact *,html[data-site-font="manrope"][data-site-font][data-site-font] .contact-form,html[data-site-font="manrope"][data-site-font][data-site-font] .contact-form *,html[data-site-font="manrope"][data-site-font][data-site-font] .contact-grid,html[data-site-font="manrope"][data-site-font][data-site-font] .contact-split{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] label{font-size:13px !important;font-weight:700 !important;line-height:1.5 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .req{letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] input,html[data-site-font="manrope"][data-site-font][data-site-font] textarea,html[data-site-font="manrope"][data-site-font][data-site-font] select{font-size:15px !important;line-height:1.5 !important;letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] input::placeholder,html[data-site-font="manrope"][data-site-font][data-site-font] textarea::placeholder{letter-spacing:0px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .admin-shell,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-shell *,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-sidebar,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-sidebar *,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-topbar,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-topbar *,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-panel,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-panel *,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-card,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-card *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .admin-sidebar__link,html[data-site-font="manrope"][data-site-font][data-site-font] .admin-sidebar__group h6{font-weight:600 !important;letter-spacing:0.03em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .tbl,html[data-site-font="manrope"][data-site-font][data-site-font] .tbl *,html[data-site-font="manrope"][data-site-font][data-site-font] .form,html[data-site-font="manrope"][data-site-font][data-site-font] .form *,html[data-site-font="manrope"][data-site-font][data-site-font] .field,html[data-site-font="manrope"][data-site-font][data-site-font] .field *{letter-spacing:0.02em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .badge,html[data-site-font="manrope"][data-site-font][data-site-font] .status{font-size:12px !important;font-weight:700 !important;line-height:1.4 !important;letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .label{letter-spacing:0.04em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .nav{letter-spacing:0.04em !important}
@media (max-width: 1100px){html[data-site-font="manrope"][data-site-font][data-site-font] .primary-nav a{font-size:14px !important;line-height:1.4 !important;letter-spacing:0.04em !important}}
/* Normalized VI typography from source/public/assets/css/typography-resize.css; applies equally to both locales on public pages. */
html[data-site-font="manrope"][data-site-font][data-site-font] body p{font-size:17px !important;line-height:1.65 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .inner-hero__desc{font-size:18px !important;line-height:1.6 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__desc{font-size:18px !important;line-height:1.6 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__role{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__resume,html[data-site-font="manrope"][data-site-font][data-site-font] .bio-hero__resume *{font-size:15px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .lbl{font-size:15px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .milestone__title{font-size:17px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .milestone__desc{font-size:17px !important;line-height:1.65 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .inno-card__title{font-size:18px !important;line-height:1.45 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .fp-card__title{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .fp-card__year{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .proj-card__title{font-size:18px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .proj-card__year{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .blog-card__title{font-size:20px !important;line-height:1.4 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .blog-card__excerpt,html[data-site-font="manrope"][data-site-font][data-site-font] .post__excerpt{font-size:18px !important;line-height:1.7 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .video-card__title{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .video-meta{font-size:15px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .featured-video__sub{font-size:15px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .playlist__title{font-size:17px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .tag,html[data-site-font="manrope"][data-site-font][data-site-font] .chip,html[data-site-font="manrope"][data-site-font][data-site-font] .chip-mute,html[data-site-font="manrope"][data-site-font][data-site-font] .meta{font-size:15px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .req,html[data-site-font="manrope"][data-site-font][data-site-font] .help,html[data-site-font="manrope"][data-site-font][data-site-font] small{font-size:14px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .count{font-size:15px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .article-content,html[data-site-font="manrope"][data-site-font][data-site-font] .post-content,html[data-site-font="manrope"][data-site-font][data-site-font] .post-body,html[data-site-font="manrope"][data-site-font][data-site-font] .post__body,html[data-site-font="manrope"][data-site-font][data-site-font] .project-content,html[data-site-font="manrope"][data-site-font][data-site-font] .idea-content,html[data-site-font="manrope"][data-site-font][data-site-font] .video-content,html[data-site-font="manrope"][data-site-font][data-site-font] .idea-lab__sec-body,html[data-site-font="manrope"][data-site-font][data-site-font] .idea-lab__status-text{font-size:20px !important;line-height:1.8 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .post-body p,html[data-site-font="manrope"][data-site-font][data-site-font] .post-body li,html[data-site-font="manrope"][data-site-font][data-site-font] .idea-lab__sec-body p,html[data-site-font="manrope"][data-site-font][data-site-font] .idea-lab__sec-body li{font-size:20px !important;line-height:1.8 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .cat-list a,html[data-site-font="manrope"][data-site-font][data-site-font] .ideas-filter a{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .btn,html[data-site-font="manrope"][data-site-font][data-site-font] .btn-outline-orange,html[data-site-font="manrope"][data-site-font][data-site-font] .btn-ghost,html[data-site-font="manrope"][data-site-font][data-site-font] .btn-primary,html[data-site-font="manrope"][data-site-font][data-site-font] button{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .btn-sm{font-size:14px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .btn-lg{font-size:18px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] label{font-size:16px !important;line-height:1.5 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] input,html[data-site-font="manrope"][data-site-font][data-site-font] textarea,html[data-site-font="manrope"][data-site-font][data-site-font] select{font-size:17px !important;line-height:1.5 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] input::placeholder,html[data-site-font="manrope"][data-site-font][data-site-font] textarea::placeholder{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-cta__desc{font-size:17px !important;line-height:1.6 !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-cta__socials .label{font-size:13px !important;letter-spacing:0.16em !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-cta__btn,html[data-site-font="manrope"][data-site-font][data-site-font] .btn.home-cta__btn{font-size:16px !important}
html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom__inner,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom__inner a,html[data-site-font="manrope"][data-site-font][data-site-font] .home-bottom a{font-size:15px !important}
/* Public website typography, enabled by the public head only.
   Manrope Variable, SIL Open Font License 1.1: https://github.com/google/fonts/tree/main/ofl/manrope */


html[data-site-font="manrope"] {
  --font-display: "Manrope", "Segoe UI", sans-serif;
  --font-heading: "Manrope", "Segoe UI", sans-serif;
  --font-label: "Manrope", "Segoe UI", sans-serif;
  --font-body: "Manrope", "Segoe UI", sans-serif;
  --vi-font-label: "Manrope", "Segoe UI", sans-serif;
  --vi-font-body: "Manrope", "Segoe UI", sans-serif;
  --vi-font-display: "Manrope", "Segoe UI", sans-serif;
}

/* Repeated site-font attribute intentionally outranks legacy language-specific !important rules.
   No lang selectors: equivalent roles use the same typography in Vietnamese and English. */
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body,
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(*:not(i):not(code):not(pre):not(kbd):not(samp):not(svg):not(path):not(use):not([class*="icon-font"])) {
  font-family: "Manrope", "Segoe UI", sans-serif !important;
  font-size-adjust: none !important;
  letter-spacing: normal !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body {
  font-size: 17px !important;
  line-height: 1.65 !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(p, .post__body li, .article-content li, .post-content li, .project-content li, .idea-content li) {
  font-size: 17px !important;
  line-height: 1.7 !important;
}
/* Slightly reduced headline size compensates for Manrope being wider, preserving the existing grid. */
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(h1) {
  font-size: clamp(34px, 4.25vw, 68px) !important;
  line-height: 1.18 !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.hero-home__title) {
  font-size: clamp(46px, 6vw, 88px) !important;
  line-height: 1.13 !important;
  letter-spacing: -0.025em !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(h2) {
  font-size: clamp(26px, 2.8vw, 44px) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.015em !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(h3) {
  font-size: clamp(20px, 1.7vw, 26px) !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  overflow-wrap: anywhere;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(h4, h5, h6) {
  line-height: 1.4 !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.primary-nav a, .side-nav__label) {
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.lang-switch, .lang-switch a, .lang-switch .sep) {
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.btn, .btn-outline-orange, .btn-ghost, .btn-primary, .btn-lg, .home-cta__btn, .blog-featured__cta, .founder-teaser__cta, .ideas-hero__cta) {
  font-size: 15px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.btn-sm, .map-link, .view-all) {
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
  font-size: 16px !important;
  line-height: 1.5 !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.section-label, .hero-home__since, .ideas-hero__badge, .lbl, .ph-cat) {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.04em !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.hero-home__keywords) {
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.proj-card__title, .blog-card__title, .video-card__title, .inno-card__title, .fp-card__title) {
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
}
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.ph-title__a, .ph-title__b) {
  font-size: clamp(28px, 3.3vw, 48px) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}
@media (max-width: 767px) {
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body,
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(p, .post__body li, .article-content li, .post-content li, .project-content li, .idea-content li) {
    font-size: 17px !important;
    line-height: 1.68 !important;
  }
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.hero-home__title) {
    font-size: clamp(46px, 12.2vw, 58px) !important;
    line-height: 1.14 !important;
  }
}
/* Wider Manrope needs slightly tighter navigation gaps at tablet/desktop boundary;
   keep the existing horizontal menu and prevent labels splitting into two lines. */
@media (min-width: 992px) and (max-width: 1279px) {
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body .primary-nav {
    gap: clamp(8px, 1.2vw, 15px) !important;
  }
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body .primary-nav a {
    white-space: nowrap !important;
  }
}


/* Keep embedded CMS/article headings readable without making every internal heading hero-sized. */
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.legal-page h1) { font-size: clamp(24px, 2.1vw, 30px) !important; line-height: 1.4 !important; letter-spacing: -0.01em !important; }
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.legal-page h2) { font-size: 22px !important; line-height: 1.45 !important; letter-spacing: normal !important; }
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.legal-page h3) { font-size: 19px !important; line-height: 1.45 !important; }
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.post-body h1, .post__body h1, .post-content h1, .article-content h1, .project-content h1, .idea-content h1, .page-content h1, .cms-content h1) { font-size: clamp(26px, 2.25vw, 32px) !important; line-height: 1.35 !important; }
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.post-body h2, .post__body h2, .post-content h2, .article-content h2, .project-content h2, .idea-content h2, .page-content h2, .cms-content h2) { font-size: clamp(23px, 2vw, 28px) !important; line-height: 1.4 !important; }
html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body :where(.post-body h3, .post__body h3, .post-content h3, .article-content h3, .project-content h3, .idea-content h3, .page-content h3, .cms-content h3) { font-size: 21px !important; line-height: 1.4 !important; }

/* Keep the existing desktop header on tablets while accommodating wider Manrope text. */
@media (820px < width < 992px) {
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body .site-header__inner { gap: 12px !important; padding-inline: 16px !important; }
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body .primary-nav { gap: 8px !important; min-width: 0; }
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body .primary-nav a { white-space: nowrap !important; }
  html[data-site-font="manrope"][data-site-font][data-site-font][data-site-font] body .header-tools { gap: 10px !important; }
}

/* Expand the existing mobile navigation for eight header items. */
@media (min-width:821px) and (max-width:1100px) {
  /* Khi menu mở, header phải thoát stacking context để drawer hiện đúng */
  body.nav-open .site-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(7,10,13,0.92);
    z-index: 10001;            /* trên drawer để hamburger X vẫn click được */
    isolation: auto;
  }

  /* === MOBILE HEADER FIX === logo CĂN GIỮA · hamburger sát PHẢI · ẩn icon search.
     Grid 3 cột cân xứng: [spacer 1fr] [brand auto] [tools 1fr] → brand ở giữa. */
  .site-header__inner {
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    padding: 2px 16px;          /* nút menu sát phải 16px */
    height: auto;
    min-height: 108px;          /* header cao hơn để chứa logo lớn (~90–110px) */
  }
  .site-header .header-tools {
    grid-column: 3;
    justify-self: end;
    gap: 0;                    /* chỉ còn hamburger */
  }
  .site-header .header-tools .js-search-toggle { display: none; }  /* ẩn search ngoài header — search nằm trong menu */
  /* MOBILE LOGO = logo-svg.svg (vuông). Cao 80–96px, width auto theo tỷ lệ → không méo/crop.
     Ẩn logo wordmark desktop, hiện logo SVG. Căn giữa chính xác. */
  .site-header .brand { grid-column: 2; justify-self: center; display: flex; align-items: center; justify-content: center; }
  .site-header .brand .brand__logo-img { display: none !important; }   /* ẩn wordmark trên mobile */
  .site-header .brand .brand__logo-svg {
    display: block !important;
    height: 75px !important;                         /* cao 75px theo yêu cầu */
    width: auto !important;                          /* tự động theo tỷ lệ (PNG 75×75 vuông) → không méo/crop */
    max-width: 70vw;
    object-fit: contain;
    image-rendering: auto;
  }
  .site-header .brand__name { font-size: clamp(22px, 7vw, 30px); }
  .site-header .brand__tag { font-size: 9px; }

  /* Drawer panel — sibling của body, không nested trong header */
  .mobile-drawer {
    display: flex;                /* override .mobile-drawer { display:none } default */
    position: fixed;
    inset: 0 0 0 auto;
    top: 0;
    right: 0;
    width: min(86vw, 360px);
    height: 100vh;
    height: 100dvh;
    background: #0a0c0e;
    padding: 120px 22px 28px;   /* chừa chỗ cho header cao ~108px, ô tìm kiếm không bị che */
    z-index: 10000;
    transform: translateX(100%);
    transition: transform .28s cubic-bezier(.2,.7,.3,1);
    box-shadow: -20px 0 40px rgba(0,0,0,0.5);
    border-left: 1px solid var(--color-border);
    overflow-y: auto;
    flex-direction: column;
    gap: 0;
    opacity: 1;
    filter: none;
    backdrop-filter: none;
    pointer-events: auto;
    visibility: visible;
  }
  body.nav-open .mobile-drawer { transform: translateX(0); }

  /* Ẩn logo clone trong drawer (gây "logo nhỏ mờ" trên ô tìm kiếm) — header đã có logo. */
  .mobile-drawer__brand { display: none !important; }

  /* Ô tìm kiếm CHỈ hiện trong menu mobile (theo yêu cầu) */
  .mobile-drawer__search {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 2px 0 14px;
    padding: 0 12px;
    height: 44px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 10px;
    transition: border-color .15s, background .15s;
  }
  .mobile-drawer__search:focus-within {
    border-color: var(--color-orange);
    background: rgba(var(--site-primary-rgb,255,99,71),0.06);
  }
  .mobile-drawer__search svg { width: 18px; height: 18px; color: var(--color-text-mute); flex: 0 0 auto; }
  .mobile-drawer__search input {
    flex: 1;
    background: transparent;
    border: 0;
    outline: 0;
    color: var(--color-text);
    font-size: 15px;
    font-family: inherit;
    min-width: 0;
  }
  .mobile-drawer__search input::placeholder { color: var(--color-text-mute); }
  .mobile-drawer__close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 50%;
    color: var(--color-text);
    font: 600 20px/1 var(--font-label);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1;
  }
  .mobile-drawer__close:hover { background: rgba(var(--site-primary-rgb,255,99,71),0.18); color: var(--color-orange); }
  .mobile-drawer__nav {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .mobile-drawer__nav a {
    font-size: 18px;
    padding: 14px 4px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    color: var(--color-text);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .mobile-drawer__nav a.is-active { color: var(--color-orange); }
  .mobile-drawer__nav a:hover { color: var(--color-orange); }
  .mobile-drawer__lang {
    margin-top: 24px;
    display: flex;
    gap: 8px;
    align-items: center;
  }
  .mobile-drawer__lang a {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    font: 600 11px/1 var(--font-label);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--color-text-dim);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 4px;
    text-decoration: none;
  }
  .mobile-drawer__lang a.is-active {
    background: var(--color-orange);
    color: #0a0a0a;
    border-color: var(--color-orange);
  }
  .mobile-drawer__socials {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
  }
  .mobile-drawer__socials a {
    width: 36px; height: 36px;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--color-text-dim);
    border: 1px solid rgba(255,255,255,0.10);
    border-radius: 4px;
  }
  .mobile-drawer__socials a:hover { color: var(--color-orange); border-color: var(--color-orange); }

  /* Hide legacy nested .primary-nav drawer rules (kept as fallback target) */
  .site-header .primary-nav {
    display: none !important;
  }

  /* Backdrop — sibling div injected by JS, NOT body::after (which lives
     inside body root stacking and may be obscured by sticky header). */
  .mobile-drawer-backdrop {
    display: block;               /* override default :none from outside the @media */
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease;
    cursor: pointer;
  }
  body.nav-open .mobile-drawer-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  body.nav-open { overflow: hidden; }

  /* Hamburger to X transition — toggle still visible above drawer */
  .menu-toggle { z-index: 10002; position: relative; }
  body.nav-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  body.nav-open .menu-toggle span:nth-child(2) { opacity: 0; }
  body.nav-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.site-header .lang-switch { display:none !important; }
}
@media (max-width:1100px) { body.nav-open #mcbot-root { visibility:hidden !important; pointer-events:none !important; } }
