/* AlphaDiv visual-system finish: readable Vietnamese, consistent navigation.
   Loaded AFTER legacy page CSS; deliberately no new font download. */
:root{
 --ad-ui-font:Arial,"Helvetica Neue",sans-serif;
 --ad-ui-ink:#19334d;
 --ad-ui-muted:#5a7187;
 --ad-ui-line:#d3dfe9;
 --ad-ui-weight-regular:400;
 --ad-ui-weight-medium:600;
 --ad-ui-weight-bold:700;
}
html{font-family:var(--ad-ui-font);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,body.ui-home,body.ui-join,body.ui-member,body.ui-performance,
body.ui-deals,body.ui-history,body.ui-cases,body.ui-methodology,body.ui-legal,body.ui-admin{
 font-family:var(--ad-ui-font);font-size:15px;line-height:1.65;
 font-synthesis:weight;text-rendering:auto;-webkit-font-smoothing:auto;
}
body :is(button,input,select,textarea){font-family:inherit;letter-spacing:normal}
body :is(h1,h2,h3,h4){line-height:1.3;letter-spacing:normal;overflow-wrap:break-word}
body :is(h1,h2){font-weight:700}
body :is(h3,h4){font-weight:700}
body :is(strong,b){font-weight:700}
body :is(p,li,td,th,summary,a,button,label){line-height:1.55}
body :is(.ad-kicker,.eyebrow,.overline,.rank-eyebrow,.story-year){letter-spacing:.055em}
/* Standard Vietnamese glyphs, no faux-heavy text or compressed spacing. */
body.ui-home .member-benefit-card h3,
body.ui-join .benefit-card h3{
 font-family:var(--ad-ui-font);font-size:clamp(19px,2.1vw,23px);
 font-weight:700;line-height:1.37;letter-spacing:normal;
 text-shadow:none
}
body.ui-home .member-benefit-card>span,
body.ui-join .benefit-card>span{
 font-size:11px;font-weight:700;letter-spacing:.065em
}
body.ui-home .member-benefit-card li,
body.ui-join .benefit-card li{
 font-size:13px;line-height:1.7;letter-spacing:normal
}

body :is(.ad-status,.ad-muted,.news-info,.section-head p,.member-meta span,
 .position-title span,.position-perf span,.position-dialog-subtitle,
 .intro,.caption,.note,.foot,.position-perf small){line-height:1.65}
body.ui-member .member-app :is(.news small,.news .news-reason,.news .news-insight,
 .position-stats .mini span,.position-stats .mini b,.event,.signal,.signal .day,
 .news-assessment,.news-verification,.news-filters button,.position-title span,
 .position-perf span,.ad-kicker,.section-head p){font-size:13px;line-height:1.55}
body.ui-member .member-app .news strong{font-size:15px;line-height:1.55}
body.ui-member .member-app :is(.position-title strong,.position-perf strong){font-weight:700}

body.ui-home :is(.hero-note,.performance-numbers span,.performance-numbers small,
 .proof-note,.join-route li,.join-route-link,.faq details p,
 .join-action p,.member-benefit-card p){font-size:13px;line-height:1.6}
body.ui-deals :is(.intro,.rank-date,.rank-origin,.rank-label,.rank-scope,
 .deal-context-preview,.source-detail,.dates,.counts){font-size:13px;line-height:1.6}
body.ui-join :is(.nav-guide p,.nav-guide-amount span,.nav-guide-amount small,
 .route-description,.enroll-help,.enrollment-note){font-size:13px;line-height:1.65}
body.ui-cases :is(.story .prose p,.story-sub,.intro p){font-size:15px;line-height:1.8}
body.ui-cases :is(.side-label,.timeline li,.lab-note p,.caption,.sources li){
 font-size:13px;line-height:1.65
}
body.ui-cases .hero h1{letter-spacing:-.025em}
body.ui-admin :is(.ad-status,.security,.hub-card p,.system-health-explain){
 font-size:13px;line-height:1.6
}
/* Unified public/admin headers, preserving access-dependent navigation. */
body :is(.ad-top,.topinner,.top,.site-header,.ad-unified-header){
 box-sizing:border-box
}
body.ui-home>.shell>.top,body.ui-join>.shell>.top,
body.ui-member .ad-top,body.ui-admin .ad-top{
 min-height:70px;align-items:center;gap:18px
}
body.ui-cases .topinner{width:min(1120px,calc(100% - 40px));min-height:70px}
body.ui-deals main>nav:first-child{
 min-height:70px;display:flex;align-items:center;justify-content:space-between
}
body :is(.ad-brand,.ad-footer-logo,.logo,.brand){font-weight:800;letter-spacing:-.03em}
body :is(.ad-nav,.nav-links,.topinner>.nav,.join-header-links){
 display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;
 gap:8px 17px
}
/* Desktop-only JOIN spacing. In the mobile drawer the shared menu owns
   display, width, flow and visibility—not the page-specific header rule. */
@media(min-width:1025px){
 body.ui-join>.shell>.top>.join-header-links{
  gap:10px 16px;align-items:center;justify-content:flex-end;
 }
}
body :is(.ad-nav a,.nav-links a,.topinner>.nav a,.join-header-links a,
 .top>.nav a,.ad-unified-header a){
 font-size:13px;line-height:1.5;font-weight:600;text-decoration:none;
 letter-spacing:normal;white-space:nowrap
}
body :is(.ad-nav a,.nav-links a,.topinner>.nav a,.join-header-links a,
 .top>.nav a,.ad-unified-header nav a):not(.ad-nav-cta):hover{text-decoration:none;opacity:.82}
body .ad-site-footer{
 box-sizing:border-box;width:min(1120px,calc(100% - 40px));max-width:1120px;
 margin:42px auto 0;padding:26px 0;column-gap:24px;
 font-family:var(--ad-ui-font);font-size:13px;line-height:1.65;
 grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)
}
body.ui-home .ad-site-footer,body.ui-join .ad-site-footer,
body.ui-member .ad-site-footer{width:100%;max-width:none}
/* All non-shell footer routes use the same outer width and neutral finish.
   This deliberately outranks legacy case-gallery card decoration. */
body.ui-cases .ad-site-footer,
body.ui-methodology .ad-site-footer,
body.ui-legal .ad-site-footer,
body.ui-history .ad-site-footer{
 width:min(1120px,calc(100% - 40px));max-width:1120px;
 margin:42px auto 0;padding:26px 0;
 border:0;border-top:1px solid #cbd8e3;border-radius:0;
 background:transparent;box-shadow:none;
}
body .ad-site-footer .ad-footer-logo{font-size:25px;font-weight:800;letter-spacing:-.03em}
body .ad-site-footer .ad-footer-brand p{font-size:13px;line-height:1.6}
/* Four information routes, then three utility routes. Two deliberate columns
   prevent the final 'Liên hệ' link from wrapping to an orphaned row. */
body .ad-site-footer .ad-footer-links{
 display:grid;grid-template-columns:repeat(2,max-content);
 grid-template-rows:repeat(4,minmax(40px,auto));grid-auto-flow:column;
 gap:3px 24px;justify-content:end;align-items:start;align-content:start
}
body .ad-site-footer .ad-footer-links a{
 min-height:40px;display:inline-flex;align-items:center;
 font-size:13px;font-weight:650;white-space:nowrap
}
body .ad-site-footer .ad-footer-bottom{font-size:12px;line-height:1.65}
/* One public header layout for Methodology and all History scopes (public/member/admin). */
body .ad-unified-header{
 display:flex;align-items:center;justify-content:space-between;gap:16px;
 min-height:70px;width:min(1120px,calc(100% - 40px));margin:auto;
 border-bottom:1px solid var(--ad-ui-line)
}
body .ad-unified-header nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 20px}
body .ad-unified-header .ad-brand{font-size:24px;color:#173b67}
body .ad-unified-header .ad-brand b{color:#da912a}
body.ui-methodology main{padding-top:14px}
@media(max-width:760px){
 body{font-size:15px}
 body.ui-home>.shell>.top{min-height:66px}
 body.ui-join>.shell>.top,body.ui-member .ad-top,
 body.ui-admin .ad-top{min-height:64px}
 body :is(.ad-nav,.nav-links,.join-header-links,.topinner>.nav){gap:8px 12px}
 body :is(.ad-nav a,.nav-links a,.join-header-links a,.topinner>.nav a){
  font-size:13px
 }
 body .ad-site-footer{display:block;width:calc(100% - 32px);padding:22px 0 28px}
 body.ui-cases .ad-site-footer,
 body.ui-methodology .ad-site-footer,
 body.ui-legal .ad-site-footer,
 body.ui-history .ad-site-footer{
  width:calc(100% - 32px);margin:26px auto 0;
  padding:22px 0 28px;background:transparent;border-radius:0;border:0;
  border-top:1px solid #cbd8e3
 }
 body.ui-home .ad-site-footer,body.ui-join .ad-site-footer,body.ui-member .ad-site-footer{
  width:100%
 }
 body .ad-site-footer .ad-footer-links{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(4,minmax(44px,auto));grid-auto-flow:column;
  justify-content:stretch;gap:4px 12px;width:100%;margin-top:16px
 }
 body .ad-site-footer .ad-footer-links a{
  font-size:13px;min-height:44px;white-space:normal;overflow-wrap:anywhere
 }
 body .ad-site-footer .ad-footer-bottom{margin-top:15px;gap:6px}
 body.ui-cases .topinner{width:calc(100% - 28px)}
 body.ui-deals main>nav:first-child{gap:10px;align-items:center}
 body .ad-unified-header{width:calc(100% - 28px);align-items:flex-start;flex-wrap:wrap;padding:12px 0}
 body .ad-unified-header nav{justify-content:flex-start}
}

/* Current route is visible but subdued; avoid inconsistent bold CTA states. */
body :is(.ad-nav,.nav-links,.topinner>.nav,.join-header-links,.ad-unified-header nav)
 a[aria-current="page"]{color:#164b7c;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
/* The obsolete horizontal-scroll public nav has been retired. Pages using
   [data-public-nav] must not also be forced to a full-width second row.
   Menu state and layout belong to the one shared dropdown rule below. */

/* Vietnamese typography v3 — one font stack and real, restrained weights.
   Previously heavy 850–950 labels and font shorthand caused different-looking
   glyphs on Windows despite the shared body font. No external font/network. */
html,body,body.ui-home,body.ui-join,body.ui-member,body.ui-performance,
body.ui-deals,body.ui-history,body.ui-cases,body.ui-methodology,body.ui-legal,body.ui-admin{
 font-family:var(--ad-ui-font);
}
body :is(h1,h2,h3,h4,h5,h6,p,li,span,small,strong,b,em,a,label,
 button,input,select,textarea,summary,th,td,time,blockquote){
 font-family:var(--ad-ui-font);
}
body :is(h1,h2,h3,h4,h5,h6){font-weight:var(--ad-ui-weight-bold);letter-spacing:normal}
body :is(.ad-brand,.logo,.ad-footer-logo,.brand){font-weight:var(--ad-ui-weight-bold)}
body :is(.ad-nav a,.nav-links a,.topinner>.nav a,.join-header-links a,
 .top>.nav a,.ad-unified-header a,.ad-site-footer .ad-footer-links a){
 font-weight:var(--ad-ui-weight-medium);
}
/* Align typography and hierarchy for both entry cards shown on the homepage.
   Explicit classes override legacy font shorthands and 900-weight labels. */
body.ui-home .join-grid>.route-or,
body.ui-home .join-route,
body.ui-home .join-route :is(h3,p,span,a){
 font-family:var(--ad-ui-font);
}
body.ui-home .join-grid>.route-or{
 font-weight:var(--ad-ui-weight-bold);letter-spacing:.02em;font-size:12px;
}
body.ui-home .join-route h3{
 font-size:clamp(22px,2.5vw,26px);font-weight:var(--ad-ui-weight-bold);
 line-height:1.28;letter-spacing:normal;
}
body.ui-home .join-route p{
 font-size:14px;font-weight:var(--ad-ui-weight-regular);line-height:1.65;
}
body.ui-home .join-route-badge{
 font-size:11px;font-weight:var(--ad-ui-weight-medium);letter-spacing:.035em;
}
body.ui-home .join-route-link{
 font-size:13px;font-weight:var(--ad-ui-weight-bold);letter-spacing:normal;
}
/* The /join entry cards should read as the same component family. */
body.ui-join .route-grid>.route-or,
body.ui-join .route-grid .route,
body.ui-join .route-grid .route :is(h2,p,span){
 font-family:var(--ad-ui-font);
}
body.ui-join .route-grid .route h2{
 font-weight:var(--ad-ui-weight-bold);line-height:1.25;letter-spacing:normal;
}
body.ui-join .route-grid .route p{font-size:14px;font-weight:400;line-height:1.65}
body.ui-join .route-grid .route .badge{
 font-size:11px;font-weight:var(--ad-ui-weight-medium);letter-spacing:.035em;
}
body.ui-join .route-grid .route .go{
 font-size:13px;font-weight:var(--ad-ui-weight-bold);letter-spacing:normal;
}
body.ui-join .route-grid>.route-or{
 font-weight:var(--ad-ui-weight-bold);letter-spacing:.02em;
}
/* Headline panels elsewhere use one restrained set of weights. */
body :is(.ad-kicker,.eyebrow,.overline,.rank-eyebrow,.story-year,
 .join-route-index,.nav-guide-amount strong,.choice h3,.benefit-card h3,
 .member-benefit-card h3,.benefit-card>span,.join-route-badge,
 .trial-invite-eyebrow){
 font-family:var(--ad-ui-font);font-weight:var(--ad-ui-weight-bold);
}
body :is(.ad-kicker,.eyebrow,.overline,.rank-eyebrow,.story-year,
 .trial-invite-eyebrow){
 letter-spacing:.045em;
}
/* New public campaign labels must inherit the same Vietnamese-capable
   typography. A class name ending in -eyebrow should not accidentally
   bypass the shared font contract or request synthetic 800/900 weights.
   Keep selectors here specific enough to beat legacy page-local rules. */
body.ui-join .trial-invite-eyebrow{
 display:block;
 font-family:var(--ad-ui-font);
 font-size:11px;
 font-weight:var(--ad-ui-weight-bold);
 line-height:1.45;
 letter-spacing:.045em;
 font-synthesis:weight;
}
/* Member area typography: avoid dozens of unrelated synthetic 800–950 weights.
   Keep hierarchy through size/color; limit visible text to regular/semi/bold. */
body.ui-member .member-app :is(.section-head h2,.research-overview-section h2,
 .position-title strong,.position-perf strong,.benefit h3,
 .material-event-card h3,.sector-links-group strong){
 font-weight:700;letter-spacing:normal;
}
body.ui-member .member-app :is(.member-jump a,.position-view-switch button,
 .news-filters button,.news-method-toggle,.research-overview-controls button,
 .position-detail-tabs button,.position-card-actions button,
 .ad-btn,.event-kind,.event-price,.signal .ticker,.signal .kind,
 .signal .value,.news .ticker,.news strong,.zone-badge,.zone-summary,
 .ad-kicker,.material-event-meta,.material-event-details summary,
 .material-event-details .event-source a,.sold-news-recap>summary,
 .recent-sells strong,.recent-sell-item,.news-research-steps strong){
 font-weight:600;letter-spacing:normal;
}
body.ui-member .member-app :is(p,small,.ad-muted,.position-title span,
 .position-perf span,.position-stats .mini span,.position-compact-note,
 .event,.signal .day,.news-info,.news-insight,.news-verify){
 font-weight:400;letter-spacing:normal;
}
body.ui-member .member-app .member-jump a{font-size:13px}
body.ui-member .member-app .news-filters button{font-size:12px}
body.ui-member .member-app .position-stats .mini b{font-weight:600}
body.ui-member .member-app .material-event-meta{font-weight:600}
body.ui-member .member-app .event-evidence .section-head h2{
 font-size:clamp(19px,2.2vw,22px);line-height:1.35;
}
/* Shared typographic contract for homepage /join: one real font family,
   normal tracking and no 800/900 pseudo-bold accents. */
body.ui-home :is(.hero h1,.about h2,.proof h2,.faq h2,.join h2,
 .performance-simple-head h2,.about .step h3,.join-route h3),
body.ui-join :is(.hero h1,.route-grid .route h2,.section-head h2){
 font-family:var(--ad-ui-font);font-weight:700;
 letter-spacing:normal;text-shadow:none;
}
body.ui-home .hero h1{letter-spacing:-.02em;line-height:1.08}
body.ui-home :is(.about h2,.proof h2,.faq h2,.join h2,
 .performance-simple-head h2){
 font-size:clamp(30px,3.7vw,43px);line-height:1.2;letter-spacing:normal;
}
/* Decorative OR pill: exact same typographic and visual component on both
   membership routes, while each page retains its own position rules. */
body.ui-home .join-grid>.route-or,
body.ui-join .route-grid>.route-or{
 display:grid;place-items:center;
 min-width:66px;min-height:44px;height:44px;
 padding:7px 11px;border:1px solid #e1c28c;border-radius:999px;
 background:#fff2dc;color:#815511;
 font-family:var(--ad-ui-font);font-size:12px;font-weight:700;
 line-height:1.2;letter-spacing:.02em;text-transform:uppercase;
 text-shadow:none;
 box-shadow:0 2px 14px rgba(12,40,72,.10);
}
/* Never squeeze localized letterforms or simulate 800/900 on home headings. */
body.ui-home :is(.step h3,.join-route h3,.member-benefit-card h3){
 letter-spacing:normal;font-weight:700;
}
@media(max-width:760px){
 body.ui-home :is(.about h2,.proof h2,.faq h2,.join h2,
  .performance-simple-head h2){font-size:clamp(26px,6vw,37px)}
}
/* Joining cards must give the same clear hover/focus feedback as navigation. */
body.ui-home .join-route-link:hover,
body.ui-home .join-route:hover .join-route-link,
body.ui-home .join-route:focus-within .join-route-link,
body.ui-join .route-grid .route:hover .go,
body.ui-join .route-grid .route:focus-visible .go{
 text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;
}
body.ui-home .join-route-link:focus-visible,
body.ui-join .route-grid .route:focus-visible{
 outline:2px solid #377da5;outline-offset:3px;
}
/* Dense marketing font rules must not override the Vietnamese text hierarchy. */
body.ui-home :is(.opportunity-faq summary,.faq-grid summary,
 .hero .btn,.hero .btn.secondary,.method,.deal-link,
 .join-route-link,.join-help a){
 font-family:var(--ad-ui-font);font-weight:700;
 letter-spacing:normal;text-shadow:none;
}
body.ui-home :is(.opportunity-faq summary,.faq-grid summary){
 font-size:15px;line-height:1.55;
}
body.ui-home .hero .btn{font-size:14px;line-height:1.5}
@media(max-width:760px){
 body.ui-home>.shell>.top .nav a:not(.join-nav),
 body.ui-join>.shell>.top .join-header-links a.back,
 body.ui-cases .topinner>.nav a{font-size:13px}
}


/* One public-header CTA hierarchy across Home, Join, Stories, History and Methodology.
   The style belongs to the action, not to a page-specific .nav or .back class. */
body [data-member-guest-only][hidden]{display:none!important}
:is(body.ui-home>.shell>.top>.nav,
  body.ui-join>.shell>.top>.join-header-links,
  body .ad-unified-header nav,
  body.ui-cases .topinner>.nav,
  body.ui-deals main>nav:first-child .nav-links) > a.ad-nav-cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:40px;max-width:100%;padding:9px 16px;
  border:1px solid #afc1d6;border-radius:999px;
  background:#f8fafc;color:#173b70;
  font:700 13px/1.35 var(--ad-ui-font);
  letter-spacing:normal;text-decoration:none;
  white-space:nowrap;box-sizing:border-box;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
:is(body.ui-home>.shell>.top>.nav,
  body.ui-join>.shell>.top>.join-header-links,
  body .ad-unified-header nav,
  body.ui-cases .topinner>.nav,
  body.ui-deals main>nav:first-child .nav-links) > a.ad-nav-cta-primary{
  background:#173b70;color:#fff;border-color:#173b70;
}
:is(body.ui-home>.shell>.top>.nav,
  body.ui-join>.shell>.top>.join-header-links,
  body .ad-unified-header nav,
  body.ui-cases .topinner>.nav,
  body.ui-deals main>nav:first-child .nav-links) > a.ad-nav-cta-primary:hover{
  background:#235186;color:#fff;border-color:#235186;text-decoration:none;
}
:is(body.ui-home>.shell>.top>.nav,
  body.ui-join>.shell>.top>.join-header-links,
  body .ad-unified-header nav,
  body.ui-cases .topinner>.nav,
  body.ui-deals main>nav:first-child .nav-links) > a.ad-nav-cta-secondary:hover{
  background:#e6eef8;color:#12365e;border-color:#8eaac8;text-decoration:none;
}
body .ad-nav-cta:focus-visible{outline:3px solid #ed9d0b;outline-offset:3px}
body .ad-nav-cta[aria-current="page"]{
  text-decoration:none!important;box-shadow:0 0 0 2px rgba(217,143,33,.45)
}
body .ad-unified-header nav{padding:0;border-bottom:0;align-items:center}
body.ui-home .home-mobile-links>a.ad-nav-cta{
  justify-content:center;text-align:center;border:1px solid #afc1d6;
  border-radius:11px;min-height:44px;font-weight:700;
}
body.ui-home .home-mobile-links>a.ad-nav-cta-primary{
  border-color:#173b70;background:#173b70;color:#fff;
}
body.ui-home .home-mobile-links>a.ad-nav-cta-secondary{
  background:#f8fafc;color:#173b70;
}
@media(max-width:760px){
  :is(body.ui-home>.shell>.top>.nav,
    body.ui-join>.shell>.top>.join-header-links,
    body .ad-unified-header nav,
    body.ui-cases .topinner>.nav,
    body.ui-deals main>nav:first-child .nav-links) > a.ad-nav-cta{min-height:44px;padding:10px 13px;font-size:13px}
}


/* Official AlphaDiv mark, sourced verbatim from the founder's approved ZIP.
   Preserve aspect ratio and never rebuild the symbol using fonts or CSS. */
body a:is(.ad-brand,.ad-footer-logo,.logo,.brand):has(>img.ad-official-logo){
  display:inline-flex;align-items:center;justify-content:flex-start;
  vertical-align:middle;line-height:1;min-height:40px;
  text-decoration:none;flex-shrink:0;
}
body a:is(.ad-brand,.ad-footer-logo,.logo,.brand)>img.ad-official-logo{
  display:block;width:160px;height:auto;max-width:100%;
  aspect-ratio:1280.616 / 340;object-fit:contain;flex:none;
}
body .ad-site-footer .ad-footer-logo>img.ad-official-logo{width:144px}
html[data-theme="dark"] body a:is(.ad-brand,.ad-footer-logo,.logo,.brand)>img.ad-official-logo{
  background:#fff;border-radius:7px;padding:4px 6px;
}
@media(max-width:540px){
  body a:is(.ad-brand,.ad-footer-logo,.logo,.brand)>img.ad-official-logo{width:136px}
  body .ad-site-footer .ad-footer-logo>img.ad-official-logo{width:136px}
}

/* Public menu progressive enhancement: every non-home public page uses
   one navigation mechanism. Before the small shared script binds, REAL
   links remain accessible in an internal scroll row, not clipped or stacked.
   Once ready, the same DOM becomes a compact dropdown at <= 1024px.
   This rule also prevents a temporary two-row flash during slow loading. */
@media(max-width:1024px){
 html:not([data-public-nav-ready="true"]) :is(
  body.ui-join>.shell>.top,
  body.ui-deals main>nav:first-child,
  body .ad-unified-header,
  body.ui-cases .topinner,
  body.ui-cases .case-top-nav
 ){
  position:relative;display:flex;flex-flow:row nowrap;align-items:center;
  justify-content:space-between;gap:9px;min-height:65px;min-width:0;
  overflow:visible
 }
 html:not([data-public-nav-ready="true"]) :is(
  body.ui-join>.shell>.top>[data-public-nav],
  body.ui-deals main>nav:first-child>[data-public-nav],
  body .ad-unified-header>[data-public-nav],
  body.ui-cases .topinner>[data-public-nav],
  body.ui-cases .case-top-nav>[data-public-nav]
 ){
  display:flex;flex:1 1 auto;flex-flow:row nowrap;align-items:center;
  justify-content:flex-start;gap:13px;min-width:0;width:auto;max-width:none;
  overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;padding:3px 0 9px
 }
 html:not([data-public-nav-ready="true"]) :is(
  body.ui-join>.shell>.top>[data-public-nav]>a,
  body.ui-deals main>nav:first-child>[data-public-nav]>a,
  body .ad-unified-header>[data-public-nav]>a,
  body.ui-cases .topinner>[data-public-nav]>a,
  body.ui-cases .case-top-nav>[data-public-nav]>a
 ){
  flex:none;width:auto;white-space:nowrap
 }
 html:not([data-public-nav-ready="true"]) body.ui-cases .case-top-nav>.case-brand{
  flex:none;flex-basis:auto;margin-right:0
 }
}
/* Non-home public headers: one menu per header, one underlying link set.
   Avoid the old two-line and sideways-scrolling navigation on phones.
   Only apply when shared member-nav.js has bound real toggle handlers. */
body .ad-public-nav-toggle{display:none}
body.ui-cases .case-top-nav>.ad-public-nav{display:contents}
body.ui-cases .case-top-nav>.ad-public-nav>a{
  display:inline-flex;align-items:center;min-height:40px;
  white-space:nowrap;text-decoration:none
}
@media(max-width:1024px){
  html[data-public-nav-ready="true"] :is(
    body .ad-unified-header,
    body.ui-join .shell>.top,
    body.ui-cases .topinner,
    body.ui-cases .case-top-nav,
    body.ui-deals main>nav:first-child
  ){position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;
    align-items:center;justify-content:space-between;gap:8px;
    min-width:0;min-height:65px;padding-top:10px;padding-bottom:10px;
    overflow:visible;z-index:75}
  html[data-public-nav-ready="true"] body.ui-cases .case-top-nav>.case-brand{
    flex:none;flex-basis:auto;margin-right:auto
  }
  html[data-public-nav-ready="true"] body .ad-public-nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    gap:8px;flex:none;min-height:44px;min-width:92px;margin-left:auto;
    padding:9px 12px;box-sizing:border-box;border:1px solid #aebfd1;
    border-radius:11px;background:#f8fafc;color:#173b70;
    font:600 14px/1.4 var(--ad-ui-font,Arial,sans-serif);
    cursor:pointer;box-shadow:none;transform:none;white-space:nowrap
  }
  html[data-public-nav-ready="true"] body .ad-public-nav-toggle[aria-expanded="true"]{
    background:#e9f0f7;border-color:#7897b8
  }
  html[data-public-nav-ready="true"] body .ad-public-nav-toggle:focus-visible{
    outline:3px solid #d39a23;outline-offset:3px
  }
  html[data-public-nav-ready="true"] body [data-public-nav].ad-public-nav{
    display:none;position:absolute;z-index:105;top:calc(100% + 7px);right:0;
    flex:none;flex-wrap:nowrap;flex-direction:column;
    align-items:stretch;justify-content:flex-start;gap:2px;
    width:min(312px,calc(100vw - 28px));max-width:calc(100vw - 28px);
    max-height:min(70dvh,540px);
    overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
    margin:0;padding:8px;border:1px solid #c0cedc;border-radius:14px;
    background:#fff;color:#173b70;
    box-shadow:0 18px 42px rgba(16,43,74,.19);box-sizing:border-box
  }
  html[data-public-nav-ready="true"] body [data-public-nav].ad-public-nav[data-open="true"]{
    display:flex
  }
  html[data-public-nav-ready="true"] body.ui-cases .case-top-nav>[data-public-nav].ad-public-nav{display:none}
  html[data-public-nav-ready="true"] body.ui-cases .case-top-nav>[data-public-nav].ad-public-nav[data-open="true"]{display:flex}
  html[data-public-nav-ready="true"] body [data-public-nav]>a{
    display:flex;align-items:center;justify-content:flex-start;
    flex:none;min-width:0;width:100%;min-height:44px;
    padding:10px 12px;margin:0;border:0;border-radius:9px;
    background:transparent;color:#173b70;
    font:600 14px/1.45 var(--ad-ui-font,Arial,sans-serif);
    text-decoration:none;text-align:left;white-space:normal;
    overflow-wrap:anywhere;box-sizing:border-box
  }
  html[data-public-nav-ready="true"] body [data-public-nav]>a:hover,
  html[data-public-nav-ready="true"] body [data-public-nav]>a:focus-visible{
    background:#edf4fa;color:#173b70;opacity:1
  }
  html[data-public-nav-ready="true"] body [data-public-nav]>a.ad-nav-cta-primary{
    border:1px solid #173b70;background:#173b70;color:#fff;
    justify-content:center;margin-top:6px
  }
  html[data-public-nav-ready="true"] body [data-public-nav]>a.ad-nav-cta-secondary{
    border:1px solid #afc1d6;background:#f8fafc;color:#173b70;
    justify-content:center
  }
  html[data-public-nav-ready="true"] body [data-public-nav]>a[aria-current="page"]{
    font-weight:700;background:#eaf2f9;color:#164b7c
  }
  html[data-public-nav-ready="true"] body [data-public-nav]>a[hidden]{
    display:none!important
  }
}
