/* Application page uses the incumbent VG homepage shell and typography. */
.vg-app { font-variant-numeric: tabular-nums; }
.vg-app-container { max-width: 1280px; margin-inline: auto; padding-inline: 24px; }
.vg-app-main > .vg-app-hero { padding-block: 48px 32px; }
.vg-app-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 24px; color: #52525b; font-size: 12px; }
.vg-app-breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; }
.vg-app-hero h1 { max-width: 1100px; margin-bottom: 24px; font-size: clamp(38px, 4.5vw, 64px); line-height: 1.08; letter-spacing: -.02em; }
.vg-app-intro { max-width: 75ch; color: #52525b; font-size: 16px; line-height: 1.8; }
.vg-app-section-nav { display: flex; flex-wrap: wrap; gap: 8px 28px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--vg-rule); font-size: 13px; font-weight: 500; }
.vg-app-section-nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.vg-app-main > .vg-app-section { padding-block: 64px; scroll-margin-top: 112px; }
.vg-app-section-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 64px; align-items: start; }
.vg-app-section h2 { font-size: clamp(30px, 2.8vw, 38px); line-height: 1.15; letter-spacing: -.02em; }
.vg-app-section-body { min-width: 0; max-width: 75ch; font-size: 15px; line-height: 1.8; }
.vg-app-section-body > * + * { margin-top: 20px; }
.vg-app-section-body dt { margin-top: 24px; margin-bottom: 6px; color: #18181b; font-weight: 600; }
.vg-app-section-body a:not(.vg-app-cta) { text-decoration: underline; }
.vg-app-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; max-width: 100%; padding: 14px 20px; border-radius: 8px; background: #18181b; color: #faf9f6; font-size: 13px; font-weight: 600; }
.vg-app-cta:hover { background: #27272a; }
.vg-app footer button { min-height: 44px; }
.vg-app footer [class*="text-ink-faint/"] { color: #71717a; }
.vg-app-disclosure { max-width: 1152px; margin: 20px auto 0; padding-inline: 24px; color: #52525b; font-size: 11px; line-height: 1.75; }
.vg-app-disclosure a { text-decoration: underline; }
.vg-app-dialog { width: min(672px, calc(100% - 32px)); max-height: 85dvh; margin: auto; padding: 0; border: 0; border-radius: 16px; background: #faf9f6; color: #18181b; }
.vg-app-dialog::backdrop { background: rgba(24, 24, 27, .65); }
.vg-app-dialog button { min-width: 44px; min-height: 44px; }
.vg-app-skip { position: absolute; top: -100px; left: 16px; z-index: 100; padding: 12px 20px; border-radius: 8px; background: #18181b; color: #faf9f6; }
.vg-app-skip:focus { top: 12px; }
.vg-app ::selection { background: #18181b; color: #faf9f6; }
.vg-app .vg-mobile-sections summary { min-height: 44px; }
@media (max-width: 767px) {
 .vg-app-container { padding-inline: 16px; }
 .vg-app-main > .vg-app-hero { padding-block: 28px; }
 .vg-app-breadcrumb { margin-bottom: 16px; }
 .vg-app-hero h1 { font-size: clamp(36px, 7vw, 48px); line-height: 1.08; }
 .vg-app-intro { font-size: 15px; }
 .vg-app-section-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; margin-top: 24px; }
 .vg-app-main > .vg-app-section { padding-block: 40px; scroll-margin-top: 136px; }
 .vg-app-section-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
 .vg-app-section h2 { font-size: 32px; }
 .vg-app footer button { text-align: left; }
 .vg-app-disclosure { padding-inline: 16px; }
 .vg-app .vg-mobile-sections { padding-inline: 16px; }
 .vg-app .vg-mobile-sections nav a { display: inline-flex; align-items: center; }
 .vg-app-dialog a { display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) { .vg-app *, .vg-app *::before, .vg-app *::after { transition: none; animation: none; } }
