/* Homepage composition. Colors, controls and surfaces use the shared UI contract. */
body.page-index #wrapper>.container-fluid { width: 100%; max-width: 1344px; padding-inline: 0; }
body.page-index #wrapper>.container-fluid>.row { margin-inline: 0; }
body.page-index #content-wrapper { width: 100%; padding-inline: 0; }
body.page-index #main { box-sizing: border-box; max-width: 1344px; margin-inline: auto; padding: 24px 32px 32px; }
body.page-index #content.vvp-home-hub { display: flex; flex-direction: column; gap: 0; padding: 0; margin: 0; background: transparent; }
body.page-index .vvp-home-hub>* { min-width: 0; margin-block: 0; order: 0; }
body.page-index #main .vvp-home-hub :is(h1,h2,h3) { text-transform: none; letter-spacing: -.025em; }
body.page-index #main .vvp-home-hub h2 { color: var(--vvp-ds-ink); }

/* Search and the configured family mosaic share one entrance. */
body.page-index .vvp-home-entry { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 40px; align-items: center; }
body.page-index .vvp-home-entry>* { min-width: 0; }
body.page-index .vvp-home-intro { padding: 0; }
body.page-index .vvp-home-eyebrow { margin: 0 0 12px; color: var(--vvp-ds-accentText); font-size: 12px; line-height: 1.5; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
body.page-index #main .vvp-home-intro h1 { margin: 0 0 16px; font-size: clamp(28px,2.5vw,36px); font-weight: 600; line-height: 1.16; color: var(--vvp-ds-ink); }
body.page-index .vvp-home-intro>div>p:last-child { margin: 0; color: var(--vvp-ds-muted); font-size: 15px; line-height: 1.6; }
body.page-index .vvp-home-search { margin: 24px 0 0; }
body.page-index .vvp-home-search label { display: block; margin: 0 0 10px; font-size: 14px; font-weight: 500; color: var(--vvp-ds-action); text-align: left; }
body.page-index .vvp-home-search__controls { display: flex; align-items: stretch; gap: 8px; }
body.page-index .vvp-home-search__controls input { width: 100%; min-width: 0; flex: 1; font-size: 14px; }
body.page-index .vvp-home-search__controls button { flex: 0 0 auto; }
body.page-index .vvp-home-family-slot .skrupt-categories { margin: 0; padding: 0; }
body.page-index .vvp-home-family-slot .skc-title { margin: 0 0 20px; font-size: 22px; line-height: 1.25; font-weight: 600; text-align: left; }

/* Reference paths use the same interactive cards as catalogue navigation. */
body.page-index .vvp-home-reference-panel { --vvp-ui-heading-size: clamp(28px,2.36vw,34px); --vvp-ui-icon-link-size: 28px; display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.65fr); gap: 54px; align-items: center; }
body.page-index .vvp-home-reference-lead { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
body.page-index .vvp-home-reference-lead :where(h2,p) { margin: 0; }
body.page-index .vvp-home-reference-lead > * + * { margin-top: 16px; }
body.page-index .vvp-home-reference-lead > .vvp-home-eyebrow + h2 { margin-top: 8px; }
body.page-index .vvp-home-reference-lead > .vvp-ui-button { margin-top: var(--vvp-ui-action-space); }
body.page-index #main .vvp-home-faq-main > h2 { margin-bottom: var(--vvp-ui-collection-space); }

body.page-index .vvp-home-section-intro { max-width: 60ch; font-size: 15px; line-height: 1.65; color: var(--vvp-ds-muted); }
body.page-index .vvp-home-reference-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
body.page-index .vvp-home-reference-grid { gap: 0 var(--vvp-ui-section-gap); }
body.page-index .vvp-home-reference-grid a { display: grid; grid-template-columns: 60px minmax(0,1fr) 28px; gap: 6px 13px; min-height: 132px; padding: 22px 0; border-bottom: 1px solid var(--vvp-ui-panel-line); border-radius: 0; background: transparent; align-content: center; }
body.page-index .vvp-home-reference-grid strong { grid-column: 2; grid-row: 1; font-size: 22px; line-height: 1.25; font-weight: 500; }
body.page-index .vvp-home-reference-grid span:not([aria-hidden]) { grid-column: 2; grid-row: 2; font-size: 13px; line-height: 1.55; color: var(--vvp-ds-muted); }
body.page-index .vvp-home-reference-grid .vvp-home-reference-icon { grid-column: 1; grid-row: 1 / 3; align-self: center; width: 60px; height: 70px; object-fit: contain; font-size: 42px; display: grid; place-items: center; }
body.page-index .vvp-home-reference-grid [aria-hidden]:not(.vvp-home-reference-icon) { grid-column: 3; grid-row: 1 / 3; align-self: center; font-size: 18px; }
body.page-index .vvp-home-brands-panel { --vvp-ui-panel-bg: transparent; --vvp-ui-panel-padding: 0; display: grid; gap: var(--vvp-ui-space-7); min-width: 0; }
body.page-index .vvp-home-brands-panel > .skbp--brands { padding: var(--vvp-ui-space-6) var(--vvp-ui-space-8) var(--vvp-ui-space-8); border: 0; border-radius: var(--vvp-ds-radius-panel); background: var(--vvp-ui-action-bg); }
body.page-index .vvp-home-section-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
body.page-index .vvp-home-section-heading h2 { margin: 0; }
body.page-index .vvp-home-section-heading p { margin: 8px 0 0; color: var(--vvp-ds-muted); font-size: 15px; line-height: 1.5; }
body.page-index .vvp-home-brand-links { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
body.page-index .vvp-home-brand-links a { width: 100%; height: 100%; }

body.page-index .vvp-home-catalogue-slot .skrupt-carousel { margin: 0; padding: 0; }
body.page-index .vvp-home-catalogue-slot .skrupt-carousel__header { margin-bottom: var(--vvp-ui-collection-space); }
body.page-index .vvp-home-hub :is(.skrupt-carousel__title,.skg-block__title) { margin: 0; font-size: 24px; line-height: 1.25; font-weight: 600; text-align: left; }
/* Open editorial selection, using the module's existing content. */
body.page-index .vvp-home-guides-slot .skg-block { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
body.page-index .vvp-reading-heading { display:flex; align-items:center; justify-content:space-between; gap:16px 32px; margin-bottom:32px; }
body.page-index .vvp-reading-heading .skg-block__title { margin:0; color:var(--vvp-ds-action); }
body.page-index .vvp-home-guides-more { display:flex; flex-wrap:wrap; align-items:center; gap:8px 28px; }
body.page-index .vvp-home-guides-more a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--vvp-ds-action); font-size:14px; text-decoration:none; }
body.page-index .vvp-home-guides-more a:hover, body.page-index .vvp-home-guides-slot .skg-item__title a:hover { text-decoration:underline; text-underline-offset:4px; }
body.page-index .vvp-reading-selection .skg-block__items { display:grid; grid-template-columns:minmax(0,1fr); gap:40px 56px; align-items:start; }
body.page-index .vvp-reading-selection .skg-block__items:has(>.vvp-reading-list) { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.page-index .vvp-reading-list { display:flex; flex-direction:column; gap:24px; min-width:0; }
body.page-index .vvp-home-guides-slot .skg-item { min-width:0; margin:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.page-index .vvp-home-guides-slot .skg-item__content { display:flex; flex-direction:column; min-width:0; height:auto; padding:0; gap:0; }
body.page-index .vvp-home-guides-slot .skg-item__type { margin:0 0 6px; color:var(--vvp-ds-muted); font-size:12px; line-height:1.5; font-weight:500; text-transform:uppercase; }
body.page-index .vvp-home-guides-slot .skg-item__title { margin:0; color:var(--vvp-ds-action); font-size:18px; line-height:1.4; }
body.page-index .vvp-home-guides-slot .skg-item__title a { color:inherit; text-decoration:none; }
body.page-index .vvp-home-guides-slot .vvp-reading-arrow { color:var(--vvp-ds-accentText); font-weight:400; white-space:nowrap; }
body.page-index .vvp-home-guides-slot .skg-item__excerpt { margin:10px 0 0; color:var(--vvp-ds-muted); font-size:14px; line-height:1.6; }
body.page-index .vvp-home-guides-slot .skg-item__image { min-width:0; margin:0; padding:0; background:transparent; overflow:hidden; }
body.page-index .vvp-home-guides-slot .skg-item__image img { display:block; width:100%; height:auto; object-fit:contain; }
body.page-index .vvp-home-guides-slot .vvp-reading-feature { display:flex; flex-direction:column; gap:0; --vvp-home-heading-weight:600; }
body.page-index .vvp-home-guides-slot .vvp-reading-feature .skg-item__title { font-size:27px; line-height:1.28; }
body.page-index .vvp-home-guides-slot .vvp-reading-feature .skg-item__excerpt { font-size:15px; }
body.page-index .vvp-home-guides-slot .skg-item__link { display:inline-flex; align-items:center; gap:12px; width:fit-content; min-height:44px; margin:12px 0 0; padding:8px 0; border:0; border-radius:0; background:transparent; color:var(--vvp-ds-action); font-size:15px; text-decoration:none; }
body.page-index .vvp-home-guides-slot .vvp-reading-feature .skg-item__image { width:min(100%,380px); margin-inline:auto; }
body.page-index .vvp-reading-list .skg-item { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
body.page-index .vvp-reading-list .skg-item:has(>.skg-item__image) { grid-template-columns:88px minmax(0,1fr); }
body.page-index .vvp-reading-list .skg-item:not(:last-child) { padding-bottom:24px; border-bottom:1px solid var(--vvp-ui-info-line); }
body.page-index .vvp-reading-list .skg-item__image { width:88px; aspect-ratio:1; border-radius:12px; align-self:center; }
body.page-index .vvp-reading-list .skg-item__image img { height:100%; object-fit:cover; }
@media(max-width:900px) {
  body.page-index .vvp-reading-heading { flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:28px; }
  body.page-index .vvp-reading-selection .skg-block__items:has(>.vvp-reading-list) { grid-template-columns:minmax(0,1fr); gap:36px; }
  body.page-index .vvp-home-guides-slot .vvp-reading-feature .skg-item__title { font-size:24px; }
  body.page-index .vvp-home-guides-slot .vvp-reading-feature .skg-item__image { width:min(90%,300px); }
}
@media(max-width:480px) {
  body.page-index .vvp-reading-list .skg-item:has(>.skg-item__image) { grid-template-columns:72px minmax(0,1fr); gap:16px; }
  body.page-index .vvp-reading-list .skg-item__image { width:72px; }
  body.page-index .vvp-reading-list .skg-item__title { font-size:17px; }
}

body.page-index .vvp-home-company { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); gap: 32px; align-items: stretch; }
body.page-index .vvp-home-company p { margin: 0 0 16px; font-size: 15px; line-height: 1.65; color: var(--vvp-ds-muted); }
body.page-index .vvp-home-service { display: flex; flex-direction: column; align-items: start; justify-content: center; }
body.page-index .vvp-home-service h3 { margin: 0 0 16px; font-size: 20px; font-weight: 500; line-height: 1.35; }
body.page-index .vvp-home-practical-faq { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(0,1fr); gap: 32px; align-items: stretch; }
body.page-index .vvp-home-company-links { display: flex; flex-direction: column; justify-content: center; gap: 12px; }
body.page-index .vvp-home-company-links a { justify-content: space-between; text-align: left; }
body.page-index .vvp-home-company .vvp-home-eyebrow { font-size: 12px; color: var(--vvp-ds-accentText); }
body.page-index .vvp-home-contact a { color: var(--vvp-ds-action); text-decoration: underline; text-underline-offset: 3px; }
body.page-index .vvp-home-service-icon { font-size: 32px; margin-bottom: 20px; }
body.page-index .vvp-home-service p { margin: 0 0 20px; font-size: 15px; line-height: 1.65; color: var(--vvp-ds-muted); }
body.page-index .vvp-home-service .vvp-home-service-hint { font-size: 13px; }
body.page-index .vvp-home-service .vvp-ui-button { text-align: left; }

body.page-index .vvp-home-faq-list { display: grid; gap: 12px; }
body.page-index .vvp-home-faq-list summary { font-size: 15px; line-height: 1.5; }
body.page-index .vvp-home-faq-list p { margin: 0; font-size: 15px; line-height: 1.65; }
body.page-index .vvp-home-faq-list a { color: var(--vvp-ds-action); text-decoration: underline; text-underline-offset: 3px; }
body.page-index .vvp-home-hub a:focus-visible { outline: 2px solid var(--vvp-ds-focus); outline-offset: 3px; }
@media(max-width:1100px) {
  body.page-index .vvp-home-entry { grid-template-columns: minmax(0,1fr); gap: 28px; }
  body.page-index .vvp-home-intro { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px 28px; align-items: center; }
  body.page-index .vvp-home-intro>div { grid-row: 1 / 3; }
  body.page-index .vvp-home-search { margin: 0; align-self: end; }
  body.page-index .vvp-hero-shortcuts { margin: 0; align-self: start; }
  body.page-index .vvp-home-brand-links { grid-template-columns: repeat(3,minmax(0,1fr)); }
  body.page-index .vvp-home-reference-panel { column-gap: 24px; }
  body.page-index .vvp-home-company { grid-template-columns: minmax(0,1fr); }
  body.page-index .vvp-home-reference-panel { grid-template-columns: minmax(0,1fr); }
  body.page-index .vvp-home-reference-lead { max-width: 65ch; }
  body.page-index .vvp-home-practical-faq { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:767.98px) {
  body.page-index #main { padding: 16px 16px 24px; }
  body.page-index .vvp-home-entry { gap: 24px; }
  body.page-index .vvp-home-intro { display: block; }
  body.page-index #main .vvp-home-intro h1 { font-size: 27px; }
  body.page-index .vvp-home-intro>div>p:last-child { font-size: 14px; }
  body.page-index .vvp-home-search { margin-top: 20px; }
  body.page-index .vvp-home-search label { font-size: 13px; }
  body.page-index .vvp-home-search__controls button { padding-inline: 14px; font-size: 13px; }
  body.page-index .vvp-hero-shortcuts { margin-top: 12px; gap: 4px 16px; }
  body.page-index .vvp-home-reference-panel { display: block; }
  body.page-index .vvp-home-reference-grid { margin-top: 24px; grid-template-columns: minmax(0,1fr); }
  body.page-index .vvp-home-reference-grid a { min-height: 108px; padding-block: 18px; }
  body.page-index .vvp-home-brands-panel > .skbp--brands { padding: var(--vvp-ui-space-5); }
  body.page-index .vvp-home-brand-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.page-index .vvp-home-hub :is(.skc-title,.skrupt-carousel__title,.skg-block__title) { font-size: 22px; }
  body.page-index .vvp-home-practical-faq { display: grid; gap: 24px; }
}

/* The gallery mode opts into the immersive entrance; other modes keep their own design.
   index.tpl puts vvp-home-showcase on <body> when the family gallery is in showcase mode. */
body.page-index.vvp-home-showcase { --vvp-home-navy: var(--vvp-hero-blue); }
body.page-index.vvp-home-showcase #wrapper { padding-top: 0; }
body.page-index.vvp-home-showcase #wrapper>.container-fluid,
body.page-index.vvp-home-showcase #main { max-width: none; padding-inline: 0; }
body.page-index.vvp-home-showcase #main { padding-top: 0; }
body.page-index.vvp-home-showcase .vvp-home-hub>:not(.vvp-home-entry) { width: calc(100% - 64px); max-width: 1280px; margin-inline: auto; }
body.page-index.vvp-home-showcase .vvp-home-entry { display: block; position: relative; isolation: isolate; width: 100%; max-width: none; padding: var(--vvp-hero-space-start) max(32px,calc((100% - 1200px)/2)) var(--vvp-hero-space-end); border: 0; border-radius: 0; background: transparent; color: #fff; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-intro { display: block; text-align: center; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-eyebrow { display: none; }
body.page-index.vvp-home-showcase #main .vvp-home-entry h1 { margin: 0; color: #fff; font-size: clamp(21px,1.85vw,26px); font-weight: 500; line-height: 1.3; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-brand { display: block; margin-bottom: 48px; font-size: clamp(42px,4.8vw,68px); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-intro>div>p:last-child { margin-top: 20px; color: #d4deee; font-size: 15px; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search { width: min(100%,480px); margin: 32px auto 0; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search__controls { gap: 4px; padding: 4px; border: 1px solid var(--vvp-color-info-line); border-radius: 40px; background: #fff; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search__controls input { min-height: 40px; padding: 7px 16px; font-size: 16px; border: 0; border-radius: 40px; background: transparent; color: var(--vvp-home-navy); box-shadow: none; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search__controls input::placeholder { color: #66768e; opacity: 1; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search__controls button { min-height: 40px; padding: 7px 20px; font-size: var(--vvp-control-font-size-compact); border-radius: 32px; border: 0; background: var(--vvp-ds-accentText, var(--vvp-color-accent)); color: #fff; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search__controls:focus-within { outline: 3px solid #a7c1ed; outline-offset: 3px; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-hero-shortcuts { justify-content: center; margin: 18px 0 0; gap: 8px 28px; }
body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-family-slot { max-width: 1200px; margin: 4px auto 0; }
body.page-index .vvp-home-family-slot .skc-style-showcase { position: relative; isolation: isolate; color: #fff; --skc-text-color: #fff; }
body.page-index .vvp-home-family-slot .skc-style-showcase .skc-title { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); }
body.page-index .vvp-home-family-slot .skc-style-showcase .skc-track { position: relative; z-index: 1; }
body.page-index .vvp-home-family-slot .skc-style-showcase .skc-card { color: #fff; }
body.page-index .vvp-home-family-slot .skc-style-showcase .skc-card__description { color: #d4deee; }
@media(max-width:767.98px) {
  body.page-index.vvp-home-showcase .vvp-home-hub>:not(.vvp-home-entry) { width: calc(100% - 32px); }
  body.page-index.vvp-home-showcase .vvp-home-entry { width: 100%; padding: 24px 20px 32px; }
  body.page-index.vvp-home-showcase #main .vvp-home-entry h1 { font-size: 18px; }
  body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-brand { margin-bottom: 34px; font-size: 40px; }
  body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-intro>div>p:last-child { font-size: 13px; line-height: 1.5; }
  body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search { margin-top: 26px; }
  body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search__controls input { padding-inline: 12px; font-size: 14px; }
  body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-search__controls button { width: auto; padding-inline: 14px; font-size: 12px; }
  body.page-index.vvp-home-showcase .vvp-home-entry .vvp-hero-shortcuts { gap: 0 18px; margin-top: 12px; }
  body.page-index.vvp-home-showcase .vvp-home-entry .vvp-home-family-slot { margin-top: 8px; }
}
/* The original large mosaic needs the full entrance width, not the retired half-column. */
body.page-index .vvp-home-entry:has(.skc-style-mosaic) { display: block; padding: 0; border-radius: 0; background: transparent; }
body.page-index .vvp-home-entry:has(.skc-style-mosaic) .vvp-home-intro { display: block; max-width: 760px; margin: 0 auto 32px; text-align: center; }
body.page-index .vvp-home-entry:has(.skc-style-mosaic) .vvp-home-search { max-width: 520px; margin: 24px auto 0; }
body.page-index .vvp-home-entry:has(.skc-style-mosaic) .vvp-hero-shortcuts { justify-content: center; margin-top: 12px; }
@media(max-width:767px) {
  body.page-index .vvp-home-entry:has(.skc-style-mosaic) .vvp-home-intro { margin-bottom: 24px; }
}

/* Homepage finish: light, editorial imagery and varied compositions. */

body.page-index .vvp-home-family-slot .skc-style-showcase .skc-card__visual img {
  filter: drop-shadow(0 12px 13px rgba(7,20,38,.2));
}
body.page-index .vvp-home-reference-grid { gap: 12px; }

body.page-index .vvp-home-documents-panel {
  display: grid; grid-template-columns: 220px minmax(0,1fr) auto; align-items: center; gap: 28px;
  padding: 24px 32px; border-radius: var(--vvp-ds-radius-panel);
  background: var(--vvp-ds-action); color: #fff; overflow: hidden;
}
body.page-index .vvp-home-documents-visual { min-width: 0; }
body.page-index .vvp-home-documents-visual img { display: block; width: 220px; height: 165px; max-width: 100%; object-fit: contain; }
body.page-index .vvp-home-documents-copy { min-width: 0; }
body.page-index .vvp-home-documents-eyebrow { display: flex; align-items: center; gap: 9px; margin: 0 0 10px; color: #dae5f3; font-size: 12px; line-height: 1.5; letter-spacing: .06em; text-transform: uppercase; }
body.page-index .vvp-home-documents-eyebrow::before { content: ''; width: 18px; height: 3px; flex: 0 0 auto; background: var(--vvp-ds-accentText); border-radius: 2px; }
body.page-index #main .vvp-home-documents-panel h2 { margin: 0 0 12px; color: #fff; font-size: 27px; font-weight: 600; line-height: 1.2; }
body.page-index .vvp-home-documents-copy>p:last-child { margin: 0; max-width: 58ch; color: #dce6f2; font-size: 15px; line-height: 1.65; }
body.page-index .vvp-home-documents-action { background: #fff; color: var(--vvp-ds-action); border-color: transparent; white-space: nowrap; gap: 16px; }


body.page-index .vvp-home-company-links { gap: 0; }
body.page-index .vvp-home-company-links a { padding-inline: 0; border-radius: 0; background: transparent; border: 0; border-bottom: 1px solid var(--vvp-ui-info-line); }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  body.page-index .vvp-home-guides-slot .skg-item__link>span[aria-hidden],body.page-index .vvp-home-documents-action>span[aria-hidden] { transition: transform 140ms ease; }
  body.page-index .vvp-home-guides-slot .skg-item__link:hover>span[aria-hidden],body.page-index .vvp-home-documents-action:hover>span[aria-hidden] { transform: translateX(3px); }
}
@media (max-width:1050px) {
  body.page-index .vvp-home-documents-panel { grid-template-columns: 160px minmax(0,1fr); gap: 16px 24px; }
  body.page-index .vvp-home-documents-visual { grid-row: span 2; }
  body.page-index .vvp-home-documents-action { grid-column: 2; justify-self: start; }
}
@media (max-width:640px) {
  body.page-index .vvp-home-documents-panel { padding: 24px 20px; grid-template-columns: 90px minmax(0,1fr); gap: 18px 16px; }
  body.page-index .vvp-home-documents-visual { grid-row: auto; }
  body.page-index .vvp-home-documents-visual img { width: 110px; height: 100px; }
  body.page-index .vvp-home-documents-eyebrow { font-size: 10px; letter-spacing: .03em; }
  body.page-index #main .vvp-home-documents-panel h2 { font-size: 23px; }
  body.page-index .vvp-home-documents-copy>p:last-child { font-size: 13px; line-height: 1.6; }
  body.page-index .vvp-home-documents-action { grid-column: 1/-1; justify-self: stretch; justify-content: space-between; white-space: normal; }
}

/* Homepage type hierarchy: clear foreground, softer supporting text. */
body.page-index #main :is(h1,h2,.skrupt-carousel__title,.skg-block__title){font-weight:600}
body.page-index.vvp-home-showcase #main .vvp-home-entry h1{font-weight:500!important}
body.page-index #main .vvp-home-brand{font-weight:600;color:var(--vvp-color-inverse)}
body.page-index #main .vvp-home-headline{display:block;font-size:clamp(23px,2.2vw,36px);line-height:1.24;letter-spacing:-.025em}
@media(min-width:768px){body.page-index #main .vvp-home-headline{white-space:nowrap}}
body.page-index #main :is(h3,h4,.skg-item__title,.vvp-home-reference-grid strong){font-weight:var(--vvp-home-heading-weight,500)}
body.page-index #main :is(.vvp-home-eyebrow,.vvp-home-documents-eyebrow){font-weight:500}
body.page-index #main :is(.vvp-home-intro p,.vvp-home-section-intro,.skc-card__description,.skg-item__excerpt,.vvp-home-company p){font-weight:400}
body.page-index #main :is(.vvp-home-intro p,.skc-card__description){color:var(--vvp-color-inverse-muted)}
body.page-index #main .skc-card__label{color:var(--vvp-color-inverse)}
body.page-index .skc-watermark--text{
  background-image:linear-gradient(180deg,rgba(185,198,220,.24) 0%,rgba(185,198,220,.205) 58%,rgba(185,198,220,.17) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;opacity:1!important;
}
body.page-index #main .vvp-home-documents-panel p{color:var(--vvp-color-inverse-muted)}
body.page-index #main :is(.vvp-home-search__controls button,.vvp-ui-button,.skg-item__link){font-weight:500!important}
@media(max-width:767px){body.page-index #main .vvp-home-headline{font-size:clamp(23px,4.5vw,28px)}}

/* Confirmed homepage typography, with the original search composition. */
body.page-index #main .vvp-home-entry .vvp-home-intro p { font-weight: 300; }
body.page-index #main .vvp-home-family-slot .skc-card__description { font-weight: 300; }
body.page-index #main .vvp-home-search .vvp-home-search__controls button {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .01em;
}

/* Full-width section backgrounds are supplied by the shared band component. */
body.page-index #wrapper #main #content.vvp-home-hub { gap: 0; background: transparent; }
body.page-index #wrapper #main .vvp-home-hub :is(.vvp-home-reference-panel,.vvp-home-company,.vvp-home-practical-faq) {
  padding: 0; border: 0; border-radius: 0; background: transparent;
}

/* Continuous groups: catalogue; shop and reviews; then customer assistance. */
body.page-index #wrapper #main .vvp-home-hub > .vvp-home-catalogue-slot {
  --vvp-band-padding: var(--vvp-ui-section-gap) 0 var(--vvp-ui-band-space);
}
body.page-index #wrapper #main .vvp-home-hub > .vvp-home-faq-slot {
  --vvp-band-padding: var(--vvp-ui-band-space) 0;
}
body.page-index #wrapper #main .vvp-home-hub > .vvp-home-company-slot {
  --vvp-band-padding: var(--vvp-ui-band-space) 0 var(--vvp-ui-section-gap);
}
body.page-index #wrapper #main .vvp-home-hub > .skbp { --vvp-band-padding: var(--vvp-ui-band-space) 0 0; }
body.page-index #wrapper #main .vvp-home-hub > .avsite { --vvp-band-padding: var(--vvp-ui-section-gap) 0; }

/* Parts and documents are one white section; reassurance remains separate. */
body.page-index #wrapper #main .vvp-home-reference-group { display: grid; gap: var(--vvp-ui-section-gap); --vvp-band-padding: var(--vvp-ui-band-space) 0 0; }
/* Brands band between the best sellers and the parts group: one band-space above, none below (the next band brings its own). */
body.page-index #wrapper #main .vvp-home-hub > .vvp-home-brands-band { --vvp-band-padding: var(--vvp-ui-band-space) 0 0; }

/* Homepage components — moved from design-consistency.css (19/10/2026). These are theme
 * classes used by the homepage templates and Custom Content blocks; module parts (reviews,
 * brands, categories, carousel) are set in each module's custom CSS. */

/* One eyebrow: the pink uppercase label, without the leading dash. */
body#index #wrapper #main :is(.vvp-home-eyebrow, .vvp-home-documents-eyebrow):not(.vvp-home-entry *) {
  padding-left: 0;
  font-family: var(--vvp-type-ui);
  font-size: var(--vvp-type-eyebrow-size); font-weight: var(--vvp-type-eyebrow-weight); line-height: var(--vvp-type-eyebrow-line);
  letter-spacing: var(--vvp-type-eyebrow-tracking); text-transform: uppercase; color: var(--vvp-type-eyebrow-color);
}
body#index #wrapper #main .vvp-home-documents-panel .vvp-home-documents-copy > .vvp-home-documents-eyebrow.vvp-home-documents-eyebrow { color: var(--vvp-hero-muted,var(--vvp-color-inverse-muted)); }
body#index #wrapper #main :is(.vvp-home-eyebrow, .vvp-home-documents-eyebrow):not(.vvp-home-entry *)::before { content: none; display: none; }

/* Buttons: navy pill on light backgrounds, white pill on the navy band. */
body#index #wrapper #main :is(.vvp-home-reference-lead .vvp-ui-button, .vvp-home-service .vvp-ui-button, .vvp-home-search .vvp-ui-button--primary) {
  border-radius: var(--vvp-ds-radius-action,999px); background: var(--vvp-ds-action,var(--vvp-color-action)); color: #fff;
  font-family: var(--vvp-type-ui); font-size: 15px; font-weight: 500; line-height: 22px;
}
body#index #wrapper #main :is(.vvp-home-reference-lead .vvp-ui-button, .vvp-home-service .vvp-ui-button, .vvp-home-search .vvp-ui-button--primary):is(:hover,:focus-visible) {
  background: var(--vvp-ds-action-hover,var(--vvp-color-action-hover)) !important;
}
body#index #wrapper #main .vvp-home-documents-action {
  border-radius: var(--vvp-ds-radius-action,999px); background: #fff; color: var(--vvp-ds-action,var(--vvp-color-action));
}

/* Card links: card title role in the interface font. */
body#index #wrapper #main .vvp-ui-card-link strong {
  font-family: var(--vvp-type-ui); font-size: var(--vvp-type-card-size); font-weight: var(--vvp-type-card-weight);
  line-height: var(--vvp-type-card-line); letter-spacing: var(--vvp-type-card-tracking);
}

/* The last band already ends with its own 72px; no extra empty strip before the footer. */
body#index #wrapper { padding-bottom: 0; }
body#index #wrapper #main { padding-bottom: 0; }

/* Band rhythm after the entrance: one band-space between best sellers, brands and parts. */
body#index #wrapper #main .vvp-home-hub > .vvp-home-catalogue-slot { --vvp-band-padding: var(--vvp-ui-band-space) 0 0; }
body#index #wrapper #main .vvp-home-hub > .vvp-home-reference-group { --vvp-band-padding: var(--vvp-ui-band-space) 0; }

/* Brands: one card — title, links by type, then the logo row (the logo placement drops its own box in Skrupt Filter). */
body#index #wrapper #main .vvp-home-brands-panel {
  gap: 24px; padding: 32px; border-radius: var(--vvp-ds-radius-panel,18px);
  background: var(--vvp-ds-subtle,var(--vvp-color-subtle));
}
@media (max-width:767.98px) {
  body#index #wrapper #main .vvp-home-brands-panel { padding: 24px 20px; }
}

/* Homepage navigation fallbacks: no shipping promise, rate, policy override or copied review. */
body.page-index #main .vvp-home-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding-block:24px}
body.page-index #main .vvp-home-service-links a{display:flex;align-items:center;gap:12px;min-width:0;min-height:76px;padding:16px 20px;border-radius:12px;background:var(--vvp-ui-action-bg,#f2f4f7);color:var(--vvp-ds-action,#263b63);text-decoration:none}
body.page-index #main .vvp-home-service-links svg{flex:0 0 24px;width:24px;height:24px}
body.page-index #main .vvp-home-service-links strong{display:block;font-size:15px;line-height:1.4;font-weight:600}
body.page-index #main .vvp-home-service-links small{display:block;margin-top:4px;font-size:13px;line-height:1.5;color:var(--vvp-ds-muted,#62656a)}
body.page-index #main .vvp-home-service-links a:hover{background:var(--vvp-ds-action-soft,#e7ecf5)}
body.page-index #main .vvp-home-service-links a:focus-visible,body.page-index #main .vvp-home-verified-link a:focus-visible{outline:2px solid var(--vvp-ds-action,#263b63);outline-offset:3px}
body.page-index #main .vvp-home-verified-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:32px}
body.page-index #main .vvp-home-verified-link h2{margin:0;font-size:24px;line-height:1.3;color:var(--vvp-ds-action,#263b63)}
body.page-index #main .vvp-home-verified-link p{margin:8px 0 0;color:var(--vvp-ds-muted,#62656a);font-size:14px;line-height:1.5}
body.page-index #main .vvp-home-verified-link a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--vvp-ds-action,#263b63);font-size:14px;font-weight:600;text-underline-offset:4px}
@media(max-width:767.98px){body.page-index #main .vvp-home-service-links{grid-template-columns:minmax(0,1fr);gap:10px;padding-block:20px}body.page-index #main .vvp-home-service-links a{min-height:68px;padding:14px 16px}body.page-index #main .vvp-home-verified-link{align-items:flex-start;flex-direction:column;gap:12px;padding-block:24px}}
