/* Poppins (the site's own face) self-hosted for every elements page: preloaded, so the theme's later web-font load changes nothing */
@font-face { font-family: "ASU DM Sans"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("fonts/dmsans-latin.woff2") format("woff2"); }
/* The theme loads its own Poppins from Google after first paint under the SAME family name, which replaces these faces and re-lays the
   page out (CLS 0.4+ on element pages). The self-hosted copy therefore has its own family name, which nothing can override. */
:where(.asu-el, .asu-lp, .asu-gallery) { font-family: "ASU DM Sans", "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.asu-el :where(h1, h2, h3, h4, h5, h6, p, li, a, span, div, td, th, dt, dd, label, strong, em, small, summary, button, input, select, textarea, figcaption, blockquote) { font-family: inherit; }

/*
 * Smart Drive Elements — stylesheet.
 * Tokens: live theme --main-color (#09934c, darkened to #087a3e for text/buttons so white-on-green passes AA), --second-color (#363e42), DM Sans.
 * Everything is scoped under .asu-el / .asu-doc / .asu-layout__* so it cannot leak into other pages.
 */

@font-face {
  font-family: "Caveat";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("fonts/caveat-latin.woff2") format("woff2");
}

.asu-el, .asu-doc, .asu-layout__main, .asu-layout__side, .asu-split__col {
  --asu-brand: var(--main-color, #09934c);
  --asu-main: #087a3e;
  --asu-accent: #d9480f;
  --asu-ink: #1f2a2e;
  --asu-text: #363e42;
  --asu-muted: #55646a;
  --asu-line: #d7e4dc;
  --asu-tint: #eef7f2;
  --asu-white: #fff;
  --asu-green: #1e9e5e;
  --asu-teal: #0e7490;
  --asu-radius: 10px;
  --asu-shadow: 0 1px 2px rgba(31, 42, 46, .06), 0 6px 18px rgba(31, 42, 46, .06);
  --asu-script: "Caveat", "Segoe Script", "Bradley Hand", cursive;
}

.asu-el, .asu-el *, .asu-el *::before, .asu-el *::after, .asu-doc, .asu-doc * { box-sizing: border-box; }
.asu-el { color: var(--asu-text); font-size: 15px; line-height: 1.6; margin: 0 0 40px; }
.asu-el h1, .asu-el h2, .asu-el h3, .asu-el h4 { color: var(--asu-ink); font-weight: 600; line-height: 1.25; margin: 0 0 12px; padding: 0; text-transform: none; }
.asu-el h2 { font-size: 28px; }
.asu-el h3 { font-size: 18px; }
.asu-el p { margin: 0 0 12px; }
:where(.asu-el) ul, :where(.asu-el) ol { list-style: none; margin: 0; padding: 0; }
:where(.asu-el) li { margin: 0; padding: 0; }
ul.asu-el, ol.asu-el { list-style: none; padding: 0; }
ul.asu-el > li::marker, .asu-el li::marker { content: none; }
.asu-el img { max-width: 100%; height: auto; display: block; }
.asu-el a { text-decoration: none; }
.asu-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.asu-ico { width: 24px; height: 24px; flex: none; }
.asu-wrap { width: 100%; max-width: 1170px; margin: 0 auto; padding: 0 15px; }
.asu-eyebrow { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--asu-muted); margin: 0 0 8px; }
.asu-section__intro { color: var(--asu-muted); margin: -4px 0 20px; }
.asu-ph { display: grid; place-items: center; width: 100%; min-height: 200px; border: 2px dashed var(--asu-line); border-radius: var(--asu-radius); background: var(--asu-tint); color: var(--asu-muted); font-size: 13px; }

/* Buttons */
.asu-el .asu-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; border: 2px solid transparent; border-radius: 6px; font-size: 14px; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.asu-el .asu-btn__ico { width: 16px; height: 16px; }
.asu-el .asu-btn--red { background: var(--asu-accent); color: #fff; }
.asu-el .asu-btn--red:hover { background: #b32224; color: #fff; }
.asu-el .asu-btn--outline { background: #fff; color: var(--asu-main); border-color: var(--asu-main); }
.asu-el .asu-btn--outline:hover { background: var(--asu-main); color: #fff; }
.asu-el .asu-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .85); }
.asu-el .asu-btn--ghost:hover { background: #fff; color: var(--asu-main); }
.asu-el .asu-btn--light { background: #fff; color: var(--asu-main); }
.asu-el .asu-btn--light:hover { background: var(--asu-tint); }
.asu-el .asu-btn:focus-visible, .asu-el a:focus-visible, .asu-el summary:focus-visible { outline: 3px solid #f5b800; outline-offset: 2px; }
.asu-el .asu-btn[disabled] { opacity: 1; cursor: default; }
.asu-el .asu-link { display: inline-flex; align-items: center; gap: 6px; color: var(--asu-main); font-weight: 600; }
.asu-el .asu-link .asu-ico { width: 16px; height: 16px; }

/* Script note */
.asu-el.asu-note { position: relative; display: inline-block; margin: 0; color: #fff; font-family: var(--asu-script); font-size: 30px; line-height: 1.05; transform: rotate(-4deg); }
.asu-el.asu-note span { display: block; max-width: 11em; }
.asu-note__arrow { position: absolute; left: 100%; top: 70%; width: 60px; height: 40px; color: inherit; }
.asu-note__arrow--down { transform: rotate(35deg); }

/* Hero */
.asu-el.asu-hero { position: relative; margin: 0 0 32px; background: var(--asu-main); color: #fff; overflow: hidden; isolation: isolate; }
.asu-hero__media { position: absolute; inset: 0; z-index: -1; }
.asu-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.asu-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--asu-main) 0%, var(--asu-main) 38%, rgba(8, 122, 62, .55) 62%, rgba(8, 122, 62, .12) 100%); }
.asu-hero__in { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 24px; align-items: center; min-height: 340px; padding-top: 44px; padding-bottom: 52px; }
.asu-el.asu-hero h1 { color: #fff; font-size: 40px; margin: 8px 0 14px; max-width: 12em; }
.asu-hero__crumbs ol { display: flex; flex-wrap: wrap; gap: 4px; font-size: 12px; opacity: .92; }
.asu-hero__crumbs li + li::before { content: "›"; margin-right: 4px; }
.asu-el.asu-hero a { color: #fff; }
.asu-hero__lead { max-width: 34em; font-size: 15px; opacity: .95; }
.asu-hero__ticks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 14px 0 20px; font-size: 13px; }
.asu-hero__ticks li { display: flex; gap: 8px; align-items: center; }
.asu-hero__ticks .asu-ico { width: 18px; height: 18px; color: #fff; }
.asu-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.asu-hero__art { position: relative; align-self: stretch; min-height: 160px; }
.asu-hero__note { position: absolute; left: 4%; top: 6%; font-size: 34px; }
.asu-hero__badge { position: absolute; right: 0; bottom: 0; display: flex; gap: 10px; align-items: center; background: #fff; color: var(--asu-ink); border-radius: var(--asu-radius); padding: 10px 14px; box-shadow: var(--asu-shadow); font-size: 12px; }
.asu-hero__badge .asu-ico { color: #f5a700; fill: #f5a700; }
.asu-hero__badge strong { display: block; font-size: 13px; }
.asu-btn__ico--lead { order: -1; }

/* USP strip */
.asu-el.asu-usps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.asu-usp { display: flex; gap: 16px; align-items: center; padding: 20px 22px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); box-shadow: var(--asu-shadow); }
.asu-usp__ico { width: 34px; height: 34px; color: var(--asu-accent); }
.asu-usp__label { display: block; font-size: 11px; font-weight: 600; color: var(--asu-accent); }
.asu-usp strong { display: block; font-size: 16px; color: var(--asu-ink); line-height: 1.25; }
.asu-usp small { display: block; font-size: 11px; color: var(--asu-muted); }

/* Section, intro, features */
.asu-el.asu-section { padding: 8px 0; }
.asu-el.asu-section--tint { background: var(--asu-tint); padding: 28px 24px; border-radius: var(--asu-radius); }
.asu-el.asu-section .asu-section__title { margin-bottom: 10px; }
.asu-el.asu-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.asu-intro__media { position: relative; margin: 0; }
.asu-intro__media img, .asu-intro__media .asu-ph { border-radius: var(--asu-radius); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.asu-el .asu-intro__note { position: absolute; right: 14px; top: 14px; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .55); }
.asu-icon-features, .asu-el.asu-icon-features { display: flex; flex-wrap: wrap; gap: 14px 28px; margin-top: 14px; font-size: 13px; font-weight: 600; color: var(--asu-ink); }
.asu-icon-features li { display: flex; align-items: center; gap: 8px; }
.asu-icon-features .asu-ico { color: var(--asu-main); }

/* TOC */
.asu-el.asu-toc--sidebar { background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 22px 24px; }
.asu-el.asu-toc .asu-toc__title { font-size: 14px; margin: 0 0 10px; }
.asu-toc--sidebar ul { display: grid; gap: 2px; }
.asu-toc--sidebar a { display: flex; align-items: center; gap: 6px; padding: 9px 12px; border-radius: 6px; font-size: 13px; color: var(--asu-main); }
.asu-toc--sidebar a:hover, .asu-toc--sidebar a.is-active { background: var(--asu-tint); }
.asu-toc__ico { width: 14px; height: 14px; }
.asu-el.asu-toc--inline { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; }
.asu-toc--inline .asu-toc__title { margin: 0 6px 0 0; font-size: 18px; flex-basis: 100%; }
.asu-toc--inline ul { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 14px; }
.asu-toc--inline li + li::before { content: "•"; margin: 0 10px; color: var(--asu-muted); }
.asu-toc--inline a { color: var(--asu-main); }

/* Cards (sidebar) */
.asu-el.asu-card { background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 26px; box-shadow: var(--asu-shadow); }
.asu-el.asu-form h3 { font-size: 17px; }
.asu-form p { font-size: 13px; color: var(--asu-muted); }
.asu-form__body { display: grid; gap: 14px; }
.asu-el .asu-btn, .asu-form input, .asu-form select, .asu-form button { font-family: inherit; }
.asu-form input, .asu-form select { width: 100%; height: 42px; padding: 0 12px; border: 1px solid #c9d9cf; border-radius: 6px; background: #fff; font: inherit; font-size: 13px; color: var(--asu-text); }
.asu-form .asu-btn { width: 100%; }
.asu-form .asu-form__demo { margin: 0; font-size: 11px; color: var(--asu-muted); }
.asu-el.asu-form--navy { background: var(--asu-main); border-color: var(--asu-main); color: #fff; }
.asu-form--navy h3, .asu-form--navy p, .asu-form--navy .asu-form__demo { color: #fff; }
.asu-form select:disabled, .asu-form input:disabled { opacity: 1; -webkit-text-fill-color: #55646a; background: #fff; }
.asu-el.asu-side-cta h3 { color: var(--asu-accent); }
.asu-el.asu-help .asu-help__phone { display: flex; align-items: center; gap: 10px; font-size: 20px; font-weight: 600; color: var(--asu-main); margin-bottom: 8px; }
.asu-help ul { font-size: 13px; color: var(--asu-muted); }
.asu-el.asu-image-card { position: relative; padding: 0; overflow: hidden; min-height: 200px; display: grid; }
.asu-image-card > img, .asu-image-card > .asu-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.asu-image-card__over { position: relative; align-self: end; padding: 16px; background: linear-gradient(0deg, rgba(8, 122, 62, .8), rgba(8, 122, 62, 0)); display: grid; gap: 10px; justify-items: stretch; }
.asu-el.asu-image-card .asu-note { justify-self: start; }
.asu-image-card .asu-btn { width: 100%; }
.asu-el.asu-links h3 { margin-bottom: 8px; }
.asu-links li { display: flex; align-items: center; gap: 12px; padding: 15px 0; border-top: 1px solid var(--asu-line); font-size: 14px; }
.asu-links li:first-child { border-top: 0; }
.asu-links__ico { width: 20px; height: 20px; color: var(--asu-main); }
.asu-links li a { margin-left: auto; display: inline-flex; gap: 4px; align-items: center; color: var(--asu-main); font-size: 13px; }
.asu-links__arrow { width: 14px; height: 14px; }

/* FAQ */
.asu-el.asu-faq h2 { margin-bottom: 8px; }
.asu-faq__list { display: grid; grid-template-columns: 1fr; gap: 0 28px; }
.asu-faq--cols-2 .asu-faq__list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.asu-faq__item { border-bottom: 1px solid var(--asu-line); }
.asu-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 0; font-size: 14px; font-weight: 500; color: var(--asu-ink); cursor: pointer; list-style: none; }
.asu-faq__item summary::-webkit-details-marker { display: none; }
.asu-faq__plus { width: 18px; height: 18px; color: var(--asu-main); transition: transform .2s; }
.asu-faq__item[open] .asu-faq__plus { transform: rotate(45deg); }
.asu-faq__a { padding: 0 0 20px; font-size: 14px; color: var(--asu-muted); }

/* Prices */
.asu-prices__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.asu-price { display: flex; flex-direction: column; align-items: center; text-align: center; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 20px 14px; box-shadow: var(--asu-shadow); }
.asu-price__ico { width: 34px; height: 34px; color: var(--asu-main); margin-bottom: 4px; }
.asu-el .asu-price h3 { font-size: 15px; margin-bottom: 4px; }
.asu-price__amt { font-size: 34px; font-weight: 700; color: var(--asu-ink); line-height: 1.1; margin: 0; }
.asu-price__unit { font-size: 12px; color: var(--asu-muted); margin: 0 0 8px; }
.asu-price__note { font-size: 12px; color: var(--asu-muted); }
.asu-price .asu-btn { margin-top: auto; width: 100%; font-size: 13px; min-height: 40px; }

/* Data table */
.asu-el.asu-table { margin: 0 0 24px; }
.asu-el.asu-table figcaption { font-size: 18px; font-weight: 600; color: var(--asu-ink); margin: 0 0 10px; }
.asu-table__scroll { overflow-x: auto; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); background: #fff; }
.asu-el.asu-table table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14px; }
.asu-el.asu-table th, .asu-el.asu-table td { padding: 14px 20px; border: 0; border-bottom: 1px solid var(--asu-line); text-align: left; background: transparent; }
.asu-el.asu-table thead th { background: var(--asu-tint); color: var(--asu-ink); font-weight: 600; font-size: 13px; }
.asu-el.asu-table tbody th { font-weight: 600; color: var(--asu-ink); }
.asu-el.asu-table tbody tr:last-child th, .asu-el.asu-table tbody tr:last-child td { border-bottom: 0; }
.asu-table__note { margin: 8px 0 0; font-size: 12px; color: var(--asu-muted); }
/* zebra: every second body row is tinted so a long table can be followed across */
.asu-el.asu-table tbody tr:nth-child(even) th, .asu-el.asu-table tbody tr:nth-child(even) td { background: #eef6f1; }

/* Proof */
.asu-el.asu-quote-banner { display: grid; grid-template-columns: 210px minmax(0, 1fr); align-items: stretch; margin: 0 0 32px; background: var(--asu-tint); border-radius: var(--asu-radius); overflow: hidden; }
.asu-quote-banner img, .asu-quote-banner .asu-ph { width: 100%; height: 100%; min-height: 120px; object-fit: cover; border-radius: 0; }
.asu-quote-banner blockquote { position: relative; margin: 0; padding: 32px 36px 32px 76px; border: 0; background: none; font-style: normal; text-align: left; max-width: none; font-size: 22px; line-height: 1.4; font-weight: 500; color: var(--asu-main); }
.asu-quote-banner blockquote::before, .asu-quote-banner blockquote::after { content: none; }
.asu-quote-banner blockquote p { margin: 0; }
.asu-quote-banner__mark { position: absolute; left: 32px; top: 34px; width: 28px; height: 28px; color: var(--asu-main); fill: var(--asu-main); }
.asu-el.asu-quote-card { margin: 0; }
.asu-quote-card blockquote { margin: 8px 0 12px; padding: 0; border: 0; background: none; font-size: 14px; line-height: 1.55; font-style: normal; text-align: left; max-width: none; }
.asu-quote-card blockquote::before, .asu-quote-card blockquote::after { content: none; }
.asu-quote-card blockquote p { margin: 0; }
.asu-quote-card figcaption strong { display: block; font-size: 14px; color: var(--asu-ink); }
.asu-quote-card figcaption span { font-size: 12px; color: var(--asu-muted); }
.asu-quote-card__mark { width: 26px; height: 26px; color: var(--asu-main); fill: var(--asu-main); }
.asu-stars { display: flex; gap: 2px; color: #f5a700; }
.asu-stars .asu-ico { width: 18px; height: 18px; fill: #f5a700; }
.asu-el.asu-reviews header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.asu-reviews header h2 { margin: 0; }
.asu-reviews header .asu-section__intro { margin: 2px 0 0; }
.asu-reviews ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-el.asu-why h2 { margin-bottom: 14px; }
.asu-why ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.asu-why.asu-cols-3 ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asu-why li { text-align: center; padding: 28px 22px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-why__ico { width: 34px; height: 34px; color: var(--asu-main); margin: 0 auto 8px; }
.asu-el .asu-why h3 { font-size: 15px; margin-bottom: 6px; }
.asu-why p { margin: 0; font-size: 13px; color: var(--asu-muted); }
.asu-why--divided ul { gap: 0; background: var(--asu-tint); border-radius: var(--asu-radius); overflow: hidden; }
.asu-why--divided li { background: transparent; border: 0; border-radius: 0; border-left: 1px solid var(--asu-line); }
.asu-why--divided li:first-child { border-left: 0; }

/* CTA banner */
.asu-el.asu-cta { position: relative; display: flex; align-items: center; gap: 26px; flex-wrap: wrap; background: var(--asu-main); color: #fff; border-radius: var(--asu-radius); padding: 40px 44px; overflow: hidden; }
.asu-cta__copy { flex: 1 1 320px; }
.asu-el.asu-cta h2 { color: #fff; font-size: 24px; margin-bottom: 6px; }
.asu-el.asu-cta p { color: rgba(255, 255, 255, .92); margin: 0; }
.asu-cta__btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.asu-cta__icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 8px; background: rgba(255, 255, 255, .12); }
.asu-cta__icon .asu-ico { width: 30px; height: 30px; }
.asu-cta__car { opacity: .35; }
.asu-cta__car .asu-ico { width: 110px; height: 80px; }
.asu-cta__photo { flex: 0 0 200px; align-self: flex-end; margin: -40px -44px -40px 0; }
.asu-cta__photo img, .asu-cta__photo .asu-ph { height: 210px; width: 100%; object-fit: cover; border-radius: 0; }
.asu-el .asu-cta__note { position: absolute; right: 240px; top: 36px; font-size: 24px; }

/* Stats */
.asu-el.asu-stats { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.asu-stats.asu-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asu-stats.asu-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.asu-stats.asu-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.asu-stats li { padding: 20px 22px; background: #fff; border: 1px solid var(--asu-line); border-left: 3px solid var(--asu-main); border-radius: 8px; }
.asu-stats strong { display: block; font-size: 24px; line-height: 1.15; font-weight: 700; color: var(--asu-main); }
.asu-stats span { display: block; font-size: 12px; color: var(--asu-muted); margin-top: 2px; }
.asu-stats small { display: block; font-size: 11px; color: var(--asu-muted); }

/* Report header, gov quote, map */
.asu-el.asu-report { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 24px; align-items: start; }
.asu-report h2 { margin-bottom: 4px; }
.asu-report__sub { font-weight: 600; color: var(--asu-main); }
.asu-report figure { margin: 0; }
.asu-report img, .asu-report .asu-ph { width: 100%; border-radius: var(--asu-radius); aspect-ratio: 16 / 10; object-fit: cover; }
.asu-report figcaption { font-size: 12px; color: var(--asu-muted); margin-top: 6px; }
.asu-el.asu-gov { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; background: var(--asu-tint); border-radius: var(--asu-radius); padding: 20px 26px; margin: 0 0 24px; }
.asu-gov__mark { color: var(--asu-main); fill: var(--asu-main); width: 22px; height: 22px; }
.asu-gov blockquote { flex: 1 1 240px; margin: 0; padding: 0; border: 0; background: none; font-size: 14px; font-style: normal; text-align: left; max-width: none; }
.asu-gov blockquote::before, .asu-gov blockquote::after { content: none; }
.asu-gov blockquote p { margin: 0; }
.asu-gov figcaption { flex-basis: 100%; padding-left: 36px; font-size: 12px; color: var(--asu-muted); margin-top: -6px; }
.asu-el.asu-map { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; align-items: center; }
.asu-map__img { position: relative; }
.asu-map__img img, .asu-map__img .asu-ph { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.asu-map__pin { position: absolute; left: 50%; top: 45%; transform: translate(-50%, -50%); color: var(--asu-accent); }
.asu-map__pin .asu-ico { width: 34px; height: 34px; fill: var(--asu-accent); stroke: #fff; }
.asu-map__copy h3 { font-size: 16px; }
.asu-map__copy p { font-size: 13px; color: var(--asu-muted); }

/* Steps */
.asu-el.asu-steps h2 { margin-bottom: 14px; }
.asu-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-steps li { padding: 24px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-steps__ico { width: 32px; height: 32px; color: var(--asu-main); margin-bottom: 6px; }
.asu-el .asu-steps h3 { font-size: 15px; }
.asu-steps h3 span { color: var(--asu-accent); }
.asu-steps p { margin: 0; font-size: 13px; color: var(--asu-muted); }
.asu-steps-n__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; }
.asu-steps-n figure { position: relative; margin: 0; }
.asu-steps-n img, .asu-steps-n .asu-ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--asu-radius); }
.asu-steps-n figure .asu-note { position: absolute; left: 14px; bottom: 14px; z-index: 1; color: #fff; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); }
.asu-steps-n ol { counter-reset: s; display: grid; gap: 12px; margin-bottom: 16px; }
.asu-steps-n li { counter-increment: s; display: flex; gap: 12px; align-items: center; font-weight: 500; color: var(--asu-ink); }
.asu-steps-n li::before { content: counter(s); display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--asu-main); color: #fff; font-size: 13px; font-weight: 600; }

/* People */
.asu-el.asu-badges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.asu-badge { display: flex; gap: 20px; align-items: center; padding: 16px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-badge__disc { display: grid; place-items: center; flex: none; width: 64px; height: 64px; border-radius: 50%; color: #fff; background: var(--asu-green); box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--asu-green); }
.asu-badge--pink .asu-badge__disc { background: var(--asu-teal); box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--asu-teal); }
.asu-badge__disc .asu-ico { width: 32px; height: 32px; }
.asu-el .asu-badge h3 { font-size: 15px; margin-bottom: 2px; }
.asu-badge p { margin: 0; font-size: 13px; color: var(--asu-muted); }
.asu-el.asu-ticks h3 { font-size: 15px; margin-bottom: 8px; }
.asu-ticks ul { display: grid; gap: 8px; }
.asu-ticks.asu-cols-2 ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.asu-ticks li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.asu-ticks .asu-ico { width: 20px; height: 20px; color: var(--asu-green); margin-top: 2px; }

/* Hours chips */
.asu-el.asu-hours header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.asu-hours header h2 { margin: 0; }
.asu-hours header .asu-section__intro { margin: 2px 0 0; }
.asu-hours ul { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.asu-hours li { text-align: center; padding: 18px 8px; background: #fff; border: 1px solid var(--asu-line); border-radius: 8px; }
.asu-hours strong { display: block; font-size: 17px; color: var(--asu-main); }
.asu-hours span { display: block; font-size: 11px; color: var(--asu-muted); }

/* Road tiles, service tiles, area cards, strip */
.asu-el.asu-tiles h2 { margin-bottom: 6px; }
.asu-tiles ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.asu-tiles.asu-cols-5 ul { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.asu-tiles.asu-cols-3 ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asu-tiles li { display: flex; gap: 14px; align-items: flex-start; padding: 20px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-tiles__ico { width: 28px; height: 28px; color: var(--asu-main); }
.asu-el .asu-tiles h3 { font-size: 14px; margin-bottom: 2px; }
.asu-tiles p { margin: 0; font-size: 12px; color: var(--asu-muted); }
.asu-el.asu-svc h2 { font-size: 20px; margin-bottom: 12px; }
.asu-svc ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.asu-svc a { display: flex; gap: 10px; align-items: center; height: 100%; padding: 18px 20px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); color: var(--asu-ink); }
.asu-svc a:hover { border-color: var(--asu-main); }
.asu-svc__ico { width: 26px; height: 26px; color: var(--asu-main); }
.asu-svc strong { display: block; font-size: 13px; line-height: 1.25; }
.asu-svc small { display: block; font-size: 11px; color: var(--asu-muted); }
.asu-areas ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.asu-areas a { display: block; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); overflow: hidden; color: var(--asu-ink); }
.asu-areas img, .asu-areas .asu-ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; min-height: 0; }
.asu-areas strong { display: block; padding: 16px 18px 0; font-size: 14px; }
.asu-areas span { display: flex; align-items: center; gap: 4px; padding: 6px 18px 18px; font-size: 12px; color: var(--asu-main); }
.asu-areas span .asu-ico { width: 14px; height: 14px; }
.asu-el.asu-strip { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; background: var(--asu-tint); border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 24px 32px; }
.asu-strip > div { flex: 1 1 260px; }
.asu-el.asu-strip h3 { margin: 0; color: var(--asu-main); }
.asu-strip p { margin: 0; font-size: 13px; color: var(--asu-muted); }
.asu-el.asu-strip .asu-strip__phone { display: inline-flex; gap: 8px; align-items: center; font-size: 20px; font-weight: 600; color: var(--asu-accent); }

/* Layout */
.asu-el.asu-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 3fr); gap: 32px; align-items: start; }
.asu-layout__main > .asu-el:last-child, .asu-layout__side > .asu-el:last-child { margin-bottom: 0; }
.asu-layout__side { display: grid; gap: 18px; position: sticky; top: calc(var(--asu-hdr, 0px) + 16px); align-content: start; }
.asu-layout__side > .asu-el { margin: 0; }
.asu-el.asu-split { display: grid; gap: 28px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.asu-split--3-2 { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.asu-split--2-3 { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
.asu-split--center { align-items: center; }
.asu-split--start { align-items: start; }
.asu-split__col > .asu-el:last-child { margin-bottom: 0; }
.asu-split__col img { border-radius: var(--asu-radius); width: 100%; height: auto; }

/* Gallery (/elements/) */
.asu-doc { margin: 0 0 56px; padding-bottom: 12px; border-bottom: 1px solid var(--asu-line); }
.asu-doc__head h3 { font-size: 20px; margin: 0 0 6px; color: var(--asu-ink); }
.asu-doc__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; margin: 0 0 8px; font-size: 12px; color: var(--asu-muted); }
.asu-doc__meta code, .asu-doc__code code { background: var(--asu-tint); color: var(--asu-main); padding: 2px 8px; border-radius: 4px; font-size: 12px; }
.asu-doc__desc { max-width: 60em; font-size: 14px; color: var(--asu-muted); }
.asu-doc__stage { margin: 14px 0; padding: 22px; background: #f8fbf9; border: 1px dashed #c3d8ca; border-radius: var(--asu-radius); overflow: hidden; }
.asu-doc__stage > .asu-el:last-child { margin-bottom: 0; }
.asu-doc__code summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--asu-main); }
.asu-doc__code pre { margin: 10px 0 0; padding: 14px 16px; background: var(--asu-ink); color: #d9eee2; border-radius: 8px; overflow-x: auto; font-size: 12px; line-height: 1.6; white-space: pre; }
.asu-notice { padding: 10px 14px; border: 1px dashed #d9480f; background: #fff3ec; border-radius: 6px; font-size: 13px; }

/* Responsive */
@media (max-width: 991px) {
  .asu-el.asu-layout { grid-template-columns: minmax(0, 1fr); }
  .asu-layout__side { position: static; }
  .asu-el.asu-usps, .asu-prices__grid, .asu-why ul, .asu-tiles ul, .asu-areas ul, .asu-el.asu-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asu-stats.asu-cols-3, .asu-stats.asu-cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asu-hours ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .asu-svc ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .asu-el.asu-intro, .asu-el.asu-report, .asu-el.asu-split, .asu-steps-n__grid { grid-template-columns: minmax(0, 1fr); }
  .asu-split--3-2, .asu-split--2-3 { grid-template-columns: minmax(0, 1fr); }
  .asu-hero__in { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .asu-hero__media::after { background: linear-gradient(180deg, rgba(8, 122, 62, .92), rgba(8, 122, 62, .75)); }
  .asu-hero__art { min-height: 0; display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
  .asu-hero__art .asu-hero__note, .asu-hero__badge { position: static; }
  .asu-reviews ul, .asu-steps ol { grid-template-columns: minmax(0, 1fr); }
  .asu-why--divided li { border-left: 0; border-top: 1px solid var(--asu-line); }
  .asu-why--divided li:first-child { border-top: 0; }
}
@media (max-width: 767px) {
  .asu-el.asu-hero h1 { font-size: 30px; }
  .asu-hero__ticks, .asu-faq--cols-2 .asu-faq__list, .asu-ticks.asu-cols-2 ul, .asu-el.asu-badges { grid-template-columns: minmax(0, 1fr); }
  .asu-el.asu-quote-banner, .asu-el.asu-map { grid-template-columns: minmax(0, 1fr); }
  .asu-quote-banner blockquote { font-size: 18px; padding: 24px 22px 24px 62px; }
  .asu-cta__photo, .asu-el .asu-cta__note { display: none; }
  .asu-el.asu-cta { padding: 32px 26px; }
}
@media (max-width: 575px) {
  .asu-el.asu-usps, .asu-prices__grid, .asu-why ul, .asu-tiles ul, .asu-areas ul, .asu-svc ul { grid-template-columns: minmax(0, 1fr); }
  .asu-hours ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asu-el.asu-stats, .asu-stats.asu-cols-3, .asu-stats.asu-cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asu-el.asu-note { font-size: 26px; }
  .asu-doc__stage { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .asu-el * { transition: none !important; }
}

/* Gallery page chrome */
.asu-gallery .asu-gallery__group { margin: 48px 0 16px; padding-bottom: 8px; border-bottom: 3px solid var(--asu-main); font-size: 26px; }
.asu-gallery > .asu-gallery__group:first-of-type { margin-top: 24px; }
.asu-gallery__tokens { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 0; font-size: 13px; }
.asu-gallery__tokens li { display: flex; align-items: center; gap: 8px; }
.asu-gallery__tokens span { width: 28px; height: 28px; border-radius: 6px; display: inline-block; }
.asu-gallery__jump ul { display: flex; flex-wrap: wrap; gap: 8px; }
.asu-gallery__jump a { display: inline-block; padding: 6px 14px; border: 1px solid var(--asu-line); border-radius: 999px; background: #fff; color: var(--asu-main); font-size: 13px; font-weight: 600; }
.asu-gallery__jump a:hover { background: var(--asu-tint); }
.asu-gallery__jump span { color: var(--asu-muted); font-weight: 400; }
@media (max-width: 767px) {
  .asu-el h2 { font-size: 24px; }
  .asu-gallery .asu-gallery__group { font-size: 22px; }
  .asu-el.asu-reviews header { flex-wrap: wrap; }
}

/* ═══════════ Part 2 — Sussex SEO element set (01–46), Smart Drive style ═══════════ */
.asu-el { --asu-amber: #f5a700; }
.asu-accent, .asu-type__display b { color: var(--asu-accent); font-weight: inherit; }
.asu-el .asu-btn--blue { background: var(--asu-main); color: #fff; }
.asu-el .asu-btn--blue:hover { background: #01026a; color: #fff; }
.asu-el .asu-btn--dark { background: var(--asu-ink); color: #fff; }
.asu-el .asu-btn--dark:hover { background: #000; color: #fff; }
.asu-el .asu-btn--sm { min-height: 34px; padding: 6px 14px; font-size: 12px; }
.asu-flip { transform: rotate(180deg); }

/* 01 type */
.asu-el.asu-type { padding: 36px 40px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-type p { margin: 0 0 10px; }
.asu-type__display { font-size: 44px; line-height: 1.1; font-weight: 700; color: var(--asu-ink); letter-spacing: -.01em; }
.asu-type__h2 { font-size: 30px; font-weight: 600; color: var(--asu-ink); }
.asu-type__h3 { font-size: 18px; font-weight: 600; color: var(--asu-ink); }
.asu-type__lead { font-size: 18px; color: var(--asu-muted); max-width: 40em; }
.asu-type__body { font-size: 15px; max-width: 42em; }
.asu-type__muted { font-size: 13px; color: var(--asu-muted); }
/* 02 buttons */
.asu-el.asu-buttons { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.asu-buttons .asu-btn--ghost { color: var(--asu-ink); border-color: #bcd2c4; background: #fff; }
.asu-buttons .asu-btn--ghost:hover { background: var(--asu-tint); color: var(--asu-main); }
/* 03 tags */
.asu-el.asu-tags { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.asu-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 14px; border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; }
.asu-tag i { width: 7px; height: 7px; border-radius: 50%; background: var(--asu-green); }
.asu-tag--chip { background: #fff; border: 1px solid var(--asu-line); color: var(--asu-ink); }
.asu-tag--status { background: #e8f6ee; color: #12683c; text-transform: uppercase; letter-spacing: .06em; font-size: 11px; border-radius: 4px; }
.asu-tag--tag { background: var(--asu-tint); color: var(--asu-main); text-transform: uppercase; letter-spacing: .06em; font-size: 11px; border-radius: 4px; }
.asu-tag--token { background: #f3f6f4; border: 1px solid var(--asu-line); color: var(--asu-ink); font-family: ui-monospace, Menlo, Consolas, monospace; border-radius: 6px; }
.asu-tag--fact { background: transparent; border: 1px dashed #aab6dc; color: var(--asu-muted); font-family: ui-monospace, Menlo, Consolas, monospace; border-radius: 6px; }
/* icon tile */
.asu-iconTile { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--asu-tint); color: var(--asu-main); flex: none; }
.asu-iconTile--sm { width: 36px; height: 36px; border-radius: 8px; }
.asu-iconTile .asu-ico { width: 22px; height: 22px; }
/* 04 cards */
.asu-el.asu-fcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-fcards li { padding: 28px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); transition: transform .2s, box-shadow .2s; }
.asu-fcards li:hover { transform: translateY(-3px); box-shadow: var(--asu-shadow); }
.asu-el .asu-fcards h3 { margin: 14px 0 6px; font-size: 17px; }
.asu-fcards p { margin: 0; font-size: 13px; color: var(--asu-muted); }
/* 05 doors */
.asu-el.asu-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-doors a { display: flex; flex-direction: column; height: 100%; padding: 30px; background: #fff; border: 1px solid var(--asu-line); border-top: 3px solid var(--asu-main); border-radius: var(--asu-radius); color: var(--asu-text); transition: box-shadow .2s, transform .2s; }
.asu-doors li:nth-child(2) a { border-top-color: var(--asu-accent); }
.asu-doors a:hover { box-shadow: var(--asu-shadow); transform: translateY(-2px); }
.asu-door__kick { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--asu-muted); }
.asu-el .asu-doors h3 { font-size: 20px; margin: 8px 0 6px; }
.asu-doors p { font-size: 13px; color: var(--asu-muted); }
.asu-door__go { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--asu-main); }
.asu-door__go .asu-ico { width: 14px; height: 14px; transition: transform .2s; }
.asu-doors a:hover .asu-door__go .asu-ico { transform: translateX(4px); }
/* 06 deliverables */
.asu-el.asu-deliver { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 10px 32px; }
.asu-deliver li { display: flex; gap: 16px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--asu-line); }
.asu-deliver li:nth-last-child(-n+2) { border-bottom: 0; }
.asu-deliver strong { display: block; font-size: 14px; color: var(--asu-ink); }
.asu-deliver span { font-size: 12px; color: var(--asu-muted); }
/* 07 pricing card */
.asu-el.asu-pricecard { max-width: 360px; padding: 32px; background: #fff; border: 1px solid var(--asu-line); border-top: 4px solid var(--asu-main); border-radius: var(--asu-radius); box-shadow: var(--asu-shadow); }
.asu-pricecard__top { display: flex; justify-content: space-between; font-size: 12px; color: var(--asu-muted); }
.asu-pricecard__top .asu-eyebrow { margin: 0; color: var(--asu-accent); }
.asu-el .asu-pricecard h3 { font-size: 20px; margin: 8px 0 4px; }
.asu-pricecard__price { margin: 0; display: flex; align-items: baseline; gap: 6px; }
.asu-pricecard__price b { font-size: 40px; font-weight: 700; color: var(--asu-ink); line-height: 1.1; }
.asu-pricecard__price span { color: var(--asu-muted); }
.asu-pricecard__note { font-size: 12px; color: var(--asu-muted); }
.asu-pricecard ul { display: grid; gap: 8px; margin: 14px 0 18px; font-size: 14px; }
.asu-pricecard li { display: flex; gap: 10px; align-items: center; }
.asu-pricecard li .asu-ico { width: 18px; height: 18px; color: var(--asu-green); }
.asu-pricecard .asu-btn { width: 100%; }
/* 08 trust bar */
.asu-el.asu-trustbar { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; padding: 22px 30px; background: var(--asu-tint); border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-trustbar__label { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--asu-muted); }
.asu-trustbar ul { display: flex; flex-wrap: wrap; gap: 8px 26px; flex: 1; justify-content: center; font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; color: var(--asu-muted); }
.asu-trustbar__rating { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--asu-ink); }
.asu-trustbar__rating .asu-stars .asu-ico { width: 14px; height: 14px; }
/* 09 proof */
.asu-el.asu-proof { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 14px 34px; }
.asu-proof li { padding: 28px 0; border-bottom: 1px solid var(--asu-line); }
.asu-proof li:nth-last-child(-n+3) { border-bottom: 0; }
.asu-el .asu-proof h3 { margin: 12px 0 4px; font-size: 15px; }
.asu-proof p { margin: 0; font-size: 13px; color: var(--asu-muted); }
/* 10 review cards */
.asu-el.asu-revcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.asu-rev__q { margin: 10px 0 14px; font-size: 15px; font-weight: 500; color: var(--asu-ink); }
.asu-rev__who { display: flex; gap: 12px; align-items: center; }
.asu-avatar { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--asu-tint); color: var(--asu-main); font-weight: 700; }
.asu-rev__who strong { display: block; font-size: 13px; color: var(--asu-ink); }
.asu-rev__who span { font-size: 12px; color: var(--asu-muted); }
.asu-revcards .asu-stars { display: flex; }
/* 11 expert band */
.asu-el.asu-expert { display: flex; gap: 28px; align-items: center; padding: 32px 36px; background: var(--asu-tint); border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-expert__av { display: grid; place-items: center; flex: none; width: 88px; height: 88px; border-radius: 50%; background: #fff; border: 3px solid #fff; box-shadow: var(--asu-shadow); overflow: hidden; color: var(--asu-main); }
.asu-expert__av img { width: 100%; height: 100%; object-fit: cover; }
.asu-expert__av .asu-ico { width: 40px; height: 40px; }
.asu-el .asu-expert h3 { font-size: 18px; margin-bottom: 4px; }
.asu-expert p { margin: 0 0 10px; font-size: 14px; color: var(--asu-muted); max-width: 46em; }
.asu-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.asu-chips li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; font-size: 12px; font-weight: 600; background: #fff; border: 1px solid var(--asu-line); border-radius: 999px; color: var(--asu-ink); }
.asu-chips i { width: 7px; height: 7px; border-radius: 50%; background: var(--asu-green); }
/* 12 fit cards */
.asu-el.asu-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.asu-fit__col { padding: 28px 30px; background: #fff; border: 1px solid var(--asu-line); border-top: 4px solid var(--asu-green); border-radius: var(--asu-radius); }
.asu-fit__col--no { border-top-color: var(--asu-accent); }
.asu-el .asu-fit h3 { font-size: 16px; margin-bottom: 10px; }
.asu-fit ul { display: grid; gap: 8px; font-size: 14px; }
.asu-fit li { display: flex; gap: 10px; align-items: flex-start; }
.asu-fit .asu-ico { width: 18px; height: 18px; margin-top: 3px; }
.asu-fit__col--yes .asu-ico { color: var(--asu-green); }
.asu-fit__col--no .asu-ico { color: var(--asu-accent); }
/* 13 gate rows */
.asu-el.asu-gate { display: grid; gap: 10px; }
.asu-gate li { display: flex; gap: 16px; align-items: center; padding: 20px 26px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-gate__mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; flex: none; }
.asu-gate__mark .asu-ico { width: 16px; height: 16px; }
.asu-gate .is-yes .asu-gate__mark { background: #e8f6ee; color: var(--asu-green); }
.asu-gate .is-no .asu-gate__mark { background: #fdeee6; color: var(--asu-accent); }
.asu-gate strong { display: block; font-size: 14px; color: var(--asu-ink); }
.asu-gate span { font-size: 13px; color: var(--asu-muted); }
/* 14 stats grid */
.asu-el.asu-statsgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding: 34px 36px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-statsgrid strong { display: block; font-size: 42px; line-height: 1.1; font-weight: 700; color: var(--asu-main); }
.asu-statsgrid b { display: block; margin-top: 6px; font-size: 14px; color: var(--asu-ink); }
.asu-statsgrid span { font-size: 12px; color: var(--asu-muted); }
/* 15 cited line */
.asu-el.asu-cited { margin: 0 0 40px; padding: 28px 32px; background: var(--asu-tint); border-left: 4px solid var(--asu-main); border-radius: 0 var(--asu-radius) var(--asu-radius) 0; }
.asu-cited blockquote { margin: 0 0 12px; padding: 0; border: 0; background: none; font-size: 17px; font-weight: 500; font-style: normal; line-height: 1.5; text-align: left; max-width: none; color: var(--asu-ink); }
.asu-cited blockquote::before, .asu-cited blockquote::after { content: none; }
.asu-cited blockquote p { margin: 0; }
.asu-cited figcaption { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12px; }
.asu-cited__label { color: var(--asu-main); font-weight: 600; }
.asu-cited ul { display: flex; flex-wrap: wrap; gap: 6px; }
.asu-cited li { padding: 5px 13px; background: #fff; border: 1px solid var(--asu-line); border-radius: 999px; }
/* 16 faq tabs */
.asu-faqtabs__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.asu-faqtabs__tabs button { padding: 9px 20px; border: 1px solid var(--asu-line); border-radius: 999px; background: #fff; color: var(--asu-main); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.asu-faqtabs__tabs button.is-active { background: var(--asu-main); color: #fff; border-color: var(--asu-main); }
.asu-faqtabs__list { display: grid; gap: 10px; }
.asu-faqtabs .asu-faq__item { background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 0 26px; }
.asu-faqtabs .asu-faq__item[open] { border-color: var(--asu-main); }
.asu-faqtabs .asu-faq__item[hidden] { display: none; }
/* 17 graph */
.asu-el.asu-graph { margin: 0 0 40px; padding: 24px; background: var(--asu-tint); border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-graph svg { display: block; width: 100%; height: auto; max-height: 320px; }
.asu-graph__edge { stroke: #bcd2c4; stroke-width: 1.5; }
.asu-graph__node { stroke: #fff; stroke-width: 2; }
.asu-graph__hub { fill: var(--asu-amber); stroke: #fff; stroke-width: 3; }
.asu-graph__hubtxt { font: 700 11px Poppins, sans-serif; fill: var(--asu-ink); }
.asu-graph__label { font: 600 11px Poppins, sans-serif; fill: var(--asu-ink); }
.asu-graph__pulse { animation: asu-pulse 3.2s ease-in-out infinite; }
@keyframes asu-pulse { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { transform: translate(var(--asu-px), var(--asu-py)); opacity: 0; } }
/* 18 counters */
.asu-el.asu-counters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-counters li { padding: 32px 18px; text-align: center; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-counters strong { display: block; font-size: 44px; font-weight: 700; color: var(--asu-main); line-height: 1.1; }
.asu-counters span { display: block; font-size: 14px; color: var(--asu-ink); }
.asu-counters small { font-size: 12px; color: var(--asu-muted); }
/* 19/20 slider + timeline */
.asu-el.asu-track { position: relative; }
.asu-track__list { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.asu-track__list::-webkit-scrollbar { display: none; }
.asu-track__list > li { flex: 0 0 min(300px, 82%); scroll-snap-align: start; }
.asu-track__list figure { margin: 0 0 12px; position: relative; }
.asu-track__list figure img, .asu-track__list figure .asu-ph { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--asu-radius); min-height: 0; }
.asu-track__list figcaption { position: absolute; left: 12px; bottom: 12px; padding: 6px 12px; background: rgba(31, 42, 46, .8); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-radius: 4px; }
.asu-slide__topic { display: inline-block; border-top: 3px solid var(--asu-accent); padding-top: 8px; font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--asu-main); }
.asu-el .asu-track h3 { margin: 6px 0; font-size: 17px; }
.asu-track p { margin: 0 0 6px; font-size: 13px; color: var(--asu-muted); }
.asu-track small { font-size: 12px; color: var(--asu-muted); }
.asu-track__nav { display: flex; gap: 8px; justify-content: flex-end; margin-top: 12px; }
.asu-track__nav button { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--asu-line); border-radius: 8px; background: #fff; color: var(--asu-main); cursor: pointer; }
.asu-track__nav button:disabled { opacity: .4; cursor: default; }
.asu-track__nav .asu-ico { width: 18px; height: 18px; }
.asu-timeline .asu-track__list > li { position: relative; }
.asu-timeline .asu-tl__dot { position: relative; display: block; margin: 4px 0 8px; height: 14px; }
.asu-timeline .asu-tl__dot::before { content: ""; position: absolute; left: 0; top: 1px; width: 12px; height: 12px; border-radius: 50%; background: var(--asu-amber); z-index: 1; }
.asu-timeline .asu-tl__dot::after { content: ""; position: absolute; left: 0; right: -16px; top: 6px; height: 2px; background: var(--asu-line); }
.asu-tl__year { display: block; font-size: 12px; font-weight: 700; color: var(--asu-accent); letter-spacing: .06em; }
/* 21 vertical timeline */
.asu-el.asu-vtl { position: relative; padding: 8px 0 8px 30px; }
.asu-vtl::before { content: ""; position: absolute; left: 6px; top: 12px; bottom: 12px; width: 2px; background: var(--asu-line); }
.asu-vtl li { position: relative; padding-bottom: 22px; }
.asu-vtl li:last-child { padding-bottom: 0; }
.asu-vtl .asu-tl__dot { position: absolute; left: -30px; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: var(--asu-amber); border: 3px solid #fff; box-shadow: 0 0 0 1px var(--asu-line); }
.asu-el .asu-vtl h3 { margin: 2px 0 4px; font-size: 17px; }
.asu-vtl p { margin: 0; font-size: 14px; color: var(--asu-muted); max-width: 40em; }
/* 25 tldr */
.asu-el.asu-tldr { padding: 26px 32px; background: var(--asu-tint); border-left: 4px solid var(--asu-green); border-radius: 0 var(--asu-radius) var(--asu-radius) 0; }
.asu-tldr__label { margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--asu-main); }
.asu-tldr ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; font-size: 14px; }
.asu-tldr li { display: flex; gap: 10px; align-items: flex-start; }
.asu-tldr .asu-ico { width: 18px; height: 18px; color: var(--asu-green); margin-top: 3px; }
/* 26 process */
.asu-el.asu-process { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.asu-process li { padding: 26px 24px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-process__n { font-size: 12px; font-weight: 700; color: var(--asu-accent); }
.asu-el .asu-process h3 { margin: 6px 0 4px; font-size: 16px; }
.asu-process p { margin: 0; font-size: 13px; color: var(--asu-muted); }
/* 27 work shown */
.asu-el.asu-work { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-work li { padding: 0 0 26px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); overflow: hidden; }
.asu-work .asu-tag, .asu-work h3, .asu-work p { margin-left: 24px; margin-right: 24px; }
.asu-work .asu-tag { display: inline-flex; }
.asu-el .asu-work h3 { margin-top: 8px; font-size: 16px; }
.asu-work p { margin-bottom: 0; font-size: 13px; color: var(--asu-muted); }
.asu-mock { height: 120px; margin-bottom: 20px; padding: 18px 22px; background: var(--asu-tint); display: grid; align-content: center; gap: 8px; }
.asu-mock svg { width: 100%; height: 100%; }
.asu-mock__row { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 8px; font-size: 11px; color: var(--asu-muted); }
.asu-mock__row i { font-style: normal; }
.asu-mock__row b { display: block; height: 8px; width: var(--w); border-radius: 4px; background: var(--asu-main); }
.asu-mock__row b.is-grey { background: #bcd2c4; }
.asu-mock__l { display: block; height: 8px; border-radius: 4px; background: #c3d8ca; }
.asu-mock__l--a { width: 60%; background: var(--asu-main); }
.asu-mock__l--b { width: 100%; }
.asu-mock__l--c { width: 90%; }
.asu-mock__l--d { width: 70%; }
/* 28 pain grid */
.asu-el.asu-pain { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.asu-pain li { display: flex; gap: 18px; align-items: center; padding: 22px 26px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-pain__x { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 8px; background: #fdeee6; color: var(--asu-accent); }
.asu-pain__x .asu-ico { width: 18px; height: 18px; }
.asu-pain strong { display: block; font-size: 14px; color: var(--asu-ink); }
.asu-pain span { font-size: 13px; color: var(--asu-muted); }
/* 29 pairs */
.asu-el.asu-pairs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.asu-pairs a { display: block; height: 100%; padding: 26px 28px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); color: var(--asu-text); transition: border-color .2s, box-shadow .2s; }
.asu-pairs a:hover { border-color: var(--asu-main); box-shadow: var(--asu-shadow); }
.asu-pairs strong { display: flex; justify-content: space-between; align-items: center; font-size: 15px; color: var(--asu-ink); }
.asu-pairs strong .asu-ico { width: 16px; height: 16px; color: var(--asu-main); }
.asu-pairs span { display: block; margin-top: 6px; font-size: 13px; color: var(--asu-muted); }
/* 30 risk */
.asu-el.asu-risk { display: flex; gap: 20px; align-items: center; padding: 26px 30px; background: #fff; border: 1px solid var(--asu-line); border-left: 4px solid var(--asu-amber); border-radius: 0 var(--asu-radius) var(--asu-radius) 0; }
.asu-risk__ico { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 10px; background: #fff6e0; color: #b57d00; }
.asu-risk p { margin: 0; font-size: 15px; color: var(--asu-ink); }
/* 31 soft cta */
.asu-el.asu-softcta { display: flex; gap: 28px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 30px 36px; background: var(--asu-tint); border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-softcta .asu-eyebrow { color: var(--asu-accent); }
.asu-el .asu-softcta h3 { margin-bottom: 2px; font-size: 18px; }
.asu-softcta p { margin: 0; font-size: 13px; color: var(--asu-muted); }
.asu-softcta__form { display: flex; gap: 10px; flex-wrap: wrap; }
.asu-softcta__form input { height: 44px; min-width: 240px; padding: 0 14px; border: 1px solid #c9d9cf; border-radius: 6px; font: inherit; font-size: 13px; background: #fff; }
.asu-softcta__form input:disabled { -webkit-text-fill-color: #55646a; opacity: 1; }
.asu-softcta__form .asu-btn[disabled] { opacity: 1; }
/* 32 final cta */
.asu-el.asu-finalcta { padding: 60px 36px; text-align: center; background: var(--asu-main); color: #fff; border-radius: var(--asu-radius); }
.asu-el.asu-finalcta h2 { color: #fff; font-size: 30px; margin-bottom: 8px; }
.asu-el.asu-finalcta p { color: rgba(255, 255, 255, .92); }
.asu-finalcta div { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }
/* 33 sticky */
.asu-el.asu-sticky { display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 18px 26px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); box-shadow: var(--asu-shadow); }
.asu-sticky__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--asu-green); flex: none; }
.asu-sticky p { margin: 0; flex: 1 1 260px; font-size: 14px; }
.asu-sticky p span { color: var(--asu-muted); }
.asu-sticky div { display: flex; gap: 10px; }
.asu-el.asu-sticky--fixed { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 9990; margin: 0 auto; max-width: 1100px; }
.asu-sticky--fixed[hidden] { display: none; }
/* 34 crumbs */
.asu-el.asu-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px; padding: 16px 22px; background: var(--asu-tint); border-radius: 8px; font-size: 13px; }
.asu-crumbs li + li::before { content: "/"; margin: 0 8px; color: #8a96b8; }
.asu-crumbs a { color: var(--asu-main); }
.asu-crumbs [aria-current] { color: var(--asu-muted); }
/* 35 trust strip */
.asu-el.asu-tstrip { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 32px; padding: 22px 34px; background: var(--asu-ink); color: #fff; border-radius: var(--asu-radius); font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.asu-tstrip li { display: inline-flex; align-items: center; gap: 8px; }
.asu-tstrip i { width: 8px; height: 8px; border-radius: 50%; background: #4cd18a; }
/* 36 case cards */
.asu-el.asu-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-case { padding: 32px; border-radius: var(--asu-radius); color: #fff; min-height: 250px; display: flex; flex-direction: column; }
.asu-case--red { background: var(--asu-accent); }
.asu-case--blue { background: var(--asu-main); }
.asu-case--green { background: #17835a; }
.asu-case--navy { background: var(--asu-ink); }
.asu-case__kick { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .9; }
.asu-el .asu-case h3 { color: #fff; font-size: 20px; margin: 8px 0 auto; }
.asu-case__stat { margin: 18px 0 0; font-size: 28px; font-weight: 700; font-family: ui-monospace, Menlo, Consolas, monospace; }
.asu-case__lbl { font-size: 12px; opacity: .9; }
/* 37 blog cards */
.asu-el.asu-blogcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.asu-blogcards li { padding: 0; overflow: hidden; }
.asu-blogcards a { display: block; color: var(--asu-text); height: 100%; }
.asu-blogcards img, .asu-blogcards .asu-ph { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0; min-height: 0; }
.asu-blogcards a > div { padding: 22px 24px 28px; }
.asu-el .asu-blogcards h3 { margin: 8px 0 0; font-size: 15px; }
/* 38 prose */
.asu-el.asu-prose { max-width: 760px; padding: 40px 44px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-prose h2 { font-size: 24px; }
.asu-prose .asu-lead { font-size: 18px; color: var(--asu-muted); }
.asu-prose ul { list-style: disc; padding-left: 22px; margin: 0 0 14px; }
.asu-prose ul li { margin: 0 0 6px; padding: 0; }
.asu-prose li::marker { color: var(--asu-accent); }
.asu-prose blockquote { margin: 26px 0; padding: 10px 0 10px 24px; border: 0; border-left: 4px solid var(--asu-main); background: none; font-size: 18px; font-weight: 500; font-style: normal; text-align: left; max-width: none; color: var(--asu-ink); }
.asu-prose blockquote::before, .asu-prose blockquote::after { content: none; }
.asu-prose .asu-callout { padding: 14px 18px; background: var(--asu-tint); border: 1px solid var(--asu-line); border-radius: 8px; font-size: 14px; }
.asu-prose code { padding: 1px 6px; background: var(--asu-tint); border-radius: 4px; font-size: .9em; color: var(--asu-main); }
/* 39 beat */
.asu-el.asu-beat { padding: 36px 40px; max-width: 660px; background: var(--asu-tint); border-radius: var(--asu-radius); }
.asu-beat__line { position: relative; margin: 0 0 18px; padding-top: 16px; font-size: 24px; font-weight: 700; line-height: 1.25; color: var(--asu-ink); }
.asu-beat__line::before { content: ""; position: absolute; left: 0; top: 0; width: 28px; height: 3px; background: var(--asu-accent); }
.asu-beat__line:last-child { margin-bottom: 0; }
/* 40 ladder */
.asu-el.asu-ladder { position: relative; max-width: 580px; padding: 32px 36px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-ladder li { position: relative; display: flex; gap: 18px; align-items: flex-start; padding-bottom: 26px; }
.asu-ladder li:last-child { padding-bottom: 0; }
.asu-ladder li:not(:last-child)::before { content: ""; position: absolute; left: 15px; top: 34px; bottom: 0; width: 2px; background: var(--asu-line); }
.asu-ladder__n { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: 50%; background: #fff; border: 2px solid var(--asu-main); color: var(--asu-main); font-size: 11px; font-weight: 700; }
.asu-ladder .is-goal .asu-ladder__n { background: var(--asu-green); border-color: var(--asu-green); color: #fff; }
.asu-ladder strong { display: block; font-size: 15px; color: var(--asu-ink); }
.asu-ladder span:not(.asu-ladder__n) { font-size: 13px; color: var(--asu-muted); }
/* 41 two-up */
.asu-el.asu-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.asu-two__c { padding: 28px 30px; background: #fff; border: 1px solid var(--asu-line); border-top: 4px solid var(--asu-main); border-radius: var(--asu-radius); }
.asu-two__c--b { border-top-color: var(--asu-accent); }
.asu-el .asu-two h3 { font-size: 18px; margin: 4px 0 6px; }
.asu-two p:last-child { margin: 0; font-size: 14px; color: var(--asu-muted); }
/* 42 steps */
.asu-el.asu-stepsl { position: relative; max-width: 620px; }
.asu-stepsl li { position: relative; display: flex; gap: 16px; padding-bottom: 20px; }
.asu-stepsl li:last-child { padding-bottom: 0; }
.asu-stepsl li:not(:last-child)::before { content: ""; position: absolute; left: 14px; top: 32px; bottom: 2px; width: 2px; background: var(--asu-line); }
.asu-stepsl__n { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 8px; background: var(--asu-main); color: #fff; font-size: 13px; font-weight: 700; }
.asu-stepsl strong { display: block; font-size: 15px; color: var(--asu-ink); }
.asu-stepsl span:not(.asu-stepsl__n) { font-size: 13px; color: var(--asu-muted); }
/* 43 rich faq */
.asu-el.asu-richfaq { max-width: 780px; background: #fff; border: 1px solid var(--asu-main); border-radius: var(--asu-radius); padding: 0 30px; }
.asu-richfaq__a h4 { font-size: 15px; margin: 8px 0; }
.asu-richfaq__a ul { list-style: disc; padding-left: 20px; margin: 0 0 12px; }
.asu-richfaq__a table { width: 100%; border-collapse: collapse; margin: 8px 0 14px; font-size: 13px; }
.asu-richfaq__a th, .asu-richfaq__a td { padding: 12px 16px; border: 1px solid var(--asu-line); text-align: left; }
.asu-richfaq__a th { background: var(--asu-tint); color: var(--asu-ink); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
/* 44 pager */
.asu-el.asu-pager ul { display: flex; gap: 10px; justify-content: center; }
.asu-pager a { display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 8px; border: 1px solid var(--asu-line); border-radius: 8px; background: #fff; color: var(--asu-main); font-size: 14px; font-weight: 600; }
.asu-pager a.is-current { background: var(--asu-main); border-color: var(--asu-main); color: #fff; }
.asu-pager a[aria-disabled="true"] { opacity: .4; pointer-events: none; }
.asu-pager .asu-ico { width: 16px; height: 16px; }
/* 45 form fields */
.asu-el.asu-fields { display: grid; gap: 14px; max-width: 520px; padding: 32px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); }
.asu-fields__two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.asu-fields input, .asu-fields select, .asu-fields textarea { width: 100%; padding: 10px 12px; border: 1px solid #c9d9cf; border-radius: 6px; background: #fff; font: inherit; font-size: 13px; color: var(--asu-text); }
.asu-fields input, .asu-fields select { height: 42px; }
.asu-fields textarea { resize: vertical; min-height: 84px; }
.asu-fields input:focus, .asu-fields select:focus, .asu-fields textarea:focus { outline: 3px solid rgba(8, 122, 62, .25); border-color: var(--asu-main); }
.asu-fields :disabled { opacity: 1; -webkit-text-fill-color: #55646a; }
.asu-fields .asu-btn { width: 100%; }
.asu-fields .asu-form__demo { margin: 0; font-size: 11px; color: var(--asu-muted); }
/* 46 image placeholders */
.asu-el.asu-imgph { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.asu-imgph li { display: grid; place-items: center; min-height: 180px; border-radius: var(--asu-radius); background: linear-gradient(135deg, #d9eee2 0%, #c9d6ff 100%); color: var(--asu-main); font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 13px; }

/* gallery part headings + numbering */
.asu-gallery .asu-gallery__part { margin: 64px 0 8px; padding: 16px 20px; background: var(--asu-main); color: #fff; border-radius: var(--asu-radius); font-size: 22px; border-bottom: 0; }
.asu-gallery .asu-gallery__part small { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; opacity: .9; }
.asu-doc__num { display: inline-grid; place-items: center; min-width: 40px; height: 28px; margin-right: 10px; padding: 0 8px; border-radius: 6px; background: var(--asu-accent); color: #fff; font-size: 13px; font-weight: 700; vertical-align: middle; }

@media (max-width: 991px) {
  .asu-el.asu-fcards, .asu-el.asu-doors, .asu-el.asu-proof, .asu-el.asu-work, .asu-el.asu-pairs, .asu-el.asu-cases, .asu-el.asu-blogcards, .asu-el.asu-counters, .asu-el.asu-process, .asu-el.asu-statsgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asu-proof li:nth-last-child(-n+3) { border-bottom: 1px solid var(--asu-line); }
  .asu-proof li:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 767px) {
  .asu-el.asu-fcards, .asu-el.asu-doors, .asu-el.asu-proof, .asu-el.asu-work, .asu-el.asu-pairs, .asu-el.asu-cases, .asu-el.asu-blogcards, .asu-el.asu-counters, .asu-el.asu-process, .asu-el.asu-statsgrid,
  .asu-el.asu-deliver, .asu-el.asu-revcards, .asu-el.asu-fit, .asu-el.asu-pain, .asu-el.asu-two, .asu-el.asu-imgph, .asu-tldr ul { grid-template-columns: minmax(0, 1fr); }
  .asu-proof li:nth-last-child(-n+2) { border-bottom: 1px solid var(--asu-line); }
  .asu-proof li:last-child, .asu-deliver li:last-child { border-bottom: 0; }
  .asu-deliver li:nth-last-child(2) { border-bottom: 1px solid var(--asu-line); }
  .asu-el.asu-expert { flex-direction: column; text-align: center; }
  .asu-fields__two { grid-template-columns: minmax(0, 1fr); }
  .asu-type__display { font-size: 32px; }
  .asu-el.asu-trustbar { justify-content: center; text-align: center; }
  .asu-el.asu-tstrip { justify-content: flex-start; }
}

/* QA fixes (part 2) */
.asu-counters strong span { display: inline; font-size: inherit; color: inherit; }
.asu-revcards li.asu-card, .asu-blogcards li.asu-card { background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); box-shadow: var(--asu-shadow); }
.asu-revcards li.asu-card { padding: 28px 30px; }
.asu-prose ul li::marker, .asu-richfaq__a ul li::marker { content: normal; color: var(--asu-accent); }
.asu-fields button:disabled { -webkit-text-fill-color: #fff; color: #fff; }

/* Specificity fix: `.asu-el li { padding: 0 }` was beating the single-class padding on these list items */
.asu-el li.asu-case { padding: 32px 32px 30px; }
.asu-el li.asu-badge { padding: 22px 24px; }
.asu-el li.asu-price { padding: 26px 20px; }
.asu-el li.asu-usp { padding: 20px 22px; }
@media (max-width: 575px) { .asu-el li.asu-case { padding: 24px 22px; } }

/* ═══════════ Part 3 — driving-school patterns (47–53). Selectors that style <li> include `li` so the theme-proof block covers them. ═══════════ */

/* 47 hero with postcode search */
.asu-hero--search .asu-hero__in { min-height: 420px; }
.asu-hsearch { max-width: 520px; margin: 22px 0 0; padding: 22px 24px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .35); border-radius: var(--asu-radius); backdrop-filter: blur(2px); }
.asu-hsearch label { display: block; margin: 0 0 10px; font-size: 14px; font-weight: 600; color: #fff; }
.asu-hsearch__row { display: flex; gap: 10px; }
.asu-hsearch input { flex: 1 1 auto; min-width: 0; height: 52px; padding: 0 16px; border: 2px solid #fff; border-radius: 6px; background: #fff; font: inherit; font-size: 15px; color: var(--asu-text); }
.asu-hsearch input:disabled { -webkit-text-fill-color: #55646a; opacity: 1; }
.asu-hsearch input:focus { outline: 3px solid #f5b800; outline-offset: 1px; }
.asu-hsearch .asu-btn { flex: none; min-height: 52px; padding: 0 22px; }
.asu-hsearch .asu-btn[disabled] { opacity: 1; }
.asu-hsearch__note { margin: 12px 0 0; font-size: 12px; color: rgba(255, 255, 255, .92); }
.asu-hsearch__note--demo { opacity: .85; }
.asu-hsearch__note code { background: rgba(255, 255, 255, .18); color: #fff; padding: 1px 6px; border-radius: 4px; }
@media (max-width: 575px) { .asu-hsearch__row { flex-direction: column; } .asu-hsearch .asu-btn { width: 100%; } .asu-hsearch { padding: 18px; } }

/* 48 instructor finder */
.asu-el.asu-finder h2 { margin-bottom: 8px; }
.asu-finder__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 6px 0 22px; }
.asu-finder__toggle { display: inline-flex; padding: 4px; background: var(--asu-tint); border: 1px solid var(--asu-line); border-radius: 999px; }
.asu-finder__toggle button { padding: 9px 22px; border: 0; border-radius: 999px; background: transparent; color: var(--asu-main); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.asu-finder__toggle button.is-active { background: var(--asu-main); color: #fff; }
.asu-finder__toggle button:focus-visible { outline: 3px solid #f5b800; outline-offset: 2px; }
.asu-finder__count { margin: 0; font-size: 13px; color: var(--asu-muted); }
.asu-el.asu-finder ul.asu-finder__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.asu-finder li.asu-instr { display: grid; grid-template-columns: 76px minmax(0, 1fr); grid-template-areas: "av body" "btn btn"; gap: 12px 20px; align-items: center; padding: 24px 26px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); box-shadow: var(--asu-shadow); }
.asu-finder li.asu-instr[hidden] { display: none; }
.asu-instr__av { grid-area: av; display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; overflow: hidden; background: var(--asu-tint); color: var(--asu-main); border: 3px solid #fff; box-shadow: 0 0 0 1px var(--asu-line); }
.asu-instr__av img { width: 100%; height: 100%; object-fit: cover; }
.asu-instr__av .asu-ico { width: 34px; height: 34px; }
.asu-instr__body { grid-area: body; }
.asu-el .asu-instr__body h3 { margin: 0 0 4px; font-size: 17px; }
.asu-instr__car { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 13px; color: var(--asu-muted); }
.asu-instr__car .asu-ico { width: 16px; height: 16px; color: var(--asu-main); }
.asu-el ul.asu-instr__meta { display: flex; flex-wrap: wrap; gap: 8px; }
.asu-instr__rating { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 12px; color: var(--asu-muted); }
.asu-instr__rating .asu-stars .asu-ico { width: 14px; height: 14px; }
.asu-finder li.asu-instr .asu-btn { grid-area: btn; width: 100%; }
@media (max-width: 991px) { .asu-el.asu-finder ul.asu-finder__list { grid-template-columns: minmax(0, 1fr); } }

/* 49 pass wall */
.asu-el.asu-pass h2 { margin-bottom: 8px; }
.asu-el.asu-pass ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.asu-pass li { padding: 24px 22px; background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); box-shadow: var(--asu-shadow); }
.asu-pass__badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #e8f6ee; color: #12683c; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.asu-pass__badge .asu-ico { width: 14px; height: 14px; }
.asu-el .asu-pass h3 { margin: 14px 0 4px; font-size: 17px; }
.asu-pass__faults { margin: 0 0 14px; font-size: 22px; font-weight: 700; color: var(--asu-main); line-height: 1.2; }
.asu-pass dl { display: grid; gap: 8px; margin: 0 0 12px; }
.asu-pass dl div { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; padding-bottom: 8px; border-bottom: 1px solid var(--asu-line); }
.asu-pass dt { color: var(--asu-muted); }
.asu-pass dd { margin: 0; font-weight: 600; color: var(--asu-ink); text-align: right; }
.asu-pass__detail { margin: 0; font-size: 13px; color: var(--asu-muted); }
.asu-pass__note { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0 0; padding: 14px 18px; background: #fff6e0; border: 1px solid #f0d99a; border-radius: 8px; font-size: 13px; color: #5c4400; }
.asu-pass__note .asu-ico { width: 18px; height: 18px; flex: none; margin-top: 1px; color: #b57d00; }
@media (max-width: 991px) { .asu-el.asu-pass ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .asu-el.asu-pass ul { grid-template-columns: minmax(0, 1fr); } }

/* 50 callback form */
.asu-el.asu-cb { max-width: 560px; }
.asu-cb h3 { font-size: 20px; }
.asu-cb > p { font-size: 14px; color: var(--asu-muted); }
.asu-cb__body { display: grid; gap: 14px; margin-top: 8px; }
.asu-cb__two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.asu-cb input[type="text"], .asu-cb input[type="tel"], .asu-cb input[type="email"], .asu-cb select { width: 100%; height: 46px; padding: 0 14px; border: 1px solid #c9d9cf; border-radius: 6px; background: #fff; font: inherit; font-size: 14px; color: var(--asu-text); }
.asu-cb :disabled { opacity: 1; -webkit-text-fill-color: #55646a; }
.asu-cb .asu-btn { width: 100%; }
.asu-cb .asu-btn[disabled] { -webkit-text-fill-color: #fff; }
.asu-cb__gear { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.asu-cb__gear legend { width: 100%; padding: 0; margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--asu-ink); }
.asu-cb__gear label { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border: 1px solid var(--asu-line); border-radius: 999px; background: #fff; font-size: 13px; color: var(--asu-text); cursor: pointer; }
.asu-cb__gear input { width: 16px; height: 16px; accent-color: var(--asu-main); }
.asu-cb__privacy { display: flex; gap: 8px; align-items: center; margin: 0; font-size: 12px; color: var(--asu-muted); }
.asu-cb__privacy .asu-ico { width: 14px; height: 14px; flex: none; }
@media (max-width: 575px) { .asu-cb__two { grid-template-columns: minmax(0, 1fr); } }

/* 51 syllabus */
.asu-el.asu-syl h2 { margin-bottom: 8px; }
.asu-syl__list { display: grid; gap: 12px; }
.asu-syl__item { background: #fff; border: 1px solid var(--asu-line); border-radius: var(--asu-radius); padding: 0 26px; }
.asu-syl__item[open] { border-color: var(--asu-main); }
.asu-syl__item summary { display: flex; align-items: center; gap: 18px; padding: 20px 0; cursor: pointer; list-style: none; }
.asu-syl__item summary::-webkit-details-marker { display: none; }
.asu-syl__n { display: grid; place-items: center; flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--asu-main); color: #fff; font-size: 14px; font-weight: 700; }
.asu-syl__t { flex: 1; }
.asu-syl__t strong { display: block; font-size: 16px; color: var(--asu-ink); }
.asu-syl__t small { display: block; margin-top: 2px; font-size: 13px; color: var(--asu-muted); }
.asu-syl__item[open] .asu-faq__plus { transform: rotate(45deg); }
.asu-el ul.asu-syl__skills { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin: 0; padding: 4px 0 26px 54px; }
.asu-syl__skills li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.asu-syl__skills .asu-ico { width: 18px; height: 18px; margin-top: 3px; color: var(--asu-green); flex: none; }
@media (max-width: 767px) { .asu-el ul.asu-syl__skills { grid-template-columns: minmax(0, 1fr); padding-left: 0; } .asu-syl__item { padding: 0 20px; } }

/* 52 tuition car specs */
.asu-el.asu-specs { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.asu-specs figure { margin: 0; }
.asu-specs figure img, .asu-specs figure .asu-ph { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--asu-radius); }
.asu-el.asu-specs h2 { margin-bottom: 8px; }
.asu-el.asu-specs ul { display: grid; gap: 0; }
.asu-specs li { display: flex; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--asu-line); }
.asu-specs li:last-child { border-bottom: 0; }
.asu-specs__ico { width: 40px; height: 40px; padding: 9px; border-radius: 10px; background: var(--asu-tint); color: var(--asu-main); flex: none; }
.asu-specs strong { display: block; font-size: 15px; color: var(--asu-ink); }
.asu-specs li span { font-size: 13px; color: var(--asu-muted); }
@media (max-width: 991px) { .asu-el.asu-specs { grid-template-columns: minmax(0, 1fr); gap: 24px; } }

/* 53 review result chip */
.asu-rev__result { display: inline-flex; align-items: center; gap: 6px; margin: 12px 0 0; padding: 5px 13px; border-radius: 999px; background: #e8f6ee; color: #12683c; font-size: 12px; font-weight: 700; }
.asu-rev__result .asu-ico { width: 14px; height: 14px; }
.asu-revcards .asu-card > .asu-stars + .asu-rev__result { margin-left: 12px; vertical-align: middle; }
.asu-gallery__part--3 { background: var(--asu-accent); }

/* Spacing pass 2: section intros lost their margin to `.asu-el p`; headings need air before content */
.asu-el .asu-section__intro { margin: 0 0 26px; }
.asu-el > h2:first-child, .asu-el > header h2, .asu-el > h2 + .asu-section__intro { margin-top: 0; }
.asu-el.asu-steps h2, .asu-el.asu-steps-n h2, .asu-el.asu-why h2, .asu-el.asu-tiles h2, .asu-el.asu-prices h2, .asu-el.asu-faq h2, .asu-el.asu-areas h2, .asu-el.asu-svc h2 { margin-bottom: 22px; }
.asu-el.asu-tiles h2 + .asu-section__intro, .asu-el.asu-prices h2 + .asu-section__intro, .asu-el.asu-faq h2 + .asu-section__intro, .asu-el.asu-areas h2 + .asu-section__intro { margin-top: -10px; }
.asu-svc ul { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.asu-el.asu-reviews header, .asu-el.asu-hours header { margin-bottom: 24px; }
.asu-el.asu-section--tint { padding: 36px 40px; }
.asu-el.asu-section .asu-section__title { margin-bottom: 14px; }
.asu-gallery .asu-doc__desc { margin-bottom: 14px; }
.asu-doc__stage { padding: 32px; }
@media (max-width: 767px) { .asu-doc__stage { padding: 20px 16px; } .asu-el.asu-section--tint { padding: 26px 22px; } }
.asu-beat__line { margin-bottom: 30px; padding-top: 20px; }
.asu-el .asu-pricecard h3 { margin: 12px 0 8px; }
.asu-pricecard__top { margin-bottom: 4px; }

/* Trustindex widgets fill in after load (0 -> 240px desktop, 482px phone): reserve the space so nothing below them jumps (CLS 0.2 on phones) */
.ti-widget { min-height: 240px; }
@media (max-width: 767px) { .ti-widget { min-height: 482px; } }

/* Formidable enquiry form inside elements: 44px touch targets and a required-star that passes contrast (live audit: 42px fields, 2.97:1 star) */
.frm_forms.with_frm_style .frm_form_field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), .frm_forms.with_frm_style .frm_form_field select { min-height: 44px; }
.frm_forms .frm_required { color: #b3261e !important; }
.asu-form--navy .frm_forms .frm_required, .asu-form--navy .frm_required { color: #ffc2a3 !important; }
.asu-form .frm_submit button, .asu-form .frm_submit input[type="submit"] { min-height: 44px; }
.frm_forms.with_frm_style input[type="checkbox"], .frm_forms.with_frm_style input[type="radio"] { min-width: 22px; min-height: 22px; }

/* THEME-PROOF START (generated by build/tools/themeproof.cjs — do not edit) */
.col-md-12 .asu-el ul, .col-md-12 .asu-el ol, .col-md-12 ul.asu-el, .col-md-12 ol.asu-el { padding-left: 0 !important; list-style: none !important; }
.col-md-12 :where(.asu-el) ul, .col-md-12 :where(.asu-el) ol { list-style: none !important; padding: 0 !important; }
.col-md-12 :where(.asu-el) li { margin: 0 !important; padding: 0 !important; }
.col-md-12 ul.asu-el, .col-md-12 ol.asu-el { list-style: none !important; padding: 0 !important; }
.col-md-12 .asu-el.asu-note { margin: 0 !important; }
.col-md-12 .asu-el.asu-hero { margin: 0 0 32px !important; }
.col-md-12 .asu-hero__crumbs li + li::before { margin-right: 4px !important; }
.col-md-12 .asu-el.asu-section { padding: 8px 0 !important; }
.col-md-12 .asu-el.asu-section--tint { padding: 28px 24px !important; }
.col-md-12 .asu-el.asu-icon-features { margin-top: 14px !important; }
.col-md-12 .asu-el.asu-toc--sidebar { padding: 22px 24px !important; }
.col-md-12 .asu-toc--inline li + li::before { margin: 0 10px !important; }
.col-md-12 .asu-el.asu-card { padding: 26px !important; }
.col-md-12 .asu-el.asu-image-card { padding: 0 !important; }
.col-md-12 .asu-links li { padding: 15px 0 !important; }
.col-md-12 .asu-links li a { margin-left: auto !important; }
.col-md-12 .asu-el.asu-table { margin: 0 0 24px !important; }
.col-md-12 .asu-el.asu-quote-banner { margin: 0 0 32px !important; }
.col-md-12 .asu-el.asu-quote-card { margin: 0 !important; }
.col-md-12 .asu-why li { padding: 28px 22px !important; }
.col-md-12 .asu-el.asu-cta { padding: 40px 44px !important; }
.col-md-12 .asu-stats li { padding: 20px 22px !important; }
.col-md-12 .asu-el.asu-gov { padding: 20px 26px !important; margin: 0 0 24px !important; }
.col-md-12 .asu-steps li { padding: 24px !important; }
.col-md-12 .asu-steps-n ol { margin-bottom: 16px !important; }
.col-md-12 .asu-hours li { padding: 18px 8px !important; }
.col-md-12 .asu-tiles li { padding: 20px !important; }
.col-md-12 .asu-el.asu-strip { padding: 24px 32px !important; }
@media (max-width: 767px) {
  .col-md-12 .asu-el.asu-cta { padding: 32px 26px !important; }
}
.col-md-12 .asu-el.asu-type { padding: 36px 40px !important; }
.col-md-12 .asu-fcards li { padding: 28px !important; }
.col-md-12 .asu-el.asu-deliver { padding: 10px 32px !important; }
.col-md-12 .asu-deliver li { padding: 22px 0 !important; }
.col-md-12 .asu-el.asu-pricecard { padding: 32px !important; }
.col-md-12 .asu-pricecard ul { margin: 14px 0 18px !important; }
.col-md-12 .asu-el.asu-trustbar { padding: 22px 30px !important; }
.col-md-12 .asu-el.asu-proof { padding: 14px 34px !important; }
.col-md-12 .asu-proof li { padding: 28px 0 !important; }
.col-md-12 .asu-el.asu-expert { padding: 32px 36px !important; }
.col-md-12 .asu-chips li { padding: 6px 14px !important; }
.col-md-12 .asu-gate li { padding: 20px 26px !important; }
.col-md-12 .asu-el.asu-statsgrid { padding: 34px 36px !important; }
.col-md-12 .asu-el.asu-cited { margin: 0 0 40px !important; padding: 28px 32px !important; }
.col-md-12 .asu-cited li { padding: 5px 13px !important; }
.col-md-12 .asu-el.asu-graph { margin: 0 0 40px !important; padding: 24px !important; }
.col-md-12 .asu-counters li { padding: 32px 18px !important; }
.col-md-12 .asu-el.asu-vtl { padding: 8px 0 8px 30px !important; }
.col-md-12 .asu-vtl li { padding-bottom: 22px !important; }
.col-md-12 .asu-vtl li:last-child { padding-bottom: 0 !important; }
.col-md-12 .asu-el.asu-tldr { padding: 26px 32px !important; }
.col-md-12 .asu-process li { padding: 26px 24px !important; }
.col-md-12 .asu-work li { padding: 0 0 26px !important; }
.col-md-12 .asu-pain li { padding: 22px 26px !important; }
.col-md-12 .asu-el.asu-risk { padding: 26px 30px !important; }
.col-md-12 .asu-el.asu-softcta { padding: 30px 36px !important; }
.col-md-12 .asu-el.asu-finalcta { padding: 60px 36px !important; }
.col-md-12 .asu-el.asu-sticky { padding: 18px 26px !important; }
.col-md-12 .asu-el.asu-sticky--fixed { margin: 0 auto !important; }
.col-md-12 .asu-el.asu-crumbs ol { padding: 16px 22px !important; }
.col-md-12 .asu-crumbs li + li::before { margin: 0 8px !important; }
.col-md-12 .asu-el.asu-tstrip { padding: 22px 34px !important; }
.col-md-12 .asu-blogcards li { padding: 0 !important; }
.col-md-12 .asu-el.asu-prose { padding: 40px 44px !important; }
.col-md-12 .asu-prose ul { list-style: disc !important; padding-left: 22px !important; margin: 0 0 14px !important; }
.col-md-12 .asu-prose ul li { margin: 0 0 6px !important; padding: 0 !important; }
.col-md-12 .asu-el.asu-beat { padding: 36px 40px !important; }
.col-md-12 .asu-el.asu-ladder { padding: 32px 36px !important; }
.col-md-12 .asu-ladder li { padding-bottom: 26px !important; }
.col-md-12 .asu-ladder li:last-child { padding-bottom: 0 !important; }
.col-md-12 .asu-stepsl li { padding-bottom: 20px !important; }
.col-md-12 .asu-stepsl li:last-child { padding-bottom: 0 !important; }
.col-md-12 .asu-el.asu-richfaq { padding: 0 30px !important; }
.col-md-12 .asu-richfaq__a ul { list-style: disc !important; padding-left: 20px !important; margin: 0 0 12px !important; }
.col-md-12 .asu-el.asu-fields { padding: 32px !important; }
.col-md-12 .asu-revcards li.asu-card { padding: 28px 30px !important; }
.col-md-12 .asu-el li.asu-case { padding: 32px 32px 30px !important; }
.col-md-12 .asu-el li.asu-badge { padding: 22px 24px !important; }
.col-md-12 .asu-el li.asu-price { padding: 26px 20px !important; }
.col-md-12 .asu-el li.asu-usp { padding: 20px 22px !important; }
@media (max-width: 575px) {
  .col-md-12 .asu-el li.asu-case { padding: 24px 22px !important; }
}
.col-md-12 .asu-finder li.asu-instr { padding: 24px 26px !important; }
.col-md-12 .asu-pass li { padding: 24px 22px !important; }
.col-md-12 .asu-el ul.asu-syl__skills { margin: 0 !important; padding: 4px 0 26px 54px !important; }
@media (max-width: 767px) {
  .col-md-12 .asu-el ul.asu-syl__skills { padding-left: 0 !important; }
}
.col-md-12 .asu-specs li { padding: 18px 0 !important; }
.col-md-12 .asu-el.asu-section--tint { padding: 36px 40px !important; }
@media (max-width: 767px) {
  .col-md-12 .asu-el.asu-section--tint { padding: 26px 22px !important; }
}
/* THEME-PROOF END */

/* review 16 lows: help-card title is text, not a heading; landing pages end on their own form (the theme's repeat band is hidden there); header phone links get a bigger tap area on phones */
.asu-help__t { margin: 0 0 6px; font-size: 17px; font-weight: 700; line-height: 1.3; color: inherit; }
.page-template-asu-landing .staticblock { display: none; }

.asu-layout__side { max-height: calc(100vh - var(--asu-hdr, 0px) - 32px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }

/* Landing pages hide the theme's static call-to-action block (the page carries its own), so its empty navy strip above the footer goes too */
.page-template-asu-landing #bottom_img { display: none; }
