@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/nunito-0.183c6cf316d7.ttf") format('truetype')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/nunito-1.ebac8f20708a.ttf") format('truetype')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/nunito-2.0365e1fa4f3a.ttf") format('truetype')}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/nunito-3.1b6748774878.ttf") format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/montserrat-0.6133d7c8d5fd.ttf") format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/montserrat-1.bef57ba1c2f4.ttf") format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/montserrat-2.cf3a2eaec658.ttf") format('truetype')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/montserrat-3.171fa2772645.ttf") format('truetype')}
/* ARCANE WARRIOR: palette/type observed on arcanewarrior.com, 2026-08-31. */
:root {
  --ink:#242424;
  --night:#171717;
  --paper:#f7f7f5;
  --white:#ffffff;
  --muted:#696969;
  --line:#d8d8d6;
  --line-dark:#484848;
  --accent:#ffab00;
  --accent-ink:#171717;
  --error:#a01f25;
  --space-1:.5rem;
  --space-2:1rem;
  --space-3:1.5rem;
  --space-4:2rem;
  --space-5:3rem;
  --space-6:5rem;
  --space-7:8rem;
  --container:1600px;
  --gutter:clamp(1.25rem,4.8vw,6rem);
  --display:clamp(3.2rem,6.5vw,6.5rem);
  --heading:clamp(2.2rem,3.8vw,4rem);
  --radius:0;
  --fast:160ms;
  --font:Arial,sans-serif;
  --mono:'Courier New',monospace;
  --header-layer:20;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:7rem;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-size:16px;
  line-height:1.5;
}
body.menu-open {
  overflow:hidden;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,select,textarea {
  font:inherit;
}
button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
button:disabled,fieldset:disabled button {
  cursor:not-allowed;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #708523;
  outline-offset:5px;
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  font-weight:500;
  line-height:1.04;
  letter-spacing:-.05em;
}
h1 {
  font-size:var(--display);
}
h2 {
  font-size:var(--heading);
}
h3 {
  font-size:clamp(1.4rem,2.5vw,2.7rem);
}
p {
  max-width:65ch;
}
span,a {
  overflow-wrap:anywhere;
}
[hidden] {
  display:none!important;
}
.wrap {
  max-width:var(--container);
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.section {
  padding-block:var(--space-7);
}
.eyebrow {
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  line-height:1.6;
}
.muted {
  color:var(--muted);
}
.small {
  font-size:.85rem;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.skip-link {
  position:fixed;
  top:0;
  left:1rem;
  transform:translateY(-150%);
  z-index:100;
  background:var(--accent);
  padding:1rem;
}
.skip-link:focus {
  transform:translateY(0);
}
.preview-strip {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  background:#e1e6ce;
  padding:.45rem var(--gutter);
  font-family:var(--mono);
  font-size:.62rem;
  color:var(--ink);
}
.site-header {
  position:sticky;
  top:0;
  z-index:var(--header-layer);
  display:flex;
  align-items:center;
  gap:2rem;
  min-height:90px;
  padding:1rem var(--gutter);
  background:var(--night);
  color:var(--paper);
  border-bottom:1px solid var(--line-dark);
}
.wordmark {
  font-size:1.12rem;
  font-weight:800;
  letter-spacing:-.045em;
  line-height:1.1;
}
.desktop-nav {
  display:flex;
  gap:2rem;
  margin-left:auto;
  font-size:.8rem;
}
.desktop-nav a,.header-cta {
  padding:.6rem 0;
}
.desktop-nav a:hover {
  color:var(--accent);
}
.header-cta {
  font-size:.8rem;
  white-space:nowrap;
  display:flex;
  gap:1.5rem;
  margin-left:1rem;
  color:var(--accent);
}
.menu-toggle {
  display:none;
  border:0;
  background:none;
  color:var(--paper);
  padding:.5rem 0;
  min-height:44px;
}
.mobile-menu {
  position:fixed;
  inset:90px 0 0;
  z-index:21;
  background:var(--night);
  color:var(--paper);
  padding:var(--space-4) var(--gutter);
  overflow:auto;
}
.mobile-menu a {
  display:block;
  padding:1.1rem 0;
  border-bottom:1px solid var(--line-dark);
  font-size:1.4rem;
}
.hero {
  background:var(--night);
  color:var(--paper);
  padding-top:2.3rem;
  padding-bottom:0;
}
.hero-kicker,.hero-foot {
  display:flex;
  justify-content:space-between;
  gap:2rem;
}
.hero-kicker {
  color:#acb4a2;
}
.edition {
  font-family:var(--mono);
  font-size:.75rem;
}
.hero-body {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:4vw;
  align-items:center;
  padding-block:3.5rem 4.5rem;
}
.hero-copy h1 {
  max-width:10ch;
  margin-bottom:2rem;
}
.hero-description {
  font-size:1rem;
  max-width:34ch;
  color:#b7bdb0;
}
.actions {
  display:flex;
  gap:1.8rem;
  align-items:center;
  flex-wrap:wrap;
  margin-top:2.2rem;
}
.button {
  display:inline-flex;
  gap:1.8rem;
  align-items:center;
  justify-content:space-between;
  min-height:54px;
  padding:1rem 1.3rem;
  border:1px solid transparent;
  font-size:.82rem;
  font-weight:600;
  border-radius:var(--radius);
  transition:background var(--fast),color var(--fast);
}
.button-primary {
  background:var(--accent);
  color:var(--accent-ink);
}
.button-primary:hover {
  background:#e6f0ab;
}
.button-dark {
  background:var(--ink);
  color:var(--paper);
}
.button-dark:hover {
  background:#414b38;
}
.button:active {
  transform:translateY(1px);
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:1.2rem;
  min-height:44px;
  border:0;
  border-bottom:1px solid currentColor;
  background:none;
  font-size:.82rem;
  padding:.3rem 0;
}
.media-reserved {
  min-height:510px;
  position:relative;
  background:#272e25;
  border:1px solid var(--line-dark);
  display:flex;
  flex-direction:column;
  padding:1.3rem;
  overflow:hidden;
}
.media-reserved::before {
  content:'';
  position:absolute;
  inset:24% 8% 22%;
  border:1px solid #596047;
  transform:rotate(-14deg);
  pointer-events:none;
}
.media-top,.media-bottom {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-family:var(--mono);
  font-size:.58rem;
  letter-spacing:.09em;
  color:#b8bea8;
}
.media-lettering {
  font-size:clamp(4.7rem,7.5vw,8rem);
  font-weight:800;
  line-height:.84;
  letter-spacing:-.09em;
  padding:4rem 0 2rem;
  position:relative;
  color:var(--accent);
}
.media-lettering span {
  font-size:.82em;
}
.media-note {
  font-size:.68rem;
  color:#bfc6b5;
  margin-top:auto;
  max-width:34ch;
  position:relative;
  padding-block:1rem;
}
.media-bottom {
  border-top:1px solid #515b46;
  padding-top:1rem;
}
.hero-foot {
  padding-block:1.3rem;
  border-top:1px solid var(--line-dark);
  font-size:.78rem;
  color:#bbc2b1;
  align-items:center;
}
.about {
  display:grid;
  grid-template-columns:1fr 3fr;
  gap:3rem;
  border-bottom:1px solid var(--line);
}
.about h2 {
  margin-bottom:2.7rem;
}
.about-detail {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  font-size:.94rem;
  color:var(--muted);
  margin-bottom:1rem;
}
.equipment {
  padding-top:6rem;
}
.section-heading {
  display:grid;
  grid-template-columns:1fr 2fr 1fr;
  gap:3rem;
  align-items:start;
  margin-bottom:3rem;
}
.section-heading p:last-child {
  font-size:.85rem;
  color:var(--muted);
}
.equipment-row {
  display:grid;
  grid-template-columns:.25fr 2.4fr 1.2fr auto;
  gap:2rem;
  align-items:center;
  border-top:1px solid var(--line);
  padding:2.2rem 0;
  transition:padding var(--fast);
}
.equipment-row:last-child {
  border-bottom:1px solid var(--line);
}
.equipment-row:hover {
  padding-inline:.7rem;
  background:#e8eade;
}
.equipment-row h3 {
  margin:0;
}
.row-index {
  font-family:var(--mono);
  font-size:.7rem;
  color:var(--muted);
}
.row-description {
  font-size:.82rem;
  color:var(--muted);
}
.row-arrow {
  font-size:2rem;
}
.vehicle {
  position:relative;
  display:grid;
  grid-template-columns:1fr 2fr 1fr;
  gap:3rem;
  background:#e4e7db;
  overflow:hidden;
}
.vehicle p:not(.eyebrow) {
  max-width:38ch;
  font-size:.92rem;
  color:#50584b;
}
.vehicle .button {
  margin-top:1rem;
}
.vehicle-mark {
  align-self:end;
  text-align:right;
  font-size:7rem;
  line-height:.85;
  letter-spacing:-.09em;
  font-weight:800;
  color:#bcc4ad;
}
.center {
  background:var(--night);
  color:var(--paper);
}
.center-top {
  display:flex;
  justify-content:space-between;
  font-size:.8rem;
  margin-bottom:3rem;
}
.center h2 {
  font-size:clamp(4rem,8vw,8.5rem);
  margin-bottom:3rem;
  letter-spacing:-.06em;
}
.center h2 span {
  color:var(--accent);
}
.center-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10vw;
  max-width:1100px;
}
.center-grid>p {
  font-size:1.05rem;
  color:#b4bdab;
  max-width:33ch;
}
.center address {
  font-style:normal;
  margin-bottom:1.2rem;
}
.center address span {
  display:block;
  font-size:.9rem;
  color:#b4bdab;
}
.center address strong {
  display:block;
  font-size:1.5rem;
  font-weight:400;
  margin-top:.4rem;
}
.center-actions {
  display:flex;
  gap:2rem;
  align-items:center;
  margin-top:3rem;
}
.center-actions>span {
  font-size:.75rem;
  color:#adb7a2;
  max-width:29ch;
}
.request {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12vw;
}
.request>div>p:not(.eyebrow) {
  max-width:32ch;
  color:var(--muted);
}
.notice {
  border-left:2px solid #88995a;
  padding:1rem 1.4rem;
  background:#e6e9dc;
  margin-top:2rem;
  font-size:.82rem;
  max-width:50ch;
}
.notice p {
  margin:.6rem 0 0;
  color:#51594a;
}
.field {
  margin-bottom:1.3rem;
}
.field label {
  display:block;
  font-size:.78rem;
  margin-bottom:.5rem;
}
.field input,.field textarea,.field select {
  width:100%;
  min-height:50px;
  padding:.85rem;
  border:1px solid #a9aea0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
}
.field input:disabled,.field textarea:disabled,.field select:disabled {
  color:#656d5f;
  background:#e9ebe2;
  opacity:1;
}
.field textarea {
  resize:vertical;
}
.optional {
  font-size:.68rem;
  font-weight:400;
  color:var(--muted);
  margin-left:.6rem;
}
.consent {
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  margin:1.5rem 0;
  font-size:.74rem;
}
.consent input {
  width:20px;
  height:20px;
  flex-shrink:0;
  margin:0;
}
.consent a {
  border-bottom:1px solid var(--muted);
}
fieldset {
  padding:0;
  border:0;
  margin:0;
  min-width:0;
}
fieldset:disabled .button {
  background:#c9cebe;
  color:#4c5443;
}
.submit-button {
  width:100%;
}
.form-footnote {
  font-size:.7rem;
  color:var(--muted);
  margin-top:1rem;
}
.errorlist,.error-summary {
  color:var(--error);
  font-size:.82rem;
}
.error-summary {
  padding:1rem;
  border:1px solid var(--error);
  margin-bottom:1rem;
}
.success-message {
  background:#e2e9d4;
  padding:1rem;
  border-left:3px solid #6e853e;
}
.site-footer {
  padding-block:3rem 1.5rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  border-top:1px solid var(--line);
}
.site-footer p,.site-footer>div>a:not(.wordmark) {
  font-size:.78rem;
  color:var(--muted);
  margin-top:1rem;
}
.footer-bottom {
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  border-top:1px solid var(--line);
  padding-top:1.5rem;
  font-family:var(--mono);
  font-size:.62rem;
  color:var(--muted);
}
.privacy {
  min-height:65vh;
}
.privacy h1 {
  font-size:var(--heading);
}
.prose {
  max-width:75ch;
}
.manage-header {
  padding:1.5rem 3vw;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:2rem;
  font-size:.8rem;
}
.manage-layout {
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:90vh;
}
.manage-layout aside {
  border-right:1px solid var(--line);
  padding:2rem;
}
.manage-layout nav {
  display:grid;
  gap:.5rem;
  margin-bottom:2rem;
}
.manage-layout nav a {
  padding:.6rem 0;
  font-size:.88rem;
}
.manage-main {
  padding:3rem 4vw;
  min-width:0;
}
.manage-main h1 {
  font-size:3rem;
}
.manage-main h2 {
  font-size:1.5rem;
  letter-spacing:-.035em;
  margin-top:2rem;
}
.metrics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  margin-block:2rem;
}
.metrics>div {
  padding:1.5rem;
  border-right:1px solid var(--line);
}
.metrics>div:last-child {
  border:0;
}
.metrics span {
  display:block;
  font-size:.75rem;
  color:var(--muted);
}
.metrics strong {
  font-size:3rem;
  font-weight:400;
}
.metrics .metric-label {
  font-size:2rem;
}
.manage-row {
  padding:1rem 0;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:.85rem;
}
.project-items {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:2rem;
}
.project-item {
  border:1px solid var(--line);
  padding:1.4rem;
}
.project-item>div {
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  align-items:center;
}
.project-item h2 {
  margin-top:1.5rem;
}
.project-item p {
  font-size:.85rem;
  color:var(--muted);
}
.status {
  font-family:var(--mono);
  font-size:.6rem;
  padding:.25rem .45rem;
  background:#e0e3d8;
}
.status-review {
  background:#e4dfbd;
}
.status-in_progress {
  background:#d7e2e0;
}
.status-locked {
  background:#ffab00;
}
.login-panel {
  max-width:460px;
}
@media(min-width:1601px) {
  .hero,.vehicle,.center {
    max-width:none;
    padding-inline:max(var(--gutter),calc((100vw - 1408px)/2));
  }
}
@media(max-width:1100px) {
  .desktop-nav {
    gap:1rem;
  }
  .site-header {
    gap:1rem;
  }
  .header-cta {
    display:none;
  }
  .desktop-nav {
    margin-left:auto;
  }
  .hero-body {
    gap:2rem;
  }
  .media-reserved {
    min-height:450px;
  }
  .section-heading {
    grid-template-columns:1fr 2fr;
  }
  .section-heading p:last-child {
    grid-column:2;
  }
  .vehicle {
    grid-template-columns:1fr 2fr;
  }
  .vehicle-mark {
    display:none;
  }
  .section {
    padding-block:5rem;
  }
  .equipment-row {
    grid-template-columns:.2fr 2fr 1fr auto;
    gap:1rem;
  }
  .request {
    gap:6vw;
  }
}
@media(max-width:760px) {
  :root {
    --display:clamp(3.1rem,10vw,4.5rem);
    --heading:2.45rem;
  }
  .preview-strip {
    font-size:.57rem;
    padding-block:.5rem;
  }
  .preview-strip span {
    display:none;
  }
  .site-header {
    min-height:72px;
    justify-content:space-between;
  }
  .wordmark {
    font-size:1.04rem;
  }
  .desktop-nav {
    font-size:.65rem;
    gap:.65rem;
  }
  .js .desktop-nav {
    display:none;
  }
  .menu-toggle {
    display:inline-flex;
    gap:2rem;
    align-items:center;
  }
  .mobile-menu {
    inset:72px 0 0;
  }
  .hero {
    padding-top:1.5rem;
  }
  .hero-kicker {
    gap:1rem;
  }
  .hero-kicker .eyebrow {
    font-size:.58rem;
  }
  .edition {
    font-size:.65rem;
  }
  .hero-body {
    grid-template-columns:1fr;
    padding-block:2.2rem 2rem;
    gap:2.5rem;
  }
  .hero-copy h1 {
    max-width:11ch;
    margin-bottom:1.5rem;
  }
  .hero-description {
    font-size:.9rem;
    max-width:34ch;
  }
  .actions {
    gap:1rem;
    margin-top:1.5rem;
  }
  .actions .text-link {
    font-size:.72rem;
  }
  .button {
    font-size:.77rem;
    min-height:52px;
  }
  .media-reserved {
    min-height:340px;
    padding:1rem;
  }
  .media-lettering {
    font-size:5.8rem;
    padding:2rem 0 1.5rem;
  }
  .media-note {
    font-size:.6rem;
    max-width:42ch;
  }
  .hero-foot {
    align-items:flex-start;
    flex-direction:column;
    gap:.7rem;
  }
  .hero-foot .eyebrow {
    font-size:.63rem;
  }
  .hero-foot>a {
    font-size:.75rem;
  }
  .section {
    padding-block:4rem;
  }
  .about {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .section-index {
    margin-bottom:0;
  }
  .about h2 {
    margin-bottom:1.5rem;
  }
  .about-detail {
    gap:1rem;
    grid-template-columns:1fr;
    font-size:.88rem;
  }
  .section-heading {
    grid-template-columns:1fr;
    gap:1rem;
    margin-bottom:2rem;
  }
  .section-heading>* {
    margin-bottom:0;
  }
  .section-heading p:last-child {
    grid-column:auto;
    max-width:35ch;
  }
  .equipment-row {
    grid-template-columns:24px 1fr 25px;
    gap:.75rem;
    padding:1.5rem 0;
  }
  .equipment-row h3 {
    font-size:1.55rem;
    line-height:1.12;
    letter-spacing:-.045em;
  }
  .row-description {
    grid-column:2;
    grid-row:2;
    font-size:.72rem;
  }
  .row-arrow {
    grid-column:3;
    grid-row:1/3;
    font-size:1.7rem;
  }
  .row-index {
    font-size:.65rem;
  }
  .vehicle {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .vehicle>.eyebrow {
    margin:0;
  }
  .vehicle .button {
    font-size:.72rem;
    gap:1rem;
  }
  .center-top {
    flex-direction:column;
    gap:.5rem;
    margin-bottom:2rem;
  }
  .center-top p {
    margin:0;
  }
  .center h2 {
    font-size:3.85rem;
    line-height:1;
    margin-bottom:2rem;
  }
  .center-grid {
    grid-template-columns:1fr;
    gap:1.5rem;
  }
  .center-grid>p {
    font-size:.95rem;
  }
  .center address strong {
    font-size:1.25rem;
  }
  .center-actions {
    flex-direction:column;
    align-items:flex-start;
    gap:1rem;
    margin-top:2rem;
  }
  .center-actions>span {
    max-width:40ch;
  }
  .request {
    grid-template-columns:1fr;
    gap:2rem;
  }
  .notice {
    margin-top:1.5rem;
  }
  .site-footer {
    grid-template-columns:1fr;
    padding-top:2.5rem;
    gap:1.5rem;
  }
  .footer-bottom {
    font-size:.57rem;
    gap:1rem;
  }
  .manage-layout {
    grid-template-columns:1fr;
  }
  .manage-layout aside {
    border-right:0;
    border-bottom:1px solid var(--line);
    padding:1rem;
  }
  .manage-layout nav {
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
    margin:0;
  }
  .manage-layout aside .small {
    display:none;
  }
  .manage-main {
    padding:2rem 1.25rem;
  }
  .manage-main h1 {
    font-size:2.4rem;
  }
  .project-items {
    grid-template-columns:1fr;
  }
  .manage-row {
    flex-wrap:wrap;
  }
  .metrics>div {
    padding:1rem;
  }
  .metrics strong {
    font-size:2rem;
  }
  .metrics .metric-label {
    font-size:1.4rem;
  }
  .manage-header .optional {
    display:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important;
  }
}

/* Brand refinement, shared tokens are covered by accepted-component release checks. */
.management h1,.management h2,.management h3,.management .eyebrow,.management .wordmark,.management .button,.fonts-ready h1,.fonts-ready h2,.fonts-ready h3,.fonts-ready .eyebrow,.fonts-ready .wordmark,.fonts-ready .button{font-family:'Montserrat',Arial,sans-serif}.management,.fonts-ready{--font:'Nunito',Arial,sans-serif}h1,h2,h3{font-weight:800}.site-header{background:#171717;color:#fff;border-bottom:1px solid #3e3e3e}.brand-logo{width:172px;height:auto;display:block}.site-header .header-cta{color:#ffab00}.site-header .menu-toggle{color:#fff}.hero-kicker{color:#747474}.hero-body{gap:clamp(30px,4vw,80px)}.hero h1{font-size:clamp(2.6rem,5.3vw,5.2rem);line-height:1.07;letter-spacing:-.05em;max-width:850px}.media-reserved{background:#202020;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 58px,#ffffff06 59px,#ffffff06 60px);color:#fff;min-height:510px;border:none}.media-lettering{color:#ffab00;font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:-.08em;font-size:clamp(60px,7vw,110px)}.media-lettering span{color:#fff}.media-top,.media-bottom,.media-note{color:#bababa}.hero .media-note{font-size:12px;max-width:320px}.equipment-row:hover{background:#ffab00;color:#171717;padding-left:16px}.button-primary:hover{background:#ed9b00}.button{transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.vehicle{background:#ffab00}.vehicle-mark{color:#171717;opacity:.16}.center{background:#171717}.center h2 span{color:#ffab00}.site-footer{background:#171717;color:#eee;max-width:none;padding-top:60px}.site-footer .muted{color:#aaa}.site-footer .brand-logo{width:180px}.site-footer a{color:inherit}.brand-badge{font-size:11px;letter-spacing:.15em}.content-section{border-top:1px solid var(--line)}.content-section img{max-width:100%;max-height:600px;object-fit:contain}.product-image{max-width:100%;max-height:600px}.product-price{font-size:32px;font-weight:800}.detail-page{min-height:60vh}.detail-page h1{font-size:clamp(30px,5vw,64px)}.consent-panel{padding:20px var(--gutter);background:#fff;color:#222;border-top:1px solid #ccc}.consent-panel p{max-width:850px;font-size:14px}.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal-ready.is-visible{opacity:1;transform:none}.hero-copy{animation:brand-enter .7s ease-out}.mobile-menu{background:#171717;color:#fff}@keyframes brand-enter{from{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:none}}@media(max-width:760px){.brand-logo{width:140px}.hero h1{font-size:clamp(2.5rem,10vw,4rem)}.media-reserved{min-height:350px}.media-lettering{font-size:70px}.site-header .header-cta{display:none}}@media(prefers-reduced-motion:reduce){.hero-copy{animation:none}.reveal-ready{opacity:1;transform:none;transition:none}.button:hover{transform:none}}

.preview-strip{background:#fff0cc;color:#333}.hero-description{color:#c4c4c4}.hero-kicker{color:#aaa}.media-reserved::before{border-color:#ffab0038}.button-dark:hover{background:#3b3b3b}.media-lettering span{font-size:.75em}

.hero-photo img{width:100%;height:100%;max-height:700px;object-fit:cover}.hero-photo{min-width:0}

/* Manufacturer photographs and the city dealer map. */
.hero-body:has(.hero-photo){grid-template-columns:1fr 1.15fr;gap:36px}
.hero-body:has(.hero-photo) .hero-copy{max-width:1000px}
.hero-photo{overflow:hidden;background:#171717}
.hero-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:contain}
.section-photo{margin-top:0;margin-bottom:64px}
.section-photo img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;background:#171717}
.section-photo figcaption{padding-top:12px;font-size:13px;color:#666}
.dealer-filter{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:32px 0}
.dealer-filter select{padding:14px 18px;background:#fff;color:#171717;min-width:230px;border:1px solid #bbb;font:inherit}
.dealer-layout{display:grid;grid-template-columns:minmax(240px,0.8fr) minmax(0,1.5fr);gap:32px}
.dealer-card{padding:24px;border:1px solid #555;margin-bottom:16px}
.dealer-card h3{font-size:20px;margin:0 0 16px}.dealer-card address{font-style:normal;margin-bottom:12px}
.dealer-card>a{display:block;margin-top:16px}.dealer-card p{font-size:15px}
.dealer-map-panel{min-width:0}#dealer-map{height:460px;min-height:320px;background:#ddd;color:#171717;isolation:isolate;z-index:0}
#dealer-map-consent{min-height:320px;padding:32px;background:#242424;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px}
#dealer-map-status{font-size:13px;color:#ccc;margin-top:12px}
.dealer-card[hidden],#dealer-map[hidden],#dealer-map-consent[hidden],#dealer-city-submit[hidden]{display:none}
#dealer-map .leaflet-popup-content{color:#171717}#dealer-map .leaflet-popup-content a{color:#704800}
@media(max-width:760px){.dealer-layout{grid-template-columns:1fr}.dealer-filter{gap:12px}.dealer-filter select{width:100%;min-width:0}#dealer-map{height:380px}.section-photo{margin-bottom:40px}.hero-body:has(.hero-photo){grid-template-columns:1fr;gap:24px}}

/* Catalog: real source photography, quiet cards, no checkout. */
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0}.product-card{border:1px solid var(--line,#ccc);min-width:0;transition:transform .2s ease}.product-card:hover{transform:translateY(-4px)}.product-card a{text-decoration:none;color:inherit;display:block}.product-card-photo{aspect-ratio:4/3;background:#fff;display:grid;place-items:center;overflow:hidden;color:#555}.product-card-photo img{width:100%;height:100%;object-fit:contain}.product-card-copy{padding:20px}.product-card h3{font-size:18px;line-height:1.4;overflow-wrap:anywhere}.product-price{font-size:24px;font-weight:800}.catalog-filter{display:flex;align-items:end;gap:16px;flex-wrap:wrap;padding:24px 0;border-block:1px solid var(--line,#ccc)}.catalog-filter label{display:grid;gap:8px;flex:1;min-width:180px}.catalog-filter input,.catalog-filter select{width:100%;padding:14px;color:inherit;background:transparent;border:1px solid var(--line,#aaa);font:inherit}.catalog-pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:40px}.breadcrumbs{margin-bottom:32px}.product-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:start}.product-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.product-gallery a{display:block;position:relative;background:#fff;aspect-ratio:1;overflow:hidden}.product-gallery a:first-child{grid-column:1/-1;aspect-ratio:4/3}.product-gallery img{width:100%;height:100%;object-fit:contain}.product-gallery-more{position:absolute;inset:0;display:grid;place-items:center;padding:8px;background:rgba(17,17,17,.7);color:#fff;font-size:clamp(16px,2vw,22px);font-weight:800;text-align:center}.product-gallery-noscript{margin-top:12px}.product-info h1{font-size:clamp(28px,3vw,46px);line-height:1.15;overflow-wrap:anywhere}.product-info h2{font-size:24px;margin-top:36px}.product-description{white-space:normal;overflow-wrap:anywhere}.product-specs div{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line,#ccc)}.product-specs dd{margin:0}.product-info details{margin-top:28px}.product-info .small{overflow-wrap:anywhere}@media(max-width:900px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-layout{grid-template-columns:1fr;gap:28px}}@media(max-width:560px){.product-grid{grid-template-columns:1fr}.catalog-filter{display:grid}.catalog-filter label{min-width:0}.product-card-photo{aspect-ratio:4/3}.product-specs div{grid-template-columns:1fr;gap:6px}}@media(prefers-reduced-motion:reduce){.product-card{transition:none}.product-card:hover{transform:none}}

.catalog-title{font-size:clamp(32px,5vw,64px);line-height:1.1;overflow-wrap:anywhere}

.vehicle-picker{flex-basis:100%;min-width:0;margin:0;padding:18px;border:1px solid var(--line,#ccc)}
.vehicle-picker legend{font-weight:800;padding:0 8px}.vehicle-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.vehicle-fields label{min-width:0}.vehicle-picker .small{font-size:14px;margin-bottom:0}.fitment-note{padding:12px;border-left:3px solid #ffab00;font-size:14px;line-height:1.5}
@media(max-width:560px){.vehicle-fields{grid-template-columns:1fr}.vehicle-picker{padding:12px}}

/* Skip layout and paint work until content approaches the viewport. */
main>.section:not(:first-child),.site-footer{content-visibility:auto;contain-intrinsic-size:auto 800px}
.product-gallery>a:not(:first-child),.product-card{content-visibility:auto;contain-intrinsic-size:auto 320px}
.product-gallery img.deferred-photo{opacity:0}
.product-gallery img.deferred-photo.is-loaded{opacity:1;transition:opacity .18s ease}

/* Product photos: desktop grid, native touch strip and accessible modal. */
.product-layout>div:first-child,.product-gallery,.product-info{min-width:0}
.product-gallery [data-gallery-photo]{cursor:zoom-in}
.product-gallery [data-gallery-photo]:focus-visible{outline:3px solid #ffab00;outline-offset:3px}
html:has(.photo-viewer[open]),body:has(.photo-viewer[open]){overflow:hidden}
.photo-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;color:#fff;background:#111}
.photo-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.photo-viewer::backdrop{background:#111}
.photo-viewer-toolbar,.photo-viewer-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left))}
.photo-viewer-toolbar{padding-top:max(12px,env(safe-area-inset-top))}
.photo-viewer-navigation{padding-bottom:max(12px,env(safe-area-inset-bottom));justify-content:center}
.photo-viewer button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #666;border-radius:50%;color:#fff;background:#222;font:inherit;font-size:26px;cursor:pointer}
.photo-viewer button:hover{background:#444}.photo-viewer button:disabled{opacity:.3;cursor:default}
.photo-viewer button:focus-visible,.photo-viewer-track:focus-visible{outline:3px solid #ffab00;outline-offset:-3px}
.photo-viewer-track{display:flex;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}
.photo-viewer-track::-webkit-scrollbar{display:none}
.photo-viewer-slide{flex:0 0 100%;min-width:0;min-height:0;display:grid;place-items:center;scroll-snap-align:start;scroll-snap-stop:always}
.photo-viewer-slide img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
@media(max-width:760px){
  .product-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;gap:10px;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:#ffab00 transparent}
  .product-gallery a,.product-gallery a:first-child{flex:0 0 94%;aspect-ratio:4/3;scroll-snap-align:start;scroll-snap-stop:always}
  .product-gallery a:only-child{flex-basis:100%}
}

/* Vehicle landing pages: real links, usable without JavaScript. */
.vehicle-links { display: flex; flex-wrap: wrap; gap: .65rem; list-style: none; padding: 0; }
.vehicle-links li { max-width: 100%; }
.vehicle-links a { display: block; padding: .7rem 1rem; border: 1px solid var(--line, #ddd); overflow-wrap: anywhere; }
.vehicle-links a:hover, .vehicle-links a:focus-visible { border-color: currentColor; text-decoration: underline; }
.catalog-fitment-facts { margin-top: 3rem; }
.catalog-fitment-facts article { padding: 1rem 0; border-top: 1px solid var(--line, #ddd); }
.catalog-fitment-facts h3 { font-size: 1.1rem; }
.vehicle-picker h2 { font-size: 1.2rem; margin: 0 0 1rem; }
.vehicle-picker { padding: 1rem; margin: 1.5rem 0; }
.vehicle-picker { background: linear-gradient(135deg, #f7f7f4 0%, #fff 68%); border-color: #d8d8d0; }
.vehicle-picker__head { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.25rem; }
.vehicle-picker__head .eyebrow { margin: 0 0 .35rem; color: #9a6c00; }
.vehicle-picker__head h2 { margin: 0; font-size: clamp(1.3rem, 2.2vw, 1.8rem); }
.vehicle-picker__head > p { max-width: 29rem; margin: 0; font-size: .95rem; line-height: 1.45; }
.vehicle-fields--guided { display: flex; flex-wrap: wrap; gap: .75rem; }
.vehicle-field { display: grid; grid-template-columns: auto minmax(9rem,1fr); gap: .1rem .65rem; flex: 1 1 13rem; min-width: min(100%,13rem); padding: .85rem; border: 1px solid #d7d7d0; border-radius: 6px; background: #fff; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.vehicle-field:focus-within { border-color: #a97700; box-shadow: 0 0 0 3px rgba(169,119,0,.14); }
.vehicle-field--selected { border-color: #d8c683; background: #fffdf5; }
.vehicle-field--current { border-color: #171717; box-shadow: inset 0 3px #ffab00; }
.vehicle-field__step { grid-row: span 2; align-self: center; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: #1b1b1a; color: #fff; font-size: .78rem; font-weight: 800; }
.vehicle-field--selected .vehicle-field__step { background: #ffab00; color: #171717; }
.vehicle-field__label { font-size: .78rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.vehicle-field select { width: 100%; min-width: 0; border: 0; background: transparent; padding: .15rem 0; font: inherit; font-weight: 650; color: #222; }
.vehicle-field select:disabled { color: #7c7c78; cursor: not-allowed; }
.vehicle-picker__apply { margin-top: 1rem; }
.vehicle-picker__note { margin: 1rem 0 .5rem; max-width: 75ch; font-size: .88rem; line-height: 1.45; }
.vehicle-picker__reset { font-size: .9rem; font-weight: 700; }
@media(max-width:700px){.vehicle-picker__head{display:block}.vehicle-picker__head > p{margin-top:.65rem}.vehicle-fields--guided{display:grid;grid-template-columns:1fr}.vehicle-field{width:100%;min-height:4.8rem}.vehicle-picker__apply{width:100%}}

/* Catalog previews always contain the entire photo, including tall products. */
.card-gallery{position:relative;background:#fff;min-width:0}
.card-gallery-track{display:flex;overflow:hidden;aspect-ratio:4/3;min-width:0}
.card-gallery.is-interactive .card-gallery-track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.card-gallery-track::-webkit-scrollbar{display:none}
.product-card a.card-gallery-slide{flex:0 0 100%;min-width:0;height:100%;display:grid;place-items:center;scroll-snap-align:start;scroll-snap-stop:always;position:relative;aspect-ratio:auto;box-sizing:border-box}
.product-card .card-gallery-slide img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;padding:12px;box-sizing:border-box}
.card-gallery-controls{position:absolute;inset:0;pointer-events:none;color:#fff}
.card-gallery-controls[hidden]{display:none}
.card-gallery-badge{position:absolute;top:10px;right:10px;padding:5px 9px;border:1px solid #ffab0040;border-radius:4px;background:#171717e6;color:#ffcf50;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.03em}
.card-gallery-segments{position:absolute;bottom:9px;left:12px;right:12px;display:flex;gap:4px;padding:3px;border-radius:4px;background:#17171750}
.card-gallery-segments > span{height:3px;flex:1;min-width:0;background:#ffffff80;border-radius:1px}
.card-gallery-segments > span.is-active{background:#ffab00;box-shadow:0 0 5px #ffab0040}
.product-card .card-gallery-slide:focus-visible{outline:3px solid #ffab00;outline-offset:-3px}
.product-card .card-gallery-more{background:#191919;color:#fff;text-align:center;padding:20px}
.card-gallery-more strong{display:block;color:#ffab00;font-size:clamp(22px,3vw,32px);margin-bottom:12px}
.card-gallery-more span span{font-size:14px}
.card-gallery-fallback{padding:10px 12px;font-size:13px}

/* Direct category navigation. */
.catalog-categories a[aria-current="page"] { background: #171717; border-color: #171717; color: #ffcf00; }

/* Catalog routes: product hierarchy and vehicle fitment are distinct choices. */
.catalog-routes{display:grid;gap:24px;margin:32px 0}.catalog-sections,.catalog-routes .vehicle-picker{margin:0;border:1px solid #d8d8d0;background:#fff}.catalog-sections{padding:clamp(18px,2.5vw,32px)}.catalog-route-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.75fr);gap:4px 28px;align-items:end;margin-bottom:20px}.catalog-route-head .eyebrow{grid-column:1/-1;margin:0;color:#9a6c00}.catalog-route-head h2{margin:0;font-size:clamp(1.45rem,2.5vw,2rem)}.catalog-route-head>p:last-child{margin:0;line-height:1.45}.catalog-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.catalog-section-card{border:1px solid #deded8;background:#f7f7f4;min-width:0}.catalog-section-card.is-active,.catalog-section-card:has(a[aria-current="page"]){border-color:#171717;box-shadow:inset 0 3px #ffab00}.catalog-section-card__title,.catalog-section-card li a{display:flex;justify-content:space-between;gap:12px;color:inherit;text-decoration:none}.catalog-section-card__title{padding:16px;font-family:'Montserrat',Arial,sans-serif;font-weight:800;font-size:1.05rem}.catalog-section-card small{display:grid;place-items:center;flex:0 0 auto;min-width:28px;height:24px;padding:0 6px;background:#e4e4de;color:#454545;font:700 12px/1 var(--font)}.catalog-section-card ul{list-style:none;margin:0;padding:0 16px 14px}.catalog-section-card li{border-top:1px solid #deded8}.catalog-section-card li a{padding:10px 0;font-size:.92rem;line-height:1.3}.catalog-section-card a:hover span,.catalog-section-card a:focus-visible span{text-decoration:underline}.catalog-section-card a[aria-current="page"]{color:#8a6100;font-weight:800}.catalog-all-link{font-weight:800}.catalog-filter{background:#171717;color:#fff;padding:20px}.catalog-filter input{background:#fff;color:#171717;border-color:#fff}.catalog-filter a{color:#ffcf00}.catalog-routes .vehicle-picker{background:linear-gradient(135deg,#fff4cf 0%,#fff 70%);padding:clamp(18px,2.5vw,32px)}
@media(max-width:980px){.catalog-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.catalog-route-head{display:block}.catalog-route-head>p:last-child{margin-top:8px}.catalog-section-grid{grid-template-columns:1fr}.catalog-section-card__title{min-height:52px}.catalog-routes{margin:24px 0}.catalog-sections,.catalog-routes .vehicle-picker{padding:16px}.catalog-filter{padding:16px}}

.accessory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),340px));gap:16px;justify-content:start;align-items:start}.accessory-card{width:100%;max-width:340px;border:1px solid #d5d5d5;overflow:hidden;overflow-wrap:anywhere;background:#fff}.accessory-card-photo{display:grid;place-items:center;height:210px;background:#f5f5f3;color:#666;text-decoration:none}.accessory-card-photo img{width:100%;height:100%;object-fit:contain;padding:12px;box-sizing:border-box}.accessory-card-content{padding:16px 20px 20px}.accessory-card h3{font-size:18px}.accessory-card p{margin:10px 0}.accessory-card-meta{color:#555;font-size:14px}.accessory-card-meta strong{color:#171717;font-size:16px}@media(max-width:560px){.accessory-grid{grid-template-columns:minmax(0,1fr)}.accessory-card{max-width:none}.accessory-card-photo{height:200px}}

.accessory-section{padding-block:36px}.accessory-section h2{font-size:clamp(24px,3vw,32px);margin-bottom:16px}.accessory-section>p{margin-bottom:20px}

.accessory-more{margin-top:20px}.accessory-more summary{cursor:pointer;padding:12px 0;font-weight:700}.accessory-grid+h2,.accessory-more+h2{margin-top:32px}

/* Catalog filter: quiet, product-first controls inspired by modern Apple Store UI. */
.catalog-filter{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  margin-top:32px;
  padding:14px;
  border:0;
  border-radius:24px;
  background:#f5f5f7;
  color:#1d1d1f;
}
.catalog-filter__search{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
  padding:0 16px;
  border:1px solid #d2d2d7;
  border-radius:999px;
  background:#fff;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.catalog-filter__search:focus-within{border-color:#86868b;box-shadow:0 0 0 4px rgba(0,113,227,.13)}
.catalog-filter__search svg{width:20px;height:20px;fill:none;stroke:#6e6e73;stroke-width:1.8;stroke-linecap:round}
.catalog-filter .catalog-filter__search input{
  min-width:0;
  height:48px;
  padding:0;
  border:0;
  outline:0;
  background:transparent;
  color:#1d1d1f;
  font-size:16px;
}
.catalog-filter__submit,.catalog-filter__apply{
  min-height:48px;
  padding:0 22px;
  border:0;
  border-radius:999px;
  background:#171717;
  color:#fff;
  font:700 15px/1 var(--font);
  cursor:pointer;
}
.catalog-filter__submit:hover,.catalog-filter__apply:hover{background:#333}
.catalog-filter__drawer{min-width:0}
.catalog-filter--search-only{grid-template-columns:minmax(0,1fr) auto}
.catalog-filter__drawer>summary{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:0 16px;
  border:1px solid #d2d2d7;
  border-radius:999px;
  background:#fff;
  color:#1d1d1f;
  font-weight:700;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.catalog-filter__drawer>summary::-webkit-details-marker{display:none}
.catalog-filter__drawer>summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.catalog-filter__drawer>summary:hover{background:#fafafa}
.catalog-filter__drawer>summary:focus-visible,.catalog-filter button:focus-visible,.catalog-filter a:focus-visible{outline:3px solid #0071e3;outline-offset:2px}
.catalog-filter__count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#171717;color:#fff;font-size:12px}
.catalog-filter__toggle{position:relative;width:14px;height:14px;margin-left:2px}
.catalog-filter__toggle::before,.catalog-filter__toggle::after{content:"";position:absolute;top:6px;left:1px;width:12px;height:1.5px;border-radius:1px;background:currentColor;transition:transform .18s ease}
.catalog-filter__toggle::after{transform:rotate(90deg)}
.catalog-filter__drawer[open]{grid-column:1/-1}
.catalog-filter__drawer[open] .catalog-filter__toggle::after{transform:rotate(0)}
.catalog-filter__drawer[open]>summary{width:max-content;max-width:100%;margin-left:auto}
.catalog-filter__panel{margin-top:14px;padding:clamp(16px,2.5vw,28px);border-radius:20px;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.08)}
.catalog-filter__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.catalog-filter .catalog-filter__group{
  display:grid;
  align-content:start;
  gap:10px;
  min-width:0;
  margin:0;
  padding:16px;
  border:1px solid #e3e3e8;
  border-radius:16px;
  background:#fafafa;
}
.catalog-filter__group>span,.catalog-filter__group legend{padding:0;font-size:14px;font-weight:700;line-height:1.35}
.catalog-filter__range{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.catalog-filter .catalog-filter__range label{display:grid;gap:5px;min-width:0;color:#6e6e73;font-size:12px}
.catalog-filter .catalog-filter__group input,.catalog-filter .catalog-filter__group select{
  width:100%;
  min-width:0;
  height:42px;
  padding:0 12px;
  border:1px solid #d2d2d7;
  border-radius:10px;
  background:#fff;
  color:#1d1d1f;
  font:inherit;
}
.catalog-filter .catalog-filter__group input:focus,.catalog-filter .catalog-filter__group select:focus{border-color:#0071e3;outline:3px solid rgba(0,113,227,.13)}
.catalog-filter__actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:20px}
.catalog-filter__actions a,.catalog-filter__chips a{color:#0066cc;font-weight:700;text-decoration:none}
.catalog-filter__actions a:hover,.catalog-filter__chips a:hover{text-decoration:underline}
.catalog-filter__chips{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:2px}
.catalog-filter__chips span{max-width:100%;padding:8px 12px;border-radius:999px;background:#fff;color:#3a3a3c;font-size:13px;overflow-wrap:anywhere}
.catalog-filter__chips a{margin-left:auto;padding:8px 4px;font-size:13px}
.catalog-results-bar{display:flex;align-items:center;justify-content:space-between;margin:18px 0 0;padding:0 4px}
.catalog-results-bar p{margin:0;color:#6e6e73;font-size:14px;font-weight:700}
@media(max-width:860px){.catalog-filter__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
  .catalog-filter{grid-template-columns:minmax(0,1fr) auto;padding:12px;border-radius:20px}
  .catalog-filter__search{grid-column:1/-1}
  .catalog-filter__submit{grid-column:2;grid-row:2}
  .catalog-filter__drawer{grid-column:1;grid-row:2}
  .catalog-filter__drawer[open]{grid-column:1/-1;grid-row:2}
  .catalog-filter:has(.catalog-filter__drawer[open]) .catalog-filter__submit{display:none}
  .catalog-filter__drawer[open]+.catalog-filter__chips{margin-top:0}
  .catalog-filter__drawer[open]>summary{margin:0}
  .catalog-filter__panel{padding:14px;border-radius:16px}
  .catalog-filter__grid{grid-template-columns:1fr}
  .catalog-filter__actions{align-items:stretch;flex-direction:column}
  .catalog-filter__apply{width:100%}
  .catalog-filter__chips{grid-column:1/-1}
  .catalog-filter__chips a{width:100%;margin:2px 0 0;text-align:center}
}

/* Catalog results: filters follow the page and pin to the nearest viewport edge. */
.catalog-results-layout{
  display:grid;
  grid-template-columns:minmax(260px,300px) minmax(0,1fr);
  gap:clamp(24px,3vw,40px);
  align-items:start;
  margin-top:32px;
}
.catalog-sidebar,.catalog-results-content{min-width:0}
.catalog-sidebar{
  --catalog-sidebar-top:114px;
  --catalog-sidebar-bottom:24px;
  align-self:stretch;
}
.catalog-sidebar__sticky{
  position:static;
  padding:22px;
  border:1px solid #e5e5e7;
  border-radius:24px;
  background:#f5f5f7;
  color:#1d1d1f;
}
@media(min-width:821px){
  .catalog-sidebar.is-scroll-managed{position:relative;min-height:var(--catalog-sidebar-panel-height)}
  .catalog-sidebar.is-scroll-managed .catalog-sidebar__sticky{
    position:absolute;
    top:var(--catalog-sidebar-free-offset,0);
    right:0;
    left:0;
  }
  .catalog-sidebar.is-scroll-managed[data-sticky-state="top"] .catalog-sidebar__sticky,
  .catalog-sidebar.is-scroll-managed[data-sticky-state="bottom"] .catalog-sidebar__sticky{
    position:sticky;
  }
  .catalog-sidebar.is-scroll-managed[data-sticky-state="top"] .catalog-sidebar__sticky{
    top:var(--catalog-sidebar-top);
  }
  .catalog-sidebar.is-scroll-managed[data-sticky-state="bottom"] .catalog-sidebar__sticky{
    top:var(--catalog-sidebar-bottom-top);
  }
}
.catalog-sidebar__sticky>h2{margin:0 0 14px;font-size:22px;letter-spacing:-.025em}
.catalog-sidebar__section,.catalog-filter__drawer{border-top:1px solid #d2d2d7}
.catalog-sidebar__section>summary,.catalog-filter__drawer>summary{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  min-height:52px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#1d1d1f;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.catalog-sidebar__section>summary::-webkit-details-marker{display:none}
.catalog-sidebar__section>summary small{margin-left:auto;color:#6e6e73;font-size:12px;font-weight:700}
.catalog-sidebar__section>summary .catalog-filter__toggle,.catalog-filter__drawer>summary .catalog-filter__toggle{margin-left:auto}
.catalog-sidebar__section>summary small+.catalog-filter__toggle{margin-left:2px}
.catalog-sidebar__section[open] .catalog-filter__toggle::after,.catalog-filter__drawer[open] .catalog-filter__toggle::after{transform:rotate(0)}
.catalog-sidebar__vehicle>summary{min-height:46px;font-size:14px}
.catalog-sidebar__vehicle>summary small{
  padding:4px 7px;
  border-radius:999px;
  background:#e8e8ed;
  color:#515154;
  font-size:10px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.catalog-sidebar__vehicle>summary .catalog-filter__toggle{
  width:24px;
  height:24px;
  margin-left:auto;
  border:1px solid #d2d2d7;
  border-radius:50%;
  background:#fff;
}
.catalog-sidebar__vehicle>summary small+.catalog-filter__toggle{margin-left:4px}
.catalog-sidebar__vehicle>summary .catalog-filter__toggle::before,.catalog-sidebar__vehicle>summary .catalog-filter__toggle::after{top:10.5px;left:6px;width:10px}
.catalog-sidebar .vehicle-picker{
  margin:0;
  padding:2px 0 16px;
  border:0;
  background:transparent;
}
.catalog-sidebar .vehicle-picker__head{display:block;margin:0 0 12px}
.catalog-sidebar .vehicle-picker__head h3{margin:0;font-size:16px}
.catalog-sidebar .vehicle-picker__head>p{margin:5px 0 0;color:#6e6e73;font-size:13px;line-height:1.4}
.catalog-sidebar .vehicle-fields--guided{display:grid;grid-template-columns:1fr;gap:8px}
.catalog-sidebar .vehicle-field,.catalog-sidebar .vehicle-filter-field{
  width:100%;
  min-width:0;
  min-height:0;
  padding:12px 0;
  margin:0;
  border:0;
  border-top:1px solid #e1e1e3;
  border-radius:0;
  background:transparent;
}
.catalog-sidebar .vehicle-picker>.vehicle-filter-field{border-top:0}
.catalog-sidebar .vehicle-refinements{display:grid;gap:0}
.catalog-sidebar .vehicle-field__step{width:28px;height:28px;font-size:11px}
.catalog-sidebar .vehicle-field__label{display:block;margin-bottom:8px;color:#1d1d1f;font-size:13px;font-weight:700;letter-spacing:0;text-transform:none}
.catalog-sidebar .vehicle-field select,.catalog-sidebar .vehicle-filter-field select{
  width:100%;
  min-width:0;
  height:42px;
  padding:0 32px 0 11px;
  border:1px solid #d2d2d7;
  border-radius:10px;
  background:#fff;
  color:#1d1d1f;
  font:600 14px/1.2 var(--font);
}
.vehicle-combobox{position:relative;min-width:0}
.vehicle-combobox input[type="search"]{display:none}
.vehicle-combobox.is-enhanced select{display:none}
.vehicle-combobox.is-enhanced input[type="search"]{
  display:block;
  width:100%;
  min-width:0;
  height:42px;
  padding:0 32px 0 11px;
  border:1px solid #d2d2d7;
  border-radius:10px;
  outline:0;
  background:#fff;
  color:#1d1d1f;
  font:600 14px/1.2 var(--font);
}
.vehicle-combobox.is-enhanced input[type="search"]:focus{border-color:#86868b;box-shadow:0 0 0 3px rgba(0,113,227,.11)}
.vehicle-combobox.is-enhanced::after{content:"⌄";position:absolute;right:12px;top:12px;color:#6e6e73;font-size:14px;pointer-events:none}
.vehicle-combobox.is-open::after{transform:rotate(180deg)}
.vehicle-combobox__options{
  position:absolute;
  z-index:12;
  top:calc(100% + 8px);
  right:0;
  left:0;
  max-height:240px;
  overflow:auto;
  padding:6px;
  border:1px solid #d2d2d7;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(0,0,0,.16);
}
.vehicle-combobox__options button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:10px;border:0;border-radius:8px;background:#fff;color:#1d1d1f;font:650 13px/1.3 var(--font);text-align:left;cursor:pointer}
.vehicle-combobox__options button small{flex:0 0 auto;color:#86868b;font-size:10px;font-weight:700;text-transform:uppercase}
.vehicle-combobox__options button:hover,.vehicle-combobox__options button:focus-visible,.vehicle-combobox__options button.is-selected{outline:0;background:#f1f1f3}
.vehicle-combobox__options p{margin:0;padding:12px 8px;color:#6e6e73;font-size:12px;text-align:center}
.catalog-sidebar .vehicle-picker__apply{
  width:100%;
  min-height:42px;
  margin-top:10px;
  padding:0 16px;
  border-radius:10px;
  background:#ffab00;
  color:#171717;
  font-size:14px;
}
.catalog-sidebar .vehicle-picker__apply:hover{background:#ed9b00}
.catalog-sidebar .vehicle-picker__status{margin-top:8px}
.catalog-sidebar .vehicle-picker__note{margin:10px 0 0;color:#6e6e73;font-size:12px;line-height:1.4}
.catalog-sidebar .vehicle-picker__reset{display:inline-block;margin-top:10px;color:#0066cc;font-size:13px;font-weight:700;text-decoration:none}
.catalog-sidebar .catalog-filter{
  display:block;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#1d1d1f;
}
.catalog-sidebar .catalog-filter__search{margin-bottom:14px;padding-inline:13px}
.catalog-sidebar .catalog-filter__search input{height:44px;font-size:15px}
.catalog-sidebar .catalog-filter__drawer[open]{display:block}
.catalog-sidebar .catalog-filter__drawer[open]>summary{width:100%;margin:0}
.catalog-sidebar .catalog-filter__panel{margin:0;padding:0 0 14px;border-radius:0;background:transparent;box-shadow:none}
.catalog-sidebar .catalog-filter__grid{display:grid;grid-template-columns:1fr;gap:0}
.catalog-sidebar .catalog-filter .catalog-filter__group{
  gap:8px;
  padding:12px 0;
  border:0;
  border-top:1px solid #e1e1e3;
  border-radius:0;
  background:transparent;
}
.catalog-sidebar .catalog-filter__grid>.catalog-filter__group:first-child{border-top:0}
.catalog-sidebar .catalog-filter__group>span,.catalog-sidebar .catalog-filter__group legend{font-size:13px}
.catalog-sidebar .catalog-filter__range{gap:7px}
.catalog-range{display:grid;gap:9px;min-width:0}
.catalog-range__values{display:flex;justify-content:space-between;gap:10px;color:#6e6e73;font-size:12px}
.catalog-range__values output{color:#1d1d1f;font-weight:800}
.catalog-range__track{
  --range-start:0%;
  --range-end:100%;
  position:relative;
  height:28px;
}
.catalog-range__track::before{
  content:"";
  position:absolute;
  top:13px;
  right:0;
  left:0;
  height:3px;
  border-radius:999px;
  background:linear-gradient(to right,#d2d2d7 0 var(--range-start),#1d1d1f var(--range-start) var(--range-end),#d2d2d7 var(--range-end) 100%);
}
.catalog-range__track input[type="range"]{
  position:absolute;
  inset:0;
  width:100%;
  height:28px;
  margin:0;
  padding:0;
  border:0;
  appearance:none;
  background:transparent;
  pointer-events:none;
}
.catalog-range__track input[type="range"]::-webkit-slider-runnable-track{height:3px;background:transparent}
.catalog-range__track input[type="range"]::-webkit-slider-thumb{
  width:20px;
  height:20px;
  margin-top:-8.5px;
  border:2px solid #1d1d1f;
  border-radius:50%;
  appearance:none;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
  cursor:grab;
  pointer-events:auto;
}
.catalog-range__track input[type="range"]::-moz-range-track{height:3px;background:transparent}
.catalog-range__track input[type="range"]::-moz-range-thumb{
  width:16px;
  height:16px;
  border:2px solid #1d1d1f;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
  cursor:grab;
  pointer-events:auto;
}
.catalog-range__track input[type="range"]:focus-visible{outline:0}
.catalog-range__track input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(0,113,227,.2)}
.catalog-range__track input[type="range"]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(0,113,227,.2)}
.catalog-sidebar .catalog-filter .catalog-filter__group input:not([type="range"]),.catalog-sidebar .catalog-filter .catalog-filter__group select{height:40px;padding-inline:10px;font-size:14px}
.catalog-sidebar .catalog-filter__chips{display:flex;grid-column:auto;align-items:flex-start;flex-direction:column;gap:6px;padding:14px 0 0;border-top:1px solid #d2d2d7}
.catalog-sidebar .catalog-filter__chips span{width:100%;padding:8px 10px;border-radius:10px;background:#fff;font-size:12px}
.catalog-sidebar .catalog-filter__submit{
  width:100%;
  min-height:44px;
  margin-top:16px;
  padding-inline:18px;
  border-radius:10px;
  background:#ffab00;
  color:#171717;
}
.catalog-sidebar .catalog-filter__submit:hover{background:#ed9b00}
.catalog-sidebar .catalog-filter__reset{display:block;margin-top:12px;color:#0066cc;font-size:13px;font-weight:700;text-align:center;text-decoration:none}
.catalog-sidebar .catalog-filter__reset:hover,.catalog-sidebar .vehicle-picker__reset:hover{text-decoration:underline}
.catalog-results-content .catalog-results-bar{margin:0;padding:0}
.catalog-results-content .product-grid{margin-top:16px}
@media(max-width:1100px){
  .catalog-results-layout{grid-template-columns:minmax(240px,270px) minmax(0,1fr);gap:24px}
  .catalog-results-content .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:820px){
  .catalog-results-layout{grid-template-columns:1fr}
  .catalog-sidebar__sticky{position:static;max-height:none;overflow:visible;padding:18px;border-radius:20px}
  .catalog-results-content .catalog-results-bar{margin-top:4px}
}
@media(max-width:560px){
  .catalog-results-layout{gap:22px;margin-top:24px}
  .catalog-sidebar__sticky{padding:16px;border-radius:18px}
  .catalog-sidebar .catalog-filter{display:block}
  .catalog-sidebar .catalog-filter__search{grid-column:auto}
  .catalog-sidebar .catalog-filter__submit{display:block;grid-column:auto;grid-row:auto}
  .catalog-sidebar .catalog-filter__drawer,.catalog-sidebar .catalog-filter__drawer[open]{display:block;grid-column:auto;grid-row:auto}
  .catalog-results-content .product-grid{grid-template-columns:1fr;gap:16px}
}
