/* Shared legal-site theme: charcoal, Hive yellow, white. Clients override the three
   brand tokens in clients/<key>.css when present. */
:root {
  --charcoal: #111214;
  --charcoal-2: #1c1d21;
  --yellow: #ffbd24;
  --yellow-deep: #d97706;
  --paper: #ffffff;
  --page: #f4f4f5;
  --ink: #18181b;
  --muted: #52525b;
  --line: #e4e4e7;
}

* {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
  background: var(--page);
  color: var(--ink);
  font:
    16px/1.65 Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    sans-serif;
}
a {
  color: var(--ink);
  text-decoration-color: var(--yellow-deep);
  text-underline-offset: 3px;
}
a:hover {
  color: var(--yellow-deep);
}
.wrap {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: 0 16px;
}

.skip {
  position: absolute;
  left: -9999px;
}
.skip:focus {
  left: 16px;
  top: 8px;
  z-index: 10;
  background: var(--yellow);
  padding: 8px 12px;
}

.site-header {
  background: var(--charcoal);
  color: var(--paper);
  border-bottom: 4px solid var(--yellow);
}
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 18px;
  padding-bottom: 14px;
}
.brand img {
  display: block;
  height: 48px;
  width: auto;
  filter: invert(1);
}
.header-phone {
  color: var(--yellow);
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.header-phone:hover {
  color: var(--paper);
}

.tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  scrollbar-width: none;
}
.tabs a {
  flex: 0 0 auto;
  padding: 10px 14px;
  color: #d4d4d8;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border-radius: 8px 8px 0 0;
}
.tabs a:hover {
  color: var(--paper);
  background: var(--charcoal-2);
}
.tabs a[aria-current="page"] {
  background: var(--yellow);
  color: var(--charcoal);
}

main {
  padding-top: 28px;
  padding-bottom: 48px;
}
.doc {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 32px 40px 40px;
  box-shadow: 0 20px 60px rgba(17, 18, 20, 0.08);
}
.eyebrow {
  margin: 0;
  color: var(--yellow-deep);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
h1 {
  margin: 6px 0 4px;
  font-size: 40px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.03em;
}
.updated {
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 14px;
}
h2 {
  margin: 32px 0 8px;
  padding-left: 12px;
  border-left: 4px solid var(--yellow);
  font-size: 21px;
  line-height: 1.3;
  font-weight: 800;
}
.lede {
  font-size: 18px;
  color: #3f3f46;
}
ul {
  padding-left: 22px;
}
li {
  margin: 4px 0;
}
.callout {
  background: #fff9e8;
  border: 1px solid #ffd35a;
  border-radius: 10px;
  padding: 14px 16px;
}
.contact-card {
  font-style: normal;
  background: var(--page);
  border-radius: 10px;
  padding: 14px 16px;
}

.hero {
  margin: 4px 0 28px;
}
.ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}
.btn {
  display: inline-block;
  padding: 12px 20px;
  border-radius: 8px;
  font-weight: 800;
  text-decoration: none;
}
.btn.primary {
  background: var(--yellow);
  color: var(--charcoal);
}
.btn.secondary {
  border: 2px solid var(--charcoal);
  color: var(--charcoal);
}
.btn:hover {
  color: var(--charcoal);
  filter: brightness(0.95);
}
.btn:focus-visible {
  outline: 3px solid var(--yellow-deep);
  outline-offset: 2px;
}
.services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 0;
  list-style: none;
}
.services li {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--yellow);
  border-radius: 10px;
  font-weight: 700;
}
.status.notice {
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--page);
  color: var(--muted);
  font-weight: 600;
}
.enroll :disabled {
  cursor: not-allowed;
}

.cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 20px 0 8px;
}
.card {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 4px 18px 16px;
}
.card h2 {
  margin-top: 16px;
}
.enroll {
  margin-top: 12px;
  padding: 20px;
  border: 2px solid var(--yellow);
  border-radius: 12px;
  background: #fffdf5;
}
.field {
  margin-bottom: 14px;
}
.field label {
  display: block;
  margin-bottom: 4px;
  font-weight: 700;
}
.field input {
  width: 100%;
  max-width: 420px;
  padding: 10px 12px;
  border: 1px solid #a1a1aa;
  border-radius: 8px;
  font: inherit;
  background: var(--paper);
}
.field input:focus,
.check input:focus,
.enroll button:focus {
  outline: 3px solid var(--yellow-deep);
  outline-offset: 2px;
}
[aria-invalid="true"] {
  border-color: #b91c1c !important;
  outline: 2px solid #b91c1c;
}
.hint {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
}
.enroll fieldset {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
}
.enroll legend {
  margin-bottom: 8px;
  font-weight: 700;
}
.check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 8px 0;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
}
.check input {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-top: 3px;
}
.disclosure {
  font-size: 14px;
  color: #3f3f46;
}
.hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.enroll button {
  padding: 12px 20px;
  border: 0;
  border-radius: 8px;
  background: var(--charcoal);
  color: var(--yellow);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.enroll button:disabled {
  opacity: 0.6;
  cursor: default;
}
.status {
  min-height: 1.5em;
  font-weight: 700;
}
.status.error {
  color: #b91c1c;
}
.status.success {
  padding: 12px 14px;
  border-radius: 8px;
  background: #ecfdf5;
  color: #065f46;
}

.site-footer {
  background: var(--charcoal);
  color: #d4d4d8;
  font-size: 14px;
}
.footer-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px 32px;
  padding-top: 28px;
  padding-bottom: 32px;
}
.footer-inner p {
  margin: 0;
}
.footer-inner strong {
  color: var(--paper);
}
.site-footer a {
  color: #d4d4d8;
}
.site-footer a:hover {
  color: var(--yellow);
}
.site-footer nav {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

@media (max-width: 640px) {
  .brand img {
    height: 36px;
  }
  .header-phone {
    font-size: 14px;
  }
  .cards,
  .services {
    grid-template-columns: 1fr;
  }
  .enroll {
    padding: 14px;
  }
  .tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
  }
  .tabs a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 6px;
    font-size: 13px;
    line-height: 1.2;
    text-align: center;
  }
  .doc {
    padding: 22px 18px 28px;
    border-radius: 10px;
  }
  h1 {
    font-size: 30px;
  }
  h2 {
    font-size: 19px;
  }
  .lede {
    font-size: 17px;
  }
}


/* Automotive homepage: scoped so all legal documents retain their original layout. */
.home-header {border-bottom:0}
.home-header .header-inner {max-width:1440px;padding:12px 28px}
.home-header .brand img {height:55px}
.home-header .header-phone {background:var(--yellow);color:#101113;border-radius:12px;padding:12px 22px;font-size:17px}
.home-header .tabs {max-width:1440px;justify-content:center;padding-bottom:7px}
.home-header .tabs a {border-radius:0;font-size:14px}
.home-header .tabs a[aria-current="page"] {color:#fff;background:transparent;border-bottom:3px solid var(--yellow)}
.home-main {padding:0;max-width:none}
.home-content {padding:0;margin:0}
.home-content h2 {border:0;padding:0;margin:0;line-height:1.08}
.shop-hero {min-height:460px;position:relative;isolation:isolate;background:#171819;overflow:hidden;color:white}
.hero-photo {position:absolute;inset:0 0 0 34%;background:linear-gradient(90deg,#25252555,#25252500),url("/shop-hero.svg") center/cover no-repeat;z-index:-2}
.hero-shade {position:absolute;inset:0;background:linear-gradient(90deg,#101113 0%,#101113 24%,#101113e8 40%,#10111300 75%);z-index:-1}
.shop-hero-content {max-width:1440px;margin:auto;padding:52px 5.5% 64px}
.shop-kicker {font-weight:900;letter-spacing:.035em;color:var(--yellow);margin:0 0 8px}
.shop-hero .shop-kicker {color:#fff}
.shop-hero h1 {font-size:clamp(38px,5vw,76px);line-height:.96;letter-spacing:-.04em;margin:0;font-weight:950;max-width:800px}
.shop-hero h1 span {color:var(--yellow)}
.hero-copy {font-size:clamp(16px,1.6vw,21px);max-width:500px;line-height:1.4;margin:18px 0 0}
.shop-hero .btn.secondary {border-color:#fff;color:#fff}
.shop-hero .btn.secondary:hover {color:#111}
.shop-services {background:#fff;padding:22px 24px}
.shop-services .services {max-width:1440px;margin:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.shop-services .services li {border:0;border-right:1px solid #d0d0d0;border-radius:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 14px;font-weight:850;line-height:1.2}
.shop-services .services li:last-child {border-right:0}
.service-symbol {font-size:37px;color:#f5ae00;line-height:1.1;font-weight:900}
.shop-difference {display:grid;grid-template-columns:46% 54%;min-height:285px;background:#151617;color:#fff}
.difference-photo {background:url("/shop-team.svg") center/cover no-repeat;min-height:290px;border-right:9px solid var(--yellow)}
.difference-copy {padding:36px 6%;display:flex;flex-direction:column;justify-content:center}
.difference-copy h2 {color:#fff;font-weight:950;font-style:italic;font-size:clamp(27px,3vw,46px);letter-spacing:-.025em}
.difference-list {list-style:none;padding:0;margin:18px 0 0;font-size:19px}
.difference-list li {margin:6px 0}
.difference-list li:before {content:"✓";color:var(--yellow);font-weight:900;font-size:25px;margin-right:15px}
.shop-enrollment {display:grid;grid-template-columns:37% 63%;gap:24px;padding:36px max(5%,calc((100vw - 1360px)/2));align-items:start;background:#fff}
.enrollment-intro {padding:12px 28px 0 0}
.enrollment-symbol {font-size:70px;color:var(--yellow);line-height:1}
.enrollment-intro h2 {font-size:clamp(28px,3vw,44px);font-weight:950;font-style:italic;margin:12px 0}
.enrollment-intro p {font-size:17px;line-height:1.45}
.shop-enrollment .enroll {margin:0;border:0;border-left:1px solid #ddd;border-radius:0;background:transparent;padding:0 0 0 25px;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}
.shop-enrollment .enroll .field {margin:0}
.shop-enrollment .enroll fieldset,.shop-enrollment .enroll .disclosure,.shop-enrollment .enroll .hp,.shop-enrollment .enroll .status {grid-column:1/-1}
.shop-enrollment .enroll button {background:var(--yellow);color:#111}
.shop-enrollment .enroll .check {border:0;padding:5px 0}
.shop-enrollment .enroll .check label {font-size:13px;line-height:1.45}
.shop-enrollment .enroll .disclosure {margin:0;font-size:13px}
.shop-visit {display:grid;grid-template-columns:43% 57%;background:#fff;min-height:230px}
.visit-photo {background:url("/shop-exterior.svg") center/cover no-repeat;min-height:250px;border-right:9px solid var(--yellow)}
.visit-copy {padding:36px 7%}
.visit-copy h2 {font-size:clamp(30px,3vw,44px);font-weight:950;margin:0 0 18px}
.visit-columns {display:grid;grid-template-columns:1fr 1.2fr;gap:20px}
.visit-copy address {font-style:normal;line-height:1.6}
.visit-links p {margin:0 0 9px;overflow-wrap:anywhere}
.directions-link {display:inline-block;margin-top:12px;font-weight:800}
.home-main + .site-footer .footer-inner {max-width:1440px;align-items:center}
@media(max-width:1000px) {
.shop-services .services {grid-template-columns:repeat(3,1fr)}
.shop-services .services li:nth-child(3) {border-right:0}
.shop-services .services li {border-bottom:1px solid #ddd}
.shop-services .services li:nth-child(n+4) {border-bottom:0}
.shop-enrollment {grid-template-columns:1fr;padding:32px 5%}
.shop-enrollment .enroll {border-left:0;border-top:1px solid #ddd;padding:20px 0 0}
}
@media(max-width:640px) {
.home-header .header-inner {padding:12px 16px}
.home-header .brand img {height:38px}
.home-header .header-phone {padding:9px 10px;font-size:13px}
.home-header .tabs {display:flex;overflow-x:auto;justify-content:flex-start}
.home-header .tabs a {white-space:nowrap;padding:9px}
.shop-hero {min-height:500px}
.hero-photo {inset:0;background-position:65% center}
.hero-shade {background:linear-gradient(90deg,#101113f2,#101113a8),linear-gradient(0deg,#101113aa,transparent)}
.shop-hero-content {padding:60px 22px}
.shop-hero h1 {font-size:clamp(37px,10vw,55px)}
.shop-services {padding:14px 10px}
.shop-services .services {grid-template-columns:repeat(2,1fr)}
.shop-services .services li {border-right:1px solid #ddd!important;border-bottom:1px solid #ddd!important;padding:17px 6px;font-size:13px}
.shop-services .services li:nth-child(2n) {border-right:0!important}
.shop-services .services li:nth-child(n+5) {border-bottom:0!important}
.shop-difference,.shop-visit {grid-template-columns:1fr}
.difference-photo {min-height:220px;border-right:0;border-bottom:7px solid var(--yellow)}
.difference-copy {padding:30px 22px}
.difference-list {font-size:16px}
.shop-enrollment {padding:26px 20px}
.shop-enrollment .enroll {grid-template-columns:1fr}
.visit-photo {min-height:200px;border-right:0;border-bottom:7px solid var(--yellow)}
.visit-copy {padding:26px 22px}
.visit-columns {grid-template-columns:1fr}
}

/* Refinements to match the approved one-line navigation and strong editorial layout. */
.home-header .header-inner {max-width:1440px;gap:28px}
.home-header .desktop-nav {display:flex;align-items:center;justify-content:center;gap:6px;flex:1}
.home-header .desktop-nav a {color:#fff;text-decoration:none;font-size:14px;font-weight:750;padding:10px 9px;border-bottom:3px solid transparent;white-space:nowrap}
.home-header .desktop-nav a:hover,.home-header .desktop-nav a[aria-current="page"] {border-bottom-color:var(--yellow)}
.home-header .mobile-nav {display:none}
.shop-services .service-symbol {width:48px;height:48px;display:block;color:#f5ae00}
.shop-services .service-symbol svg {width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.shop-services .services li {font-size:14px;letter-spacing:-.02em}
.shop-visit .visit-links a {color:#1b1b1b;text-decoration:none}
.shop-visit .visit-links a:hover {text-decoration:underline}
.home-main + .site-footer .footer-inner {max-width:1440px}
.home-main + .site-footer nav {flex-direction:row;flex-wrap:wrap;gap:12px}
.home-main + .site-footer nav a + a {border-left:1px solid #666;padding-left:12px}
@media(max-width:1100px) {
  .home-header .desktop-nav {gap:0}
  .home-header .desktop-nav a {font-size:12px;padding:8px 6px}
  .home-header .header-phone {font-size:14px;padding:9px 12px}
}
@media(max-width:850px) {
  .home-header .desktop-nav {display:none}
  .home-header .mobile-nav {display:flex;overflow-x:auto;justify-content:flex-start;padding-bottom:8px}
  .home-header .mobile-nav a {white-space:nowrap}
}
@media(max-width:640px) {
  .home-header .mobile-nav {display:flex}
  .shop-services .service-symbol {width:40px;height:40px}
  .home-main + .site-footer nav {gap:8px}
  .home-main + .site-footer nav a + a {padding-left:8px}
}

/* Real photography from the shop's existing public website. */
.hero-photo {inset:0;background-image:url("https://irp.cdn-website.com/aff9b649/dms3rep/multi/opt/DSC_3507-548w.jpg");background-position:center 46%;background-size:cover;filter:brightness(.78) saturate(.88)}
.hero-shade {background:linear-gradient(90deg,#101113 0%,#101113f5 18%,#101113c7 43%,#10111333 73%,#1011131a 100%)}
.shop-hero {min-height:610px}
.shop-hero-content {padding:88px 5.5% 95px}
.shop-hero h1 {font-size:clamp(48px,5.7vw,90px);max-width:930px;letter-spacing:-.045em}
.hero-copy {font-size:clamp(17px,1.5vw,22px);max-width:465px;line-height:1.5}
.difference-photo {background-image:url("https://irp.cdn-website.com/aff9b649/dms3rep/multi/opt/DSC_2317-600w.jpg");background-position:center 42%;min-height:360px}
.shop-difference {min-height:360px}
.visit-photo {background-image:url("https://irp.cdn-website.com/aff9b649/dms3rep/multi/opt/Copy%2Bof%2BThankYouCard.ai-492w.png");background-position:center}
.shop-visit {min-height:285px}
.visit-photo {min-height:285px}
@media(max-width:640px) {
 .shop-hero {min-height:550px}
 .shop-hero-content {padding:75px 22px 65px}
 .shop-hero h1 {font-size:clamp(39px,10vw,56px)}
 .hero-shade {background:linear-gradient(90deg,#101113ed 0%,#101113c7 60%,#10111355 100%)}
 .difference-photo {min-height:250px}
}

/* Final landing-page polish: keep the editorial rhythm close to the approved mockup. */
@media (min-width: 1001px) {
  .shop-hero { min-height: 470px; }
  .shop-hero-content { padding-top: 62px; padding-bottom: 70px; }
  .shop-hero h1 { font-size: clamp(48px, 5.4vw, 80px); }
  .shop-services { padding-top: 18px; padding-bottom: 18px; }
  .shop-difference, .difference-photo { min-height: 315px; }
  .shop-enrollment { padding-top: 32px; padding-bottom: 32px; }
  .shop-visit, .visit-photo { min-height: 245px; }
}
.shop-hero .ctas { display: flex; flex-wrap: wrap; gap: 14px; }
.shop-hero .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
.shop-enrollment .enroll input:not([type='checkbox']) { min-width: 0; }
.shop-enrollment .enroll button { min-height: 44px; }
.shop-enrollment .enroll button:hover:not(:disabled) { filter: brightness(.94); }
@media (max-width: 640px) {
  .shop-hero { min-height: 530px; }
  .shop-hero-content { padding-top: 60px; padding-bottom: 55px; }
  .shop-hero h1 { overflow-wrap: normal; font-size: clamp(35px, 9vw, 50px); }
  .shop-hero .ctas { align-items: stretch; }
  .shop-hero .btn { max-width: 100%; }
}
