/* Scoped final polish layer. Existing products, media and interaction states remain intact. */
@layer components {
  :root { --max:1440px; --polish-gutter:32px; }
  html { scroll-padding-top:96px; }
  body { overflow-x:clip; }
  h1 { letter-spacing:-.045em; line-height:1.04; }
  h2 { letter-spacing:-.035em; line-height:1.1; }
  h3 { letter-spacing:-.015em; line-height:1.2; }
  .hero,.section,.page-hero,footer { width:min(1440px,calc(100% - 2 * var(--polish-gutter)))!important; max-width:1440px!important; margin-inline:auto!important; }
  .site-header.site-header { position:sticky!important; top:0; z-index:1000!important; min-height:76px; padding:10px max(var(--polish-gutter),calc((100% - 1440px)/2))!important; overflow:visible; }
  .site-header:has(.site-nav.is-open) { z-index:1001!important; }
  .hero.hero-home,.hero.hero-division { min-height:0!important; padding-block:40px!important; gap:40px!important; }
  .hero.hero-home { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important; }
  .hero.hero-division { grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important; }
  .hero .hero-copy { gap:20px!important; }
  .hero .hero-copy h1 { font-size:72px!important; max-width:13ch!important; line-height:1.04!important; letter-spacing:-.045em!important; }
  .hero .lead { font-size:18px; line-height:1.55; max-width:48ch; }
  .hero .button { width:fit-content; min-height:48px; font-size:14px; }
  .hero.hero-division figure { width:100%!important; aspect-ratio:16/10!important; max-height:450px!important; min-height:0!important; margin:0; }
  .hero.hero-division figure img,.hero.hero-division figure video { object-position:50% 52%; }
  .hero.hero-division figure:after { pointer-events:none; background:linear-gradient(90deg,#0b0d0ed9,transparent 22%,transparent 84%,#0b0d0e50),linear-gradient(0deg,#0b0d0e35,transparent 40%); }
  .hero-actions { gap:12px; }
  .trust-list { margin-top:0; gap:8px 16px; }
  .section { padding-block:56px!important; }
  .section-heading { gap:24px; margin-bottom:24px; }
  .section-heading h2,.repair-pricing-intro h2,.faq h2,.cta h2 { font-size:48px!important; line-height:1.1!important; letter-spacing:-.035em!important; }
  .service-grid { align-items:stretch; }
  .service-card.service-card { min-height:400px!important; }
  .service-card .service-card-content { grid-template-rows:auto auto minmax(58px,auto) minmax(84px,auto) auto; gap:10px; padding:24px; }
  .service-card h3 { font-size:28px!important; line-height:1.15!important; letter-spacing:-.025em!important; }
  .service-card .service-card-content>p:not(.service-label) { font-size:15px; line-height:1.55; max-width:none; }
  .service-card .text-link { min-height:44px; align-self:end; }
  .service-card:after { background:linear-gradient(180deg,#090b0b20,#090b0b88 32%,#090b0bf5 65%),linear-gradient(90deg,#090b0be6,transparent 24%,transparent 84%,#090b0b77); }
  .process ol { margin:0; }
  .process li { padding:24px; }
  .process b { font-size:28px; margin-bottom:12px; }
  .process h3 { font-size:20px; letter-spacing:-.015em; }
  .process p { font-size:15px; }
  .cta.cta { max-width:1040px!important; padding:48px 32px!important; margin-block:32px!important; }
  .service-points.service-points { padding-block:24px!important; gap:24px; }
  .service-points h2 { font-size:30px; }
  .request-section.request-section { padding-top:32px!important; }
  .page-hero.page-hero { padding-block:48px!important; max-width:1040px!important; }
  .page-hero h1 { font-size:56px!important; max-width:24ch!important; }
  .page-hero:before { font-size:190px; top:24px; right:0; }
  .prose.prose { max-width:1040px!important; padding-block:32px!important; }
  .prose section { padding:28px; }
  .prose h2 { font-size:30px!important; }
  .contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
  footer { padding-block:40px!important; column-gap:32px; }
  footer a { min-height:36px; display:flex; align-items:center; }
  footer>small { margin-top:16px; }
  #digital-catalog { padding-top:24px!important; }
  #digital-catalog .section-heading { grid-template-columns:minmax(0,1fr) minmax(0,.7fr); }
  .catalog-freshness-note { font-size:12px; color:var(--muted); margin-top:8px; }
  .shop-how-it-works { margin-bottom:20px; }
  #digital-catalog .catalog-shell { gap:24px!important; }
  .request-section:has(#digital-catalog) .catalog-shell { grid-template-columns:260px minmax(0,1fr)!important; }
  #digital-catalog .catalog-controls { padding:16px; top:96px; }
  #digital-catalog .catalog-cards { grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:12px; grid-auto-rows:1fr; }
  #digital-catalog .catalog-product { min-height:248px!important; height:100%; display:grid!important; grid-template-rows:18px 80px minmax(38px,auto) minmax(0,1fr) auto!important; gap:8px!important; padding:14px!important; }
  #digital-catalog .catalog-card-top { display:block; }
  #digital-catalog .catalog-card-top small:not(.sr-only) { font-size:11px; letter-spacing:.02em; }
  #digital-catalog .catalog-card-visual { width:100%!important; height:80px!important; min-height:80px!important; background:#e8eeeb; border-color:#607072; box-shadow:none; }
  #digital-catalog .catalog-card-visual:after { content:none; }
  #digital-catalog .catalog-card-visual img { width:100%!important; height:100%!important; max-width:100%!important; padding:6px!important; object-fit:contain!important; object-position:center!important; filter:none; }
  #digital-catalog .catalog-card-visual--provided { background:#111617; }
  #digital-catalog .catalog-card-visual--provided img { padding:0!important; }
  #digital-catalog .catalog-product>strong { font-size:15px; line-height:1.3; letter-spacing:-.015em; }
  #digital-catalog .catalog-card-detail { min-height:0!important; font-size:13px; line-height:1.4; }
  #digital-catalog .catalog-card-footer { gap:8px; padding-top:10px; }
  #digital-catalog .catalog-card-footer b { font-size:14px; white-space:normal; line-height:1.3; }
  #digital-catalog .catalog-card-footer>span { display:flex; justify-content:space-between; align-items:center; font-size:11px; letter-spacing:.01em; }
  #digital-catalog .catalog-category-section { padding:0 0 24px!important; }
  #digital-catalog .catalog-category-heading { margin-bottom:16px; }
  #digital-catalog .catalog-category-heading h3 { font-size:28px; }
  #digital-catalog .catalog-category-heading>div>p { display:none; }
  .catalog-category { min-height:44px; font-size:13px; }
  .catalog-search input,.catalog-sort select { min-height:44px; }
  .catalog-cart { margin-top:12px; }
  .catalog-cart-label { font-size:11px; }
  .catalog-error { display:grid; gap:16px; padding:24px; border:1px solid var(--line); border-radius:12px; }
  .catalog-error .button { width:fit-content; }
  .checkout-cart-quantity button,.catalog-quantity button { width:44px!important; height:44px!important; }
  .checkout-cart-remove,.catalog-dialog-close { min-height:44px!important; min-width:44px!important; }
  .catalog-value-option { min-height:64px; }
  .request-form { padding:28px; gap:18px; }
  .request-form label,.request-form fieldset { font-size:14px; letter-spacing:0; }
  .request-form input,.request-form select,.request-form textarea { font-size:16px; }
  .request-form h2 { font-size:36px; }
  .request-form .form-heading>p { font-size:15px; }
  .repair-service-row.repair-service-row { min-height:200px; padding:16px; gap:16px; }
  .repair-service-copy strong { font-size:15px; line-height:1.4; }
  .repair-service-action>b { font-size:16px; }
  .repair-card-badge { font-size:11px; }
  .repair-add-button { min-height:44px; font-size:13px; }
  .repair-price-panel .repair-panel-heading { padding:20px; }
  .repair-price-panel .repair-panel-heading h3 { padding:0; }
  .repair-shop-sidebar { top:96px; }
  .detailing-shop .section-heading { grid-template-columns:1fr 1fr; }
  .detailing-vehicle-label { display:grid; gap:8px; width:min(100%,360px); margin-bottom:24px; font-weight:750; font-size:14px; }
  .detailing-vehicle-label select { min-height:48px; padding:12px; border:1px solid var(--line); border-radius:8px; background:#101617; color:var(--text); font:inherit; font-size:16px; }
  .detailing-package-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
  .detailing-package { display:flex; flex-direction:column; gap:16px; padding:24px; border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#1a2222,#101617); }
  .detailing-package h3 { font-size:25px; min-height:60px; }
  .detailing-package-price { color:var(--electric); font-size:22px; font-weight:850; }
  .detailing-package details { font-size:14px; }
  .detailing-inclusions-label { font-size:13px; color:var(--muted); font-weight:750; }
  .detailing-package>ul { font-size:14px; margin:0; }
  .detailing-package summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-weight:700; }
  .detailing-package ul { display:grid; gap:10px; list-style:none; padding:12px 0; }
  .detailing-package li { display:flex; align-items:start; gap:8px; line-height:1.5; }
  .detailing-package li .icon { flex:none; width:16px; height:16px; margin-top:3px; color:var(--electric); }
  .detailing-package .button { margin-top:auto; min-height:48px; font-size:13px; padding-inline:10px; }
  .detailing-package .button[aria-pressed=true] { background:var(--electric); color:var(--ink); }
  .detailing-addons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:20px; margin:24px 0 16px; border:1px solid var(--line); border-radius:12px; }
  .detailing-addons legend { padding:0 8px; font-weight:800; }
  .detailing-addons label { display:flex; align-items:center; gap:10px; min-height:48px; cursor:pointer; font-size:14px; }
  .detailing-addons input { width:20px; height:20px; accent-color:var(--electric); flex:none; }
  .detailing-addons span { display:grid; gap:4px; }
  .detailing-addons small { color:var(--electric); }
  .detailing-price-note { color:var(--muted); font-size:13px; line-height:1.6; }
  .detailing-secondary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; margin:24px 0; }
  .detailing-secondary .text-link { border:0; background:none; cursor:pointer; min-height:44px; font-size:12px; text-align:left; }
  .detailing-selection { white-space:pre-line; padding:16px; border:1px solid #e6ff0060; border-radius:8px; font-size:14px; }
  .detailing-poster-dialog { width:min(1122px,calc(100% - 32px)); max-height:90dvh; overflow:auto; padding:16px; background:#101617; border:1px solid var(--line); border-radius:16px; }
  .detailing-poster-dialog::backdrop { background:#000c; }
  .detailing-poster-dialog img { width:100%; height:auto; margin-top:16px; }
  @media (max-width:1279px) {
    :root { --polish-gutter:24px; }
    .request-section:has(#digital-catalog) .catalog-shell { grid-template-columns:1fr!important; }
    #digital-catalog .catalog-controls { position:static; display:grid; grid-template-columns:1fr 180px; gap:12px; }
    #digital-catalog .catalog-categories,#digital-catalog .catalog-result-meta,#digital-catalog .catalog-cart { grid-column:1/-1; }
    #digital-catalog .catalog-categories { display:flex; flex-wrap:wrap; gap:8px; }
    #digital-catalog .catalog-cards { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
    .detailing-package-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .hero .hero-copy h1 { font-size:64px!important; }
  }
  @media (max-width:900px) {
    .hero.hero-home,.hero.hero-division { grid-template-columns:1fr!important; }
    .hero .hero-copy { order:0!important; }
    .hero .hero-signal,.hero.hero-division figure { order:1!important; }
    .hero.hero-division figure { max-height:320px!important; }
    .site-header.site-header { min-height:64px; padding-block:8px!important; }
    .site-nav.is-open { max-height:calc(100dvh - 64px); overflow-y:auto; }
    .service-grid { gap:12px; }
    .service-card .service-card-content { padding:20px; }
    .service-points.service-points { flex-direction:column; align-items:start; gap:16px; }
    .section-heading { grid-template-columns:1fr!important; gap:12px; }
    .section-heading>p { max-width:none; }
    .repair-shop-sidebar { position:static; }
  }
  @media (max-width:767px) {
    :root { --polish-gutter:16px; }
    html { scroll-padding-top:80px; }
    .hero.hero-home,.hero.hero-division { padding-block:24px!important; gap:24px!important; }
    .hero .hero-copy { gap:16px!important; }
    .hero .hero-copy h1 { font-size:44px!important; max-width:14ch!important; letter-spacing:-.03em!important; }
    .hero .lead { font-size:16px; line-height:1.5; }
    .hero.hero-division figure,body:has(.hero-home) .hero-signal { aspect-ratio:16/10!important; max-height:240px!important; min-height:0!important; }
    .hero .button { font-size:13px; min-height:48px; padding:12px 18px; }
    .hero-actions { flex-wrap:wrap; }
    .trust-list { font-size:11px; gap:6px 12px; }
    .section { padding-block:32px!important; }
    .section-heading h2,.repair-pricing-intro h2,.faq h2,.cta h2 { font-size:32px!important; }
    .section-heading { margin-bottom:20px; }
    .service-card.service-card { min-height:340px!important; }
    .service-card .service-card-content { grid-template-rows:auto auto minmax(34px,auto) minmax(66px,auto) auto; gap:8px; }
    .service-card h3 { font-size:25px!important; }
    .service-card .service-card-content>p:not(.service-label) { font-size:14px; }
    .process li { padding:18px 0; min-height:0!important; }
    .process b { font-size:22px; margin-bottom:8px; }
    .process h3 { font-size:18px; }
    .process p { margin-top:6px; font-size:14px; }
    .cta.cta { padding:32px 20px!important; margin-block:16px!important; }
    .page-hero.page-hero { padding-block:32px!important; }
    .page-hero h1 { font-size:40px!important; max-width:100%!important; }
    .page-hero:before { font-size:130px; }
    .prose.prose { padding-block:24px!important; }
    .prose section { padding:20px; }
    .prose h2 { font-size:25px!important; }
    footer { grid-template-columns:1fr 1fr!important; gap:24px!important; }
    footer .footer-brand,footer>small { grid-column:1/-1; }
    footer a { min-height:44px; font-size:13px; }
    #digital-catalog .catalog-controls { grid-template-columns:1fr; padding:14px; }
    #digital-catalog .catalog-category { font-size:12px; padding:8px 10px; }
    #digital-catalog .catalog-sort { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    #digital-catalog .catalog-sort select { max-width:210px; }
    #digital-catalog .catalog-result-meta { margin:0; font-size:12px; }
    #digital-catalog .catalog-cart { margin-top:0; padding-top:8px; }
    #digital-catalog .catalog-cards { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px; }
    #digital-catalog .catalog-product { min-height:236px!important; padding:12px!important; gap:6px!important; }
    #digital-catalog .catalog-card-footer>span { font-size:11px; }
    .shop-how-it-works { display:flex; gap:12px; margin-bottom:16px; }
    .shop-how-it-works>span { padding:0!important; border:0!important; background:none!important; font-size:11px; }
    .shop-how-it-works b { font-size:12px; }
    .request-form { padding:20px; gap:16px; }
    .request-form h2 { font-size:30px; }
    .checkout-cart-summary { padding:16px; }
    .payment-option-card { min-height:64px; }
    .repair-service-row.repair-service-row { min-height:210px!important; padding:12px; gap:14px; }
    .repair-service-copy strong { font-size:14px; }
    .repair-card-badge { font-size:10px; }
    .repair-add-button { font-size:12px; }
    .detailing-package { padding:16px; gap:12px; }
    .detailing-package h3 { font-size:21px; min-height:50px; }
    .detailing-package-price { font-size:18px; }
    .detailing-package summary { font-size:13px; }
    .detailing-addons { grid-template-columns:1fr; padding:16px; }
    .detailing-secondary { flex-direction:column; gap:8px; }
  }
  @media (max-width:360px) {
    .hero .hero-copy h1 { font-size:40px!important; }
    #digital-catalog .catalog-product { padding:10px!important; }
    #digital-catalog .catalog-card-footer b { font-size:13px; }
    #digital-catalog .catalog-product>strong { font-size:14px; }
    .detailing-package-grid { grid-template-columns:1fr; }
  }
}
