/* Keep the original blue ocean composition; tune hierarchy and task paths. */
:root { --header-clearance: 88px; }
html { scroll-padding-top: var(--header-clearance); }
a:focus-visible, button:focus-visible, summary:focus-visible, video:focus-visible { outline: 3px solid #0b57d0; outline-offset: 4px; }
.nav-wrap { gap: 36px; }
.nav-links { margin-left: 0; }
.nav-menu-panel { left: 0; right: auto; min-width: 220px; }
.header-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.login-link, .header-actions .nav-cta { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: 8px 16px; border-radius: 14px; font-size: 15px; font-weight: 700; white-space: nowrap; }
.login-link { color: var(--one-blue); }
.login-link:hover { background: #fff; }
.menu-bars, .menu-bars::before, .menu-bars::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; }
.menu-bars { position: relative; }
.menu-bars::before, .menu-bars::after { content: ''; position: absolute; left: 0; }
.menu-bars::before { top: -6px; }.menu-bars::after { top: 6px; }
.hero { padding: 48px 0 36px; }
.hero h1 { font-size: clamp(40px,4.4vw,60px); line-height: 1.18; }
.hero-copy { font-size: 18px; }
.hero-actions { margin-top: 24px; }
.hero-guide-link { margin: 20px 0 0; font-size: 14px; }
.hero-guide-link a, .text-link, .article a, .notice a, .download-note a { text-decoration: underline; text-underline-offset: 4px; }
.ocean-card { min-height: 440px; }
#download { padding: 40px 0 48px; }
.section { padding: 56px 0; }
.section-heading { margin-bottom: 24px; }
.section-heading h2 { font-size: clamp(28px,3vw,38px); }
.download-card { padding: 24px; min-height: 0; }
.platform { gap: 12px; margin-bottom: 12px; }
.platform h3 { margin: 0; font-size: 23px; }
.platform-name { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; height: 40px; padding: 0 8px; border: 1px solid #d2e3fa; border-radius: 12px; color: #174ca6; background: #edf5ff; font-size: 12px; letter-spacing: 0; }
.download-meta { margin: 0 0 8px; font-size: 13px; }
.download-card p { font-size: 15px; }
.device-actions { display: grid; gap: 14px; margin-top: auto; padding-top: 24px; }
.device-actions .text-link { text-align: center; font-size: 14px; }
.download-note { font-size: 14px; color: var(--one-muted); margin: 20px 0 0; max-width: 850px; }
.help-shortcuts { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-bottom: 24px; }
.help-shortcuts a { color: var(--one-ink); padding: 22px 0; border-top: 1px solid #cdd8e8; }
.help-shortcuts strong, .help-shortcuts span { display: block; }
.help-shortcuts strong { font-size: 21px; margin-bottom: 8px; }
.help-shortcuts span { color: var(--one-muted); font-size: 15px; }
.page-hero { padding: 36px 0 12px; }
.page-hero .container { max-width: var(--content); }
.page-hero h1 { font-size: clamp(30px,3.5vw,46px); max-width: 950px; line-height: 1.3; }
.page-hero p { font-size: 17px; margin-bottom: 12px; }
.breadcrumbs { margin-bottom: 16px; }
.section-sm { padding: 28px 0; }
.article { padding: 32px; border-radius: 28px; }
.article h2 { font-size: 27px; line-height: 1.4; }
.article p, .article li { line-height: 1.85; }
.article-meta { margin-bottom: 16px; font-size: 13px; }
.download-panel { text-align: left; padding: 0 0 24px; border-bottom: 1px solid var(--one-line); }
.download-panel h2 { margin-top: 0; }
.download-panel .button { min-width: 0; }
.sidebar { top: 92px; font-size: 14px; }
.site-footer .brand { display: inline-flex; }
[data-vac-download][aria-busy=true] { cursor: progress; outline: 3px solid #9dc6ff; outline-offset: 3px; }
/* These are presentation overrides; the platform still creates its own activity launcher. */
[data-vac-float].vac-float { right: max(16px,env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom) + var(--vac-chat-bottom,0px)); gap: 12px; }
[data-vac-float] > .vac-chat, [data-vac-float] > .vac-campaign-launcher { width: 60px !important; height: 64px !important; border-radius: 18px !important; box-shadow: 0 8px 22px #14203726 !important; flex-direction: column; gap: 4px; }
[data-vac-float] > .vac-chat { background: var(--one-blue); }
[data-vac-float] > .vac-campaign-launcher { background: #edf5ff !important; color: #174ca6 !important; border: 1px solid #cddff8 !important; }
[data-vac-float] > button svg { width: 24px; height: 24px; }
.float-label { font-size: 11px; line-height: 1.2; font-weight: 650; }
.vac-float.vac-float-in-flow { position: relative; right: auto; bottom: auto; flex-direction: row; width: max-content; max-width: calc(100% - 32px); margin: 32px auto; z-index: 1; }
@media (max-width: 1100px) { .nav-wrap { gap: 20px; }.nav-links a,.nav-menu summary { padding-inline: 10px; } }
@media (max-width: 900px) {
 .header-actions { gap: 8px; }.header-actions .nav-cta { display: none; }.nav-toggle { margin-left: 0; }
 .nav-links { top: 100%; }.nav-menu-panel { min-width: 0; }
 .hero-grid { grid-template-columns: 1.05fr .95fr; gap: 24px; }.hero h1 { font-size: 40px; }.ocean-card { min-height: 390px; }.cards { grid-template-columns: 1fr; }.device-grid { grid-template-columns: repeat(2,1fr); }.outline-card { grid-column: 1 / -1; }
 .content-grid { grid-template-columns: 1fr; }.help-shortcuts { gap: 16px; }
}
@media (max-width: 620px) {
 :root { --header-clearance: 82px; }
 .nav-wrap { gap: 8px; }.brand { font-size: 17px; }.header-actions { gap: 2px; }.login-link { padding-inline: 10px; }
 .hero { padding: 24px 0; }.hero-grid { grid-template-columns: 1fr; gap: 24px; }.hero h1 { font-size: 36px; }.hero-copy { font-size: 16px; }
 .hero-actions { gap: 10px; margin-top: 20px; }.hero-actions .button { width: auto; flex: 1 1 auto; padding-inline: 14px; font-size: 14px; }
 .hero-guide-link { margin-top: 16px; }.ocean-card { min-height: 280px; border-radius: 28px; }
 #download { padding-top: 24px; }.section { padding: 36px 0; }.device-grid { grid-template-columns: 1fr; }.outline-card { grid-column: auto; }
 .download-card { padding: 20px; border-radius: 24px; }.platform { margin-bottom: 8px; }.device-actions { padding-top: 18px; }.download-card p { margin-top: 8px; }
 .help-shortcuts { grid-template-columns: 1fr; gap: 0; }.help-shortcuts a { padding: 18px 0; }.callout { padding: 26px; }.callout h2 { font-size: 28px; }
 .page-hero { padding: 24px 0 0; }.page-hero h1 { font-size: 30px; }.page-hero p { font-size: 16px; }.page-hero .eyebrow { margin-bottom: 12px; }
 .article { padding: 22px; }.article h2 { font-size: 24px; }.article-lead { font-size: 17px; }.download-panel { padding-bottom: 18px; }.section-sm { padding: 20px 0; }
 [data-vac-float] > .vac-chat,[data-vac-float] > .vac-campaign-launcher { width: 52px !important; height: 58px !important; border-radius: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
.button:hover { transform: none; }
}
.help-toc { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 24px; }
.help-toc a { padding: 9px 14px; border: 1px solid #cfdef2; border-radius: 12px; background: #ffffffad; font-weight: 650; }
.help-link-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.help-link { position: relative; display: grid; gap: 8px; padding: 22px 50px 22px 24px; border: 1px solid #fff; border-radius: 20px; background: #ffffffc9; color: var(--one-ink); transition: background-color 160ms ease; }
.help-link:hover { background: #fff; }.help-link strong { font-size: 20px; line-height: 1.4; }.help-link span { font-size: 15px; color: var(--one-muted); }.help-link b { position: absolute; right: 22px; top: 24px; color: var(--one-blue); }
.help-category .section-heading h2 { font-size: 29px; }
@media (max-width: 620px) { .help-link-grid { grid-template-columns: 1fr; }.help-link { padding: 18px 44px 18px 20px; }.help-link strong { font-size: 19px; }.help-toc { gap: 8px; }.help-toc a { font-size: 14px; padding: 8px 12px; } }
