/* Flight Line shared skin. Local CSS only; route/form/widget contracts stay in their templates. */
.dt-site {
  font-family: var(--fl-font);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6;
  color: var(--fl-ink);
  font-synthesis: none;
  background: var(--fl-paper);
}
.dt-site *, .dt-site *::before, .dt-site *::after { box-sizing: border-box; }
.dt-site :is(h1,h2,h3,h4), .dt-site .font-black, .dt-site .font-bold {
  font-family: var(--fl-font);
  font-weight: 600;
  letter-spacing: -.018em;
}
.dt-site :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--fl-blue);
  outline-offset: 3px;
}
.dt-site :is(a,button) {
  transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
}
.dt-site .text-brand-primary, .dt-site a.link { color: var(--fl-blue); }
.dt-site .text-gray-text { color: var(--fl-meta); }
.dt-site .text-gray-dark { color: var(--fl-ink-700); }
.dt-site :is(input[type=checkbox],input[type=radio]) { accent-color: var(--fl-blue); }
.dt-site:not(.dt-marketplace-home) .container {
  width: calc(100% - 48px);
  max-width: 1240px;
  padding-left: 0;
  padding-right: 0;
}
.dt-site:not(.dt-marketplace-home) .container .container { width: 100%; }
.dt-site:not(.dt-marketplace-home) #main { padding-top: 34px; }
.dt-site:not(.dt-marketplace-home) #main > .bg-brand-light,
.dt-site:not(.dt-marketplace-home) #main > #post,
.dt-site:not(.dt-marketplace-home) #main > #promote {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  background: var(--fl-bone);
}
.dt-site:not(.dt-marketplace-home) main :is(h1,.text-3xl) { color: var(--fl-ink); }
.dt-site:not(.dt-marketplace-home) main h1 { font-size: clamp(30px,3.2vw,42px); line-height: 1.14; }
.dt-site:not(.dt-marketplace-home) main h2 { line-height: 1.25; }
.dt-site:not(.dt-marketplace-home) main :is(.bg-brand-light,.bg-gray-blue) { background-color: var(--fl-bone); }
.dt-site:not(.dt-marketplace-home) main .bg-brand-dark { background-color: var(--fl-ink); }
.dt-site:not(.dt-marketplace-home) main :is(.rounded-16,.rounded-24) { border-radius: 8px; }
.dt-site:not(.dt-marketplace-home) main :is(.shadow,.shadow-lg,.shadow-xl,.modal-shadow) { box-shadow: none; }
.dt-site:not(.dt-marketplace-home) main :is(.border-gray-light,.border-gray-border) { border-color: var(--fl-line-strong); }
.dt-site:not(.dt-marketplace-home) main .border-brand-primary { border-color: var(--fl-blue); }
.dt-site:not(.dt-marketplace-home) main :is(.btn,button.primary,a.primary,.button) {
  border-radius: 6px;
  font-family: var(--fl-font);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  min-height: 44px;
  box-shadow: none;
}
.dt-site:not(.dt-marketplace-home) main :is(.btn.primary,button.primary,a.primary) {
  background-color: var(--fl-blue);
  border-color: var(--fl-blue);
  color: #fff;
}
.dt-site:not(.dt-marketplace-home) main :is(.btn.primary,button.primary,a.primary):hover { background-color: var(--fl-blue-hover); }
.dt-site:not(.dt-marketplace-home) main :is(.btn.primary,button.primary,a.primary):disabled { opacity: .55; cursor: not-allowed; }
.dt-site:not(.dt-marketplace-home) main input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]):not(:where(.gm-style *, .filepond--root *, .fr-box *)),
.dt-site:not(.dt-marketplace-home) main select:not(:where(.gm-style *, .filepond--root *, .fr-box *)),
.dt-site:not(.dt-marketplace-home) main textarea:not(:where(.gm-style *, .filepond--root *, .fr-box *)) {
  font-family: var(--fl-font);
  font-size: 15px;
  color: var(--fl-ink);
  border: 1px solid var(--fl-line-strong);
  border-radius: 6px;
  background-color: var(--fl-paper);
}
.dt-site:not(.dt-marketplace-home) main input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=file]):not([type=color]):not(:where(.gm-style *, .filepond--root *, .fr-box *)),
.dt-site:not(.dt-marketplace-home) main select:not(:where(.gm-style *, .filepond--root *, .fr-box *)) { min-height: 44px; }
.dt-site:not(.dt-marketplace-home) main textarea:not(:where(.gm-style *, .filepond--root *, .fr-box *)) { line-height: 1.6; }
.dt-site .growl { border-radius: 6px; box-shadow: 0 4px 18px rgba(14,23,38,.1); }
.dt-site .growl.status { background: var(--fl-success-bg); color: var(--fl-success); }
.dt-site .growl.error { background: var(--fl-danger-bg); color: var(--fl-danger); }

/* Shared navigation mirrors the approved homepage without changing its open/close behavior. */
.dt-site header.site { margin-bottom: 0; border-color: var(--fl-line); background: var(--fl-paper); }
.dt-site header.site .header-wrapper { min-height: 80px; padding: 16px 0; align-items: center; }
.dt-site header.site .header-wrapper img.logo { max-width: 180px; max-height: 42px; }
.dt-site header.site form.search { height: 44px; padding: 0 4px 0 0; border: 1px solid var(--fl-line-strong); border-radius: 6px; background: var(--fl-paper); font-size: 14px; }
.dt-site header.site form.search .category-picker { border-radius: 0; font-weight: 500; padding: 0 12px; line-height: 42px; border-right: 1px solid var(--fl-line); }
.dt-site header.site form.search input { min-width: 0; font-family: var(--fl-font); color: var(--fl-ink); font-size: 14px; }
.dt-site header.site form.search button.search { background: var(--fl-ink); border-radius: 4px; height: 34px; width: 38px; margin: 4px 0 4px 8px; flex-shrink: 0; }
.dt-site header.site .header-icon { padding: 2px !important; border-radius: 5px; box-shadow: none; background: transparent; border: 0; height: 36px; width: 36px; margin-left: 6px; }
.dt-site .header-icon.selected::after { content: none; }
.dt-site header.site .header-icon > a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.dt-site header.site .header-icon img { width: 30px; height: 30px; max-width: 30px; max-height: 30px; object-fit: contain; }
.dt-site header.site .header-icon.full img { border-radius: 4px; }
.dt-site header.site .dt-region-switch, .dt-site header.site .dt-region-switch.selected { width: 44px; height: 44px; padding: 0 !important; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.dt-site header.site .dt-region-switch > a { position: relative; width: 44px; height: 44px; border-radius: 3px; }
.dt-site header.site .dt-region-switch > a[aria-current]::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px; background: var(--fl-ink); }
.dt-site header.site .header-icon.dt-region-switch img { width: 28px; height: 28px; max-width: 28px; max-height: 28px; }
.dt-site header.site .post-listing-btn { background: var(--fl-blue); border: 1px solid var(--fl-blue); border-radius: 6px; box-shadow: none; min-height: 42px; font-size: 14px; font-weight: 500; padding: 10px 16px; white-space: nowrap; margin-left: 12px; }
.dt-site header.site .post-listing-btn img { display: none; }
.dt-site .dt-header-line-icon { color: var(--fl-ink); flex: none; }
.dt-site .dt-menu-btn { background: transparent; border: 1px solid var(--fl-line); border-radius: 5px; min-width: 44px; min-height: 44px; }
.dt-site .dt-nav { border-color: var(--fl-line); }
.dt-site .dt-nav__link { font-size: 13px; font-weight: 500; border-radius: 3px; min-height: 42px; padding: 8px 12px; color: var(--fl-muted); }
.dt-site .dt-nav__link--adv, .dt-site .dt-nav__link--adv:hover { background: transparent; box-shadow: none; color: var(--fl-meta); }
.dt-site .dt-nav__link--adv strong { font-weight: 500; }
.dt-site .dt-nav__link:hover { background: var(--fl-hover); color: var(--fl-ink); }
.dt-site footer.site { background: var(--fl-ink); color: var(--fl-slate-300); margin-top: 64px; }
.dt-site footer.site :is(h2,h3) { font-family: var(--fl-mono); font-size: 12px !important; font-weight: 400 !important; letter-spacing: .03em; text-transform: uppercase; color: var(--fl-slate-300); }
.dt-site footer.site :is(a,.text-brand-primary,.text-gray-text) { color: var(--fl-slate-300); }
.dt-site footer.site a:hover { color: #fff; }
.dt-site .dt-footer-wordmark { font-size: 25px; font-weight: 600; letter-spacing: -.04em; color: #fff; }
.dt-site .dt-footer-wordmark > span { font-weight: 400; }

/* Catalogue cards share the homepage's open inventory treatment. */
.dt-site:not(.dt-marketplace-home) .ad-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px 22px; margin: 0 0 40px; }
.dt-site:not(.dt-marketplace-home) .ad-cards .listing-card { width: auto; min-width: 0; padding: 0; }
.dt-site:not(.dt-marketplace-home) .listing-card > a { border: 0; border-radius: 0; box-shadow: none; overflow: visible; background: transparent; }
.dt-site:not(.dt-marketplace-home) .listing-card img.thumbnail { aspect-ratio: 4/3; height: auto !important; width: 100%; object-fit: cover; border-radius: 6px; background: var(--fl-bone); }
.dt-site:not(.dt-marketplace-home) .listing-card > a > div:not(.urgent):not(.favorite) { padding: 13px 0 0; background: transparent !important; }
.dt-site:not(.dt-marketplace-home) .listing-card .price { font: 500 17px/1.4 var(--fl-mono); font-variant-numeric: tabular-nums; color: var(--fl-ink) !important; font-weight: 500 !important; margin-bottom: 6px; letter-spacing: -.045em; }
.dt-site:not(.dt-marketplace-home) .listing-card .title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; height: auto; min-height: 44px; font-size: 15px; font-weight: 500; line-height: 1.45; margin-bottom: 9px; }
.dt-site:not(.dt-marketplace-home) .listing-card > a:hover .title { text-decoration: underline; text-underline-offset: 3px; }
.dt-site:not(.dt-marketplace-home) .listing-card .user img, .dt-site:not(.dt-marketplace-home) .listing-card .user picture, .dt-site:not(.dt-marketplace-home) .listing-card .user > div > div:first-child:not(.posted-at) { display: none; }
.dt-site:not(.dt-marketplace-home) .listing-card .user .posted-at { font: 400 12px/1.6 var(--fl-font); color: var(--fl-meta); }
.dt-site:not(.dt-marketplace-home) .listing-card .user .posted-at .location { display: inline; }
.dt-site:not(.dt-marketplace-home) .listing-card .favorite { width: 40px; height: 40px; top: 8px; right: 8px; border: 1px solid var(--fl-line); border-radius: 5px; background: rgba(255,255,255,.95); color: var(--fl-ink); font-size: 17px; }
.dt-site:not(.dt-marketplace-home) .listing-card .favorite i { margin: 0 !important; }
.dt-site .dt-card-heart[fill="currentColor"] { color: var(--fl-danger); }
.dt-site:not(.dt-marketplace-home) .listing-card.highlighted > a { border-bottom: 2px solid var(--fl-amber); padding-bottom: 10px; }
.dt-site #filters { background: var(--fl-bone); border-block: 1px solid var(--fl-line); }
.dt-site #filters .filters-container { padding-block: 14px; }
.dt-site #filters .filters-container > .flex > div:not(.filters-overlay) { border-radius: 6px; font-weight: 500; }
.dt-site #filters .filter-dropdown { border: 1px solid var(--fl-line-strong); border-radius: 8px; box-shadow: 0 10px 28px rgba(14,23,38,.12); background: var(--fl-paper); }
.dt-site #filters .filter-dropdown button.primary { border-radius: 6px; background: var(--fl-blue); font-weight: 500; }
.dt-site .pagination { font-family: var(--fl-mono); }

/* Listing details retain gallery/contact controls and protected seller data. */
.dt-site.dt-page-detail .breadcrumbs { color: var(--fl-meta); font-size: 12px; }
.dt-site.dt-page-detail .breadcrumbs a { color: var(--fl-meta); }
.dt-site.dt-page-detail :is(.ad-meta-box,.seller-box) { border: 1px solid var(--fl-line-strong); border-radius: 8px; background: var(--fl-paper); box-shadow: none; }
.dt-site.dt-page-detail .ad-meta-box { padding: 22px 28px; }
.dt-site.dt-page-detail .meta-icons { width: 24px; height: 24px; object-fit: contain; }
.dt-site.dt-page-detail :is(.main-ad-image,.side-ad-image) { border-radius: 6px; overflow: hidden; background: var(--fl-bone); }
.dt-site.dt-page-detail .seller-box :is(.rounded-8,.bg-gray-light) { border-radius: 6px; background: var(--fl-bone); }
.dt-site.dt-page-detail #map { border: 1px solid var(--fl-line); border-radius: 8px; overflow: hidden; }
.dt-site.dt-page-detail main h2.font-black.flex-grow { color: var(--fl-ink) !important; font-family: var(--fl-mono); font-weight: 500 !important; }
.dt-site .page-content { color: var(--fl-muted); line-height: 1.75; }
.dt-site .page-content :is(h2,h3) { color: var(--fl-ink); }

/* Compact account and posting surfaces, leaving Vue/FilePond/Maps internals untouched. */
.dt-site.dt-page-account #main, .dt-site.dt-page-post #main, .dt-site.dt-page-edit #main, .dt-site.dt-page-promote #main, .dt-site.dt-page-messages #main { background: var(--fl-bone); }
.dt-site.dt-page-account main .max-w-4xl, .dt-site.dt-page-edit main .max-w-4xl { max-width: 880px; }
.dt-site.dt-page-post .post-category-card, .dt-site.dt-page-post .post-model-card { border-radius: 6px; box-shadow: none; border-color: var(--fl-line-strong); }
.dt-site.dt-page-post .post-category-card:hover, .dt-site.dt-page-post .post-model-card:hover { border-color: var(--fl-ink); }
.dt-site.dt-page-post #post > .container > .max-w-4xl, .dt-site.dt-page-edit main form { min-width: 0; }
.dt-site.dt-page-account main form[action="/membership/cancel"] button { border: 1px solid var(--fl-line-strong); border-radius: 6px; background: #fff; font-size: 13px; font-weight: 500; }
.dt-site.dt-page-account main #form > .flex.mb-10 { flex-wrap: wrap; gap: 12px; }
.dt-site.dt-page-account main #form > .flex.mb-10 > :is(img,button) { margin-right: 0; }
.dt-site .tabs { border-bottom: 1px solid var(--fl-line-strong); }
.dt-site .tabs > li { border-radius: 0; background: transparent; color: var(--fl-meta); border-bottom: 2px solid transparent; font-weight: 500; }
.dt-site .tabs > li.active { background: transparent; color: var(--fl-ink); border-bottom-color: var(--fl-blue); }
.dt-site.dt-page-messages .conversation-wrapper { background: var(--fl-bone); }
.dt-site.dt-page-messages .conversation .message { border-radius: 8px; background: var(--fl-bone); color: var(--fl-ink); box-shadow: none; }
.dt-site.dt-page-messages .conversation .from-me .message { background: var(--fl-blue-light); color: var(--fl-ink); }
.dt-site.dt-page-messages .conversation .meta { color: var(--fl-meta); font-size: 11px; }
.dt-site.dt-page-promote main > .container { max-width: 1120px; }
.dt-site.dt-page-promote main .text-3xl[v-cloak] { font-family: var(--fl-mono); font-weight: 500; }

/* Membership emphasizes the price and terms without changing dynamic billing copy. */
.dt-site.dt-page-membership #main { background: var(--fl-bone); }
.dt-site.dt-page-membership main .text-center.max-w-2xl { padding-bottom: 32px; text-align: left; max-width: 896px; }
.dt-site.dt-page-membership main .text-center.max-w-2xl > .rounded-full { display: none; }
.dt-site.dt-page-membership main .rounded-full { border-radius: 4px; }
.dt-site.dt-page-membership main .text-4xl.font-black:not(h1) { font-family: var(--fl-mono); font-weight: 500; letter-spacing: -.04em; color: var(--fl-ink); }
.dt-site.dt-page-membership main .border-2.border-brand-primary { border-width: 1px; border-color: var(--fl-blue); }
.dt-site.dt-page-membership main .p-7 > .bg-brand-light.rounded-full, .dt-site.dt-page-membership main .p-7 > .flex > .bg-brand-light.rounded-full { width: 36px; height: 36px; border: 1px solid var(--fl-line); background: transparent; }

/* The existing membership invitation stays useful without cartoon art. */
.dt-site .join { border: 1px solid var(--fl-line-strong); border-radius: 8px; background: var(--fl-bone); box-shadow: none; }
.dt-site .join h3 { font-size: 24px; line-height: 1.2; }
.dt-site .join .drone-cont { display: none; }
.dt-site .join .text-gray-text { color: var(--fl-muted); }

/* Directory variables bridge its isolated component styles into the shared system. */
.dt-site .dtd, .dt-site.directory-owner {
  --p: var(--fl-blue); --pd: var(--fl-blue-hover); --s: var(--fl-ink); --tx: var(--fl-muted); --mu: var(--fl-meta); --bd: var(--fl-line-strong); --sf: var(--fl-bone); --l: var(--fl-bone); --t: var(--fl-blue-light); --er: var(--fl-danger);
  font-family: var(--fl-font); color: var(--fl-ink);
}
.dt-site .dtd { margin-top: 0; margin-bottom: 0; }
.dt-site .dtd-eyebrow { border-radius: 4px; font: 500 11px/1.5 var(--fl-mono); letter-spacing: .06em; background: transparent; border: 0; padding: 0; color: var(--fl-meta); }
.dt-site .dtd-hero { background: var(--fl-bone); border-bottom: 1px solid var(--fl-line); }
.dt-site .dtd :is(h1,h2,h3) { font-weight: 600; letter-spacing: -.018em; }
.dt-site :is(.dtd-card,.dtd-panel,.dtd-side,.dtd-empty,.dtd-faq details,.dtd-consent,.dtd-alert) { border-radius: 8px; box-shadow: none; }
.dt-site .dtd-card:hover { box-shadow: none; border-color: var(--fl-ink); }
.dt-site :is(.dtd-field label,.dtd-label,.dtd-chip,.dtd-tag,.dtd-links,.dtd-pager a,.dtd-pager span,.dtd-dl dt,.dtd-btn) { font-weight: 500; }
.dt-site .dtd-mono { border-radius: 6px; background: var(--fl-bone); font-family: var(--fl-mono); font-weight: 500; }
.dt-site .dtd-cta { background: var(--fl-ink); border-radius: 8px; }
.dt-site .dtd-cta h2, .dt-site .dtd-cta p { color: #fff; }
.dt-site .dtd-btn { border-radius: 6px; box-shadow: none; min-height: 44px; }
.dt-site .dtd-price b { font-family: var(--fl-mono); font-weight: 500; }
.dt-site .dtd-steps li::before { border-radius: 4px; background: var(--fl-bone); font-family: var(--fl-mono); font-weight: 500; }

/* Advertising keeps every chooser/widget/data-dtad hook while losing the blue wash. */
.dt-site .dtad { --b: var(--fl-blue); --bd: var(--fl-blue-hover); --bn: var(--fl-ink); --bl: var(--fl-bone); --bt: var(--fl-line); --sky: var(--fl-blue); --ink: var(--fl-ink); --mu: var(--fl-meta); --ln: var(--fl-line-strong); --sf: var(--fl-bone); --err: var(--fl-danger); --ok: var(--fl-success); font-family: var(--fl-font); }
.dt-site .dtad :is(h1,h2,h3) { font-weight: 600; }
.dt-site .dtad-hero { background: var(--fl-ink); border-radius: 8px; }
.dt-site .dtad-hero::after { display: none; }
.dt-site:not(.dt-marketplace-home) main .dtad-hero h1 { color: #fff; }
.dt-site .dtad-lede, .dt-site .dtad-eyebrow, .dt-site .dtad-preview figcaption { color: var(--fl-slate-300); }
.dt-site .dtad-eyebrow--dark { color: var(--fl-meta); }
.dt-site .dtad-steps span { border-radius: 4px; font-family: var(--fl-mono); font-weight: 400; }
.dt-site .dtad-browser { border-radius: 6px; transform: none; box-shadow: 0 8px 28px rgba(0,0,0,.15); }
.dt-site .dtad-btn { border-radius: 6px; box-shadow: none; font-weight: 500; transition: color 120ms ease,background-color 120ms ease,border-color 120ms ease; }
.dt-site .dtad-btn:hover { transform: none; box-shadow: none; }
.dt-site .dtad-btn--outline { border: 1px solid var(--fl-blue); }
.dt-site .dtad-mini__slot { animation: none; box-shadow: 0 0 0 2px var(--fl-blue); }
.dt-site :is(.dtad-place,.dtad-plan,.dtad-summary,.dtad-alert,.dtad-field input,.dtad-field textarea) { border-radius: 8px; }
.dt-site .dtad-place { border: 1px solid var(--fl-line); }
.dt-site .dtad-plan { box-shadow: none; }
.dt-site .dtad-plan:hover { transform: none; box-shadow: none; }
.dt-site .dtad-summary { box-shadow: none; border: 1px solid var(--fl-line-strong); }

/* Private recovery/consent/owner pages remain separate, local-only documents. */
.dt-site.dt-private { min-height: 100vh; background: var(--fl-bone); }
.dt-site.dt-private:not(.directory-owner) { margin: 0; padding: 40px 20px; }
.dt-site.dt-private:not(.directory-owner) main { width: 100%; max-width: 600px; margin: 0 auto; padding: 32px; border: 1px solid var(--fl-line-strong); border-radius: 8px; background: var(--fl-paper); box-shadow: none; }
.dt-site.dt-private main .brand { font-size: 23px; font-weight: 600; letter-spacing: -.04em; color: var(--fl-ink); }
.dt-site.dt-private main .brand span { font-weight: 400; color: var(--fl-ink); }
.dt-site.dt-private:not(.directory-owner) main > a > img { max-width: 210px; height: auto; }
.dt-site.dt-private main h1 { font-size: clamp(26px,4vw,34px); line-height: 1.14; }
.dt-site.dt-private main a { color: var(--fl-blue); text-underline-offset: 3px; }
.dt-site.dt-private main :is(button[type=submit],form > button) { min-height: 48px; border-radius: 6px; border: 1px solid var(--fl-blue); background: var(--fl-blue); font: 500 15px/1.4 var(--fl-font); color: #fff; }
.dt-site.dt-private main button.secondary { background: #fff; color: var(--fl-blue); }
.dt-site.dt-private main fieldset { border-radius: 6px; border-color: var(--fl-line-strong); }
.dt-site.dt-private main legend { font-weight: 500; }
.dt-site.dt-private main :is(input[type=text],input[type=email],input[type=password],textarea,select) { min-height: 44px; border: 1px solid var(--fl-line-strong); border-radius: 6px; padding: 10px 12px; background: #fff; font-family: var(--fl-font); font-size: 15px; }
.dt-site.dt-private.directory-owner { padding: 0; }
.dt-site.dt-private.directory-owner main { max-width: 1040px; margin: 0 auto; padding: 32px 24px 48px; }
.dt-site .dtd-owner-header { border-bottom: 1px solid var(--fl-line-strong); background: var(--fl-paper); }
.dt-site .dtd-owner-footer { color: var(--fl-meta); font-size: 13px; }

@media (max-width:1100px) {
  .dt-site header.site .header-wrapper img.logo { max-width: 148px; }
  .dt-site header.site .post-listing-btn { padding: 10px 12px; }
}
@media (max-width:1023px) {
  .dt-site header.site .header-wrapper { min-height: 0; height: auto; padding: 14px 0; gap: 14px 0; }
  .dt-site header.site form.search { margin-top: 0; }
  .dt-site header.site .header-wrapper img.logo { margin-bottom: 0; }
  .dt-site .dt-menu-cell { margin-bottom: 0; display: flex; align-items: center; justify-content: flex-end; }
  .dt-site .dt-menu-btn { margin: 0; }
  .dt-site:not(.dt-marketplace-home) .ad-cards { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .dt-site:not(.dt-marketplace-home) .container { width: calc(100% - 32px); }
  .dt-site:not(.dt-marketplace-home) .container .container { width: 100%; }
  .dt-site:not(.dt-marketplace-home) #main { padding-top: 24px; }
  .dt-site:not(.dt-marketplace-home) #main > .container > .px-5 { padding-left: 0; padding-right: 0; }
  .dt-site:not(.dt-marketplace-home) .ad-cards { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px 13px; }
  .dt-site:not(.dt-marketplace-home) .listing-card .price { font-size: 15px; }
  .dt-site:not(.dt-marketplace-home) .listing-card .title { font-size: 14px; min-height: 41px; }
  .dt-site:not(.dt-marketplace-home) .listing-card .user .posted-at { font-size: 11px; }
  .dt-site #filters .filter-dropdown { max-width: calc(100vw - 32px); }
  .dt-site.dt-page-detail .ad-meta-box { padding: 20px; }
  .dt-site.dt-page-detail .meta-icons { width: 20px; height: 20px; }
  .dt-site .join h3 { font-size: 22px; }
  .dt-site.dt-page-membership main .max-w-4xl > .flex.items-center { font-size: 13px; }
  .dt-site.dt-page-membership main .max-w-4xl > .flex.items-center > .w-2\/5 { width: 40%; }
  .dt-site.dt-page-membership main .max-w-4xl .w-10.h-10 { width: 24px; height: 24px; }
  .dt-site.dt-page-membership main .max-w-4xl .w-10.h-10 + .ml-3 { margin-left: 8px; }
  .dt-site.dt-page-membership main .max-w-4xl .text-sm { font-size: 12px; line-height: 1.5; }
  .dt-site.dt-page-account main #form > .flex.mb-10 { align-items: flex-start; }
  .dt-site.dt-page-account main #form > .flex.mb-10 button { flex: 1 1 140px; }
  .dt-site.dt-page-messages main .whitespace-no-wrap { white-space: normal; }
  .dt-site.dt-private:not(.directory-owner) { padding: 20px 16px; }
  .dt-site.dt-private:not(.directory-owner) main { padding: 24px 20px; }
  .dt-site.dt-private.directory-owner main { padding: 24px 16px 36px; }
  .dt-site footer.site { margin-top: 42px; }
  .dt-site .dtad-hero { padding: 30px 24px; }
  .dt-site:not(.dt-marketplace-home) main .dtad-hero h1 { font-size: 32px; }
}
@media (prefers-reduced-motion:reduce) {
  .dt-site :is(a,button,.dtd-card,.dtad-btn,.dtad-browser) { transition: none; }
  .dt-site .dtad-mini__slot { animation: none; }
}

/* Cross-site audit refinements from Claude: plain headers, compact filters and generous galleries. */
.dt-site:not(.dt-marketplace-home) main h1 { font-size: 32px; line-height: 1.25; }
.dt-site.dt-page-content main .text-center.pb-12,
.dt-site.dt-page-account main .text-center.pb-12 { text-align: left; max-width: 880px; margin-inline: auto; }
.dt-site #filters { background: var(--fl-paper); }
.dt-site #filters .filters-container > .flex > div:not(.filters-overlay) { min-height: 40px; border: 1px solid var(--fl-line-strong); }
.dt-site #filters .filters-container > .flex > div.bg-brand-primary { background: var(--fl-bone); border-color: var(--fl-ink); color: var(--fl-ink); }
.dt-site #filters .filters-container > .flex > div.bg-brand-primary > img { filter: brightness(0); }
.dt-site.dt-page-detail .ad-meta-box { border-inline: 0; border-radius: 0; }
.dt-site.dt-page-detail .main-ad-image { aspect-ratio: 4/3; height: auto; }
.dt-site.dt-page-detail .main-ad-image picture,
.dt-site.dt-page-detail .main-ad-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.dt-site.dt-page-detail main .seller-box button.dt-contact-suggestion { background: #fff; border: 1px solid var(--fl-line-strong); color: var(--fl-ink); font-weight: 500; }
.dt-site.dt-page-membership main .text-4xl.font-black:not(h1) { font-size: 40px; }
.dt-site.dt-page-membership main .border-2.border-brand-primary { border-color: var(--fl-ink); }
.dt-site.dt-page-membership main .max-w-4xl > .flex.items-center > .w-2\/5 > .bg-brand-light { display: none; }
.dt-site.dt-page-membership main .max-w-4xl > .flex.items-center > .w-2\/5 > .ml-3 { margin-left: 0; }
.dt-site.dt-page-membership main .max-w-4xl .w-10.h-10 { border: 0; background: transparent; border-radius: 0; }
.dt-site .dtad-summary__card { border-radius: 8px; border: 1px solid var(--fl-line-strong); box-shadow: none; }
.dt-site .dtad-summary__total dd { font-family: var(--fl-mono); font-weight: 500; color: var(--fl-ink); }
.dt-site .dtad-plan:has(input:checked) { border-color: var(--fl-ink); box-shadow: inset 0 0 0 1px var(--fl-ink); }
.dt-site .dtdv { --or: var(--fl-ink); --ord: var(--fl-ink); --orl: var(--fl-bone); }
.dt-site .dtdv-hero { background: var(--fl-bone); }
.dt-site .dtdv-hl { color: var(--fl-ink); background: none; padding: 0; }
.dt-site .dtdv-eyebrow { border: 0; border-radius: 0; background: none; color: var(--fl-meta); padding: 0; font: 500 11px/1.5 var(--fl-mono); }
.dt-site .dtdv-value { border: 1px solid var(--fl-line-strong); border-radius: 8px; box-shadow: none; }
.dt-site .dtdv-value__price b { font-family: var(--fl-mono); font-weight: 500; }
.dt-site .dtdv-tick, .dt-site .dtdv-steps__list li::before { border-radius: 4px; background: var(--fl-ink); }
.dt-site .dtdv-steps__list li { border-radius: 8px; }
.dt-site.dt-page-faq main h2 { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 17px; }
.dt-site.dt-page-faq main .rounded-16 { border: 0; padding-inline: 0; background: transparent; }
.dt-site .dt-support-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 36px 64px; align-items: start; }
.dt-site .dt-support-copy { text-align: left; }
.dt-site .dt-support-copy .max-w-lg { margin-inline: 0; }
.dt-site .dt-support-copy p { font-size: 16px; margin-top: 18px; }
.dt-site .dt-support-form { width: 100%; max-width: none; margin: 0; padding: 28px; }
.dt-site .dt-support-layout > .join { grid-column: 1/-1; }
.dt-site.dt-page-login #main > .container > .px-5 > .flex.flex-col { max-width: 460px; }
.dt-site.dt-page-login main .header-icon { border: 0; background: transparent; overflow: visible; }
.dt-site.dt-page-login main .header-icon img { object-fit: contain; }
@media (min-width:1024px) {
  .dt-site.dt-page-detail .listing-top-container.has-images { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 18px 24px; }
  .dt-site.dt-page-detail .listing-top-container.has-images > div:has(> .main-ad-image) { grid-column: 1; grid-row: 1; width: 100%; }
  .dt-site.dt-page-detail .listing-top-container.has-images > div:has(.side-ad-image) { grid-column: 1; grid-row: 2; width: 100%; }
  .dt-site.dt-page-detail .listing-top-container.has-images > div:has(.side-ad-image) > div { flex-direction: row; width: 100%; gap: 12px; }
  .dt-site.dt-page-detail .listing-top-container.has-images > div:has(.side-ad-image) .side-ad-image { width: 80px; height: 60px; margin: 0; flex: none; }
  .dt-site.dt-page-detail .listing-top-container.has-images > div:has(.side-ad-image) .side-ad-image img { width: 80px; height: 60px; object-fit: cover; }
  .dt-site.dt-page-detail .listing-top-container.has-images > div:has(.seller-box) { grid-column: 2; grid-row: 1/span 2; width: 100%; }
}
@media (max-width:767px) {
  .dt-site:not(.dt-marketplace-home) main h1 { font-size: 26px; line-height: 1.23; }
  .dt-site .dt-support-layout { grid-template-columns: 1fr; gap: 24px; }
  .dt-site .dt-support-form { padding: 22px; }
  .dt-site.dt-page-faq main h2 { font-size: 16px; }
  .dt-site.dt-page-login #main > .container > .px-5 > .flex.flex-col { width: 100%; }
}

/* Mobile contact stays within reach; existing form, DOM and desktop behavior are unchanged. */
@media (max-width:1023px) {
  .dt-site .dt-detail-main { display: flex; flex-direction: column; }
  .dt-site .dt-detail-main > .ad-meta-box { order: 0; }
  .dt-site .dt-detail-main > .dt-detail-contact { order: 1; padding-top: 0; border-top: 0; margin-top: 24px; }
  .dt-site .dt-detail-main > .ad-details { order: 2; }
  .dt-site .dt-detail-main > .listing-location { order: 3; }
}

/* Integrated browser review: contain legacy promo margins and complete the chooser skin. */
.dt-site.dt-page-browse .dt-browse-membership { margin-inline: 0; padding-inline: 0; }
.dt-site:not(.dt-marketplace-home) .get-the-app { margin-right: 0; border: 1px solid var(--fl-line-strong); border-radius: 8px; background: var(--fl-bone); }
.dt-site.dt-page-detail main .seller-box button.dt-contact-suggestion:hover { background: var(--fl-hover); border-color: var(--fl-ink); color: var(--fl-ink); }
.dt-site .dtad { --or: var(--fl-ink); --ord: var(--fl-ink); --orl: var(--fl-bone); --warm: var(--fl-bone); }
.dt-site .dtad-hero::before { display: none; }
.dt-site .dtad-hero .dtad-eyebrow { color: var(--fl-slate-300); }
.dt-site .dtad-steps li:last-child span { background: rgba(255,255,255,.16); }
.dt-site .dtad .dtad-audience { border-color: var(--fl-line-strong); border-radius: 8px; background: var(--fl-bone); color: var(--fl-ink); }
.dt-site .dtad .dtad-audience__eyebrow { color: var(--fl-meta); font-family: var(--fl-mono); font-weight: 500; }
.dt-site .dtad .dtad-audience__metric { border-color: var(--fl-line-strong); border-radius: 6px; }
.dt-site .dtad .dtad-audience__metric dt { font-weight: 500; }
.dt-site .dtad .dtad-audience__number { color: var(--fl-ink); font-family: var(--fl-mono); font-weight: 500; }
.dt-site .dtad label.dtad-option input[type=radio]:not(.checkbox)+span.dtad-option__body { border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px var(--fl-line-strong); }
.dt-site .dtad label.dtad-option:hover input[type=radio]:not(.checkbox)+span.dtad-option__body { box-shadow: 0 0 0 1px var(--fl-ink); }
.dt-site .dtad label.dtad-option input[type=radio]:not(.checkbox):checked+span.dtad-option__body { background: var(--fl-bone); box-shadow: 0 0 0 2px var(--fl-ink); }
.dt-site .dtad label.dtad-option input:checked+span .dtad-option__dot { background: var(--fl-ink); box-shadow: inset 0 0 0 2px var(--fl-ink),inset 0 0 0 6px #fff; }
.dt-site .dtad-option__price { font-family: var(--fl-mono); font-weight: 500; }

.dt-site #filters input[type=text] { min-width: 0; min-height: 40px; border: 1px solid var(--fl-line-strong); border-radius: 6px; background: #fff; font-family: var(--fl-font); }
@media (max-width:767px) {
  .dt-site #filters .filter-dropdown { width: 100%; max-width: 100%; border-radius: 8px 8px 0 0; }
  .dt-site #filters .filter-dropdown input.text-center { flex: 1 1 0; width: 0 !important; }
}

/* Keep the existing scrollable filter strip usable through tablet/small laptop widths. */
@media (max-width:1279px) {
  .dt-site #filters .filters-container { max-width: 100%; overflow-x: auto; }
  .dt-site #filters .filters-container > .flex { width: max-content; min-width: 100%; }
  .dt-site #filters .filters-container > .flex > div { flex-shrink: 0; }
  .dt-site #filters .filters-overlay { display: block; }
  .dt-site #filters .filters-container .filter-dropdown { position: fixed; top: auto; bottom: 0; left: 0; right: 0; width: 100%; max-width: 600px; margin-inline: auto; border-radius: 8px 8px 0 0; }
  .dt-site #filters .filter-dropdown input.text-center { flex: 1 1 0; width: 0 !important; }
}

/* The old 457px gallery container must grow with its new aspect-ratio frame. */
.dt-site.dt-page-detail .listing-top-container.has-images { height: auto; }
.dt-site.dt-page-detail .main-ad-image { display: block; position: relative; width: 100%; aspect-ratio: 4/3; height: auto; overflow: hidden; border-radius: 8px; }
.dt-site.dt-page-detail .main-ad-image picture { position: absolute; inset: 0; }
.dt-site.dt-page-detail .main-ad-image img { width: 100%; height: 100%; border-radius: 0; object-fit: contain; }
.dt-site.dt-page-detail .listing-top-container .seller-box { margin-left: 0; }
.dt-site.dt-page-detail .meta-icons { filter: grayscale(1); opacity: .75; }
@media (min-width:1024px) {
  .dt-site.dt-page-detail .listing-top-container.has-images .side-ad-image { margin: 0 !important; }
}

/* Append after site-cohesion.css. Presentation only; existing membership/login/owner forms stay unchanged. */

/* Undo the earlier 36px rule for text badges only; .w-12.h-12 identifies decorative icon boxes. */
.dt-site.dt-page-membership main .p-7 > .bg-brand-light.rounded-full:not(.w-12),
.dt-site.dt-page-membership main .p-7 > .flex > .bg-brand-light.rounded-full:not(.w-12) {
  width: auto;
  height: auto;
  min-height: 0;
  max-width: 100%;
  border: 0;
  background: var(--fl-bone);
  color: var(--fl-ink);
}
.dt-site.dt-page-membership main .p-7 > .bg-brand-light.rounded-full.w-12.h-12,
.dt-site.dt-page-membership main .p-7 > .flex > .bg-brand-light.rounded-full.w-12.h-12 { display: none; }
.dt-site.dt-page-membership main .p-7 > .flex > .bg-brand-light.rounded-full:not(.w-12) { white-space: nowrap; }
.dt-site.dt-page-membership main .p-7 > .inline-block.bg-brand-light.rounded-full:not(.w-12) {
  display: inline-block;
  align-self: flex-start;
  white-space: normal;
  overflow-wrap: break-word;
}

/* Match plan titles without leaving the annual badge in the heading's flow. */
.dt-site.dt-page-membership main .p-7 { position: relative; }
.dt-site.dt-page-membership main .p-7 > .flex.items-center.justify-between.mb-5 {
  position: absolute;
  top: 28px;
  right: 28px;
  margin: 0;
}
.dt-site.dt-page-membership main .border-2.border-brand-primary.p-7 > h3 { padding-right: 104px; }
.dt-site.dt-page-membership main .text-center.max-w-2xl { width: 100%; max-width: 896px; text-align: left; }
.dt-site.dt-page-membership main .max-w-4xl > .flex.items-center { align-items: center; }
.dt-site.dt-page-membership main .max-w-4xl > .flex.items-center > .w-2\/5 { min-width: 0; padding-right: 12px; }

/* CTA intent is selected by current visual classes, without touching plan actions or prices. */
.dt-site.dt-page-membership main .p-7 :is(a.block,button[type=submit]) {
  min-height: 48px;
  border-radius: 6px;
  border: 1px solid var(--fl-line-strong);
  font: 500 14px/1.5 var(--fl-font);
}
.dt-site.dt-page-membership main .p-7 :is(a.bg-black,button.bg-black) {
  background: var(--fl-blue);
  border-color: var(--fl-blue);
  color: #fff;
}
.dt-site.dt-page-membership main .p-7 :is(a.bg-black,button.bg-black):hover {
  background: var(--fl-blue-hover);
  border-color: var(--fl-blue-hover);
  color: #fff;
}
.dt-site.dt-page-membership main .p-7 :is(a.bg-gray-light,button.bg-gray-light) {
  background: var(--fl-paper);
  border-color: var(--fl-line-strong);
  color: var(--fl-ink);
}
.dt-site.dt-page-membership main .p-7 :is(a.bg-gray-light,button.bg-gray-light):hover {
  background: var(--fl-hover);
  border-color: var(--fl-ink);
  color: var(--fl-ink);
}

/* Secondary social/register choices; these outrank generic primary/background utility rules. */
.dt-site.dt-page-login main a.btn:is(.bg-facebook,.bg-twitter),
.dt-site.dt-page-login main a.btn.primary[href="/register"] {
  background: var(--fl-paper);
  border: 1px solid var(--fl-line-strong);
  color: var(--fl-ink);
  font-weight: 500;
}
.dt-site.dt-page-login main a.btn:is(.bg-facebook,.bg-twitter):hover,
.dt-site.dt-page-login main a.btn.primary[href="/register"]:hover {
  background: var(--fl-hover);
  border-color: var(--fl-ink);
  color: var(--fl-ink);
}

/* Preserve both market links on phones, with flat PNG flags and 44px keyboard targets. */
.dt-site.dt-page-login main .header-icon { width: 44px; height: 44px; padding: 0 !important; margin-inline: 6px; border-radius: 0; }
.dt-site.dt-page-login main .header-icon > a { position: relative; display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; }
.dt-site.dt-page-login main .header-icon img { width: 28px; height: 28px; object-fit: contain; }
.dt-site.dt-page-login main .header-icon.selected > a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 2px; height: 2px; background: var(--fl-ink); }

/* Directory claim/owner uses its own orange variables; retain green success and red danger states. */
.dt-site .dtdc { --or: var(--fl-ink); --ord: var(--fl-ink); --orl: var(--fl-bone); }
.dt-site .dtdc-eyebrow { border-color: var(--fl-line-strong); border-radius: 4px; font-family: var(--fl-mono); font-weight: 500; }
.dt-site :is(.dtdc-card,.dtdc-plan) { border-top: 1px solid var(--fl-line-strong); box-shadow: none; }
.dt-site .dtdc-choice.is-primary { border-color: var(--fl-ink); box-shadow: none; }
.dt-site .dtd-alert.is-pending { border-color: var(--fl-line-strong); background: var(--fl-bone); color: var(--fl-ink); }

/* Native file picker remains a native control; no hidden input, upload or accept behavior changes. */
.dt-site main input[type=file]::file-selector-button {
  min-height: 44px;
  margin-right: 12px;
  padding: 9px 14px;
  border: 1px solid var(--fl-line-strong);
  border-radius: 6px;
  background: var(--fl-paper);
  color: var(--fl-ink);
  font: 500 14px/1.5 var(--fl-font);
  cursor: pointer;
}
.dt-site main input[type=file]:hover::file-selector-button { background: var(--fl-hover); border-color: var(--fl-ink); }

/* Preserve the visibly blue paid Highlight upgrade described on the promotion page. */
.dt-site:not(.dt-marketplace-home) .listing-card.highlighted > a,
.dt-site.dt-marketplace-home .listing-card.highlighted > a { background: var(--fl-blue-light); border: 1px solid var(--fl-blue); border-radius: 8px; padding: 8px; }
.dt-site .dt-flightline-check { flex-shrink: 0; vertical-align: middle; }
.dt-site .join a.btn.primary[href="/login"], .dt-site .join a.btn.primary[href="/login"]:hover { background: #fff; border: 1px solid var(--fl-line-strong); color: var(--fl-ink); }
.dt-site.dt-page-account main a[href="/membership"].rounded-full { border-radius: 6px; background: var(--fl-blue); font-weight: 500; }

.dt-site .dtdc-grid > *, .dt-site .dtd-form > * { min-width: 0; }
.dt-site main input[type=file] { max-width: 100%; min-width: 0; }

.dt-site .dt-no-photo-frame { display: flex; flex-direction: column; gap: 14px; align-items: center; justify-content: center; width: 100%; aspect-ratio: 4/3; border: 1px solid var(--fl-line-strong); border-radius: 8px; background: var(--fl-bone); color: var(--fl-meta); font-size: 14px; }
@media (min-width:1024px) {
  .dt-site.dt-page-detail .listing-top-container:has(.dt-no-photo) { display: grid; grid-template-columns: minmax(0,1fr) 300px; gap: 24px; }
  .dt-site.dt-page-detail .listing-top-container > .dt-no-photo { grid-column: 1; width: 100%; }
  .dt-site.dt-page-detail .listing-top-container:has(.dt-no-photo) > div:has(.seller-box) { grid-column: 2; width: 100%; }
}

/* Strict private documents keep their existing default-src none CSP and use no web fonts. */
.dt-site.dt-private.dt-private-system-type {
  --fl-ink: #0e1726;
  --fl-ink-800: #1b2638;
  --fl-ink-700: #2a3647;
  --fl-muted: #46515f;
  --fl-meta: #5b6675;
  --fl-slate-400: #8a93a0;
  --fl-slate-300: #b7bfca;
  --fl-line: #e3e6ea;
  --fl-line-strong: #cdd2d8;
  --fl-paper: #fff;
  --fl-bone: #f6f5f2;
  --fl-hover: #f8f9fb;
  --fl-blue: #1847c2;
  --fl-blue-hover: #123a9e;
  --fl-blue-light: #eef2fc;
  --fl-amber: #9a4a0b;
  --fl-amber-bg: #fcf1e3;
  --fl-success: #1e7a4c;
  --fl-success-bg: #e7f3ec;
  --fl-warning: #8a5a00;
  --fl-warning-bg: #fbf1da;
  --fl-danger: #b42318;
  --fl-danger-bg: #fcebea;
  --fl-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --fl-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

/* Follow the newer LIVE .dt-join markup. Preserve all membership benefits and links. */
.dt-site .dt-join {
  --jb: var(--fl-blue);
  --jbd: var(--fl-blue-hover);
  --jor: var(--fl-ink);
  --jink: var(--fl-ink);
  --jmu: var(--fl-muted);
  border: 1px solid var(--fl-line-strong);
  border-radius: 8px;
  background: var(--fl-bone);
  color: var(--fl-ink);
  box-shadow: none;
  font-family: var(--fl-font);
}
.dt-site .dt-join .dt-join__in { grid-template-columns: minmax(0,1fr); }
.dt-site .dt-join .dt-join__copy { min-width: 0; padding: 30px 32px; }
.dt-site .dt-join .dt-join__eyebrow {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--fl-meta);
  font: 500 11px/1.5 var(--fl-mono);
  letter-spacing: .06em;
}
.dt-site .dt-join .dt-join__title { max-width: 760px; margin: 0 0 22px; color: var(--fl-ink); font: 600 26px/1.22 var(--fl-font); letter-spacing: -.02em; }
.dt-site .dt-join .dt-join__list { display: grid; grid-template-columns: minmax(0,1fr); margin: 0 0 24px; padding: 0; gap: 12px; }
.dt-site .dt-join .dt-join__list li { min-width: 0; gap: 10px; align-items: flex-start; color: var(--fl-muted); font-size: 15px; line-height: 1.55; }
.dt-site .dt-join .dt-join__list strong { color: var(--fl-ink); font-weight: 600; }
.dt-site .dt-join .dt-join__tick { position: relative; flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; border: 0; border-radius: 0; background: transparent; }
.dt-site .dt-join .dt-join__tick::before { content: ""; position: absolute; left: 5px; top: 2px; width: 6px; height: 10px; border-right: 1.5px solid var(--fl-ink); border-bottom: 1.5px solid var(--fl-ink); transform: rotate(45deg); }
.dt-site .dt-join .dt-join__actions { gap: 12px; }
.dt-site .dt-join .dt-join__btn { min-height: 44px; padding: 10px 20px; border: 1px solid var(--fl-blue); border-radius: 6px; background: var(--fl-blue); color: #fff; box-shadow: none; font: 500 14px/1.5 var(--fl-font); transition: background-color 120ms ease,border-color 120ms ease,color 120ms ease; }
.dt-site .dt-join .dt-join__btn:hover { border-color: var(--fl-blue-hover); background: var(--fl-blue-hover); color: #fff; }
.dt-site .dt-join .dt-join__btn--ghost { border-color: var(--fl-line-strong); background: var(--fl-paper); color: var(--fl-ink); }
.dt-site .dt-join .dt-join__btn--ghost:hover { border-color: var(--fl-ink); background: var(--fl-hover); color: var(--fl-ink); }
.dt-site .dt-join .dt-join__more { min-height: 44px; margin-left: 4px; color: var(--fl-blue); font-weight: 500; text-decoration-thickness: 1px; }
.dt-site .dt-join .dt-join__more:hover { color: var(--fl-blue-hover); }
.dt-site .dt-join a:focus-visible { outline: 3px solid var(--fl-blue); outline-offset: 3px; }
/* The only removed artwork is explicitly aria-hidden in LIVE markup. */
.dt-site .dt-join .dt-join__art[aria-hidden="true"] { display: none; }
.dt-site .dt-join .dt-join__drone { animation: none; }

/* For LIVE Google login: attach dt-login-provider and remove its fixed blue inline paint on DT only. */
.dt-site.dt-page-login main a.btn.dt-login-provider { border: 1px solid var(--fl-line-strong); background: var(--fl-paper); color: var(--fl-ink); font-weight: 500; }
.dt-site.dt-page-login main a.btn.dt-login-provider:hover { border-color: var(--fl-ink); background: var(--fl-hover); color: var(--fl-ink); }

@container (min-width:720px) {
  .dt-site .dt-join .dt-join__list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
  .dt-site .dt-join .dt-join__more { flex-basis: auto; }
}
@media (max-width:767px) {
  .dt-site .dt-join .dt-join__copy { padding: 24px; }
  .dt-site .dt-join .dt-join__title { margin-bottom: 20px; font-size: 23px; }
  .dt-site .dt-join .dt-join__more { flex-basis: 100%; margin-left: 0; }
}
@media (prefers-reduced-motion:reduce) {
  .dt-site .dt-join .dt-join__btn { transition: none; }
}
