/* Page-specific additions; typography and colors use the existing v3 system. */
.us-journey-nav { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 24px; margin:24px 0 0; font-size:16px; }
.us-journey-nav a, .us-pro-journey a:not([class]), .us-cost a:not([class]) { text-underline-offset:3px; }
.us-pro-journey .v3-why-card a { text-underline-offset:3px; }
.us-cost { font-family:var(--v3-font-stack); }
.us-cost-form { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:32px 0 20px; }
.us-cost-field { min-width:0; }
.us-cost-field label { display:block; margin-bottom:10px; font-size:18px; font-weight:600; color:var(--v3-text-primary-light); }
.us-cost-field input, .us-cost-field select { box-sizing:border-box; width:100%; min-height:52px; border:1px solid #86868b; border-radius:12px; background:#fff; padding:12px 14px; font:inherit; font-size:18px; color:var(--v3-text-primary-light); }
.us-cost-field input:focus-visible, .us-cost-field select:focus-visible { outline:3px solid var(--v3-accent); outline-offset:3px; }
.us-cost-hint, .us-cost-error { font-size:15px; line-height:1.6; margin:10px 0 0; }
.us-cost-error { font-weight:600; }
.us-cost-context { font-size:18px; line-height:1.6; margin:24px 0; }
.us-cost-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.us-cost-card { padding:28px; border:1px solid rgba(0,0,0,.08); border-radius:24px; background:#fff; }
.us-cost-card h3 { font-family:var(--v3-font-stack); font-size:24px; margin:0 0 24px; color:var(--v3-text-primary-light); }
.us-cost-card dl { margin:0; }
.us-cost-card dl > div { display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:space-between; margin-top:16px; }
.us-cost-card dt { color:var(--v3-text-secondary-light); font-size:16px; line-height:1.5; }
.us-cost-card dd { margin:0; color:var(--v3-text-primary-light); font-size:18px; font-weight:600; font-variant-numeric:tabular-nums; }
.us-cost-card dt small { display:block; font-size:14px; }
.us-cost-card .us-cost-total { padding-top:20px; margin-top:24px; border-top:1px solid rgba(0,0,0,.1); align-items:center; }
.us-cost-total dt { font-weight:600; color:var(--v3-text-primary-light); }
.us-cost-total dd { font-size:36px; letter-spacing:-.02em; }
.us-setup-list { display:grid; gap:24px; list-style-position:outside; padding-left:26px; margin:32px 0; }
.us-setup-list li { padding-left:10px; font-size:18px; line-height:1.65; color:var(--v3-text-secondary-light); }
.us-setup-list li::marker { font-weight:700; color:var(--v3-text-primary-light); }
.us-setup-list h3 { font-size:22px; color:var(--v3-text-primary-light); margin:0 0 8px; }
.us-setup-list p { margin:0; }
.us-pro-journey [hidden], .us-cost [hidden] { display:none !important; }
.us-cost-status { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media (max-width:600px) {
  .us-cost-form, .us-cost-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .us-cost-card { padding:24px; }
  .us-journey-nav { gap:12px 20px; }
}

.us-pro-journey main a:not([class]) { color:#005bea; text-decoration:underline; text-underline-offset:3px; }
.us-pro-journey .v3-comparatif-hero a:not([class]) { color:#64d2ff; }
.us-pro-journey .ve-section-head .v3-eyebrow { color:#0066cc; font-size:15px; }
.us-pro-journey .v3-comparatif-hero .ve-actions { margin-top:32px; }
.us-hero-note { color:var(--v3-text-secondary-dark); font-size:16px; margin:24px 0 0; }
.us-feature-grid .v3-why-card, .us-day-grid .v3-why-card { display:flex; flex-direction:column; }
.us-feature-grid ul { padding-left:20px; margin:8px 0 24px; color:var(--v3-text-secondary-light); font-size:17px; line-height:1.6; }
.us-feature-grid li + li { margin-top:12px; }
.us-feature-grid article > a { margin-top:auto; font-size:17px; }
.us-day-grid .v3-why-card .v3-eyebrow { color:#0066cc; font-size:13px; margin:0 0 18px; }
.us-demo-links { padding-left:20px; margin:20px 0 0; font-size:16px; line-height:1.6; }
.us-demo-links li + li { margin-top:12px; }
.us-plan-grid { margin-top:40px; }
.us-plan-grid strong { color:var(--v3-text-primary-light); font-size:32px; font-variant-numeric:tabular-nums; }
.us-classic-note { max-width:820px; margin:32px auto 0; color:var(--v3-text-secondary-light); font-size:17px; line-height:1.65; font-family:var(--v3-font-stack); }

.us-pro-journey .v3-section.--white > .v3-inner > .v3-eyebrow,
.us-pro-journey .vive-hero .v3-eyebrow { color:#0066cc; }
