/* Dealer records in the cO. family. Shared type, badges and receipts come from base. */
.dl-directory-hero { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:80px; align-items:center; padding:72px 0 64px; }
.dl-directory-hero h1 { font-size:clamp(52px,6.7vw,96px); line-height:.96; }
.dl-directory-hero .lede { max-width:40ch; }
.dl-text-link { font-family:var(--mono); font-size:10.5px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; align-self:center; text-underline-offset:6px; text-decoration-thickness:1px; }
.dl-directory-hero .btn-row { gap:24px; }
.dl-census { border-top:1px solid var(--ink); padding:20px 0 0; }
.dl-census-total { font-family:var(--display); font-weight:250; font-size:96px; font-variant-numeric:tabular-nums; line-height:1; margin:24px 0 28px; letter-spacing:-.05em; }
.dl-census-total span { display:block; font-family:var(--mono); font-size:10px; line-height:1.6; letter-spacing:.12em; text-transform:uppercase; color:var(--deep-sand); margin-top:12px; }
.dl-census-line { border-top:1px solid var(--border); padding:11px 0; display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--ink-2); }
.dl-census-line b { font-family:var(--mono); font-weight:400; color:var(--ink); }
.dl-census-live span { display:flex; align-items:center; gap:9px; }
.dl-census .src { margin-top:12px; font-size:10px; }
.dl-source { padding:18px 0 24px; border-top:1px solid var(--border); line-height:1.8; font-size:10px; }
.dl-map-wrap,.dl-detail-map,.dl-siblings,#directory,#inventory,#feed-status,#feed-pending { scroll-margin-top:96px; }
.dl-coverage-note { display:flex; align-items:center; gap:20px; padding:24px 0; border-bottom:1px solid var(--border); }
.dl-coverage-note p { font-size:14px; color:var(--ink-2); max-width:740px; }
.dl-coverage-note>.src { margin-left:auto; white-space:nowrap; font-size:10px; }

.dl-directory { padding:96px 0 48px; }
.dl-directory .section-head { border-top:1px solid var(--ink); padding-top:24px; }
[data-directory-count] { font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--deep-sand); }
.dl-directory-controls { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:32px 0; padding-bottom:24px; border-bottom:1px solid var(--border); }
.dl-filter-buttons { display:flex; flex-wrap:wrap; border:1px solid var(--border-strong); }
.dl-filter-buttons button { font-family:var(--mono); font-size:10px; font-weight:400; letter-spacing:.1em; text-transform:uppercase; background:transparent; border:0; padding:12px 16px; cursor:pointer; min-height:44px; transition:background .25s var(--ease),color .25s var(--ease); }
.dl-filter-buttons button+button { border-left:1px solid var(--border-strong); }
.dl-filter-buttons button:hover { background:var(--warm-2); }
.dl-filter-buttons button[aria-pressed=true] { background:var(--ink); color:var(--bone); }
.dl-brand-filter { display:flex; align-items:center; gap:16px; font-family:var(--mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--deep-sand); }
.dl-brand-filter select { max-width:100%; min-width:180px; font:inherit; min-height:44px; padding:10px 32px 10px 12px; border:1px solid var(--border-strong); background:var(--warm-surface); }
.dl-group { margin-bottom:32px; border:1px solid var(--border); }
.dl-group-head { display:flex; justify-content:space-between; align-items:center; gap:16px; background:var(--bone); padding:22px 24px; }
.dl-group-head h3 { font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:400; margin:0; line-height:1.6; }
.dl-group-head>.mono { font-size:10px; white-space:nowrap; color:var(--ink-3); }
.dl-row { display:grid; grid-template-columns:26px minmax(0,1.12fr) minmax(0,1fr) minmax(0,1fr); gap:24px; border-top:1px solid var(--border); padding:32px 24px; background:var(--warm-surface); }
.dl-row[hidden],.dl-group[hidden],[data-directory-empty][hidden] { display:none; }
.dl-row-no { font-size:10px; color:var(--ink-3); padding-top:5px; }
.dl-row h3 { font-size:25px; font-weight:300; line-height:1.15; margin-bottom:12px; }
.dl-row h3 a { text-decoration:none; }
.dl-row h3 a:hover { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.dl-row h3 span { font-family:var(--sans); font-size:15px; font-weight:400; color:var(--deep-sand); }
.dl-row-name>p { font-size:13px; color:var(--ink-2); }
.dl-row-license { margin-top:16px; }
.dl-row-contact { font-size:13px; line-height:1.7; }
.dl-row-contact>.small { font-size:12px; }
.dl-contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:16px; font-size:12px; }
.dl-contact-links a { text-underline-offset:4px; }
.dl-badges { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.dl-no-site { font-size:11px; color:var(--ink-3); }
.dl-estimate { font-family:var(--mono); font-size:10px; line-height:1.8; color:var(--ink-3); margin-top:16px; }
.dl-verified { font-size:12px; color:var(--ink-3); margin-top:12px; line-height:1.6; }
.dl-verified.is-verified { color:var(--ink-2); }
.dl-verified.is-verified::before { content:'✓'; margin-right:6px; }

/* One ink cell on the directory, like the cO. reference panels. */
.dl-feed-explainer { display:grid; grid-template-columns:.85fr 1.15fr; gap:1px; padding:0; border:1px solid var(--border); border-top-color:var(--ink); background:var(--border); margin:0 0 64px; }
.dl-feed-explainer>div { padding:48px; background:var(--warm-surface); }
.dl-feed-explainer>div+div { background:var(--ink); color:var(--bone); }
.dl-feed-explainer h2 { font-size:clamp(32px,3.4vw,48px); }
.dl-feed-explainer p { font-size:16px; font-weight:400; margin-bottom:20px; line-height:1.7; }
.dl-feed-explainer p:last-child { margin-bottom:0; }
.dl-claim { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:40px; border:1px solid var(--border); background:var(--warm-surface); margin:24px 0 64px; }
.dl-claim h2 { font-size:36px; max-width:550px; }
.dl-claim p { font-size:15px; color:var(--ink-2); }

.dl-dealer-hero { padding:72px 0 56px; display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:stretch; border-bottom:1px solid var(--border); }
.dl-dealer-title { align-self:center; }
.dl-dealer-title h1 { font-size:clamp(48px,6.7vw,96px); line-height:.98; overflow-wrap:anywhere; }
.dl-owner { font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--deep-sand); margin-bottom:14px; }
.dl-brands { font-family:var(--display); font-weight:300; font-size:22px; line-height:1.4; margin:0 0 24px; }
.dl-dealer-title .dl-verified { margin-top:20px; }
/* Each dealer record gets its single dark panel here. */
.dl-dealer-summary { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:32px; background:var(--ink); color:var(--bone); }
.dl-dealer-summary .eyebrow,.dl-dealer-summary .src { color:var(--weathered-metal); }
.dl-summary-number { font-family:var(--display); font-size:88px; font-weight:250; font-variant-numeric:tabular-nums; line-height:1; margin:24px 0 32px; letter-spacing:-.05em; }
.dl-summary-number span { font-family:var(--mono); font-size:10px; line-height:1.6; display:block; font-weight:400; letter-spacing:.1em; text-transform:uppercase; color:var(--weathered-metal); margin-top:14px; }
.dl-dealer-summary .dl-text-link { align-self:flex-start; line-height:1.8; }
.dl-dealer-summary a:focus-visible { outline-color:var(--bone); }
.dl-dealer-summary .src { font-size:10px; margin-top:16px; }
.dl-pending-title { font-family:var(--display); font-size:56px; font-weight:250; line-height:1; letter-spacing:-.04em; margin:24px 0; }
.dl-dealer-summary>p:not(.src) { font-size:14px; font-weight:400; color:var(--bone); margin-bottom:24px; }
.dl-facts-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; padding:40px 0; }
.dl-contact { display:grid; grid-template-columns:1.1fr 1fr; gap:0 32px; }
.dl-contact>h2 { grid-column:1/-1; font-weight:400; font-size:10.5px; margin:0 0 24px; text-align:left; text-wrap:initial; letter-spacing:.16em; }
.dl-contact-address { font-size:15px; line-height:1.7; }
.dl-contact-address>a { display:inline-block; margin-top:16px; font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; text-underline-offset:4px; }
.dl-contact-address>.small { font-size:13px; margin-top:12px; }
.dl-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.dl-contact-actions .btn { font-size:14px; padding:16px 18px; white-space:normal; text-align:center; }
.dl-contact-actions>a:not(.btn) { font-size:12px; text-underline-offset:4px; }
.dl-contact-actions>.src { font-size:10px; }
.dl-contact-actions a.dl-phone { font-size:13px; }
.dl-record .r-v { flex:0 1 auto; max-width:65%; overflow-wrap:anywhere; }
.dl-record .r-k { font-size:11px; }
.dl-record .r-ln { gap:8px; }
.dl-record .r-f { min-width:8px; }
.dl-verification-note { font-size:14px; margin:0 0 40px; }
.dl-detail-map { margin:0 0 56px; }
.dl-detail-map .mm-title { flex-direction:row; gap:16px; align-items:center; }
.dl-detail-map .mm-credit { flex-direction:row; justify-content:space-between; }
.dl-detail-map .mm-legend { gap:24px; }
.dl-detail-map .mm-area { display:block; }
.dl-ask-panel { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:40px; border:1px solid var(--border); background:var(--warm-surface); margin:32px 0 16px; }
.dl-ask-panel h2 { font-size:36px; margin:16px 0; }
.dl-ask-panel p { font-size:15px; color:var(--ink-2); max-width:40ch; }
.dl-inventory { padding:96px 0; }
.dl-inventory .section-head { border-top:1px solid var(--ink); padding-top:24px; }
.dl-inventory .stats { margin:32px 0 0; }
.dl-inventory .stat .num { font-size:clamp(28px,3vw,42px); }
.dl-stat-slash { color:var(--weathered-metal); font-weight:300; }
.dl-body-mix { display:flex; gap:12px 24px; flex-wrap:wrap; padding:24px 0; border-bottom:1px solid var(--border); align-items:center; }
.dl-body-mix>span:not(.eyebrow) { font-size:13px; color:var(--ink-2); }
.dl-body-mix b { font-size:11px; margin-left:6px; font-weight:400; color:var(--ink); }
.dl-method { font-size:10px; line-height:1.8; margin:16px 0 40px; max-width:850px; }
.dl-count-note { margin-bottom:24px; font-size:14px; }
.dl-grid-heading { display:flex; justify-content:space-between; gap:20px; margin-bottom:24px; align-items:center; }
.dl-grid-heading a { font-family:var(--mono); font-size:10.5px; letter-spacing:.08em; text-underline-offset:4px; }
.dl-prices-note { margin-top:24px; }
.dl-pending { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; border-top:1px solid var(--ink); padding:48px 0 64px; }
.dl-pending h2 { font-size:clamp(36px,4vw,56px); }
.dl-pending p { font-size:16px; color:var(--ink-2); margin-bottom:20px; line-height:1.7; }
.dl-pending .btn { white-space:normal; line-height:1.4; }
.dl-estimate-block { border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:24px 0; margin:24px 0; }
.dl-estimate-block p { font-size:12px; margin:10px 0 0; }
.dl-siblings { padding:96px 0; }
.dl-siblings>.eyebrow { display:block; border-top:1px solid var(--ink); padding-top:24px; }
.dl-siblings h2 { font-size:clamp(32px,4vw,48px); margin-bottom:32px; }
.dl-sibling-list { border:1px solid var(--border); background:var(--warm-surface); }
.dl-sibling-list>a { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px; text-decoration:none; }
.dl-sibling-list>a+a { border-top:1px solid var(--border); }
.dl-sibling-list>a:hover strong { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
.dl-sibling-list>a>span:first-child { flex:1; }
.dl-sibling-list strong { display:block; font-family:var(--display); font-size:22px; font-weight:300; line-height:1.3; }
.dl-sibling-list small { display:block; font-size:12px; color:var(--ink-3); margin-top:8px; }

@media(max-width:1100px) {
  .dl-directory-hero { gap:40px; grid-template-columns:minmax(0,1fr) 240px; }
  .dl-dealer-hero { gap:40px; grid-template-columns:minmax(0,1fr) 260px; }
  .dl-dealer-summary { padding:28px; }
  .dl-summary-number { font-size:72px; }
  .dl-facts-grid { gap:32px; }
  .dl-contact { grid-template-columns:1fr; gap:20px; }
  .dl-row { gap:20px; grid-template-columns:20px 1.1fr 1fr 1fr; padding:28px 20px; }
  .dl-row h3 { font-size:22px; }
  .dl-feed-explainer>div { padding:32px; }
  .dl-pending { gap:40px; }
  .dl-claim { padding:32px; }
}
@media(max-width:760px) {
  .dl-directory-hero { grid-template-columns:1fr; gap:40px; padding:40px 0 32px; }
  .dl-directory-hero h1 { font-size:clamp(48px,10.7vw,72px); }
  .dl-directory-hero .lede { font-size:18px; }
  .dl-directory-hero .btn-row { gap:12px; }
  .dl-directory-hero .btn { padding:18px 24px; }
  .dl-census { display:grid; grid-template-columns:100px 1fr; gap:0 20px; padding-top:20px; }
  .dl-census>.eyebrow { grid-column:1/-1; margin-bottom:16px; }
  .dl-census-total { grid-column:1; grid-row:2/6; font-size:76px; margin:8px 0; }
  .dl-census-total span { max-width:95px; font-size:9px; }
  .dl-census-line { grid-column:2; font-size:11px; padding:10px 0; }
  .dl-census>.src { grid-column:1/-1; }
  .dl-coverage-note { flex-wrap:wrap; gap:12px; }
  .dl-coverage-note p { order:3; width:100%; font-size:13px; }
  .dl-coverage-note>.src { font-size:9px; }
  .dl-directory { padding:64px 0 32px; }
  .dl-directory-controls { flex-direction:column; align-items:stretch; gap:20px; margin:24px 0; }
  .dl-filter-buttons { flex-wrap:nowrap; }
  .dl-filter-buttons button { flex:1; padding:10px 8px; font-size:9px; letter-spacing:.06em; }
  .dl-brand-filter { justify-content:space-between; }
  .dl-brand-filter select { min-width:70%; }
  .dl-row { grid-template-columns:20px minmax(0,1fr); gap:20px 12px; padding:28px 20px; }
  .dl-row-no { grid-column:1; grid-row:1/4; }
  .dl-row-name,.dl-row-contact,.dl-row-status { grid-column:2; }
  .dl-row h3 { font-size:28px; }
  .dl-contact-links { flex-direction:row; flex-wrap:wrap; gap:8px 20px; }
  .dl-row-status { padding-top:20px; border-top:1px solid var(--border); }
  .dl-group-head { padding:20px; align-items:baseline; }
  .dl-group-head h3 { font-size:10px; }
  .dl-group-head>.mono { font-size:9px; }
  .dl-feed-explainer { grid-template-columns:1fr; margin-bottom:40px; }
  .dl-feed-explainer>div { padding:28px 24px; }
  .dl-feed-explainer h2 { font-size:36px; }
  .dl-feed-explainer p { font-size:16px; }
  .dl-claim { display:block; padding:28px 24px; margin-bottom:40px; }
  .dl-claim .btn { margin-top:24px; padding:18px 20px; white-space:normal; line-height:1.4; }
  .dl-claim h2 { font-size:32px; }
  .dl-claim p { font-size:14px; }
  .dl-dealer-hero { grid-template-columns:1fr; gap:32px; padding:40px 0 32px; }
  .dl-dealer-title>.eyebrow { line-height:1.8; }
  .dl-dealer-title h1 { font-size:clamp(48px,12.8vw,72px); margin:20px 0; }
  .dl-brands { font-size:20px; margin-bottom:20px; }
  .dl-owner { font-size:10px; line-height:1.8; }
  .dl-dealer-summary { padding:28px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 20px; align-items:center; }
  .dl-dealer-summary>.eyebrow { grid-column:1/-1; }
  .dl-summary-number { grid-column:1; grid-row:2/4; font-size:64px; margin:20px 0 0; }
  .dl-summary-number span { font-size:9px; }
  .dl-dealer-summary .dl-text-link { grid-column:2; display:block; font-size:9px; letter-spacing:.06em; margin-top:16px; }
  .dl-dealer-summary .src { grid-column:2; margin-top:4px; font-size:9px; }
  .dl-pending-title { font-size:42px; grid-column:1; grid-row:2/4; margin:20px 0 0; }
  .dl-dealer-summary>p:not(.src) { font-size:14px; margin:20px 0 0; }
  .dl-dealer-summary.is-pending { grid-template-columns:minmax(0,1fr); }
  .dl-dealer-summary.is-pending .dl-pending-title { grid-column:1; grid-row:auto; font-size:48px; }
  .dl-dealer-summary.is-pending .dl-text-link { grid-column:1; margin-top:20px; min-height:40px; display:flex; align-items:center; }
  .dl-facts-grid { grid-template-columns:1fr; gap:32px; padding:32px 0; }
  .dl-contact { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 20px; }
  .dl-contact>h2 { margin-bottom:24px; }
  .dl-contact-address { font-size:14px; }
  .dl-contact-actions a.dl-phone { font-size:12px; }
  .dl-contact-actions .btn { font-size:13px; padding:14px 16px; }
  .dl-record { padding:20px 16px; font-size:11px; }
  .dl-record .r-k { font-size:10px; }
  .dl-record .r-v { max-width:61%; }
  .dl-verification-note { font-size:13px; }
  .dl-detail-map { margin:0 0 40px; }
  .dl-detail-map .mm-title { align-items:flex-start; gap:8px; flex-direction:column; }
  .dl-detail-map .mm-credit { flex-direction:column; gap:10px; }
  .dl-detail-map .mm-legend { gap:12px; }
  .dl-detail-map .mm-area { display:none; }
  .dl-ask-panel { grid-template-columns:1fr; gap:28px; padding:28px 24px; margin:24px 0 0; }
  .dl-ask-panel h2 { font-size:32px; }
  .dl-ask-panel p { font-size:15px; }
  .dl-inventory { padding:64px 0; }
  .dl-inventory .stat .num { font-size:30px; }
  .dl-inventory .stat .note { font-size:12px; }
  .dl-inventory .stat .lbl { font-size:9px; }
  .dl-inventory .section-head { gap:16px; }
  .dl-body-mix { gap:10px 20px; }
  .dl-body-mix>.eyebrow { width:100%; }
  .dl-grid-heading { flex-direction:column; align-items:flex-start; gap:8px; }
  .dl-pending { grid-template-columns:1fr; gap:16px; padding:32px 0 40px; }
  .dl-pending h2 { font-size:40px; }
  .dl-siblings { padding:64px 0; }
  .dl-siblings h2 { font-size:36px; }
  .dl-sibling-list>a { flex-wrap:wrap; gap:16px; padding:24px; }
  .dl-sibling-list>a>span:first-child { flex-basis:85%; }
  .dl-sibling-list .badge { order:3; }
  .dl-sibling-list strong { font-size:24px; }
}
