.ic-body { color:#202326; background:#fafaf8; font-size:16px; }
.ic-shell { width:91.2%; max-width:1400px; margin-inline:auto; }
.ic-body a:focus-visible,.ic-body button:focus-visible,.ic-body select:focus-visible,.ic-body summary:focus-visible { outline:2px solid #465c73; outline-offset:4px; }
.ic-body p { color:#5b6269; line-height:1.65; }
.ic-body h1,.ic-body h2,.ic-body h3 { font-weight:450; letter-spacing:-.035em; line-height:1.18; }
.ic-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:64px; align-items:end; padding:48px 0 32px; }
.ic-intro h1 { font-size:clamp(34px,4vw,54px); margin:12px 0 0; }
.ic-intro>p { max-width:45ch; margin:0; font-size:17px; }
.ic-body .ic-eyebrow { font-size:14px; font-weight:550; letter-spacing:.06em; text-transform:uppercase; color:#59616a; margin:0; }
.ic-workspace-nav { display:flex; flex-wrap:wrap; gap:16px 32px; border-bottom:1px solid #d4d8dc; font-size:16px; }
.ic-workspace-nav a { display:inline-flex; align-items:center; min-height:52px; padding:8px 0; text-decoration:none; color:#5b6269; border-bottom:2px solid transparent; }
.ic-workspace-nav a[aria-current=page] { color:#202326; border-color:#202326; font-weight:550; }
.ic-workspace-nav a:hover { color:#202326; }
.ic-vehicle-picker { border-bottom:1px solid #d4d8dc; padding:22px 0; }
.ic-vehicle-picker summary { display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; cursor:pointer; min-height:48px; }
.ic-vehicle-picker summary::-webkit-details-marker { display:none; }
.ic-vehicle-identity { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1.2fr); align-items:start; gap:28px; flex:1; max-width:820px; min-width:0; }
.ic-vehicle-level { display:grid; gap:5px; min-width:0; }
.ic-vehicle-level+.ic-vehicle-level { border-left:1px solid #d4d8dc; padding-left:28px; }
.ic-vehicle-label { font-size:14px; line-height:1.5; font-weight:450; color:#59616a; }
.ic-vehicle-level strong { font-size:20px; line-height:1.4; font-weight:550; overflow-wrap:anywhere; }
.ic-vehicle-generation { grid-template-columns:auto minmax(0,1fr); gap:5px 12px; align-items:baseline; }
.ic-vehicle-generation .ic-vehicle-label { grid-column:1/-1; }
.ic-vehicle-years { font-size:15px; line-height:1.5; color:#59616a; overflow-wrap:anywhere; }
.ic-vehicle-picker strong { font-size:18px; font-weight:550; }
.ic-picker-action { font-size:15px; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
.ic-picker-action::after { content:' +'; text-decoration:none; }
.ic-vehicle-picker[open] .ic-picker-action::after { content:' −'; }
.ic-vehicle-form { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto; align-items:end; gap:20px; margin-top:22px; }
.ic-field { display:grid; gap:8px; min-width:0; }
.ic-field label { font-size:15px; font-weight:550; }
.ic-field select { width:100%; min-width:0; height:50px; padding:10px 30px 10px 13px; border:1px solid #afb5ba; border-radius:0; background:#fff; color:#202326; font:inherit; font-size:16px; text-overflow:ellipsis; }
.ic-field select:disabled { background:#f1f2f1; color:#687077; }
.ic-body .ic-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; background:#202326; border:1px solid #202326; color:#fafaf8; font:inherit; font-size:16px; text-decoration:none; text-align:center; cursor:pointer; }
.ic-body .ic-button:hover { background:#353b40; }
.ic-body .ic-button:active { transform:translateY(1px); }
.ic-body .ic-button:disabled { background:#e4e7e9; border-color:#c8cdd1; color:#626a72; cursor:default; }
.ic-body .ic-field-help { grid-column:1/-1; font-size:14px; margin:0; }
.ic-results { padding:32px 0 40px; }
.ic-results-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:28px; }
.ic-results-heading h2 { font-size:30px; margin:10px 0 0; }
.ic-results-heading>p { white-space:nowrap; font-size:15px; margin:0; }
.ic-guide-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.ic-guide-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:22px; border-bottom:1px solid #d4d8dc; padding-bottom:28px; }
.ic-guide-image { display:flex; align-items:center; background:#eff0f0; align-self:start; aspect-ratio:4/3; overflow:hidden; }
.ic-guide-image img { display:block; width:100%; height:100%; object-fit:contain; }
.ic-guide-image>span { padding:24px; font-size:16px; }
.ic-guide-copy h3 { font-size:24px; margin:10px 0 12px; }
.ic-guide-copy h3 a { text-decoration:none; }
.ic-guide-copy>p:not(.ic-eyebrow) { font-size:15px; margin:0 0 18px; }
.ic-guide-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; }
.ic-guide-actions>a:not(.ic-button) { display:inline-flex; align-items:center; min-height:44px; font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.ic-empty { max-width:620px; padding:16px 0; }
.ic-empty h2,.ic-empty h3 { font-size:28px; margin:0 0 14px; }
.ic-empty p { margin:0 0 18px; }
.ic-empty>a:not(.ic-button) { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; text-underline-offset:4px; }
.ic-body .ic-message { padding:18px; background:#edf0f2; margin:18px 0 0; font-size:15px; }
.ic-owner-entry { display:flex; align-items:center; justify-content:space-between; gap:32px; border-top:1px solid #d4d8dc; padding:30px 0 42px; }
.ic-owner-entry h2 { font-size:28px; margin:8px 0 10px; }
.ic-owner-entry p { margin:0; }
.ic-owner-entry>a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; white-space:nowrap; text-decoration:underline; text-underline-offset:4px; }
.ic-body .vs-preview-note,.ic-body .vs-footer>div { font-size:14px; }
.ic-body.vs-body .vs-logo>.ckcp-brand-tagline { font-size:14px; }
@media(max-width:1050px) { .ic-guide-card { grid-template-columns:1fr; } .ic-guide-image { aspect-ratio:16/9; } }
@media(max-width:700px) {
  .ic-shell { width:auto; margin-inline:23px; }
  .ic-body .vs-header { height:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; padding-top:14px; padding-bottom:12px; }
  .ic-body .vs-header .vs-logo { grid-column:1; grid-row:1; }
  .ic-body .vs-header .vs-account { grid-column:2; grid-row:1; font-size:14px; }
  .ic-body .vs-header nav { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; grid-column:1/-1; grid-row:2; font-size:14px; }
  .ic-body .vs-header nav a { display:flex; align-items:center; min-height:44px; white-space:normal; line-height:1.4; }
  .ic-body .vs-header nav a:nth-child(2) { justify-content:center; text-align:center; }
  .ic-intro { display:block; padding:30px 0 24px; }
  .ic-intro h1 { font-size:34px; }
  .ic-intro>p { margin-top:18px; font-size:16px; }
  .ic-workspace-nav { gap:24px; font-size:16px; }
  .ic-vehicle-picker summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:0; }
  .ic-vehicle-identity { grid-column:1/-1; grid-row:1; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:18px 22px; }
  .ic-vehicle-brand { grid-column:1/-1; padding-right:110px; }
  .ic-vehicle-level+.ic-vehicle-level { padding-left:0; border-left:0; }
  .ic-vehicle-level.ic-vehicle-generation { border-left:1px solid #d4d8dc; padding-left:22px; display:grid; grid-template-columns:minmax(0,1fr); gap:5px; }
  .ic-vehicle-level strong { font-size:18px; }
  .ic-vehicle-years { font-size:14px; }
  .ic-picker-action { grid-column:2; grid-row:1; justify-self:end; font-size:14px; padding-top:25px; }
  .ic-vehicle-form { grid-template-columns:1fr; gap:18px; }
  .ic-results-heading { align-items:start; gap:14px; }
  .ic-results-heading h2 { font-size:27px; }
  .ic-guide-grid { grid-template-columns:1fr; gap:28px; }
  .ic-guide-card { grid-template-columns:1fr; gap:18px; }
  .ic-guide-image { aspect-ratio:16/9; }
  .ic-guide-copy h3 { font-size:25px; }
  .ic-owner-entry { display:block; }
  .ic-owner-entry>a { margin-top:16px; }
  .ic-body .vs-footer>p { font-size:14px; }
}
