/*
Theme Name: Ollie Child
Theme URI: https://olliewp.com
Description: Ollie child theme.
Author: Mike McAlister
Author URI: https://olliewp.com
Template:     ollie
Version: 1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags:         blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks
Text Domain: ollie-child
*/

/* ============ PROJECT CSS (only what theme.json cannot express) ============ */

/* CTA wrapper. The "+" texture was removed per design; CTAs now use the plain
   gold + black gradient background (see .btd-fnd-cta). */
.cta-dark {
  position: relative;
  overflow: hidden;
}
.cta-dark::before { content: none; }
.cta-dark > * {
  position: relative;
  z-index: 1;
}

/* Final CTA panel. Light text on a gold + black gradient, matching the
   image-less hero treatment. Used by .btd-fnd-cta (fan/foundation/growth/about/
   etc.) plus the pricing and how-it-works CTAs, which had no background. */
.btd-fnd-cta,
.btd-pricing-cta,
.btd-how-cta {
  background:
    radial-gradient(1000px 560px at 15% 12%, color-mix(in srgb, var(--wp--preset--color--warning) 26%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 88%, color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent), transparent 55%),
    linear-gradient(180deg, #0b0b0e, #050507);
}

/* CTA trust row: centered list of proof points with inline check icons. */
.cta-trust {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
  font-size: 0.875rem;
}
.cta-trust li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.cta-trust svg {
  width: 1.15em;
  height: 1.15em;
  flex: none;
  color: var(--wp--preset--color--success);
}

/* Kicker eyebrow label (matches blacktigerdigital.com .btd-kicker). */
.btd-kicker {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
}

/* Subtle hover lift for cards. Motion-safe. */
.btd-lift {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btd-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
@media (prefers-reduced-motion: reduce) {
  .btd-lift {
    transition: none;
  }
  .btd-lift:hover {
    transform: none;
  }
}

/* Feature list: warning-colored marker replaces per-item icons. */
.btd-feature-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.btd-feature-list li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: 0.85rem;
}
.btd-feature-list li:last-child {
  margin-bottom: 0;
}
.btd-feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.6rem;
  height: 0.6rem;
  background-color: var(--wp--preset--color--warning);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M2 0l4 4-4 4z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M2 0l4 4-4 4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Icon circle (e.g. thumbs up/down card headers). */
.btd-icon-circle {
  width: 56px;
  height: 56px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.btd-icon-circle svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.btd-icon-circle--success { background-color: var(--wp--preset--color--success); }
.btd-icon-circle--danger { background-color: var(--wp--preset--color--danger); }

/* Check / X lists: meaningful markers (success check, danger X). */
.btd-checklist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.btd-checklist li {
  position: relative;
  padding-left: 2rem;
  margin-bottom: 0.85rem;
}
.btd-checklist li:last-child {
  margin-bottom: 0;
}
.btd-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 1.15rem;
  height: 1.15rem;
  background-color: var(--btd-marker-color, currentColor);
  -webkit-mask: var(--btd-marker) center / contain no-repeat;
  mask: var(--btd-marker) center / contain no-repeat;
}
.btd-checklist--check li::before {
  --btd-marker-color: var(--wp--preset--color--success);
  --btd-marker: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.42z'/%3E%3C/svg%3E");
}
.btd-checklist--x li::before {
  --btd-marker-color: var(--wp--preset--color--danger);
  --btd-marker: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z'/%3E%3C/svg%3E");
}

/* Gravity Forms honeypot ("My URL" field). REQUIRED. Hides it from humans;
   bots fill it and are rejected by the gform_validation filter. */
.contact-url {
  visibility: hidden;
  position: absolute;
  left: -9999px;
}

/* Soft shadow + corner clip for cards (matches blacktigerdigital.com). */
.btd-soft-shadow { box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12); }
.btd-clip { overflow: hidden; }

/* Split-card dark panel: vertically center its content. */
.btd-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Small icon circle variant with a soft warning tint. */
.btd-icon-circle--sm { width: 40px; height: 40px; }
.btd-icon-circle--sm svg { width: 18px; height: 18px; }
.btd-icon-circle--warning-soft {
  background-color: rgba(181, 139, 58, 0.2);
  background-color: color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent);
  color: var(--wp--preset--color--warning);
}

/* Small standalone tile icon (warning colored). */
.btd-tile-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-bottom: 0.5rem;
  color: var(--wp--preset--color--warning);
}
.btd-tile-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  display: block;
}

/* Subtle ring border for cards (btd-ring approximation; not in source CSS). */
.btd-ring { border: 1px solid rgba(0, 0, 0, 0.08); }

/* Stats strip: 2-up on mobile, 4-up from lg (matches col-6 col-lg-3). */
.btd-stats-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (min-width: 992px) {
  .btd-stats-strip { grid-template-columns: repeat(4, 1fr); }
}

/* Large centered standalone icon. */
.btd-icon-xl {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto 1rem;
  color: var(--wp--preset--color--warning);
}
.btd-icon-xl svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  display: block;
}

/* Hero: layered background (warm glow + dot texture + dark gradient + image).
   Replace the image URL with a locally uploaded hero, and set it in the
   BT Toolkit Preload Manager for best LCP. */
.btd-hero {
  min-height: 700px;
  background:
    radial-gradient(ellipse at top, color-mix(in srgb, var(--wp--preset--color--warning) 15%, transparent), transparent 50%),
    radial-gradient(circle at 14px 14px, rgba(255, 255, 255, 0.10) 1px, transparent 1px) 0 0 / 28px 28px,
    linear-gradient(180deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.95)),
    url("/wp-content/uploads/2025/12/black-tiger-digital-marketing-automation-system.webp") center / cover no-repeat,
    #0a0a0a;
}

/* Glassmorphism panel (semi-transparent + blur). */
.btd-glass {
  background: rgba(255, 255, 255, 0.08);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

/* Glass pill badge. */
.btd-badge {
  display: inline-block;
  border-radius: 50px;
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--wp--preset--color--warning);
}

/* Medium icon circle (48px). */
.btd-icon-circle--md { width: 48px; height: 48px; }
.btd-icon-circle--md svg { width: 22px; height: 22px; }

/* ============ ENTRANCE ANIMATIONS ============
   Add the classes below to any block (Advanced -> Additional CSS class(es)):
     btd-animate                 base (fade in)
     btd-animate--up / --down    slide in vertically
     btd-animate--left / --right slide in horizontally
     btd-animate--zoom           scale up
     btd-animate--tilt           tilt + rise
     btd-delay-1 / -2 / -3       stagger (0.1s / 0.2s / 0.3s)
   Do NOT add to the hero <h1> / LCP element. Gated behind .js so content is
   visible without JavaScript; disabled under prefers-reduced-motion. */
.js .btd-animate {
  opacity: 0;
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.js .btd-animate.is-visible {
  opacity: 1;
  transform: none;
  transition-delay: var(--btd-delay, 0s);
}
.js .btd-animate--up { transform: translateY(40px); }
.js .btd-animate--down { transform: translateY(-40px); }
.js .btd-animate--left { transform: translateX(-40px); }
.js .btd-animate--right { transform: translateX(40px); }
.js .btd-animate--zoom { transform: scale(0.92); }
.js .btd-animate--tilt {
  transform: perspective(800px) rotateX(8deg) translateY(30px);
  transform-origin: top center;
}
.js .btd-delay-1 { --btd-delay: 0.1s; }
.js .btd-delay-2 { --btd-delay: 0.2s; }
.js .btd-delay-3 { --btd-delay: 0.3s; }

/* Auto-stagger: add .btd-stagger to a parent; its .btd-animate children cascade. */
.js .btd-stagger > .btd-animate:nth-child(2).is-visible { --btd-delay: 0.12s; }
.js .btd-stagger > .btd-animate:nth-child(3).is-visible { --btd-delay: 0.24s; }
.js .btd-stagger > .btd-animate:nth-child(4).is-visible { --btd-delay: 0.36s; }

/* Problem card (dark, subtle border). */
.btd-problem-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1rem;
  text-align: center;
}
/* The heading/paragraph carry inline margin:0 (block markup), which cancels the
   group's block-gap. Add breathing room under the icon circle and the title.
   !important is required to beat the heading's inline margin. */
.btd-problem-card .btd-icon-circle { display: flex; margin: 0 auto 1.1rem; }
.btd-problem-card h3 { margin-bottom: 0.6rem !important; }

/* Home "Are We a Match?" fit-check: good / not-a-fit two-up cards. */
.btd-match-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 992px) { .btd-match-grid { grid-template-columns: 1fr 1fr; } }
.btd-match-card { border-radius: 1.5rem; padding: clamp(1.5rem, 3vw, 2.5rem); height: 100%; text-align: left; }
.btd-match-card--good { background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--success) 14%, transparent), color-mix(in srgb, var(--wp--preset--color--success) 4%, transparent)); border: 2px solid color-mix(in srgb, var(--wp--preset--color--success) 32%, transparent); }
.btd-match-card--bad { background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--danger) 14%, transparent), color-mix(in srgb, var(--wp--preset--color--danger) 4%, transparent)); border: 2px solid color-mix(in srgb, var(--wp--preset--color--danger) 32%, transparent); }
.btd-match-card__head { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.btd-match-card__head h3 { margin: 0; font-size: 1.25rem; font-weight: 800; color: #fff; }
.btd-match-card .btd-checklist li { color: rgba(255, 255, 255, 0.85); }

/* Responsive grid: 1-up / 2-up (md) / 4-up (lg). */
.btd-grid-1-2-4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) { .btd-grid-1-2-4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-grid-1-2-4 { grid-template-columns: repeat(4, 1fr); } }

/* Large icon circle (80px) with soft danger tint + warning icon.
   color-mix ties the tint to the danger/warning tokens (follows global edits). */
.btd-icon-circle--lg { width: 80px; height: 80px; }
.btd-icon-circle--lg svg { width: 32px; height: 32px; }
.btd-icon-circle--danger-soft {
  background-color: rgba(124, 58, 82, 0.15);
  background-color: color-mix(in srgb, var(--wp--preset--color--danger) 15%, transparent);
  border: 2px solid rgba(124, 58, 82, 0.3);
  border: 2px solid color-mix(in srgb, var(--wp--preset--color--danger) 30%, transparent);
  color: var(--wp--preset--color--warning);
}

/* Base inline icon (references the sprite via <use>). Inherits text color. */
.icon {
  width: 1.25em;
  height: 1.25em;
  display: inline-block;
  vertical-align: -0.125em;
  fill: currentColor;
}

/* Post title is never shown on the front end. Every page carries its h1 in the
   hero pattern, so the WordPress title block is hidden site-wide (complements the
   per-page "page-no-title" template). */
.wp-block-post-title { display: none !important; }

/* Button trailing icons. Core Button can't embed SVG, so the icon is a CSS
   mask after the label (inherits the button text color). Add two classes to a
   Button block, e.g. "btd-btn-icon btd-icon-arrow-right". */
.btd-btn-icon .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask: var(--btd-btn-icon) center / contain no-repeat;
  mask: var(--btd-btn-icon) center / contain no-repeat;
}
.btd-icon-arrow-right { --btd-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M16.01 11H4v2h12.01v3L20 12l-3.99-4z'/%3E%3C/svg%3E"); }
.btd-icon-arrow-down { --btd-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 4h2v12l5.5-5.5 1.42 1.42L12 19.84l-7.92-7.92L5.5 10.5 11 16z'/%3E%3C/svg%3E"); }
.btd-icon-phone { --btd-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E"); }
.btd-icon-calendar { --btd-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zm-2.47-8.06L15.47 9.88l-4.24 4.24-2.12-2.12-1.06 1.06L11.23 16l5.3-5.06z'/%3E%3C/svg%3E"); }
.btd-icon-dollar { --btd-btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z'/%3E%3C/svg%3E"); }

/* Token-driven translucent card tints (color-mix follows global swatch edits). */
.btd-tint-success {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent), color-mix(in srgb, var(--wp--preset--color--success) 5%, transparent));
  border: 2px solid color-mix(in srgb, var(--wp--preset--color--success) 35%, transparent);
  border-radius: 2rem;
}
.btd-tint-danger {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--danger) 12%, transparent), color-mix(in srgb, var(--wp--preset--color--danger) 5%, transparent));
  border: 2px solid color-mix(in srgb, var(--wp--preset--color--danger) 35%, transparent);
  border-radius: 2rem;
}
.btd-tint-glow {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--warning) 8%, transparent), color-mix(in srgb, var(--wp--preset--color--info) 8%, transparent));
}

@media (prefers-reduced-motion: reduce) {
  .js .btd-animate {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ============ HEADER ============ */

/* Skip link. REQUIRED: must become visible on focus (WCAG 2.4.1 / 2.4.7). */
.btd-skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  z-index: 9999;
  padding: 0.5rem 1rem;
  background-color: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--black);
  font-weight: 700;
  text-decoration: none;
  border-radius: 0 0 0.25rem 0;
}
.btd-skip-link:focus {
  top: 0;
}

/* The skip link moves focus to <main> (given id + tabindex in functions.php).
   main is not interactive, so suppress the focus ring on that programmatic
   focus; the visible skip-link itself is the focus indicator. */
#main-content:focus {
  outline: none;
}

/* Top bar: dark utility strip above the nav. */
.btd-top-bar {
  background: linear-gradient(90deg, #070c14, #0d1520);
  font-size: 0.875rem;
  contain: layout style;
}
.btd-top-bar__hours {
  display: none;
  align-items: center;
  gap: 0.4rem;
  color: rgba(255, 255, 255, 0.7);
}
.btd-top-bar__link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #fff;
  text-decoration: none;
}
.btd-top-bar__link:hover {
  color: var(--wp--preset--color--warning);
}
.btd-top-bar__icon {
  width: 14px;
  height: 14px;
  flex: none;
  color: var(--wp--preset--color--warning);
}
.btd-top-bar__email-full { display: none; }
@media (min-width: 576px) {
  .btd-top-bar__email-full { display: inline; }
  .btd-top-bar__email-short { display: none; }
}
@media (min-width: 768px) {
  .btd-top-bar__hours { display: inline-flex; }
}

/* Sticky header: pin the whole header (utility bar + nav) to the top. The sticky
   must live on the template-part wrapper, NOT on .btd-main-header -- a sticky
   element can only travel within its parent's box, and .btd-main-header's parent
   is the short <header> wrapper, so it never stuck down the page. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
}
.btd-main-header {
  background: #fff;
  border-bottom: 1px solid #dee2e6;
  padding: 0.55rem 1rem;
  transition: box-shadow 0.2s ease;
}
.btd-main-header.is-scrolled {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
@media (prefers-reduced-motion: reduce) {
  .btd-main-header { transition: none; }
}

/* Brand + primary navbar styles live in the ".btd-nv" block below. */

/* ==========================================================================
   PRIMARY NAVBAR (.btd-nv) -- custom, matches blacktigerdigital.com
   Engines = mega-menu (badge + title + description); Help Center / Company =
   simple colored-icon lists; hr dividers between sections. JS in global.js.
   ========================================================================== */
.btd-nv { width: 100%; }
.btd-nv__inner {
  display: flex;
  align-items: center;
  gap: 1rem;
  max-width: var(--wp--style--global--wide-size, 1200px);
  margin: 0 auto;
}

/* Brand */
.btd-nv__brand { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; line-height: 0; margin-right: auto; }
.btd-nv__brand img { height: 46px; width: auto; display: block; }
.btd-nv__name { font-size: 1.15rem; font-weight: 800; line-height: 1.1; letter-spacing: -0.01em; color: var(--wp--preset--color--body); white-space: nowrap; }

/* Menu + top-level links */
.btd-nv__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 0.15rem; }
.btd-nv__item { position: relative; }
.btd-nv__link {
  display: inline-flex; align-items: center; gap: 0.3rem;
  padding: 0.5rem 0.7rem; margin: 0; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: 0.95rem; font-weight: 600; color: var(--wp--preset--color--body);
  text-decoration: none; border-radius: 0.5rem; white-space: nowrap;
}
.btd-nv__link:hover { color: var(--wp--preset--color--warning); }
.btd-nv__caret { width: 0.7em; height: 0.7em; opacity: 0.55; transition: transform 0.2s ease; }
.btd-nv__item.is-open > .btd-nv__link .btd-nv__caret { transform: rotate(180deg); }

/* Dropdown panel */
.btd-nv__panel {
  position: absolute; top: calc(100% + 0.45rem); right: 0; z-index: 200;
  width: max-content; min-width: 220px; max-width: min(92vw, 380px); padding: 0.5rem;
  background: #fff; border: 1px solid #eceef1; border-radius: 0.85rem;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.14);
  opacity: 0; visibility: hidden; transform: translateY(6px);
  transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s;
}
.btd-nv__panel--wide { min-width: 320px; max-width: min(92vw, 420px); }
.btd-nv__panel ul { list-style: none; margin: 0; padding: 0; }
.btd-nv__item.is-open > .btd-nv__panel { opacity: 1; visibility: visible; transform: translateY(0); }
@media (min-width: 992px) {
  .btd-nv__item--has:hover > .btd-nv__panel { opacity: 1; visibility: visible; transform: translateY(0); }
}

/* Dropdown rows */
.btd-dd {
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.6rem 0.7rem; border-radius: 0.5rem;
  font-size: 0.9375rem; color: var(--wp--preset--color--body); text-decoration: none;
  white-space: nowrap;
}
.btd-dd__text strong, .btd-dd__text small { white-space: nowrap; }
.btd-dd:hover, .btd-dd:focus { background: #f6f7f9; }
.btd-dd__badge { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; }
.btd-dd__badge .icon { width: 17px; height: 17px; }
.btd-dd__badge--warning { background: rgba(224, 168, 0, 0.14); color: #e0a800; }
.btd-dd__badge--primary { background: rgba(13, 110, 253, 0.10); color: #0d6efd; }
/* Engine badges match each engine's signature color (see theme.json presets):
   Fan = info, Foundation = success, Growth = danger. */
.btd-dd__badge--info { background: color-mix(in srgb, var(--wp--preset--color--info) 16%, transparent); color: var(--wp--preset--color--info); }
.btd-dd__badge--success { background: color-mix(in srgb, var(--wp--preset--color--success) 16%, transparent); color: var(--wp--preset--color--success); }
.btd-dd__badge--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 16%, transparent); color: var(--wp--preset--color--danger); }
.btd-dd__text { display: flex; flex-direction: column; line-height: 1.25; }
.btd-dd__text strong { font-weight: 700; }
.btd-dd__text small { color: #6c757d; font-size: 0.8125rem; }

/* Simple dropdown row (inline colored icon + label) */
.btd-dd--simple { gap: 0.6rem; }
.btd-dd--simple .icon { width: 16px; height: 16px; flex-shrink: 0; }
.btd-ic--primary { color: #0d6efd; }
.btd-ic--success { color: #198754; }
.btd-ic--warning { color: #e0a800; }
.btd-ic--danger { color: #dc3545; }
.btd-ic--stripe { color: #635bff; }

/* Divider + CTA row */
.btd-dd__divider { height: 0; margin: 0.4rem 0.3rem; border: 0; border-top: 1px solid #eceef1; }
.btd-dd--cta { font-weight: 700; color: var(--wp--preset--color--warning); }
.btd-dd--cta .icon { width: 15px; height: 15px; color: var(--wp--preset--color--warning); }

/* Header buttons */
.btd-nv__cta { margin-left: 0.3rem; }
.btd-nv__btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.5rem 1.1rem; border-radius: 50rem; font-size: 0.9rem; font-weight: 700;
  text-decoration: none; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.btd-nv__btn--outline { border: 1px solid #ced2d7; color: var(--wp--preset--color--body); }
.btd-nv__btn--outline:hover { border-color: var(--wp--preset--color--body); }
.btd-nv__btn--gold { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }
.btd-nv__btn--gold:hover { filter: brightness(0.95); }
.btd-nv__btn-short { display: none; }

/* Hamburger (mobile) */
.btd-nv__toggle { display: none; width: 44px; height: 44px; padding: 0; border: 0; background: none; cursor: pointer; border-radius: 0.5rem; position: relative; }
.btd-nv__toggle span, .btd-nv__toggle span::before, .btd-nv__toggle span::after {
  content: ""; position: absolute; left: 11px; width: 22px; height: 2px;
  background: var(--wp--preset--color--body); border-radius: 2px; transition: transform 0.2s ease, opacity 0.2s ease;
}
.btd-nv__toggle span { top: 21px; }
.btd-nv__toggle span::before { top: -7px; }
.btd-nv__toggle span::after { top: 7px; }
.btd-nv__toggle[aria-expanded="true"] span { background: transparent; }
.btd-nv__toggle[aria-expanded="true"] span::before { transform: translateY(7px) rotate(45deg); }
.btd-nv__toggle[aria-expanded="true"] span::after { transform: translateY(-7px) rotate(-45deg); }

/* Focus */
.btd-nv__link:focus-visible, .btd-nv__btn:focus-visible, .btd-dd:focus-visible, .btd-nv__toggle:focus-visible {
  outline: 2px solid var(--wp--preset--color--warning); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .btd-nv__caret, .btd-nv__panel, .btd-nv__toggle span, .btd-nv__toggle span::before, .btd-nv__toggle span::after { transition: none; }
}

/* ---- Mobile (< 992px): collapsible stacked menu ---- */
@media (max-width: 991px) {
  .btd-nv__toggle { display: block; }
  .btd-nv__menu {
    display: none; position: absolute; left: 0; right: 0; top: 100%;
    background: #fff; border-top: 1px solid #eceef1; box-shadow: 0 16px 30px rgba(0, 0, 0, 0.12);
    padding: 0.5rem 1rem 1rem; max-height: calc(100vh - 72px); overflow-y: auto;
  }
  .btd-nv__menu.is-open { display: block; }
  .btd-nv__list { flex-direction: column; align-items: stretch; gap: 0; }
  .btd-nv__item { position: static; }
  .btd-nv__link { width: 100%; justify-content: space-between; padding: 0.85rem 0.5rem; border-radius: 0; border-bottom: 1px solid #f1f2f4; }
  .btd-nv__panel {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: 0; border-radius: 0;
    width: auto; min-width: 0; max-width: none;
    padding: 0.25rem 0 0.5rem 0.5rem; display: none;
  }
  .btd-nv__item.is-open > .btd-nv__panel { display: block; }
  .btd-dd, .btd-dd__text strong, .btd-dd__text small { white-space: normal; }
  .btd-nv__cta { margin: 0.5rem 0 0; }
  .btd-nv__cta .btd-nv__btn { width: 100%; }
  .btd-nv__btn-full { display: none; }
  .btd-nv__btn-short { display: inline; }
}
@media (max-width: 575px) { .btd-nv__name { display: none; } }

/* Navigation dropdown icons. Core Navigation renders text-only links, so the
   icon is a CSS mask before the label. Add two classes to a Navigation Link:
   "btd-nav-icon btd-nav-icon--bolt". Dropdowns are closed on load, so these
   are below the fold and stay out of the critical CSS. */
.btd-nav-icon .wp-block-navigation-item__content::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.6em;
  flex: none;
  vertical-align: -0.125em;
  background-color: var(--btd-nav-icon-color, currentColor);
  -webkit-mask: var(--btd-nav-icon) center / contain no-repeat;
  mask: var(--btd-nav-icon) center / contain no-repeat;
}
.btd-nav-icon--bolt {
  --btd-nav-icon-color: var(--wp--preset--color--warning);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z'/%3E%3C/svg%3E");
}
.btd-nav-icon--layers {
  --btd-nav-icon-color: var(--wp--preset--color--info);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M264.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 149.8C37.4 145.8 32 137.3 32 128s5.4-17.9 13.9-21.8L264.5 5.2zM476.9 209.6l53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 277.8C37.4 273.8 32 265.3 32 256s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0l152-70.2zm-152 198.2l152-70.2 53.2 24.6c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L45.9 405.8C37.4 401.8 32 393.3 32 384s5.4-17.9 13.9-21.8l53.2-24.6 152 70.2c23.4 10.8 50.4 10.8 73.8 0z'/%3E%3C/svg%3E");
}
.btd-nav-icon--chart {
  --btd-nav-icon-color: var(--wp--preset--color--danger);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z'/%3E%3C/svg%3E");
}
.btd-nav-icon--arrow {
  --btd-nav-icon-color: var(--wp--preset--color--warning);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E");
}
.btd-nav-icon--question {
  --btd-nav-icon-color: var(--wp--preset--color--info);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E");
}
.btd-nav-icon--rocket {
  --btd-nav-icon-color: var(--wp--preset--color--success);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M156.6 384.9L125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2c3-8.9 7-20.5 11.8-33.8L24 288c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7 .2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3l82.3 0c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8c13.4 72.9 9.3 194.8-111.4 276.7c-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1 .2s-12.1-12.2-12.1-20.9V380.8c-14.1 4.9-26.4 8.9-35.7 11.9c-11.2 3.6-23.4 .5-31.8-7.8zM384 168a40 40 0 1 0 -80 0 40 40 0 1 0 80 0z'/%3E%3C/svg%3E");
}
.btd-nav-icon--edit {
  --btd-nav-icon-color: var(--wp--preset--color--warning);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L440 132.1 379.9 72 172.4 241.7zM64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H192c13.3 0 24-10.7 24-24s-10.7-24-24-24H64C33.1 0 8 25.1 8 56v400c0 30.9 25.1 56 56 56h400c30.9 0 56-25.1 56-56V264c0-13.3-10.7-24-24-24s-24 10.7-24 24v192c0 8.8-7.2 16-16 16H64z'/%3E%3C/svg%3E");
}
.btd-nav-icon--google {
  --btd-nav-icon-color: var(--wp--preset--color--danger);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 488 512'%3E%3Cpath d='M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h240c2.8 14.8 4.3 30.1 4.3 46.4z'/%3E%3C/svg%3E");
}
.btd-nav-icon--globe {
  --btd-nav-icon-color: var(--wp--preset--color--danger);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 256c0 22.2-1.2 43.6-3.3 64H163.3c-2.2-20.4-3.3-41.8-3.3-64s1.2-43.6 3.3-64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8-64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5-8.1 64H380.8c2.1-20.6 3.2-42 3.2-64s-1.1-43.4-3.2-64zm112.6-32H376.7c-10-63.9-29.8-117.4-55.3-151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1-36.4 15.5-68.6 27-94.7c10.5-23.6 22.2-40.7 33.5-51.5C239.4 3.2 248.6 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 21 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6-3.2 42-3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8-43.5 8.1-64zM194.7 446.6c-11.6-26-21-58.2-27-94.6H344.3c-6.1 36.4-15.5 68.6-27 94.6c-10.5 23.6-22.2 40.7-33.5 51.5C272.6 508.8 263.4 512 256 512s-16.6-3.2-27.8-13.8c-11.3-10.8-23-27.9-33.5-51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm241.3 0H376.7H493.4c-29.9 74.1-93.6 130.9-171.9 151.6c25.5-34.2 45.2-87.7 55.3-151.6z'/%3E%3C/svg%3E");
}
.btd-nav-icon--building {
  --btd-nav-icon-color: var(--wp--preset--color--info);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z'/%3E%3C/svg%3E");
}
.btd-nav-icon--message {
  --btd-nav-icon-color: var(--wp--preset--color--success);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 448c141.4 0 256-93.1 256-208S397.4 32 256 32S0 125.1 0 240c0 45.1 17.7 86.8 47.7 120.9c-1.9 24.5-11.4 46.3-21.4 62.9c-5.5 9.2-11.1 16.6-15.2 21.6c-2.1 2.5-3.7 4.4-4.9 5.7c-.6 .6-1 1.1-1.3 1.4l-.3 .3 0 0 0 0 0 0 0 0c-4.6 4.6-5.9 11.4-3.4 17.4c2.5 6 8.3 9.9 14.8 9.9c28.7 0 57.6-8.9 81.6-19.3c22.9-10 42.4-21.9 54.3-30.6c31.8 11.5 67 17.9 104.1 17.9zM128 208a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm128 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm96 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E");
}
.btd-nav-icon--users {
  --btd-nav-icon-color: var(--wp--preset--color--info);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M144 0a80 80 0 1 1 0 160A80 80 0 1 1 144 0zM512 0a80 80 0 1 1 0 160A80 80 0 1 1 512 0zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7c-1.3 7.2-1.9 14.7-1.9 22.3c0 38.2 16.8 72.5 43.3 96H21.3C9.6 320 0 310.4 0 298.7zM405.3 320H362.7c26.5-23.5 43.3-57.8 43.3-96c0-7.6-.7-15-1.9-22.3c13.6-6.3 28.7-9.7 44.6-9.7h42.7C550.2 192 598 239.8 598 298.7c0 11.8-9.6 21.3-21.3 21.3H405.3zM416 224a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM128 485.3C128 411.7 187.7 352 261.3 352H378.7C452.3 352 512 411.7 512 485.3c0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z'/%3E%3C/svg%3E");
}
.btd-nav-icon--send {
  --btd-nav-icon-color: var(--wp--preset--color--success);
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 492.7 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 289.1s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z'/%3E%3C/svg%3E");
}
.btd-nav-icon--dollar {
  --btd-nav-icon-color: #635bff;
  --btd-nav-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z'/%3E%3C/svg%3E");
}

/* Header CTAs: hide the phone button on the smallest screens, where the
   overlay menu already carries it. */
.btd-header-ctas { flex-wrap: nowrap; }

/* Focus states (the warning ring matches the source header). */
.btd-nav .wp-block-navigation-item__content:focus-visible,
.btd-header-ctas .wp-block-button__link:focus-visible,
.btd-top-bar__link:focus-visible {
  outline: 2px solid var(--wp--preset--color--warning);
  outline-offset: 2px;
}

/* ============ ANCHOR SCROLLING ============ */

/* Replaces the source's smooth-scroll JS. scroll-padding-top clears the sticky
   header, which would otherwise cover the top of any #anchor target. Keep this
   value above .btd-main-header's rendered height. */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ============ SHARED: copy-to-clipboard button ============ */
.btd-copy {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.85rem;
  border-radius: 50rem;
  border: 1px solid rgba(255, 255, 255, 0.4);
  background: transparent;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.btd-copy:hover { background: rgba(255, 255, 255, 0.12); }
.btd-copy:focus-visible { outline: 2px solid var(--wp--preset--color--warning); outline-offset: 2px; }
.btd-copy .icon { width: 0.9rem; height: 0.9rem; }
.btd-copy.is-copied { border-color: var(--wp--preset--color--success); color: var(--wp--preset--color--success); }

/* ============ STRIPE VERIFICATION PAGE ============ */
/* Reuses the GoDaddy teal hero/CTA, the Twilio requirement cards, the GBP
   access-grid comparison, the onboarding steps, and the GBP "stuck" panel.
   Only these pieces are new. */
.btd-stripe-source {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 0;
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent);
  font-size: 0.9rem;
  color: var(--wp--preset--color--muted);
}
.btd-stripe-source .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--info); margin-top: 0.1rem; }

.btd-stripe-notneed__label { color: var(--wp--preset--color--muted); font-size: 0.75rem; margin: 0 0 0.85rem; }
.btd-stripe-notneed__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.btd-stripe-notneed__list li {
  padding: 0.4rem 0.85rem;
  border-radius: 50rem;
  background: color-mix(in srgb, var(--wp--preset--color--muted) 12%, transparent);
  color: var(--wp--preset--color--muted);
  font-size: 0.8rem;
}

/* Step 4's inline warning note. */
.btd-stripe-stepnote {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent);
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
}
.btd-stripe-stepnote .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }

/* Summary stats panel (green gradient, white text). */
.btd-stripe-statpanel { background: linear-gradient(135deg, var(--wp--preset--color--success), color-mix(in srgb, var(--wp--preset--color--success) 72%, #000)); color: #fff; }
.btd-stripe-stats { text-align: center; }
.btd-stripe-stats li { display: flex; flex-direction: column; gap: 0.25rem; }
.btd-stripe-stats__num { font-size: 1.75rem; font-weight: 700; }
.btd-stripe-stats__label { font-size: 0.85rem; color: rgba(255, 255, 255, 0.8); }

/* ============ TWILIO CAMPAIGN REGISTRATION PAGE ============ */
/* Reuses the Twilio brand page's hero, badges, warn card, req cards/list, flow,
   stats, and CTA. Only these campaign-specific pieces are new. */
.btd-tw-req__titles { display: flex; flex-direction: column; }
.btd-tw-req__sub { font-size: 0.8rem; opacity: 0.8; font-weight: 400; }
.btd-tw-req__head--danger { background: linear-gradient(135deg, var(--wp--preset--color--danger), color-mix(in srgb, var(--wp--preset--color--danger) 72%, #000)); }
.btd-tw-req__head--secondary { background: linear-gradient(135deg, var(--wp--preset--color--secondary), color-mix(in srgb, var(--wp--preset--color--secondary) 72%, #000)); }

.btd-tw-hero__prereq {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
}
.btd-tw-hero__prereq .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-tw-hero__prereq a { color: var(--wp--preset--color--warning); font-weight: 700; }

/* Sample messages: numbered list. */
.btd-tw-samples { list-style: none; margin: 0; padding: 1.5rem 1.5rem 0; }
.btd-tw-samples li { display: flex; gap: 0.75rem; margin-bottom: 1rem; }
.btd-tw-samples__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: none;
  border-radius: 50%;
  background: color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent);
  color: var(--wp--preset--color--success);
  font-size: 0.8rem;
  font-weight: 700;
}
.btd-tw-samples__body strong { display: block; font-size: 0.9rem; }
.btd-tw-samples__body span { display: block; font-size: 0.8rem; color: var(--wp--preset--color--muted); }
.btd-tw-tip {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
  margin: 0.5rem 1.5rem 1.5rem;
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent);
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
}
.btd-tw-tip .icon { width: 1.05rem; height: 1.05rem; flex: none; color: var(--wp--preset--color--success); margin-top: 0.1rem; }
.btd-tw-tip--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent); }
.btd-tw-tip--warning .icon { color: var(--wp--preset--color--warning); }

/* Consent card: 3-column detail grid + important box. */
.btd-tw-consent-card { margin: 0; }
.btd-tw-consent { display: grid; grid-template-columns: 1fr; gap: 1.5rem; padding: 1.5rem; }
@media (min-width: 782px) { .btd-tw-consent { grid-template-columns: repeat(3, 1fr); } }
.btd-tw-consent__item { display: flex; flex-direction: column; }
.btd-tw-consent__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--wp--preset--color--danger) 12%, transparent);
  color: var(--wp--preset--color--danger);
  margin-bottom: 0.75rem;
}
.btd-tw-consent__item strong { margin-bottom: 0.3rem; }
.btd-tw-consent__item span { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-tw-important {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin: 0 1.5rem 1.5rem;
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--danger) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 25%, transparent);
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
}
.btd-tw-important .icon { width: 1.25rem; height: 1.25rem; flex: none; color: var(--wp--preset--color--danger); margin-top: 0.05rem; }
.btd-tw-handle { padding: 1.5rem; }
.btd-tw-handle li { font-size: 0.9rem; }

/* Approval-times note. */
.btd-tw-vary {
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
}
.btd-tw-vary__inner { display: flex; gap: 0.75rem; align-items: flex-start; margin: 0; font-size: 0.9rem; color: var(--wp--preset--color--muted); }
.btd-tw-vary__inner .icon { width: 1.25rem; height: 1.25rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.05rem; }

/* ============ TWILIO BRAND REGISTRATION PAGE ============ */

.btd-tw-hero, .btd-tw-cta {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--info) 26%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--warning) 24%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-tw-cta { text-align: center; }
.btd-tw-cta__icon { margin: 0 auto; background: color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent); color: var(--wp--preset--color--warning); }
.btd-tw-badges {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.btd-tw-badges li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
}
.btd-tw-badges li .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-tw-badges__flag { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black) !important; font-weight: 700; }
.btd-tw-badges__flag .icon { color: var(--wp--preset--color--black) !important; }
.btd-tw-hero__note {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}
.btd-tw-hero__note .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }

/* Without-registration card. */
.btd-tw-warncard__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1.5rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, var(--wp--preset--color--danger), color-mix(in srgb, var(--wp--preset--color--danger) 72%, #000));
}
.btd-tw-warncard__head .icon { width: 1.5rem; height: 1.5rem; }
.btd-tw-warncard__list { padding: 1.5rem; }

/* Requirement cards. */
.btd-tw-req { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 782px) { .btd-tw-req { grid-template-columns: repeat(3, 1fr); } }
.btd-tw-req__card {
  border-radius: 1.25rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12);
}
.btd-tw-req__head { display: flex; align-items: center; gap: 0.85rem; padding: 1.5rem; color: #fff; }
.btd-tw-req__head--primary { background: linear-gradient(135deg, var(--wp--preset--color--info), color-mix(in srgb, var(--wp--preset--color--info) 72%, #000)); }
.btd-tw-req__head--success { background: linear-gradient(135deg, var(--wp--preset--color--success), color-mix(in srgb, var(--wp--preset--color--success) 72%, #000)); }
.btd-tw-req__head--warning { background: linear-gradient(135deg, var(--wp--preset--color--warning), color-mix(in srgb, var(--wp--preset--color--warning) 68%, #000)); color: var(--wp--preset--color--black); }
.btd-tw-req__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: none; border-radius: 50%; background: rgba(255, 255, 255, 0.2); }
.btd-tw-req__icon .icon { width: 1.4rem; height: 1.4rem; }
.btd-tw-req__title { font-size: 1.15rem; font-weight: 700; }
.btd-tw-list { list-style: none; margin: 0; padding: 1.5rem; }
.btd-tw-list li { position: relative; padding-left: 1.75rem; margin-bottom: 1rem; }
.btd-tw-list li:last-child { margin-bottom: 0; }
.btd-tw-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.1rem;
  height: 1.1rem;
  background-color: var(--btd-tw-accent, var(--wp--preset--color--info));
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.42z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.42z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.btd-tw-list--primary { --btd-tw-accent: var(--wp--preset--color--info); }
.btd-tw-list--success { --btd-tw-accent: var(--wp--preset--color--success); }
.btd-tw-list--warning { --btd-tw-accent: var(--wp--preset--color--warning); }
.btd-tw-list li strong { display: block; font-size: 0.9rem; }
.btd-tw-list li span { display: block; font-size: 0.8rem; color: var(--wp--preset--color--muted); }

/* What we don't need. */
.btd-tw-noneed { background: color-mix(in srgb, var(--wp--preset--color--success) 6%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 20%, transparent); }
.btd-tw-noneed__head { display: flex; align-items: center; gap: 0.85rem; }
.btd-tw-noneed__icon { background: color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent); color: var(--wp--preset--color--success); }
.btd-tw-noneed__text { display: flex; flex-direction: column; }
.btd-tw-noneed__title { font-size: 1.15rem; font-weight: 700; }
.btd-tw-noneed__sub { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-tw-noneed__list { display: grid; grid-template-columns: 1fr; gap: 0 2rem; }
@media (min-width: 600px) { .btd-tw-noneed__list { grid-template-columns: repeat(2, 1fr); } }
.btd-tw-noneed__list li::before { --btd-marker-color: var(--wp--preset--color--success); }

/* Timeline flow. */
.btd-tw-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 782px) { .btd-tw-flow { grid-template-columns: repeat(3, 1fr); } }
.btd-tw-flow__card {
  border-radius: 1.25rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-tw-flow__card:hover { transform: translateY(-8px); box-shadow: 0 1.5rem 3rem rgba(0, 0, 0, 0.18); }
.btd-tw-flow__head { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; padding: 1.75rem 1.5rem; color: #fff; text-align: center; }
.btd-tw-flow__head--primary { background: linear-gradient(135deg, var(--wp--preset--color--info), color-mix(in srgb, var(--wp--preset--color--info) 72%, #000)); }
.btd-tw-flow__head--success { background: linear-gradient(135deg, var(--wp--preset--color--success), color-mix(in srgb, var(--wp--preset--color--success) 72%, #000)); }
.btd-tw-flow__head--warning { background: linear-gradient(135deg, var(--wp--preset--color--warning), color-mix(in srgb, var(--wp--preset--color--warning) 68%, #000)); color: var(--wp--preset--color--black); }
.btd-tw-flow__num { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); font-size: 1.5rem; font-weight: 700; }
.btd-tw-flow__title { font-size: 1.1rem; font-weight: 700; }
.btd-tw-flow__body { padding: 1.5rem; }
.btd-tw-flow__body p { margin: 0 0 1rem; color: var(--wp--preset--color--muted); font-size: 0.95rem; }
.btd-tw-flow__tag { display: block; padding: 0.5rem; border-radius: 0.5rem; text-align: center; font-size: 0.8rem; font-weight: 700; }
.btd-tw-flow__tag--primary { background: color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent); color: var(--wp--preset--color--info); }
.btd-tw-flow__tag--success { background: color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent); color: var(--wp--preset--color--success); }
.btd-tw-flow__tag--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 15%, transparent); color: color-mix(in srgb, var(--wp--preset--color--warning) 70%, #000); }
@media (prefers-reduced-motion: reduce) {
  .btd-tw-flow__card { transition: none; }
  .btd-tw-flow__card:hover { transform: none; }
}

/* Summary stats. */
.btd-tw-stats { text-align: center; }
.btd-tw-stats li { display: flex; flex-direction: column; gap: 0.25rem; }
.btd-tw-stats__num { font-size: 1.6rem; font-weight: 700; }
.btd-tw-stats__num--primary { color: var(--wp--preset--color--info); }
.btd-tw-stats__num--success { color: var(--wp--preset--color--success); }
.btd-tw-stats__num--warning { color: var(--wp--preset--color--warning); }
.btd-tw-stats__num--danger { color: var(--wp--preset--color--danger); }
.btd-tw-stats__label { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* ============ GODADDY DELEGATE ACCESS PAGE ============ */
/* Reuses the GBP page's step, need, email, confirm, access, and stuck styles.
   Only the hero/CTA gradients and the "cannot access" card variant are new. */
.btd-gd-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, rgba(0, 164, 166, 0.22), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--warning) 24%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-gd-cta {
  background:
    radial-gradient(900px 520px at 50% 0%, rgba(0, 164, 166, 0.22), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-gbp-access-card--cannot {
  background: color-mix(in srgb, var(--wp--preset--color--danger) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 30%, transparent);
}
.btd-gbp-access-card__icon--danger { background: var(--wp--preset--color--danger); }
/* Delegate name row above the email row in the invite box. */
.btd-gd-delegate { display: flex; flex-direction: column; gap: 0.5rem; }
.btd-gd-delegate__row { display: flex; align-items: baseline; gap: 0.5rem; }
.btd-gd-delegate__k { font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.btd-gd-delegate__v { font-weight: 700; }

/* ============ INVITE GBP ACCESS PAGE ============ */

.btd-gbp-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, rgba(66, 133, 244, 0.22), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, rgba(52, 168, 83, 0.22), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-gbp-reassure {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
}
.btd-gbp-reassure .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--success); }

/* Why: need items, warn, email box. */
.btd-gbp-need { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.5rem; }
@media (min-width: 600px) { .btd-gbp-need { grid-template-columns: repeat(2, 1fr); } }
.btd-gbp-need__item { display: flex; flex-direction: column; padding: 1.25rem; border-radius: 1rem; }
.btd-gbp-need__item--success { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent); }
.btd-gbp-need__item--info { background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent); }
.btd-gbp-need__icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; margin-bottom: 0.75rem; }
.btd-gbp-need__item--success .btd-gbp-need__icon { background: var(--wp--preset--color--success); }
.btd-gbp-need__item--info .btd-gbp-need__icon { background: var(--wp--preset--color--info); }
.btd-gbp-need__name { font-weight: 700; margin-bottom: 0.25rem; }
.btd-gbp-need__desc { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-gbp-warn, .btd-gbp-suspend {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 0 0 1.5rem;
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
  font-size: 0.875rem;
}
.btd-gbp-suspend { margin: 1.5rem 0 0; background: color-mix(in srgb, var(--wp--preset--color--danger) 8%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--danger) 25%, transparent); }
.btd-gbp-warn .icon, .btd-gbp-suspend .icon { width: 1.1rem; height: 1.1rem; flex: none; margin-top: 0.1rem; }
.btd-gbp-warn .icon { color: var(--wp--preset--color--warning); }
.btd-gbp-suspend .icon { color: var(--wp--preset--color--danger); }
.btd-gbp-email {
  padding: 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #1e293b, #0f172a);
  color: #fff;
}
.btd-gbp-email__label { display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); margin-bottom: 0.5rem; }
.btd-gbp-email__row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.75rem; }
.btd-gbp-email__addr { font-family: ui-monospace, "SF Mono", Monaco, "Roboto Mono", monospace; font-size: 1.15rem; font-weight: 700; word-break: break-all; }
.btd-gbp-bestpractice { margin-top: 1.5rem; }
.btd-gbp-bestpractice__inner, .btd-gbp-protip {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 0;
  font-size: 0.9rem;
  color: var(--wp--preset--color--muted);
}
.btd-gbp-bestpractice__inner .icon, .btd-gbp-protip .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }
.btd-gbp-protip {
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent);
}
.btd-gbp-protip .icon { color: var(--wp--preset--color--info); }

/* Steps grid + cards. */
.btd-gbp-steps { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 782px) { .btd-gbp-steps { grid-template-columns: repeat(2, 1fr); } }
.btd-gbp-step {
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1.25rem;
  overflow: hidden;
  background: #fff;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-gbp-step:hover { transform: translateY(-5px); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12); }
.btd-gbp-step__head { display: flex; gap: 1rem; padding: 1.5rem; }
.btd-gbp-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
}
.btd-gbp-step__num--success { background: var(--wp--preset--color--success); }
.btd-gbp-step__num--info { background: var(--wp--preset--color--info); }
.btd-gbp-step__num--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-gbp-step__num--danger { background: var(--wp--preset--color--danger); }
.btd-gbp-step__body strong { display: block; margin-bottom: 0.3rem; }
.btd-gbp-step__body span { font-size: 0.9rem; color: var(--wp--preset--color--muted); }
.btd-gbp-inline-email { font-family: ui-monospace, Monaco, monospace; font-weight: 700; color: var(--wp--preset--color--body); }
.btd-gbp-step .btd-gbp-shot { margin: 0 1.5rem 1.5rem; }
.btd-gbp-step .btd-gbp-shot img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .btd-gbp-step { transition: none; }
  .btd-gbp-step:hover { transform: none; }
}

/* Confirmation panel. */
.btd-gbp-confirm { background: linear-gradient(135deg, var(--wp--preset--color--success), color-mix(in srgb, var(--wp--preset--color--success) 72%, #000)); color: #fff; text-align: center; }
.btd-gbp-confirm__head { display: inline-flex; align-items: center; gap: 0.75rem; justify-content: center; }
.btd-gbp-confirm__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: rgba(255, 255, 255, 0.2); }
.btd-gbp-confirm__icon .icon { width: 1.35rem; height: 1.35rem; }
.btd-gbp-confirm__title { font-size: 1.35rem; font-weight: 700; }
.btd-gbp-confirm__text { max-width: 640px; margin: 0 auto; color: rgba(255, 255, 255, 0.9); }

/* Access cards. */
.btd-gbp-access-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1.5rem; }
@media (min-width: 600px) { .btd-gbp-access-grid { grid-template-columns: repeat(2, 1fr); } }
.btd-gbp-access-card { padding: 1.5rem; border-radius: 1rem; }
.btd-gbp-access-card--can { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 30%, transparent); }
.btd-gbp-access-card--owner { background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 30%, transparent); }
.btd-gbp-access-card__head { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; }
.btd-gbp-access-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; }
.btd-gbp-access-card__icon--success { background: var(--wp--preset--color--success); }
.btd-gbp-access-card__icon--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-gbp-access-card__title { font-weight: 700; }
.btd-gbp-access-card .btd-checklist li { font-size: 0.875rem; }
.btd-gbp-access-card__desc { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--muted); }

/* Still stuck. */
.btd-gbp-stuck { margin-top: 1.5rem; text-align: center; }
.btd-gbp-stuck__head { display: inline-flex; align-items: center; gap: 0.75rem; justify-content: center; }
.btd-gbp-stuck__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent); color: var(--wp--preset--color--info); }
.btd-gbp-stuck__icon .icon { width: 1.35rem; height: 1.35rem; }
.btd-gbp-stuck__title { font-size: 1.35rem; font-weight: 700; }
.btd-gbp-stuck__text { max-width: 620px; margin: 0 auto; color: var(--wp--preset--color--muted); }

.btd-gbp-cta {
  background:
    radial-gradient(900px 520px at 50% 0%, rgba(66, 133, 244, 0.22), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}

/* ============ REQUEST CHANGES PAGE ============ */

.btd-req-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--success) 26%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--warning) 24%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-req-jump {
  display: inline-block;
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
}
.btd-req-jump__label { display: block; color: var(--wp--preset--color--warning); font-size: 0.75rem; margin-bottom: 0.75rem; }
.btd-req-jump ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.btd-req-jump a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.5rem 0.85rem;
  border-radius: 0.5rem;
  color: #fff;
  text-decoration: none;
  font-size: 0.875rem;
  transition: background-color 0.2s ease;
}
.btd-req-jump a:hover { background: rgba(255, 255, 255, 0.12); }
.btd-req-jump a:focus-visible { outline: 2px solid var(--wp--preset--color--warning); outline-offset: 2px; }
.btd-req-jump .icon { width: 1rem; height: 1rem; color: var(--wp--preset--color--warning); }

/* Two methods. */
.btd-req-methods { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-req-methods { grid-template-columns: repeat(2, 1fr); } }
.btd-req-method {
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
  border-radius: 1rem;
}
.btd-req-method--a { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent); }
.btd-req-method--b { background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent); }
.btd-req-method__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  color: #fff;
  margin-bottom: 0.75rem;
}
.btd-req-method--a .btd-req-method__icon { background: var(--wp--preset--color--success); }
.btd-req-method--b .btd-req-method__icon { background: var(--wp--preset--color--info); }
.btd-req-method__name { font-weight: 700; }
.btd-req-method__tag {
  align-self: flex-start;
  margin: 0.35rem 0 0.5rem;
  padding: 0.15rem 0.6rem;
  border-radius: 50rem;
  font-size: 0.7rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--wp--preset--color--info) 20%, transparent);
  color: var(--wp--preset--color--info);
}
.btd-req-method__tag--rec { background: var(--wp--preset--color--success); color: #fff; }
.btd-req-method__desc { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-req-scope, .btd-req-note {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 1.5rem 0 0;
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
}
.btd-req-scope { background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent); }
.btd-req-scope .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }
.btd-req-note { background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent); color: var(--wp--preset--color--muted); }
.btd-req-note .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--info); margin-top: 0.1rem; }

/* Markup example. */
.btd-req-example { background: color-mix(in srgb, var(--wp--preset--color--success) 8%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent); }
.btd-req-example__head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; }
.btd-req-example__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; flex: none; border-radius: 50%; background: var(--wp--preset--color--success); color: #fff; }
.btd-req-example__title { font-size: 1.25rem; font-weight: 700; }
.btd-req-example__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0.75rem; }
@media (min-width: 600px) { .btd-req-example__grid { grid-template-columns: repeat(2, 1fr); } }
.btd-req-example__grid li { padding: 0.85rem 1rem; border-radius: 0.75rem; background: #fff; font-size: 0.875rem; }
.btd-req-example__label { display: block; font-weight: 700; color: var(--wp--preset--color--success); margin-bottom: 0.15rem; font-size: 0.8rem; }

/* Email code + send-to. */
.btd-req-code.wp-block-code {
  background: #1e293b;
  color: #e2e8f0;
  border: 0;
  border-radius: 1rem;
  padding: 1.25rem;
  font-size: 0.82rem;
  overflow-x: auto;
}
.btd-req-sendto {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 1.25rem 0 0;
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent);
  font-size: 0.9rem;
}
.btd-req-sendto .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--info); }

/* SLA. */
.btd-req-slahead { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1.5rem; }
.btd-req-slahead__icon { color: #fff; }
.btd-req-slahead__icon--success { background: var(--wp--preset--color--success); }
.btd-req-slahead__icon--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-req-slahead__title { font-size: 1.25rem; font-weight: 700; }
.btd-req-priority { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .btd-req-priority { grid-template-columns: repeat(3, 1fr); } }
.btd-req-priority__item { padding: 1.25rem; border-radius: 1rem; background: var(--wp--preset--color--light); border: 1px solid rgba(0, 0, 0, 0.08); }
.btd-req-priority__item--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--warning) 30%, transparent); }
.btd-req-priority__item--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--danger) 30%, transparent); }
.btd-req-priority__badge {
  display: inline-block;
  margin-bottom: 0.75rem;
  padding: 0.25rem 0.75rem;
  border-radius: 50rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
}
.btd-req-priority__badge--normal { background: var(--wp--preset--color--muted); }
.btd-req-priority__badge--urgent { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-req-priority__badge--emergency { background: var(--wp--preset--color--danger); }
.btd-req-priority__name { display: block; font-weight: 700; margin-bottom: 0.3rem; }
.btd-req-priority__desc { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }

.btd-req-cta {
  background:
    radial-gradient(900px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--success) 24%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}

/* ============ CLIENT ONBOARDING PAGE ============ */

.btd-onb-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-onb-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.btd-onb-chips li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
}
.btd-onb-chips li .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-onb-chips__flag {
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--black) !important;
  font-weight: 700;
}
.btd-onb-chips__flag .icon { color: var(--wp--preset--color--black) !important; }

/* Overview roles + fast path. */
.btd-onb-role { display: flex; gap: 0.85rem; margin-bottom: 1rem; padding: 1rem 1.25rem; border-radius: 1rem; background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); }
.btd-onb-role__icon { color: #fff; }
.btd-onb-role__icon--success { background: var(--wp--preset--color--success); }
.btd-onb-role__icon--info { background: var(--wp--preset--color--info); }
.btd-onb-role__body strong { display: block; margin-bottom: 0.15rem; }
.btd-onb-role__body span { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-onb-fast { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-onb-fast { grid-template-columns: repeat(2, 1fr); } }
.btd-onb-fast li { padding: 1rem 1.25rem; border-radius: 1rem; background: var(--wp--preset--color--light); border: 1px solid rgba(0, 0, 0, 0.06); }
.btd-onb-fast__head { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; margin-bottom: 0.25rem; }
.btd-onb-fast__head .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--info); }
.btd-onb-fast li:nth-child(2) .icon { color: var(--wp--preset--color--success); }
.btd-onb-fast li:nth-child(3) .icon { color: var(--wp--preset--color--warning); }
.btd-onb-fast li:nth-child(4) .icon { color: var(--wp--preset--color--danger); }
.btd-onb-fast__desc { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Steps. */
.btd-onb-tip {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 30%, transparent);
  font-size: 0.95rem;
}
.btd-onb-tip .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }
.btd-onb-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media (min-width: 600px) { .btd-onb-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-onb-steps { grid-template-columns: repeat(3, 1fr); } }
.btd-onb-step {
  display: flex;
  gap: 1rem;
  padding: 1.5rem;
  border-radius: 1.25rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-onb-step:hover { transform: translateY(-5px); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12); }
.btd-onb-step__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}
.btd-onb-step__num .icon { width: 1.4rem; height: 1.4rem; }
.btd-onb-step__num--info { background: var(--wp--preset--color--info); }
.btd-onb-step__num--success { background: var(--wp--preset--color--success); }
.btd-onb-step__num--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-onb-step__num--danger { background: var(--wp--preset--color--danger); }
.btd-onb-step__body strong { display: block; margin-bottom: 0.3rem; }
.btd-onb-step__body span { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
@media (prefers-reduced-motion: reduce) {
  .btd-onb-step { transition: none; }
  .btd-onb-step:hover { transform: none; }
}

/* Avoid delays panel. */
.btd-onb-avoid { background: linear-gradient(135deg, var(--wp--preset--color--danger), color-mix(in srgb, var(--wp--preset--color--danger) 72%, #000)); color: #fff; }
.btd-onb-avoid__head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem; }
.btd-onb-avoid__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: rgba(255, 255, 255, 0.2); }
.btd-onb-avoid__icon .icon { width: 1.35rem; height: 1.35rem; }
.btd-onb-avoid__title { font-size: 1.25rem; font-weight: 700; }
.btd-onb-avoid__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0.75rem; }
@media (min-width: 768px) { .btd-onb-avoid__list { grid-template-columns: repeat(3, 1fr); } }
.btd-onb-avoid__list li { display: flex; gap: 0.5rem; padding: 1rem; border-radius: 0.75rem; background: rgba(255, 255, 255, 0.1); font-size: 0.875rem; }
.btd-onb-avoid__list .icon { width: 1rem; height: 1rem; flex: none; margin-top: 0.15rem; opacity: 0.75; }

/* Engine requirement Details. */
.btd-onb-req.wp-block-details {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-left: 4px solid var(--btd-req-accent, var(--wp--preset--color--muted));
  border-radius: 1rem;
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.08);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
}
.btd-onb-req--fan { --btd-req-accent: var(--wp--preset--color--info); }
.btd-onb-req--foundation { --btd-req-accent: var(--wp--preset--color--success); }
.btd-onb-req--growth { --btd-req-accent: var(--wp--preset--color--danger); }
.btd-onb-req > summary {
  font-weight: 700;
  font-size: 1.15rem;
  cursor: pointer;
  list-style-position: inside;
}
.btd-onb-req > summary:focus-visible { outline: 2px solid var(--wp--preset--color--warning); outline-offset: 2px; }
.btd-onb-req__meta { display: block; font-size: 0.8rem; font-weight: 600; color: var(--wp--preset--color--muted); margin-top: 0.25rem; }
.btd-onb-checklist { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-onb-checklist { grid-template-columns: repeat(2, 1fr); } }
.btd-onb-checklist li { padding: 1rem 1.25rem; border-radius: 0.75rem; background: var(--wp--preset--color--light); }
.btd-onb-checklist__head { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; margin-bottom: 0.25rem; }
.btd-onb-checklist__head .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--btd-req-accent); }
.btd-onb-checklist li span:last-child { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-onb-note {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 1rem 0 0;
  padding: 0.85rem 1rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--btd-req-accent) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--btd-req-accent) 20%, transparent);
  font-size: 0.85rem;
}
.btd-onb-note .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--btd-req-accent); margin-top: 0.1rem; }
.btd-onb-note--muted { background: rgba(0, 0, 0, 0.03); border-color: rgba(0, 0, 0, 0.08); }

.btd-onb-cta {
  background:
    radial-gradient(900px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}

/* ============ FAQ PAGE ============ */

.btd-faq-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}

/* Sticky quick-nav sidebar (pure CSS; no scrollspy JS). */
.btd-faq-sidebar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1.5rem;
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.08);
  padding: 1.5rem;
}
@media (min-width: 992px) {
  .btd-faq-sidebar { position: sticky; top: 100px; }
}
.btd-faq-sidebar__label {
  color: var(--wp--preset--color--muted);
  font-size: 0.75rem;
  margin: 0 0 1rem;
}
.btd-faq-nav { display: flex; flex-direction: column; gap: 0.25rem; }
.btd-faq-nav a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.75rem;
  border-radius: 0.75rem;
  text-decoration: none;
  color: var(--wp--preset--color--body);
  font-weight: 600;
  transition: background-color 0.2s ease;
}
.btd-faq-nav a:hover { background-color: rgba(0, 0, 0, 0.04); }
.btd-faq-nav a:focus-visible {
  outline: 2px solid var(--wp--preset--color--warning);
  outline-offset: 2px;
}
.btd-faq-nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 50%;
}
.btd-faq-nav__icon .icon { width: 1rem; height: 1rem; }
.btd-faq-nav__icon--info { background: color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent); color: var(--wp--preset--color--info); }
.btd-faq-nav__icon--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 12%, transparent); color: var(--wp--preset--color--danger); }
.btd-faq-nav__icon--muted { background: color-mix(in srgb, var(--wp--preset--color--muted) 12%, transparent); color: var(--wp--preset--color--muted); }
.btd-faq-support {
  margin-top: 1.5rem;
  padding: 1rem;
  border-radius: 1rem;
  background: var(--wp--preset--color--light);
}
.btd-faq-support__title { display: flex; align-items: center; gap: 0.4rem; margin: 0 0 0.4rem; font-size: 0.875rem; font-weight: 700; }
.btd-faq-support__title .icon { width: 1rem; height: 1rem; color: var(--wp--preset--color--warning); }
.btd-faq-support__body { margin: 0; font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Section headers. */
.btd-faq-sectionhead { display: flex; align-items: center; gap: 0.85rem; }
.btd-faq-sectionhead__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  flex: none;
  border-radius: 50%;
}
.btd-faq-sectionhead__icon .icon { width: 1.5rem; height: 1.5rem; }
.btd-faq-sectionhead__icon--info { background: color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent); color: var(--wp--preset--color--info); }
.btd-faq-sectionhead__icon--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 12%, transparent); color: var(--wp--preset--color--danger); }
.btd-faq-sectionhead__text { display: flex; flex-direction: column; }
.btd-faq-sectionhead__text .btd-kicker { color: var(--wp--preset--color--muted); font-size: 0.75rem; }
.btd-faq-sectionhead__title { font-size: 1.35rem; font-weight: 700; }

/* ============ HOW IT WORKS PAGE ============ */

.btd-how-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-how-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.btd-how-chips li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
}
.btd-how-chips li .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--success); }
.btd-how-chips__flag {
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--black) !important;
  font-weight: 700;
}
.btd-how-chips__flag .icon { color: var(--wp--preset--color--black) !important; }

/* "What we need" card. */
.btd-need__head { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1.5rem; }
.btd-need__icon { background: color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent); color: var(--wp--preset--color--success); }
.btd-need__title { font-size: 1.25rem; font-weight: 700; }
.btd-need__list li { font-size: 0.95rem; }

/* Capacity rule card (danger gradient). */
.btd-capacity {
  background: linear-gradient(135deg, var(--wp--preset--color--danger), color-mix(in srgb, var(--wp--preset--color--danger) 72%, #000));
  color: #fff;
}
.btd-capacity__head { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1.25rem; }
.btd-capacity__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
}
.btd-capacity__icon .icon { width: 1.25rem; height: 1.25rem; color: #fff; }
.btd-capacity__title { font-size: 1.25rem; font-weight: 700; }
.btd-capacity__body { font-size: 1.1rem; margin: 0 0 1.5rem; color: rgba(255, 255, 255, 0.9); }

/* ============ CONTACT PAGE ============ */

.btd-contact-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-contact-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.btd-contact-chips li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.85);
}
.btd-contact-chips .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }

/* Guidance cards. */
.btd-guide-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 600px) { .btd-guide-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-guide-grid { grid-template-columns: repeat(4, 1fr); } }
.btd-guide-card {
  padding: 1.5rem;
  border-radius: 1rem;
  background: #fff;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-guide-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 1.25rem 3.25rem rgba(0, 0, 0, 0.16);
}
.btd-guide-card h3 { margin: 0 0 0.5rem; font-size: 1.05rem; font-weight: 700; }
.btd-guide-card p { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-guide-card__icon {
  margin: 0 auto 1rem;
  background: color-mix(in srgb, var(--btd-accent, var(--wp--preset--color--muted)) 10%, transparent);
  color: var(--btd-accent, var(--wp--preset--color--muted));
}
.btd-guide-card--info { --btd-accent: var(--wp--preset--color--info); }
.btd-guide-card--success { --btd-accent: var(--wp--preset--color--success); }
.btd-guide-card--warning { --btd-accent: var(--wp--preset--color--warning); }
.btd-guide-card--danger { --btd-accent: var(--wp--preset--color--danger); }
.btd-guide-band {
  background: linear-gradient(135deg, var(--wp--preset--color--info), color-mix(in srgb, var(--wp--preset--color--info) 72%, #000));
}

/* Response + two paths. */
.btd-response-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-response-grid { grid-template-columns: repeat(2, 1fr); } }
.btd-response-card {
  padding: 1.25rem;
  border-radius: 1rem;
  background: var(--wp--preset--color--light);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.btd-response-card h3 { margin: 0 0 0.4rem; font-size: 1rem; font-weight: 700; }
.btd-response-card p { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-response-card__icon { margin-bottom: 0.75rem; color: #fff; }
.btd-response-card__icon--info { background: var(--wp--preset--color--info); }
.btd-response-card__icon--warning { background: var(--wp--preset--color--warning); }
.btd-paths { background: linear-gradient(135deg, #0d1b2a, #070c14); }
.btd-path { display: flex; gap: 1rem; margin-bottom: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
.btd-path:last-of-type { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.btd-path__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
}
.btd-path__icon .icon { width: 1.25rem; height: 1.25rem; }
.btd-path__icon--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-path__icon--success { background: var(--wp--preset--color--success); color: #fff; }
.btd-path__body h4 { margin: 0 0 0.4rem; font-size: 1.1rem; font-weight: 700; color: #fff; }
.btd-path__body p { margin: 0 0 0.75rem; font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }
.btd-path__link {
  display: inline-block;
  padding: 0.4rem 1rem;
  border-radius: 50rem;
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
}
.btd-path__link:hover { background: rgba(255, 255, 255, 0.12); }
.btd-path__link--success { background: var(--wp--preset--color--success); border-color: var(--wp--preset--color--success); }
.btd-path__link--success:hover { background: color-mix(in srgb, var(--wp--preset--color--success) 85%, #000); }
.btd-paths__note {
  display: flex;
  gap: 0.6rem;
  margin: 1.5rem 0 0;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.6);
}
.btd-paths__note .icon { width: 1.1rem; height: 1.1rem; flex: none; margin-top: 0.1rem; }

/* Contact form card. */
.btd-form-tips__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-weight: 700;
}
.btd-form-tips__title .icon { width: 1.15rem; height: 1.15rem; color: var(--wp--preset--color--warning); }
.btd-form-tips .btd-checklist li { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-form-privacy {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 0;
  padding: 1rem 1.25rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent);
  font-size: 0.85rem;
}
.btd-form-privacy .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--info); margin-top: 0.1rem; }

/* Other options cards. */
.btd-optcard { text-align: center; }
.btd-optcard__icon { margin: 0 auto; color: #fff; }
.btd-optcard__icon--info { background: var(--wp--preset--color--info); }
.btd-optcard__icon--success { background: var(--wp--preset--color--success); }
.btd-optcard__icon--warning { background: var(--wp--preset--color--warning); }
.btd-optcard__email a { font-weight: 700; word-break: break-word; }
.btd-existing { text-align: center; }

/* Service area cards. */
.btd-area__head { display: flex; align-items: center; gap: 0.85rem; }
.btd-area__icon { color: #fff; }
.btd-area__icon--info { background: var(--wp--preset--color--info); }
.btd-area__icon--success { background: var(--wp--preset--color--success); }
.btd-area__title { font-size: 1.25rem; font-weight: 700; }
.btd-area__facts {
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--light);
  font-size: 0.875rem;
  color: var(--wp--preset--color--muted);
}
.btd-area__facts div { margin-bottom: 0.4rem; }
.btd-area__facts div:last-child { margin-bottom: 0; }
.btd-area__facts strong { color: var(--wp--preset--color--body); }
/* [bt_hours] inline output can be long; let it wrap under the label. */
.btd-area__hours { line-height: 1.6; }

.btd-contact-cta {
  background:
    radial-gradient(900px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}

@media (prefers-reduced-motion: reduce) {
  .btd-guide-card { transition: none; }
  .btd-guide-card:hover { transform: none; }
}

/* ============ BOOK A CALL PAGE ============ */

.btd-book-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}

/* Hero call-fact chips. */
.btd-book-facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}
.btd-book-facts li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.85);
}
.btd-book-facts li .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-book-facts__flag {
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--black) !important;
  font-weight: 700;
}
.btd-book-facts__flag .icon { color: var(--wp--preset--color--black) !important; }

/* Expectation cards. */
.btd-expect__head { display: flex; align-items: center; gap: 0.85rem; }
.btd-expect__label { display: block; font-size: 0.75rem; }
.btd-expect__label--success { color: var(--wp--preset--color--success); }
.btd-expect__label--danger { color: var(--wp--preset--color--danger); }
.btd-expect__title { display: block; font-size: 1.5rem; font-weight: 700; }
.btd-expect-list { list-style: none; margin: 0; padding: 0; }
.btd-expect-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  margin-bottom: 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.95rem;
}
.btd-expect-list li:last-child { margin-bottom: 0; }
.btd-expect-list .icon { width: 1.2rem; height: 1.2rem; flex: none; margin-top: 0.05rem; }
.btd-expect-list--yes li { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); }
.btd-expect-list--yes .icon { color: var(--wp--preset--color--success); }
.btd-expect-list--no li { background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent); }
.btd-expect-list--no .icon { color: var(--wp--preset--color--danger); }

/* Soft-tinted icon circle, success variant (matches warning/danger soft). */
.btd-icon-circle--success-soft {
  background-color: color-mix(in srgb, var(--wp--preset--color--success) 15%, transparent);
  border: 2px solid color-mix(in srgb, var(--wp--preset--color--success) 30%, transparent);
  color: var(--wp--preset--color--success);
}
.btd-icon-circle--danger-soft .icon,
.btd-icon-circle--success-soft .icon { color: inherit; }

/* What to bring: pro tip + numbered list. */
.btd-protip {
  display: flex;
  gap: 0.85rem;
  padding: 1.25rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 30%, transparent);
}
.btd-protip__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
}
.btd-protip__icon .icon { width: 1.15rem; height: 1.15rem; color: var(--wp--preset--color--black); }
.btd-protip__body strong { display: block; margin-bottom: 0.15rem; }
.btd-protip__body span { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-bring { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.btd-bring__item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;
  background: var(--wp--preset--color--light);
  border: 1px solid rgba(0, 0, 0, 0.04);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btd-bring__item:hover {
  transform: translateX(4px);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}
.btd-bring__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  font-weight: 700;
  color: #fff;
}
.btd-bring__num--info { background: var(--wp--preset--color--info); }
.btd-bring__num--success { background: var(--wp--preset--color--success); }
.btd-bring__num--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-bring__num--danger { background: var(--wp--preset--color--danger); }
.btd-bring__body strong { display: block; margin-bottom: 0.15rem; }
.btd-bring__body span { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
@media (prefers-reduced-motion: reduce) {
  .btd-bring__item { transition: none; }
  .btd-bring__item:hover { transform: none; }
}

/* Scheduler embed. */
.btd-scheduler__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 100 / 62;
  border-radius: 1rem;
  overflow: hidden;
  background: var(--wp--preset--color--light);
}
.btd-scheduler__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
@supports not (aspect-ratio: 1) {
  .btd-scheduler__frame { height: 0; padding-bottom: 62%; }
}
.btd-scheduler__fallback { margin: 0; text-align: center; }
.btd-scheduler__fallback a { font-weight: 700; }
.btd-scheduler__fallback .icon { width: 0.9em; height: 0.9em; }
.btd-book-urgent {
  background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 30%, transparent);
}
.btd-book-urgent__inner {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-size: 0.95rem;
  text-align: center;
}
.btd-book-urgent__inner .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--info); }

.btd-book-cta {
  background:
    radial-gradient(900px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-book-cta .cta-trust { color: rgba(255, 255, 255, 0.7); }
.btd-book-cta .cta-trust svg { color: var(--wp--preset--color--warning); }

/* ============ PRICING PAGE ============ */

.btd-pricing-hero {
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-pricing-hero__trust { color: rgba(255, 255, 255, 0.75); }
.btd-pricing-hero__trust svg { color: var(--wp--preset--color--success); }

/* How pricing works: the two overview cards. */
.btd-howpri-icon.btd-icon-circle--md { color: #fff; }
.btd-howpri-icon--info { background: var(--wp--preset--color--info); }
.btd-howpri-icon--success { background: var(--wp--preset--color--success); }
.btd-howpri-box {
  padding: 1.25rem;
  border-radius: 1rem;
  background: var(--wp--preset--color--light);
}
.btd-howpri-box__label {
  display: block;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wp--preset--color--muted);
  margin-bottom: 0.75rem;
}
.btd-howpri-box .btd-checklist li { font-size: 0.9rem; }
.btd-howpri-box__note {
  display: flex;
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
}
.btd-howpri-box__note .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.15rem; }

/* Payment steps. */
.btd-paysteps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  counter-reset: none;
}
@media (min-width: 600px) { .btd-paysteps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-paysteps { grid-template-columns: repeat(4, 1fr); } }
.btd-paystep { text-align: center; }
.btd-paystep__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent);
  color: var(--wp--preset--color--info);
  font-size: 1.5rem;
  font-weight: 700;
}
.btd-paystep__title { display: block; font-size: 1.05rem; font-weight: 700; margin-bottom: 0.4rem; }
.btd-paystep__desc { display: block; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.btd-paynote__inner {
  display: flex;
  gap: 0.6rem;
  align-items: flex-start;
  margin: 0;
  font-size: 0.9rem;
  color: var(--wp--preset--color--muted);
}
.btd-paynote__inner .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }

/* ============ SHARED: solid badges ============ */
.btd-badge-solid {
  display: inline-block;
  padding: 0.35rem 0.8rem;
  border-radius: 0.4rem;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}
.btd-badge-solid--success { background: var(--wp--preset--color--success); color: #fff; }
.btd-badge-solid--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }

/* ============ FOUNDATION PAGE ============ */

/* Hero. Green + warm gradient. Set the real webp via Preload Manager and add
   .btd-fnd-hero--image if you want it layered behind the gradient. */
.btd-fnd-hero {
  position: relative;
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--success) 30%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/lead-generation-missing-piece.webp") center / cover no-repeat,
    #0a0a0a;
}
.btd-fnd-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.25;
  pointer-events: none;
  background: radial-gradient(circle at 20px 20px, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size: 28px 28px;
}
.btd-fnd-hero > * { position: relative; z-index: 1; }
.btd-fnd-hero__lede { color: rgba(255, 255, 255, 0.7); max-width: 44rem; }
.btd-fnd-hero__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* Fan Engine hero -- gold + blue wash (distinct from Foundation's green). Reuses
   the btd-fnd-hero__lede / __badges / btd-fnd-stats / btd-fnd-price kit. */
.btd-fan-hero {
  position: relative;
  background:
    radial-gradient(1000px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 22%, transparent), transparent 60%),
    radial-gradient(1000px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 22%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/turn-traffic-into-raving-fans.webp") center / cover no-repeat,
    #0a0a0a;
}
.btd-fan-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.25;
  pointer-events: none;
  background: radial-gradient(circle at 20px 20px, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size: 28px 28px;
}
.btd-fan-hero > * { position: relative; z-index: 1; }

/* ============================================================
   GROWTH ENGINE
   ============================================================ */

/* Hero -- red + gold wash (danger-forward; distinct from Fan/Foundation). Reuses
   the btd-fnd-hero__lede / __badges / btd-fnd-stats / btd-fnd-price kit. */
.btd-growth-hero {
  position: relative;
  background:
    radial-gradient(1000px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--danger) 30%, transparent), transparent 60%),
    radial-gradient(1000px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--warning) 16%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/accelerate-lead-generation-speed.webp") center / cover no-repeat,
    #0a0a0a;
}
.btd-growth-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.25;
  pointer-events: none;
  background: radial-gradient(circle at 20px 20px, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size: 28px 28px;
}
.btd-growth-hero > * { position: relative; z-index: 1; }

/* Foundation-included note reused as a green "included" callout in the hero. */
.btd-growth-incl {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--success) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 30%, transparent);
  font-size: 0.9rem;
}
.btd-growth-incl .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--success); }

/* 8-phase system grid (sits on a dark section). */
.btd-phases { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-phases { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-phases { grid-template-columns: repeat(4, 1fr); } }
.btd-phase {
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 22%, transparent);
  background: color-mix(in srgb, var(--wp--preset--color--danger) 6%, transparent);
}
.btd-phase__top { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.btd-phase__num {
  width: 36px; height: 36px; border-radius: 50%; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.85rem; font-weight: 800; color: #fff;
  background: linear-gradient(135deg, var(--wp--preset--color--danger), color-mix(in srgb, var(--wp--preset--color--danger) 68%, #000));
}
.btd-phase__title { font-weight: 700; color: #fff; }
.btd-phase__desc { font-size: 0.875rem; color: rgba(255, 255, 255, 0.55); margin: 0; }

/* Self-compounding callout. */
.btd-growth-feeds {
  border-radius: 1.5rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  text-align: center;
  background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 25%, transparent);
}

/* Infrastructure cards. */
.btd-infra { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-infra { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-infra { grid-template-columns: repeat(4, 1fr); } }
.btd-infra li { padding: 1.5rem; border-radius: 1rem; text-align: center; background: var(--wp--preset--color--light); }
.btd-infra__ico { width: 56px; height: 56px; border-radius: 50%; margin: 0 auto 0.75rem; display: flex; align-items: center; justify-content: center; background: var(--wp--preset--color--dark); }
.btd-infra__ico .icon { width: 1.5rem; height: 1.5rem; color: var(--wp--preset--color--warning); }
.btd-infra__title { font-weight: 700; display: block; margin-bottom: 0.25rem; }
.btd-infra__desc { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Growth pricing card: red header variant (reuses the btd-fnd-pricecard kit). */
.btd-fnd-pricecard--danger .btd-fnd-pricecard__head {
  background: linear-gradient(135deg, var(--wp--preset--color--danger), color-mix(in srgb, var(--wp--preset--color--danger) 70%, #000));
}
.btd-growth-buildfee { padding: 1.5rem; border-radius: 1rem; text-align: center; background: color-mix(in srgb, var(--wp--preset--color--danger) 8%, transparent); margin-bottom: 1.25rem; }
.btd-growth-buildfee__label { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; color: var(--wp--preset--color--muted); margin-bottom: 0.5rem; }
.btd-growth-buildfee__amount { display: block; font-size: 2.5rem; font-weight: 800; line-height: 1; color: var(--wp--preset--color--danger); margin-bottom: 0.35rem; }
.btd-growth-buildfee__note { display: block; font-size: 0.8rem; color: var(--wp--preset--color--muted); }
.btd-growth-adnote {
  display: flex; gap: 0.6rem; margin: 1.25rem 0 0; padding: 0.85rem 1rem; border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--danger) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 20%, transparent);
  font-size: 0.85rem; color: var(--wp--preset--color--muted);
}
.btd-growth-adnote .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--danger); margin-top: 0.1rem; }

/* ============================================================
   ABOUT PAGE
   ============================================================ */

/* Hero -- gold + blue wash over a pre-blurred background photo (blur is baked
   into the .webp so there is no runtime filter cost). */
.btd-about-hero {
  position: relative;
  background:
    radial-gradient(1000px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent), transparent 60%),
    radial-gradient(1000px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--info) 20%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.74), rgba(7, 12, 20, 0.88)),
    url("/wp-content/uploads/2025/12/growing-your-business-blur.webp") center / cover no-repeat,
    #0a0a0a;
}
.btd-about-hero::before { display: none; }
.btd-about-hero > * { position: relative; z-index: 1; }

/* Icon color helpers (fill: currentColor icons). */
.btd-ic-info { color: var(--wp--preset--color--info); }
.btd-ic-success { color: var(--wp--preset--color--success); }
.btd-ic-warning { color: var(--wp--preset--color--warning); }
.btd-ic-danger { color: var(--wp--preset--color--danger); }

/* Who We Are: outcome chips. */
.btd-about-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.btd-about-chips li { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.5rem 0.9rem; border-radius: 50rem; background: var(--wp--preset--color--light); border: 1px solid color-mix(in srgb, #000 8%, transparent); font-size: 0.85rem; font-weight: 600; }
.btd-about-chips .icon { width: 1.05rem; height: 1.05rem; flex: none; }

/* What We Do panel. */
.btd-about-panel {
  border-radius: 1.5rem;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid color-mix(in srgb, #000 7%, transparent);
  box-shadow: 0 0.85rem 2.25rem rgba(0, 0, 0, 0.08);
  background:
    radial-gradient(900px 520px at 20% 10%, color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 30%, color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent), transparent 60%),
    linear-gradient(180deg, #ffffff, var(--wp--preset--color--light));
}
.btd-about-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.btd-about-panel__badge { width: 56px; height: 56px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid color-mix(in srgb, #000 8%, transparent); }
.btd-about-panel__badge .icon { width: 1.4rem; height: 1.4rem; color: var(--wp--preset--color--warning); }
.btd-about-do { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.75rem; }
.btd-about-do > li { display: flex; gap: 0.85rem; padding: 1rem 1.15rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.86); border: 1px solid color-mix(in srgb, #000 6%, transparent); box-shadow: 0 0.35rem 1.1rem rgba(0, 0, 0, 0.06); }
.btd-about-do__ico { width: 52px; height: 52px; border-radius: 16px; flex: none; display: inline-flex; align-items: center; justify-content: center; border: 1px solid color-mix(in srgb, #000 6%, transparent); background: linear-gradient(180deg, #fff, color-mix(in srgb, #fff 60%, transparent)); }
.btd-about-do__ico .icon { width: 1.35rem; height: 1.35rem; }
.btd-about-do__row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.15rem; }
.btd-about-do__title { font-weight: 700; }
.btd-about-do__badge { font-size: 0.7rem; font-weight: 700; padding: 0.15rem 0.65rem; border-radius: 50rem; background: color-mix(in srgb, var(--wp--preset--color--warning) 16%, transparent); color: var(--wp--preset--color--secondary); white-space: nowrap; }
.btd-about-do__desc { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-about-note { display: flex; gap: 0.85rem; align-items: flex-start; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid color-mix(in srgb, #000 8%, transparent); font-size: 0.9rem; color: var(--wp--preset--color--muted); }
.btd-about-note .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.15rem; }

/* Values + process card grids. */
.btd-about-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-about-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-about-grid { grid-template-columns: repeat(4, 1fr); } }
.btd-about-grid > li { padding: 1.75rem 1.25rem; border-radius: 1rem; text-align: center; background: var(--wp--preset--color--white); border: 1px solid color-mix(in srgb, #000 8%, transparent); box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.06); }
.btd-about-circle { width: 70px; height: 70px; border-radius: 50%; margin: 0 auto 0.85rem; display: flex; align-items: center; justify-content: center; }
.btd-about-circle .icon { width: 1.6rem; height: 1.6rem; }
.btd-about-circle--num { font-size: 1.3rem; font-weight: 800; color: #fff; width: 56px; height: 56px; }
.btd-about-circle--success { background: color-mix(in srgb, var(--wp--preset--color--success) 14%, transparent); color: var(--wp--preset--color--success); }
.btd-about-circle--info { background: color-mix(in srgb, var(--wp--preset--color--info) 14%, transparent); color: var(--wp--preset--color--info); }
.btd-about-circle--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 16%, transparent); color: var(--wp--preset--color--warning); }
.btd-about-circle--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 14%, transparent); color: var(--wp--preset--color--danger); }
.btd-about-circle--num.btd-about-circle--success { background: var(--wp--preset--color--success); color: var(--wp--preset--color--white); }
.btd-about-circle--num.btd-about-circle--info { background: var(--wp--preset--color--info); color: var(--wp--preset--color--white); }
.btd-about-circle--num.btd-about-circle--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-about-circle--num.btd-about-circle--danger { background: var(--wp--preset--color--danger); color: var(--wp--preset--color--white); }
.btd-about-grid h3 { font-weight: 700; margin: 0 0 0.35rem; }
.btd-about-grid p { font-size: 0.9rem; color: var(--wp--preset--color--muted); margin: 0; }

/* ============================================================
   POLICY / GUIDE DOC EXTRAS (SMS guide, compliance docs, etc.)
   Complements the legal-doc kit (btd-terms-*). Reused across policy/guide pages.
   ============================================================ */
.btd-terms-success {
  background: color-mix(in srgb, var(--wp--preset--color--success) 8%, transparent);
  border-left: 4px solid var(--wp--preset--color--success);
  border-radius: 0 0.5rem 0.5rem 0;
  padding: 1rem 1.25rem;
  margin: 1rem 0;
}
.btd-terms-success .icon { width: 1.05rem; height: 1.05rem; vertical-align: -0.15em; color: var(--wp--preset--color--success); }

/* Card grids: icon + title + one-line desc. */
.btd-doc-cards { list-style: none; margin: 1rem 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0.85rem; }
@media (min-width: 600px) { .btd-doc-cards { grid-template-columns: repeat(2, 1fr); } }
.btd-doc-cards > li { padding: 1rem 1.15rem; border-radius: 0.75rem; border: 1px solid color-mix(in srgb, #000 6%, transparent); background: var(--wp--preset--color--light); }
.btd-doc-card__head { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 0.95rem; margin-bottom: 0.25rem; }
.btd-doc-card__head .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-doc-card__desc { font-size: 0.85rem; color: var(--wp--preset--color--muted); margin: 0; }

/* Numbered step cards. */
.btd-doc-steps { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: 0.75rem; }
.btd-doc-steps > li { display: flex; gap: 0.85rem; padding: 1rem 1.15rem; border-radius: 0.75rem; background: var(--wp--preset--color--light); border: 1px solid color-mix(in srgb, #000 6%, transparent); }
.btd-doc-step__num { width: 36px; height: 36px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 0.875rem; background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-doc-step__num .icon { width: 0.9rem; height: 0.9rem; color: var(--wp--preset--color--black); }
.btd-doc-step__title { display: block; font-weight: 700; font-size: 0.9rem; margin-bottom: 0.1rem; }
.btd-doc-step__desc { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Sample message (dark). */
.btd-doc-sample { border-radius: 0.75rem; padding: 1rem 1.15rem; background: var(--wp--preset--color--dark); color: #fff; font-size: 0.9rem; margin: 1rem 0; line-height: 1.6; }
.btd-doc-sample__label { display: block; font-size: 0.75rem; font-weight: 700; color: var(--wp--preset--color--success); margin-bottom: 0.4rem; }

/* Two-up required / prohibited panels. */
.btd-doc-split { display: grid; grid-template-columns: 1fr; gap: 1rem; margin: 1rem 0; }
@media (min-width: 782px) { .btd-doc-split { grid-template-columns: 1fr 1fr; } }
.btd-doc-panel { padding: 1.15rem 1.25rem; border-radius: 0.85rem; border: 1px solid color-mix(in srgb, #000 6%, transparent); }
.btd-doc-panel--good { background: color-mix(in srgb, var(--wp--preset--color--success) 8%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent); }
.btd-doc-panel--bad { background: color-mix(in srgb, var(--wp--preset--color--danger) 6%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--danger) 22%, transparent); }
.btd-doc-panel__title { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 0.9rem; margin: 0 0 0.75rem; }
.btd-doc-panel--good .btd-doc-panel__title { color: var(--wp--preset--color--success); }
.btd-doc-panel--bad .btd-doc-panel__title { color: var(--wp--preset--color--danger); }
.btd-doc-panel--info { background: color-mix(in srgb, var(--wp--preset--color--info) 8%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent); }
.btd-doc-panel--info .btd-doc-panel__title { color: var(--wp--preset--color--info); }

/* Neutral dot checklist variant. */
.btd-checklist--dot li::before {
  -webkit-mask: none;
  mask: none;
  background-color: var(--wp--preset--color--warning);
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  top: 0.55em;
  left: 0.35rem;
}

/* Compliance section subheads. */
.btd-compliance-subhead { display: flex; align-items: center; gap: 0.5rem; font-size: 1rem; font-weight: 700; margin: 1.5rem 0 0.75rem; }
.btd-compliance-subhead .icon { width: 1.2rem; height: 1.2rem; flex: none; }
.btd-compliance-note { font-size: 0.85rem; color: var(--wp--preset--color--muted); margin: 0 0 0.5rem; }

/* Billing: per-engine build-fee cards. */
.btd-bill-engines { list-style: none; margin: 1rem 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0.85rem; }
@media (min-width: 600px) { .btd-bill-engines { grid-template-columns: 1fr 1fr; } }
.btd-bill-engine { border-radius: 1rem; overflow: hidden; border: 1px solid color-mix(in srgb, #000 6%, transparent); background: #fff; }
.btd-bill-engine__head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.85rem 1.1rem; color: #fff; font-weight: 700; }
.btd-bill-engine__price { background: #fff; border-radius: 50rem; padding: 0.15rem 0.7rem; font-size: 0.8rem; font-weight: 800; }
.btd-bill-engine__body { padding: 1rem 1.1rem; display: grid; gap: 0.4rem; }
.btd-bill-engine__row { display: flex; justify-content: space-between; gap: 0.5rem; font-size: 0.875rem; }
.btd-bill-engine__row span:first-child { color: var(--wp--preset--color--muted); }
.btd-bill-engine__row span:last-child { font-weight: 700; }
.btd-bill-engine--fan .btd-bill-engine__head { background: var(--wp--preset--color--info); }
.btd-bill-engine--fan .btd-bill-engine__price { color: var(--wp--preset--color--info); }
.btd-bill-engine--foundation .btd-bill-engine__head { background: var(--wp--preset--color--success); }
.btd-bill-engine--foundation .btd-bill-engine__price { color: var(--wp--preset--color--success); }
.btd-bill-engine--growth .btd-bill-engine__head { background: var(--wp--preset--color--danger); }
.btd-bill-engine--growth .btd-bill-engine__price { color: var(--wp--preset--color--danger); }

/* Feedback: 30-second time pill. */
.btd-feedback-eyebrow { display: flex; width: fit-content; margin: 0 auto; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-radius: 50rem; background: color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent); color: var(--wp--preset--color--success); font-weight: 700; font-size: 0.85rem; }
.btd-feedback-eyebrow .icon { width: 1rem; height: 1rem; }

/* Thank-you (review) rating pill on the dark hero. */
.btd-thanks-rating { display: flex; width: fit-content; margin: 0 auto; align-items: center; gap: 0.5rem; padding: 0.6rem 1.5rem; border-radius: 50rem; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.16); font-weight: 700; font-size: 1.05rem; }
.btd-thanks-rating .icon { width: 1.2rem; height: 1.2rem; flex: none; color: var(--wp--preset--color--warning); }

/* Sorry page: location/hours quick facts. */
.btd-sorry-facts { list-style: none; margin: 0.75rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1rem; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-sorry-facts li { display: inline-flex; align-items: center; gap: 0.35rem; }
.btd-sorry-facts .icon { width: 0.95rem; height: 0.95rem; color: var(--wp--preset--color--warning); }

/* Thank-you (quote): success check + request snapshot grid. */
.btd-quote-check { width: 80px; height: 80px; border-radius: 50%; margin: 0 auto 1.25rem; display: flex; align-items: center; justify-content: center; background: var(--wp--preset--color--success); }
.btd-quote-check .icon { width: 2rem; height: 2rem; color: #fff; }
.btd-quote-snap { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0.75rem; }
@media (min-width: 600px) { .btd-quote-snap { grid-template-columns: 1fr 1fr; } }
.btd-quote-snap > li { padding: 1rem 1.15rem; border-radius: 0.85rem; background: rgba(0, 0, 0, 0.03); border: 1px solid color-mix(in srgb, #000 5%, transparent); }
.btd-quote-snap__label { display: flex; align-items: center; gap: 0.4rem; font-size: 0.8rem; color: var(--wp--preset--color--muted); margin-bottom: 0.25rem; }
.btd-quote-snap__label .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-quote-snap__value { font-weight: 700; }

/* Linked cards (service + resource links on thank-you / explore pages). */
.btd-svc-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0.85rem; }
@media (min-width: 600px) { .btd-svc-cards { grid-template-columns: 1fr 1fr; } }
.btd-svc-card { display: block; text-decoration: none; color: inherit; padding: 1.25rem; border-radius: 1rem; background: var(--wp--preset--color--white); border: 1px solid color-mix(in srgb, #000 6%, transparent); transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.btd-svc-card:hover, .btd-svc-card:focus-visible { transform: translateY(-4px); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.12); border-color: color-mix(in srgb, var(--wp--preset--color--warning) 40%, transparent); }
.btd-svc-card__head { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.4rem; }
.btd-svc-card__ico { width: 36px; height: 36px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center; }
.btd-svc-card__ico .icon { width: 1.1rem; height: 1.1rem; }
.btd-svc-card__title { font-weight: 700; }
.btd-svc-card__desc { font-size: 0.875rem; color: var(--wp--preset--color--muted); margin: 0; }
.btd-svc-card__more { display: inline-flex; align-items: center; gap: 0.3rem; margin-top: 0.5rem; font-size: 0.8rem; font-weight: 700; color: var(--wp--preset--color--secondary); }
.btd-svc-card__more .icon { width: 0.8rem; height: 0.8rem; }
.btd-svc-ico--info { background: color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent); color: var(--wp--preset--color--info); }
.btd-svc-ico--success { background: color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent); color: var(--wp--preset--color--success); }
.btd-svc-ico--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 12%, transparent); color: var(--wp--preset--color--danger); }
.btd-svc-ico--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 16%, transparent); color: var(--wp--preset--color--warning); }

/* SMS guide compliance banner. */
.btd-smsguide-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.btd-smsguide-banner__main { display: flex; align-items: center; gap: 0.85rem; }
.btd-smsguide-banner__icon { width: 48px; height: 48px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--wp--preset--color--dark); }
.btd-smsguide-banner__icon .icon { width: 1.4rem; height: 1.4rem; color: var(--wp--preset--color--warning); }
.btd-smsguide-banner__title { display: block; }
.btd-smsguide-banner__desc { display: block; font-size: 0.875rem; opacity: 0.8; }
.btd-smsguide-banner__badges { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.btd-smsguide-banner__badges li { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.4rem 0.85rem; border-radius: 50rem; background: var(--wp--preset--color--dark); color: var(--wp--preset--color--warning); font-size: 0.8rem; font-weight: 700; }
.btd-smsguide-banner__badges .icon { width: 0.9rem; height: 0.9rem; }

/* SMS guide contact reach tiles. */
.btd-smsguide-reach { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; }
@media (max-width: 600px) { .btd-smsguide-reach { grid-template-columns: 1fr; } }
.btd-smsguide-reach > li { display: flex; align-items: center; gap: 0.75rem; padding: 0.85rem 1rem; border-radius: 0.75rem; background: rgba(255, 255, 255, 0.08); }
.btd-smsguide-reach__ico .icon { width: 1.25rem; height: 1.25rem; color: var(--wp--preset--color--warning); }
.btd-smsguide-reach__label { display: block; font-size: 0.75rem; color: rgba(255, 255, 255, 0.6); }
.btd-smsguide-reach__val, .btd-smsguide-reach__val a { display: block; font-weight: 700; font-size: 0.9rem; color: #fff; text-decoration: none; }

/* SMS Terms help contact card. */
.btd-smsterms-help { padding: 1.25rem 1.5rem; border-radius: 1rem; background: var(--wp--preset--color--light); border: 1px solid color-mix(in srgb, #000 6%, transparent); }
.btd-smsterms-help__name { font-weight: 700; margin: 0 0 0.75rem; }
.btd-smsterms-help ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.btd-smsterms-help li { display: flex; align-items: center; gap: 0.6rem; font-size: 0.9rem; color: var(--wp--preset--color--muted); }
.btd-smsterms-help li .icon { width: 1.05rem; height: 1.05rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-smsterms-help a { color: inherit; text-decoration: none; font-weight: 600; }
.btd-smsterms-help__hours { margin-top: 0.75rem; font-size: 0.9rem; color: var(--wp--preset--color--muted); }
.btd-smsterms-help__hourslabel { display: inline-flex; align-items: center; gap: 0.6rem; font-weight: 600; margin-right: 0.5rem; }
.btd-smsterms-help__hourslabel .icon { width: 1.05rem; height: 1.05rem; flex: none; color: var(--wp--preset--color--warning); }

/* Hero stat chips. */
.btd-fnd-stats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}
@media (min-width: 600px) { .btd-fnd-stats { grid-template-columns: repeat(3, 1fr); } }
.btd-fnd-stats li { padding: 0.85rem 1rem; border-radius: 1rem; }
.btd-fnd-stats__label { display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); margin-bottom: 0.25rem; }
.btd-fnd-stats__value { display: flex; align-items: center; gap: 0.4rem; font-weight: 700; }
.btd-fnd-stats__value .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }

/* Hero pricing aside. */
.btd-fnd-price__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.btd-fnd-price__eyebrow { display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.btd-fnd-price__title { display: block; font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.btd-fnd-price__sub { display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.btd-fnd-price__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-bottom: 1.25rem; }
.btd-fnd-price__cell { padding: 1rem; border-radius: 1rem; background: rgba(0, 0, 0, 0.35); }
.btd-fnd-price__label { display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.btd-fnd-price__amount { display: block; font-size: 1.65rem; font-weight: 700; line-height: 1.2; }
.btd-fnd-price__note { display: block; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.btd-fnd-price__split {
  display: flex;
  gap: 0.6rem;
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 22%, transparent);
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.7);
}
.btd-fnd-price__split strong { color: #fff; }
.btd-fnd-price__split .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }
.btd-fnd-price__facts { font-size: 0.85rem; }
.btd-fnd-price__facts li { color: rgba(255, 255, 255, 0.8); }
.btd-fnd-price .btd-checklist--check li::before { --btd-marker-color: var(--wp--preset--color--warning); }

/* What it is: proof grid + bottom line. */
.btd-fnd-proof { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-fnd-proof { grid-template-columns: repeat(2, 1fr); } }
.btd-fnd-proof li { padding: 1rem 1.25rem; border-radius: 1rem; background: #fff; box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06); }
.btd-fnd-proof__head { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; margin-bottom: 0.25rem; }
.btd-fnd-proof__head .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--success); }
.btd-fnd-proof__desc { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-fnd-bottomline { background: linear-gradient(180deg, #0a0a0a, #111); }
.btd-fnd-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.btd-fnd-tags li {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border-radius: 0.4rem;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--black);
  font-size: 0.8rem;
  font-weight: 700;
}
.btd-fnd-tags li::before {
  content: "";
  width: 0.8em;
  height: 0.8em;
  flex: none;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.42z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.42z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Included: two-line items with a check marker. */
.btd-fnd-includes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 600px) { .btd-fnd-includes { grid-template-columns: repeat(2, 1fr); } }
.btd-fnd-includes li {
  position: relative;
  padding-left: 1.9rem;
}
.btd-fnd-includes li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.2rem;
  height: 1.2rem;
  background-color: var(--wp--preset--color--success);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.btd-fnd-includes li strong { display: block; }
.btd-fnd-includes li span { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); margin-top: 0.15rem; }

/* Process steps. Gradient rail via the list, dots per step. */
.btd-steps {
  list-style: none;
  margin: 0;
  padding: 0 0 0 1.25rem;
  position: relative;
}
.btd-steps::before {
  content: "";
  position: absolute;
  left: 0.4rem;
  top: 0.5rem;
  bottom: 0.5rem;
  width: 2px;
  border-radius: 2px;
  opacity: 0.35;
  background: linear-gradient(180deg, var(--wp--preset--color--success), var(--wp--preset--color--info), var(--wp--preset--color--warning), var(--wp--preset--color--danger));
}
.btd-step { position: relative; display: flex; gap: 0.85rem; padding: 0.5rem 0 1.5rem; }
.btd-step:last-child { padding-bottom: 0; }
.btd-step__dot { width: 14px; height: 14px; border-radius: 50%; flex: none; margin-top: 0.3rem; transform: translateX(-1.225rem); } /* centered on the rail (was -1.55rem, sat ~5px left) */
.btd-step__body { margin-left: -1rem; flex: 1; }
.btd-step--success .btd-step__dot { background: var(--wp--preset--color--success); }
.btd-step--info .btd-step__dot { background: var(--wp--preset--color--info); }
.btd-step--warning .btd-step__dot { background: var(--wp--preset--color--warning); }
.btd-step--danger .btd-step__dot { background: var(--wp--preset--color--danger); }
.btd-step__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.4rem; }
.btd-step__title { font-size: 1.1rem; font-weight: 700; }
.btd-step__when {
  padding: 0.2rem 0.6rem;
  border-radius: 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
}
.btd-step--success .btd-step__when { background: var(--wp--preset--color--success); }
.btd-step--info .btd-step__when { background: var(--wp--preset--color--info); }
.btd-step--warning .btd-step__when { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--black); }
.btd-step--danger .btd-step__when { background: var(--wp--preset--color--danger); }
.btd-step__desc { color: var(--wp--preset--color--muted); font-size: 0.95rem; }
.btd-timeline-strip {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1.5rem;
  font-size: 0.875rem;
  color: var(--wp--preset--color--muted);
  text-align: center;
}

/* Pricing section. */
.btd-fnd-value { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.btd-fnd-value li { display: flex; align-items: flex-start; gap: 0.85rem; }
.btd-fnd-value__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06);
}
.btd-fnd-value__icon .icon { width: 1.25rem; height: 1.25rem; color: var(--wp--preset--color--success); }
.btd-fnd-value li:nth-child(3) .icon,
.btd-fnd-value li:nth-child(4) .icon { color: var(--wp--preset--color--warning); }
.btd-fnd-value strong { display: block; }
.btd-fnd-value small { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-fnd-pricecard__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.5rem;
  color: #fff;
  background: linear-gradient(135deg, var(--wp--preset--color--success), color-mix(in srgb, var(--wp--preset--color--success) 72%, #000));
}
.btd-fnd-pricecard__eyebrow { display: block; font-size: 0.75rem; opacity: 0.8; }
.btd-fnd-pricecard__title { display: block; font-size: 1.5rem; font-weight: 700; }
.btd-fnd-pricecard__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.btd-fnd-pricecard__cell { padding: 1.25rem; border-radius: 1rem; text-align: center; background: color-mix(in srgb, var(--wp--preset--color--success) 8%, transparent); }
.btd-fnd-pricecard__label { display: block; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; color: var(--wp--preset--color--muted); margin-bottom: 0.5rem; }
.btd-fnd-pricecard__amount { display: block; font-size: 1.75rem; font-weight: 700; color: var(--wp--preset--color--success); }
.btd-fnd-pricecard__note { display: block; font-size: 0.8rem; color: var(--wp--preset--color--muted); }
.btd-fnd-pricecard__split {
  display: flex;
  gap: 0.6rem;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
}
.btd-fnd-pricecard__split .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }
.btd-fnd-pricecard__scale {
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 0.85rem;
}
.btd-fnd-pricecard__scale strong { display: block; margin-bottom: 0.15rem; }
.btd-fnd-pricecard__scale span { color: var(--wp--preset--color--muted); }
.btd-fnd-quickfacts {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
@media (min-width: 992px) { .btd-fnd-quickfacts { grid-template-columns: repeat(4, 1fr); } }
.btd-fnd-quickfacts li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 1rem;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06);
  text-align: center;
  font-size: 0.8rem;
  font-weight: 700;
}
.btd-fnd-quickfacts .icon { width: 1.4rem; height: 1.4rem; color: var(--wp--preset--color--success); }
.btd-fnd-quickfacts li:nth-child(3) .icon { color: var(--wp--preset--color--warning); }
.btd-fnd-quickfacts li:nth-child(4) .icon { color: var(--wp--preset--color--danger); }

/* Who it's for: fit lists. */
.btd-fit-head { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1.5rem; }
.btd-fit-head__label { display: block; font-size: 0.75rem; }
.btd-fit-head__label--success { color: var(--wp--preset--color--success); }
.btd-fit-head__label--danger { color: var(--wp--preset--color--danger); }
.btd-fit-head__title { display: block; font-size: 1.25rem; font-weight: 700; }
.btd-fnd-fitlist { list-style: none; margin: 0; padding: 0; }
.btd-fnd-fitlist li {
  position: relative;
  padding-left: 1.9rem;
  margin-bottom: 0.85rem;
  font-size: 0.95rem;
}
.btd-fnd-fitlist li:last-child { margin-bottom: 0; }
.btd-fnd-fitlist .icon { position: absolute; left: 0; top: 0.2em; width: 1.15rem; height: 1.15rem; }
.btd-fnd-fitlist--good .icon { color: var(--wp--preset--color--success); }
.btd-fnd-fitlist--bad .icon { color: var(--wp--preset--color--danger); }
.btd-fnd-fitlist--bad a { color: var(--wp--preset--color--danger); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.btd-fnd-fitlist--bad a:hover,
.btd-fnd-fitlist--bad a:focus-visible { text-decoration-thickness: 2px; }
.btd-fnd-nudge { margin-top: 1.5rem; }

/* FAQ details. */
.btd-faq.wp-block-details {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1rem;
}
.btd-faq.wp-block-details:last-child { margin-bottom: 0; }
.btd-faq > summary {
  font-weight: 700;
  cursor: pointer;
  list-style-position: inside;
}
.btd-faq > summary:focus-visible {
  outline: 2px solid var(--wp--preset--color--warning);
  outline-offset: 2px;
}
.btd-faq p { color: var(--wp--preset--color--muted); margin-bottom: 0; }

/* ============ FIT PAGE (Who We Do Not Work With) ============ */

/* Hero. Gradient only: the source's stock photo was dropped. To add a real
   image, put it on .btd-fit-hero--image and set it in the Preload Manager. */
.btd-fit-hero {
  position: relative;
  background:
    radial-gradient(900px 520px at 15% 20%, color-mix(in srgb, var(--wp--preset--color--danger) 30%, transparent), transparent 60%),
    radial-gradient(900px 520px at 85% 10%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-fit-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.25;
  pointer-events: none;
  background: radial-gradient(circle at 20px 20px, rgba(255, 255, 255, 0.2) 1px, transparent 1px);
  background-size: 28px 28px;
}
.btd-fit-hero > * { position: relative; z-index: 1; }
.btd-fit-hero__lede { color: rgba(255, 255, 255, 0.7); }
.btd-fit-hero .btd-checklist li { color: #fff; }

/* Credibility chips under the hero CTAs. */
.btd-fit-chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.btd-fit-chips li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.85rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.7);
}
.btd-fit-chips strong { color: #fff; }
.btd-fit-chips .icon {
  width: 1rem;
  height: 1rem;
  flex: none;
  color: var(--wp--preset--color--warning);
}
.btd-fit-promise .btd-checklist--warning li::before {
  --btd-marker-color: var(--wp--preset--color--warning);
}

/* Red flag cards. */
.btd-flags {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 782px) { .btd-flags { grid-template-columns: repeat(3, 1fr); } }
.btd-flag-card {
  padding: 1.5rem;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-flag-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.14);
}
.btd-flag-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.btd-flag-card__head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}
.btd-flag-card p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--wp--preset--color--muted);
}

/* Badges. Two meanings only: a hard disqualifier, or a mindset mismatch. The
   source had eight labels across three colors with no system behind them. */
.btd-flag-badge {
  flex: none;
  padding: 0.35rem 0.7rem;
  border-radius: 0.4rem;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  color: #fff;
}
.btd-flag-badge--stop { background: var(--wp--preset--color--danger); }
.btd-flag-badge--hard { background: var(--wp--preset--color--danger); }
.btd-flag-badge--mindset {
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--black);
}

/* The full-width boundaries card. */
.btd-flag-card--major {
  border: 3px solid var(--wp--preset--color--danger);
  padding: clamp(1.5rem, 3vw, 2.5rem);
}
.btd-flag-card--major .btd-flag-card__head h3 { font-size: 1.35rem; }
.btd-flag-card__intro {
  margin-bottom: 1.25rem !important;
}
.btd-flag-nos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 2rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 782px) { .btd-flag-nos { grid-template-columns: repeat(2, 1fr); } }
.btd-flag-nos li { font-size: 0.9rem; }
.btd-flag-warn {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0;
  padding: 1rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent);
  font-size: 0.875rem;
  font-weight: 700;
}
.btd-flag-warn .icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
  color: var(--wp--preset--color--danger);
}

/* Reality check card. */
.btd-reality { text-align: center; }
.btd-reality__icon { margin: 0 auto; }

/* Good fit cards. */
.btd-goodfit-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 600px) { .btd-goodfit-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-goodfit-grid { grid-template-columns: repeat(4, 1fr); } }
.btd-goodfit-card {
  padding: 1.5rem;
  border-radius: 1rem;
  background: #fff;
  text-align: center;
  border-top: 4px solid var(--btd-accent, var(--wp--preset--color--muted));
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-goodfit-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 1.25rem 3.25rem rgba(0, 0, 0, 0.16);
}
.btd-goodfit-card h3 {
  margin: 0 0 0.5rem;
  font-size: 1.05rem;
  font-weight: 700;
}
.btd-goodfit-card p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--wp--preset--color--muted);
}
.btd-goodfit-card__icon {
  margin: 0 auto 1rem;
  background: color-mix(in srgb, var(--btd-accent) 10%, transparent);
  color: var(--btd-accent);
}
.btd-goodfit-card--success { --btd-accent: var(--wp--preset--color--success); }
.btd-goodfit-card--info    { --btd-accent: var(--wp--preset--color--info); }
.btd-goodfit-card--warning { --btd-accent: var(--wp--preset--color--warning); }
.btd-goodfit-card--danger  { --btd-accent: var(--wp--preset--color--danger); }

/* Partnership principles. */
.btd-principles {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 782px) { .btd-principles { grid-template-columns: repeat(3, 1fr); } }
.btd-principle {
  padding: 1.5rem;
  border-radius: 1rem;
  background: var(--wp--preset--color--light);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-principle:hover {
  transform: translateY(-8px);
  box-shadow: 0 1.25rem 3.25rem rgba(0, 0, 0, 0.16);
}
.btd-principle__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.btd-principle__head h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}
.btd-principle__head .icon { width: 1.15rem; height: 1.15rem; flex: none; }
.btd-principle:nth-child(1) .icon { color: var(--wp--preset--color--info); }
.btd-principle:nth-child(2) .icon { color: var(--wp--preset--color--success); }
.btd-principle:nth-child(3) .icon { color: var(--wp--preset--color--warning); }
.btd-principle p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--wp--preset--color--muted);
}

/* Terms panel. */
.btd-terms {
  padding: 1.5rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--success) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 40%, transparent);
}
.btd-terms__head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}
.btd-terms__head h3 {
  margin: 0;
  font-size: 1.1rem;
  font-weight: 700;
}
.btd-terms__head .icon {
  width: 1.25rem;
  height: 1.25rem;
  flex: none;
  color: var(--wp--preset--color--success);
}
.btd-terms .btd-checklist li { font-size: 0.9rem; }

/* Fit CTA. */
.btd-fit-cta {
  background:
    radial-gradient(900px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
.btd-fit-cta .cta-trust { color: rgba(255, 255, 255, 0.7); }
.btd-fit-cta .cta-trust svg { color: var(--wp--preset--color--warning); }

@media (prefers-reduced-motion: reduce) {
  .btd-flag-card,
  .btd-goodfit-card,
  .btd-principle {
    transition: none;
  }
  .btd-flag-card:hover,
  .btd-goodfit-card:hover,
  .btd-principle:hover {
    transform: none;
  }
}

/* ============ ENGINE CARDS ============ */

/* Hover lift for the whole card. Motion-safe. */
.btd-hover {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-hover:hover {
  transform: translateY(-8px);
  box-shadow: 0 1.25rem 3.25rem rgba(0, 0, 0, 0.16);
}
@media (prefers-reduced-motion: reduce) {
  .btd-hover { transition: none; }
  .btd-hover:hover { transform: none; }
}

.btd-engine-card.wp-block-columns {
  border-radius: 1.5rem;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.btd-engine-card--flagged { position: relative; }

/* Engine header panel. Gradients derive from theme.json tokens, so a palette
   edit restyles every engine at once. */
.btd-engine-header {
  color: #fff;
}
.btd-engine-header .wp-block-heading { color: #fff; }
.btd-engine-fan {
  background: linear-gradient(135deg, var(--wp--preset--color--info), color-mix(in srgb, var(--wp--preset--color--info) 72%, #000));
}
.btd-engine-foundation {
  background: linear-gradient(135deg, var(--wp--preset--color--success), color-mix(in srgb, var(--wp--preset--color--success) 72%, #000));
}
.btd-engine-growth {
  background: linear-gradient(135deg, var(--wp--preset--color--danger), color-mix(in srgb, var(--wp--preset--color--danger) 72%, #000));
}

.btd-engine-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}
.btd-engine-badge {
  display: inline-block;
  padding: 0.4rem 0.85rem;
  border-radius: 0.4rem;
  background: rgba(255, 255, 255, 0.25);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.btd-engine-timeline {
  display: flex;
  flex-direction: column;
  text-align: right;
  font-size: 0.875rem;
}
.btd-engine-timeline__label { opacity: 0.75; }
.btd-engine-lede { opacity: 0.9; }
.btd-engine-split { opacity: 0.65; }

/* Most Popular flag. */
.btd-popular-badge {
  position: absolute;
  top: 0;
  right: 1.5rem;
  z-index: 10;
  padding: 0.4rem 0.85rem;
  border-radius: 0 0 0.5rem 0.5rem;
  background: var(--wp--preset--color--success);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Build fee / monthly care box. */
.btd-price-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.btd-price { display: flex; flex-direction: column; }
.btd-price--end { text-align: right; }
.btd-price__label { font-size: 0.8rem; opacity: 0.75; }
.btd-price__value { font-size: 1.5rem; font-weight: 700; line-height: 1.2; }
.btd-price__note { font-size: 0.8rem; opacity: 0.65; }

/* Growth "includes Foundation" note. */
.btd-engine-note {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-top: 1rem;
  padding: 0.85rem 1rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.1);
  font-size: 0.875rem;
}
.btd-engine-note .icon { width: 1.25rem; height: 1.25rem; flex: none; }

/* Inclusion lists: check marker per engine color. */
.btd-inclusions {
  list-style: none;
  margin: 0;
  padding: 0;
}
.btd-inclusions li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.6rem;
  font-size: 0.875rem;
}
.btd-inclusions li:last-child { margin-bottom: 0; }
.btd-inclusions li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.1rem;
  height: 1.1rem;
  background-color: var(--btd-check, currentColor);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.btd-inclusions--primary { --btd-check: var(--wp--preset--color--info); }
.btd-inclusions--success { --btd-check: var(--wp--preset--color--success); }
.btd-inclusions--danger  { --btd-check: var(--wp--preset--color--danger); }

/* Best-for tinted note. */
.btd-bestfor {
  padding: 1rem;
  border-radius: 1rem;
  margin-bottom: 1rem;
  background: color-mix(in srgb, var(--btd-tint, var(--wp--preset--color--muted)) 6%, transparent);
  border: 1px solid color-mix(in srgb, var(--btd-tint, var(--wp--preset--color--muted)) 12%, transparent);
}
.btd-bestfor__label {
  display: block;
  font-weight: 700;
  font-size: 0.875rem;
  margin-bottom: 0.4rem;
  color: var(--btd-tint, inherit);
}
.btd-bestfor p {
  margin: 0;
  font-size: 0.875rem;
  color: var(--wp--preset--color--muted);
}
.btd-bestfor--primary { --btd-tint: var(--wp--preset--color--info); }
.btd-bestfor--success { --btd-tint: var(--wp--preset--color--success); }
.btd-bestfor--danger  { --btd-tint: var(--wp--preset--color--danger); }

/* Payment options. A definition list: term/price pairs. */
.btd-payopts {
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(0, 0, 0, 0.03);
}
.btd-payopts__label {
  display: block;
  font-weight: 700;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
.btd-payopts dl { margin: 0; }
.btd-payopts dl > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}
.btd-payopts dl > div:last-child { margin-bottom: 0; }
.btd-payopts dt { color: var(--wp--preset--color--muted); font-weight: 400; }
.btd-payopts dd { margin: 0; font-weight: 700; }

/* Growth ad-spend tier table. */
.btd-tier-table-wrap {
  border: 1px solid rgba(0, 0, 0, 0.07);
  border-radius: 1rem;
  overflow: hidden;
  margin-bottom: 1rem;
}
.btd-tier-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.btd-tier-table th {
  background: rgba(0, 0, 0, 0.03);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
  padding: 0.5rem 0.75rem;
  color: var(--wp--preset--color--muted);
  text-align: left;
}
.btd-tier-table td {
  padding: 0.55rem 0.75rem;
  font-size: 0.82rem;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  color: var(--wp--preset--color--muted);
}
.btd-tier-table__end { text-align: right; }
.btd-tier-table__rate { font-weight: 700; color: var(--wp--preset--color--danger); }

/* ============ MONTHLY CARE TIERS ============ */

.btd-tier-panel {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--warning) 8%, transparent), color-mix(in srgb, var(--wp--preset--color--info) 8%, transparent));
}
.btd-tiers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 600px) { .btd-tiers { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-tiers { grid-template-columns: repeat(4, 1fr); } }
.btd-tier {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 1.5rem 1.25rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.btd-tier--featured {
  border-color: color-mix(in srgb, var(--wp--preset--color--warning) 50%, transparent);
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.08);
}
.btd-tier__flag {
  position: absolute;
  top: -0.7rem;
  left: 1.25rem;
  padding: 0.2rem 0.6rem;
  border-radius: 50rem;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--black);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.btd-tier__price { font-size: 2rem; font-weight: 700; line-height: 1.1; }
.btd-tier__per { font-size: 0.8rem; color: var(--wp--preset--color--muted); }
.btd-tier__name {
  margin-top: 0.75rem;
  font-weight: 700;
  font-size: 0.95rem;
}
/* Published support allowance. The concrete promise, so give it weight. */
.btd-tier__hours {
  margin-top: 0.25rem;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--wp--preset--color--success);
}
.btd-tier__desc {
  margin-top: 0.4rem;
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
}

/* ============ ADD-ONS (core Details block) ============ */

.btd-addons.wp-block-details {
  border: 2px dashed color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent);
  border-radius: 1.5rem;
  background: color-mix(in srgb, var(--wp--preset--color--success) 3%, transparent);
  padding: 1.5rem;
}
.btd-addons > summary {
  font-weight: 700;
  color: var(--wp--preset--color--success);
  cursor: pointer;
  list-style-position: inside;
}
.btd-addons > summary:focus-visible {
  outline: 2px solid var(--wp--preset--color--warning);
  outline-offset: 2px;
}
.btd-addons__group {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1rem;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wp--preset--color--muted);
}
.btd-addons__group .icon {
  width: 1rem;
  height: 1rem;
  color: var(--wp--preset--color--success);
}
.btd-addon-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.btd-addon-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  font-size: 0.875rem;
  font-weight: 700;
}
.btd-addon-list li:last-child { border-bottom: 0; }

/* Lines that carry an explanatory note sit top-aligned, not centered. */
.btd-addon-list li:has(small) { align-items: flex-start; }
.btd-addon-list small {
  display: block;
  margin-top: 0.2rem;
  font-weight: 400;
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--wp--preset--color--muted);
}

.btd-addon-price {
  flex: none;
  padding: 0.2rem 0.6rem;
  border-radius: 0.35rem;
  background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent);
  color: var(--wp--preset--color--success);
  font-size: 0.8rem;
}

/* "Add pages yourself: Free" is the block workflow's selling point, so it
   reads as a win rather than another line item. */
.btd-addon-list__free {
  background: color-mix(in srgb, var(--wp--preset--color--success) 5%, transparent);
  border-radius: 0.5rem;
  padding: 0.75rem;
  margin-bottom: 0.25rem;
}
.btd-addon-price--free {
  background: var(--wp--preset--color--success);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ============ EVERY ENGINE INCLUDES ============ */

.btd-includes-panel {
  background: linear-gradient(135deg, #0a0a0a, #1a1d29);
}
.btd-includes-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}
@media (min-width: 768px) { .btd-includes-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .btd-includes-grid { grid-template-columns: repeat(5, 1fr); } }
.btd-include-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  height: 100%;
  min-height: 120px;
  margin: 0;
  padding: 1.5rem;
  border-radius: 1rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.8rem;
  font-weight: 700;
  color: #fff;
}
/* Kill any inherited list/element margins so every tile's content starts at the
   same place (the icon sits exactly 1.5rem below the tile top in all tiles). */
.btd-include-tile > * { margin: 0; }
.btd-include-tile .icon {
  width: 1.5rem;
  height: 1.5rem;
  flex: none;
  margin: 0;
  color: var(--wp--preset--color--warning);
}
.btd-include-tile span { line-height: 1.35; margin: 0; }
.btd-includes-note { color: rgba(255, 255, 255, 0.4); }

/* ============ FOOTER ============ */

.btd-footer {
  --btd-footer-fg: #e9eef6;
  background: linear-gradient(180deg, #070c14 0%, #0a1018 100%);
  color: var(--btd-footer-fg);
}
.btd-footer .btd-footer-intro,
.btd-footer .btd-footer-brand__tagline {
  color: rgba(233, 238, 246, 0.8);
}

/* Footer links: shared hover lift + warning color. */
.btd-footer a:not(.wp-block-button__link):not(.btd-sa-chip-link) {
  color: rgba(233, 238, 246, 0.8);
  text-decoration: none;
  display: inline-block;
  transition: color 0.2s ease, transform 0.2s ease;
}
.btd-footer a:not(.wp-block-button__link):hover {
  color: var(--wp--preset--color--warning);
  transform: translateX(3px);
}
.btd-footer a:focus-visible {
  outline: 2px solid var(--wp--preset--color--warning);
  outline-offset: 2px;
}

/* Section headings. Real <h2> elements styled as small eyebrow labels. */
.btd-footer .btd-footer-heading {
  color: #fff;
  font-weight: 700;
  margin: 0 0 1rem;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Footer link lists: unstyled, spaced. */
.btd-footer .btd-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.btd-footer .btd-footer-list li {
  margin-bottom: 0.5rem;
}
.btd-footer .btd-footer-list li:last-child {
  margin-bottom: 0;
}

/* The logo link must not shift on hover like a text link. */
.btd-footer .btd-footer-logo a:hover {
  transform: none;
}
.btd-footer .btd-footer-logo {
  margin: 0;
}

/* CTA buttons: lift on hover. */
.btd-footer-cta .wp-block-button__link {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btd-footer-cta .wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.3);
}

/* NAP panel. */
.btd-nap {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.875rem;
}
.btd-nap .btd-footer-heading {
  color: var(--wp--preset--color--warning);
  letter-spacing: 0.08em;
}
.btd-nap__row {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  padding-bottom: 4px; /* breathing room below each listing (adds to the row gap) */
  color: rgba(233, 238, 246, 0.8);
  font-size: 0.875rem;
}
.btd-nap__label {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.5rem;
  flex: none;
  white-space: nowrap;
}
.btd-nap__icon {
  width: 16px;
  height: 16px;
  flex: none;
  color: var(--wp--preset--color--warning);
  align-self: flex-start;
  margin-top: 0.15em; /* optically align the icon with the first line of text */
}

/* Hours: stack the day/time table under the "Hours:" label and format it. */
.btd-nap__row:has(.bt-hours--table) { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
/* Indent the table by the clock icon width + gap so the day names line up with
   the "H" in "Hours" above. */
.btd-nap .bt-hours--table {
  width: calc(100% - 16px - 0.5rem);
  margin-left: calc(16px + 0.5rem);
  border-collapse: collapse;
  font-size: 0.8125rem;
}
.btd-nap .bt-hours--table th {
  text-align: left;
  font-weight: 600;
  color: rgba(233, 238, 246, 0.82);
  padding: 0.14rem 0;
  white-space: nowrap;
}
.btd-nap .bt-hours--table td {
  text-align: right;
  color: rgba(233, 238, 246, 0.6);
  padding: 0.14rem 0;
  white-space: nowrap;
}

/* Dividers. */
.btd-footer-divider.wp-block-separator {
  border: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 238, 246, 0.15), transparent);
}
.btd-footer-section-divider.wp-block-separator {
  border: 0;
  height: 1px;
  background: rgba(233, 238, 246, 0.08);
  margin: 2.5rem 0;
}

/* Service Areas card. */
.btd-sa-card {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
}
.btd-sa-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.btd-sa-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent);
  color: var(--wp--preset--color--warning);
}
.btd-sa-icon-wrap .icon {
  width: 20px;
  height: 20px;
}
.btd-sa-head__text {
  display: flex;
  flex-direction: column;
}
.btd-footer .btd-sa-head__title {
  margin-bottom: 0;
}
.btd-sa-sub {
  color: rgba(233, 238, 246, 0.5);
  margin-top: 1px;
  font-size: 0.875rem;
}
.btd-footer .btd-sa-all-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  color: rgba(233, 238, 246, 0.5);
  font-size: 0.875rem;
}
.btd-sa-all-link__arrow {
  width: 0.7rem;
  height: 0.7rem;
}

/* Location chips. A core List block; style.css turns each item into a pill.
   The map-pin is a CSS mask so 23 chips cost one icon, not 23 inline SVGs. */
.btd-sa-chips {
  list-style: none;
  margin: 0;
  padding: 1rem 0 0; /* air under the "Service Areas" title + subtitle before the badges */
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem; /* row gap / badge gap (about double) */
}
.btd-footer .btd-sa-chips a {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem; /* space between pin and location */
  padding: 0.35rem 0.85rem;
  border-radius: 50rem;
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(233, 238, 246, 0.12);
  background: rgba(255, 255, 255, 0.05);
  color: rgba(233, 238, 246, 0.75);
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.btd-sa-chips a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: none;
  background-color: rgba(233, 238, 246, 0.4);
  transition: background-color 0.2s ease;
  -webkit-mask: var(--btd-pin) center / contain no-repeat;
  mask: var(--btd-pin) center / contain no-repeat;
}
.btd-sa-chips {
  --btd-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E");
}
.btd-footer .btd-sa-chips a:hover {
  background: color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent);
  border-color: color-mix(in srgb, var(--wp--preset--color--warning) 35%, transparent);
  color: var(--wp--preset--color--warning);
  transform: translateY(-2px);
}
.btd-sa-chips a:hover::before {
  background-color: var(--wp--preset--color--warning);
}

/* Featured chips (Detroit Metro, Oakland County). */
.btd-footer .btd-sa-chips .is-featured a {
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border-color: color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
  color: color-mix(in srgb, var(--wp--preset--color--warning) 90%, transparent);
}
.btd-sa-chips .is-featured a::before {
  background-color: color-mix(in srgb, var(--wp--preset--color--warning) 60%, transparent);
}
.btd-footer .btd-sa-chips .is-featured a:hover {
  background: color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent);
  border-color: color-mix(in srgb, var(--wp--preset--color--warning) 50%, transparent);
  color: var(--wp--preset--color--warning);
}

/* Footer bottom bar. */
.btd-footer-legal {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(233, 238, 246, 0.7);
}
.btd-footer-microcopy {
  color: rgba(233, 238, 246, 0.6);
}
.btd-footer-built {
  margin: 0;
  font-size: 0.875rem;
  color: rgba(233, 238, 246, 0.75);
}
.btd-footer-built strong {
  color: var(--wp--preset--color--warning);
}
.btd-footer-sep {
  margin: 0 0.5rem;
  opacity: 0.4;
}
@media (min-width: 782px) {
  .btd-footer-bottom__right { text-align: right; }
}

@media (prefers-reduced-motion: reduce) {
  .btd-footer a,
  .btd-footer-cta .wp-block-button__link,
  .btd-sa-chips a,
  .btd-sa-chips a::before {
    transition: none;
  }
  .btd-footer a:hover,
  .btd-footer-cta .wp-block-button__link:hover,
  .btd-sa-chips a:hover {
    transform: none;
  }
}

/* ============================================================
   HELP CENTER (hub: hero search, sidebar, article + category cards)
   ============================================================ */

/* Hero search (core Search block, button-inside, pill). */
.btd-help-search { max-width: 600px; margin-inline: auto; }
.btd-help-search .wp-block-search__inside-wrapper {
  border: 0;
  border-radius: 50rem;
  background: #fff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.18);
  overflow: hidden;
  padding: 0.35rem 0.35rem 0.35rem 1.25rem;
}
.btd-help-search .wp-block-search__input {
  border: 0;
  background: transparent;
  padding: 0.75rem 0.5rem;
  font-size: 1.05rem;
}
.btd-help-search .wp-block-search__input:focus { outline: none; box-shadow: none; }
.btd-help-search .wp-block-search__button {
  margin: 0;
  border: 0;
  border-radius: 50rem;
  background-color: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
  font-weight: 700;
  padding: 0.75rem 1.75rem;
  cursor: pointer;
  transition: filter 0.2s ease;
}
.btd-help-search .wp-block-search__button:hover { filter: brightness(0.95); }

/* Sidebar card. */
.btd-hc-sidebar {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1.5rem;
  box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.08);
  padding: 1.5rem;
}
@media (min-width: 782px) {
  .btd-hc-sidebar { position: sticky; top: 2rem; }
}
.btd-hc-sidebar__kicker {
  color: var(--wp--preset--color--muted);
  font-size: 0.8rem;
  margin: 0 0 1rem;
}
.btd-hc-nav { display: flex; flex-direction: column; gap: 0.25rem; }
.btd-hc-nav__link {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.7rem 0.85rem;
  border-radius: 0.75rem;
  text-decoration: none;
  color: var(--wp--preset--color--dark);
  font-weight: 500;
  transition: background-color 0.2s ease;
}
.btd-hc-nav__link:hover,
.btd-hc-nav__link:focus-visible { background-color: rgba(0, 0, 0, 0.04); }
.btd-hc-nav__icon {
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.btd-hc-nav__icon .icon { width: 18px; height: 18px; }

/* Shared soft-tint icon circles (nav + card headers). */
.btd-hc-nav__icon--success,
.btd-hc-card__icon--success { background-color: color-mix(in srgb, var(--wp--preset--color--success) 14%, transparent); color: var(--wp--preset--color--success); }
.btd-hc-nav__icon--primary,
.btd-hc-card__icon--primary { background-color: color-mix(in srgb, var(--wp--preset--color--info) 16%, transparent); color: var(--wp--preset--color--info); }
.btd-hc-nav__icon--warning,
.btd-hc-card__icon--warning { background-color: color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent); color: var(--wp--preset--color--warning); }
.btd-hc-nav__icon--danger,
.btd-hc-card__icon--danger { background-color: color-mix(in srgb, var(--wp--preset--color--danger) 14%, transparent); color: var(--wp--preset--color--danger); }
.btd-hc-nav__icon--secondary,
.btd-hc-card__icon--secondary { background-color: color-mix(in srgb, var(--wp--preset--color--secondary) 12%, transparent); color: var(--wp--preset--color--secondary); }

.btd-hc-divider {
  border: 0;
  height: 1px;
  margin: 1.5rem 0;
  background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.12), transparent);
}
.btd-hc-help {
  background: var(--wp--preset--color--light);
  border-radius: 1rem;
  padding: 1.25rem;
}
.btd-hc-help__title { font-weight: 700; margin: 0 0 0.4rem; }
.btd-hc-help__text { color: var(--wp--preset--color--muted); font-size: 0.9rem; margin: 0 0 1rem; }
.btd-hc-help__btn {
  display: block;
  text-align: center;
  text-decoration: none;
  background-color: var(--wp--preset--color--body);
  color: #fff;
  font-weight: 700;
  border-radius: 50rem;
  padding: 0.65rem 1rem;
  transition: filter 0.2s ease;
}
.btd-hc-help__btn:hover { filter: brightness(1.15); }

/* Card grids. */
.btd-hc-grid { display: grid; gap: 1.25rem; }
.btd-hc-grid--2 { grid-template-columns: repeat(2, 1fr); }
.btd-hc-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 781px) {
  .btd-hc-grid--2,
  .btd-hc-grid--3 { grid-template-columns: 1fr; }
}

/* Article + category cards (whole card is a link). */
.btd-hc-card,
.btd-hc-cat {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1.25rem;
  padding: 1.5rem;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.btd-hc-card:hover,
.btd-hc-cat:hover,
.btd-hc-card:focus-visible,
.btd-hc-cat:focus-visible {
  transform: translateY(-6px);
  box-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.12);
  border-color: rgba(0, 0, 0, 0.1);
}
.btd-hc-card__icon {
  width: 56px;
  height: 56px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.btd-hc-card__icon .icon { width: 26px; height: 26px; }
.btd-hc-card__title { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.5rem; color: var(--wp--preset--color--dark); }
.btd-hc-card__text { color: var(--wp--preset--color--muted); margin: 0 0 1rem; }
.btd-hc-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.9rem;
  font-weight: 700;
}
.btd-hc-card__more .icon { width: 1rem; height: 1rem; transition: transform 0.2s ease; }
.btd-hc-card:hover .btd-hc-card__more .icon,
.btd-hc-cat:hover .btd-hc-card__more .icon { transform: translateX(3px); }
.btd-hc-card__more--success { color: var(--wp--preset--color--success); }
.btd-hc-card__more--primary { color: var(--wp--preset--color--info); }
.btd-hc-card__more--warning { color: var(--wp--preset--color--warning); }
.btd-hc-card__more--danger { color: var(--wp--preset--color--danger); }

/* Category card: header row + bulleted list. */
.btd-hc-cat__head { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1rem; }
.btd-hc-cat__head .btd-hc-card__icon { margin-bottom: 0; }
.btd-hc-cat__title { font-size: 1.1rem; font-weight: 700; margin: 0; color: var(--wp--preset--color--dark); }
.btd-hc-cat__list { list-style: none; margin: 0 0 1rem; padding: 0; }
.btd-hc-cat__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  color: var(--wp--preset--color--muted);
  font-size: 0.92rem;
  margin-bottom: 0.6rem;
}
.btd-hc-cat__list li:last-child { margin-bottom: 0; }
.btd-hc-cat__list .icon { width: 0.85rem; height: 0.85rem; flex: none; margin-top: 0.28rem; }
.btd-hc-cat__list--primary .icon { color: var(--wp--preset--color--info); }
.btd-hc-cat__list--success .icon { color: var(--wp--preset--color--success); }
.btd-hc-cat__list--danger .icon { color: var(--wp--preset--color--danger); }

/* Closing support CTA card. */
.btd-hc-ctacard__head { display: flex; align-items: center; gap: 1rem; }
.btd-hc-ctacard__icon {
  width: 70px;
  height: 70px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: color-mix(in srgb, var(--wp--preset--color--info) 14%, transparent);
  color: var(--wp--preset--color--info);
}
.btd-hc-ctacard__icon .icon { width: 34px; height: 34px; }
.btd-hc-ctacard__kicker { color: var(--wp--preset--color--muted); font-size: 0.8rem; margin: 0 0 0.25rem; }
.btd-hc-ctacard__title { font-size: 1.3rem; font-weight: 700; margin: 0; }

@media (prefers-reduced-motion: reduce) {
  .btd-hc-card,
  .btd-hc-cat,
  .btd-hc-nav__link,
  .btd-hc-card__more .icon,
  .btd-help-search .wp-block-search__button { transition: none; }
  .btd-hc-card:hover,
  .btd-hc-cat:hover { transform: none; }
  .btd-hc-card:hover .btd-hc-card__more .icon,
  .btd-hc-cat:hover .btd-hc-card__more .icon { transform: none; }
}

/* ============================================================
   LEGAL HUB (hero note, document cards, approach, contact, CTA)
   ============================================================ */

/* Hero glass badge + quick-note card. */
.btd-legal-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.5rem 1.1rem;
  border-radius: 50rem;
  color: var(--wp--preset--color--warning);
  font-weight: 800;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.btd-legal-badge .icon { width: 1rem; height: 1rem; }
.btd-legal-note {
  border-radius: 1.25rem;
  padding: 1.5rem;
  color: #fff;
}
.btd-legal-note__kicker { color: var(--wp--preset--color--warning); font-size: 0.8rem; margin: 0 0 0.5rem; }
.btd-legal-note__text { color: rgba(255, 255, 255, 0.7); font-size: 0.9rem; margin: 0 0 1.25rem; }
.btd-legal-note__contact { display: flex; align-items: center; gap: 0.85rem; }
.btd-legal-note__icon {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
  color: var(--wp--preset--color--warning);
}
.btd-legal-note__icon .icon { width: 1.1rem; height: 1.1rem; }
.btd-legal-note__meta { display: flex; flex-direction: column; line-height: 1.3; }
.btd-legal-note__label { font-size: 0.8rem; color: rgba(255, 255, 255, 0.7); }
.btd-legal-note__meta a { color: #fff; font-weight: 700; text-decoration: none; }
.btd-legal-note__meta a:hover { text-decoration: underline; }

/* "Each policy includes its own last updated date" pill. */
.btd-legal-updated {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.5rem 1rem;
  border-radius: 50rem;
  background-color: color-mix(in srgb, var(--wp--preset--color--dark) 8%, transparent);
  color: var(--wp--preset--color--dark);
  font-size: 0.85rem;
  font-weight: 600;
}
.btd-legal-updated .icon { width: 1rem; height: 1rem; }

/* Document card grid. */
.btd-legal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 991px) { .btd-legal-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .btd-legal-grid { grid-template-columns: 1fr; } }
.btd-legal-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1.25rem;
  padding: 1.75rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.btd-legal-card:hover,
.btd-legal-card:focus-visible {
  transform: translateY(-8px);
  box-shadow: 0 1.25rem 3.25rem rgba(0, 0, 0, 0.14);
  border-color: color-mix(in srgb, var(--wp--preset--color--warning) 40%, transparent);
}
.btd-legal-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 0.75rem;
  margin-bottom: 1rem;
  background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent), color-mix(in srgb, var(--wp--preset--color--warning) 6%, transparent));
  color: var(--wp--preset--color--warning);
}
.btd-legal-card__icon .icon { width: 1.4rem; height: 1.4rem; }
.btd-legal-card__title { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.5rem; color: var(--wp--preset--color--dark); }
.btd-legal-card__text { color: var(--wp--preset--color--muted); font-size: 0.92rem; margin: 0 0 1.25rem; flex: 1 1 auto; }
.btd-legal-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--wp--preset--color--muted);
  margin-top: auto;
}
.btd-legal-card__more .icon { width: 0.95rem; height: 0.95rem; transition: transform 0.2s ease, color 0.2s ease; }
.btd-legal-card:hover .btd-legal-card__more { color: var(--wp--preset--color--dark); }
.btd-legal-card:hover .btd-legal-card__more .icon { transform: translateX(4px); color: var(--wp--preset--color--warning); }

/* Approach section tiles + dark "what you will find" card. */
.btd-legal-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 480px) { .btd-legal-tiles { grid-template-columns: 1fr; } }
.btd-legal-tile {
  padding: 1.1rem;
  border-radius: 1rem;
  background-color: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
}
.btd-legal-tile .icon { width: 1.6rem; height: 1.6rem; color: var(--wp--preset--color--warning); margin-bottom: 0.5rem; }
.btd-legal-tile__title { display: block; font-weight: 700; font-size: 0.9rem; }
.btd-legal-tile__text { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-legal-find {
  background-color: var(--wp--preset--color--dark);
  color: #fff;
  border-radius: 1.5rem;
  padding: clamp(1.75rem, 1rem + 2vw, 2.75rem);
}
.btd-legal-find__title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 1.5rem;
}
.btd-legal-find__title .icon { width: 1.3rem; height: 1.3rem; color: var(--wp--preset--color--warning); flex: none; }
.btd-legal-find__list { list-style: none; margin: 0; padding: 0; }
.btd-legal-find__list li { display: flex; align-items: flex-start; gap: 0.85rem; margin-bottom: 1rem; }
.btd-legal-find__list li:last-child { margin-bottom: 0; }
.btd-legal-find__check {
  width: 28px;
  height: 28px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
}
.btd-legal-find__check .icon { width: 0.9rem; height: 0.9rem; }

/* Split clarification/contact card. */
.btd-legal-contact { border-radius: 1.5rem; overflow: hidden; }
.btd-legal-contact__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
@media (max-width: 600px) { .btd-legal-contact__tiles { grid-template-columns: 1fr; } }
.btd-legal-contact__tile {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-radius: 0.85rem;
  background-color: rgba(255, 255, 255, 0.1);
}
.btd-legal-contact__tile .icon { width: 1.25rem; height: 1.25rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-legal-contact__meta { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.btd-legal-contact__label { font-size: 0.78rem; color: rgba(255, 255, 255, 0.7); }
.btd-legal-contact__meta a { color: #fff; font-weight: 700; font-size: 0.9rem; text-decoration: none; overflow-wrap: anywhere; }
.btd-legal-contact__meta a:hover { text-decoration: underline; }
.btd-legal-contact__note {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 1.5rem 0 0;
  font-size: 0.85rem;
  color: var(--wp--preset--color--muted);
}
.btd-legal-contact__note .icon { width: 1rem; height: 1rem; flex: none; }

/* Final CTA. */
.btd-legal-final {
  background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--black));
  text-align: center;
}
.btd-legal-final__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--wp--preset--color--warning);
}
.btd-legal-final__icon .icon { width: 3rem; height: 3rem; }
.btd-legal-final__trust {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.7);
}
.btd-legal-final__trust li { display: inline-flex; align-items: center; gap: 0.5rem; }
.btd-legal-final__trust .icon { width: 1.1rem; height: 1.1rem; color: var(--wp--preset--color--success); }

@media (prefers-reduced-motion: reduce) {
  .btd-legal-card,
  .btd-legal-card__more .icon { transition: none; }
  .btd-legal-card:hover { transform: none; }
  .btd-legal-card:hover .btd-legal-card__more .icon { transform: none; }
}

/* ============================================================
   TERMS / LEGAL DOCUMENT (hero meta, TOC, numbered sections)
   ============================================================ */

/* Hero breadcrumb + last-updated card. */
.btd-terms-crumb { font-size: 0.85rem; color: rgba(255, 255, 255, 0.7); margin-bottom: 1rem; }
.btd-terms-crumb a { color: rgba(255, 255, 255, 0.7); text-decoration: none; }
.btd-terms-crumb a:hover { color: #fff; text-decoration: underline; }
.btd-terms-meta { border-radius: 1.25rem; padding: 1.5rem; color: #fff; }
.btd-terms-meta__row { display: flex; align-items: center; gap: 0.85rem; }
.btd-terms-meta__icon {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
  color: var(--wp--preset--color--warning);
}
.btd-terms-meta__icon .icon { width: 1.1rem; height: 1.1rem; }
.btd-terms-meta__block { display: flex; flex-direction: column; line-height: 1.3; }
.btd-terms-meta__label { font-size: 0.8rem; color: rgba(255, 255, 255, 0.7); }
.btd-terms-meta__value { font-weight: 700; }
.btd-terms-meta__divider { border: 0; height: 1px; background: rgba(255, 255, 255, 0.2); margin: 1.25rem 0; }
.btd-terms-meta__text { font-size: 0.9rem; color: rgba(255, 255, 255, 0.7); margin: 0 0 1rem; }
.btd-terms-meta__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  background-color: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
  font-weight: 700;
  font-size: 0.9rem;
  border-radius: 50rem;
  padding: 0.55rem 1.1rem;
  transition: filter 0.2s ease;
}
.btd-terms-meta__btn:hover { filter: brightness(0.95); }
.btd-terms-meta__btn .icon { width: 1rem; height: 1rem; }

/* Numbered legal sections. */
.btd-terms-section {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1.25rem;
  overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08);
  scroll-margin-top: 100px;
}
.btd-terms-section__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  background: linear-gradient(135deg, var(--wp--preset--color--light), color-mix(in srgb, var(--wp--preset--color--dark) 7%, var(--wp--preset--color--light)));
}
.btd-terms-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, var(--wp--preset--color--warning), color-mix(in srgb, var(--wp--preset--color--warning) 72%, #000));
  color: #000;
  font-weight: 700;
  font-size: 0.875rem;
}
.btd-terms-section__title { font-size: 1.2rem; font-weight: 700; margin: 0; color: var(--wp--preset--color--dark); }
.btd-terms-section__body { padding: 1.5rem; }
.btd-terms-section__body :where(p, ul, ol):last-child { margin-bottom: 0; }
.btd-terms-section__body ul { padding-left: 1.15rem; }
.btd-terms-section__body li { margin-bottom: 0.5rem; }

/* Key point callout. */
.btd-terms-key {
  background: color-mix(in srgb, var(--wp--preset--color--warning) 8%, transparent);
  border-left: 4px solid var(--wp--preset--color--warning);
  border-radius: 0 0.5rem 0.5rem 0;
  padding: 0.9rem 1.15rem;
  margin: 0;
}

/* Danger callout (refund). */
.btd-terms-danger {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  background: color-mix(in srgb, var(--wp--preset--color--danger) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 25%, transparent);
  border-radius: 0.6rem;
  padding: 0.9rem 1.15rem;
  margin: 0;
  font-size: 0.92rem;
}
.btd-terms-danger .icon { width: 1.2rem; height: 1.2rem; flex: none; color: var(--wp--preset--color--danger); margin-top: 0.1rem; }

/* Payment cards. */
.btd-terms-pay { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; margin-bottom: 1.5rem; }
@media (max-width: 600px) { .btd-terms-pay { grid-template-columns: 1fr; } }
.btd-terms-pay__card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  border-radius: 0.6rem;
  background: var(--wp--preset--color--light);
}
.btd-terms-pay__label { font-size: 0.8rem; color: var(--wp--preset--color--muted); }
.btd-terms-pay__value { font-weight: 700; }

/* Suspension timeline rows. */
.btd-terms-suspend { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1.5rem; }
.btd-terms-suspend__row {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 0.85rem 1rem;
  border-radius: 0.6rem;
  font-size: 0.92rem;
}
.btd-terms-suspend__row--warn { background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent); }
.btd-terms-suspend__row--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent); }
.btd-terms-suspend__badge {
  flex: none;
  border-radius: 50rem;
  padding: 0.2rem 0.7rem;
  font-size: 0.78rem;
  font-weight: 700;
  white-space: nowrap;
}
.btd-terms-suspend__badge--warn { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }
.btd-terms-suspend__badge--danger { background: var(--wp--preset--color--danger); color: #fff; }

/* Responsibilities two-up. */
.btd-terms-resp { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .btd-terms-resp { grid-template-columns: 1fr; } }
.btd-terms-resp__card { padding: 1.15rem; border-radius: 0.75rem; }
.btd-terms-resp__card--btd { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); }
.btd-terms-resp__card--client { background: color-mix(in srgb, var(--wp--preset--color--info) 12%, transparent); }
.btd-terms-resp__title { display: flex; align-items: center; gap: 0.5rem; font-size: 1rem; font-weight: 700; margin: 0 0 0.85rem; }
.btd-terms-resp__card--btd .btd-terms-resp__title .icon { color: var(--wp--preset--color--success); }
.btd-terms-resp__card--client .btd-terms-resp__title .icon { color: var(--wp--preset--color--info); }
.btd-terms-resp__title .icon { width: 1.15rem; height: 1.15rem; flex: none; }
.btd-terms-resp__card ul { list-style: disc; margin: 0; padding-left: 1.15rem; font-size: 0.9rem; }
.btd-terms-resp__card li { margin-bottom: 0.4rem; }
.btd-terms-resp__card li:last-child { margin-bottom: 0; }

/* Dark inset (limitation of liability). */
.btd-terms-dark {
  background: var(--wp--preset--color--dark);
  color: #fff;
  border-radius: 0.6rem;
  padding: 1rem 1.15rem;
  margin: 0;
  font-size: 0.92rem;
}

/* Sticky table of contents. */
@media (min-width: 992px) { .btd-terms-toc-wrap { position: sticky; top: 100px; } }
.btd-terms-toc {
  background: #fff;
  border-radius: 1rem;
  padding: 1.5rem;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08);
}
.btd-terms-toc__title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--wp--preset--color--muted);
  margin: 0 0 1rem;
}
.btd-terms-toc__title .icon { width: 1rem; height: 1rem; }
.btd-terms-toc__link {
  display: flex;
  align-items: center;
  padding: 0.6rem 0.75rem;
  border-radius: 0.5rem;
  text-decoration: none;
  color: var(--wp--preset--color--body);
  font-weight: 500;
  font-size: 0.92rem;
  border: 1px solid transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.btd-terms-toc__link:hover,
.btd-terms-toc__link:focus-visible {
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border-color: color-mix(in srgb, var(--wp--preset--color--warning) 22%, transparent);
  color: var(--wp--preset--color--dark);
}
.btd-terms-toc__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: 0.25rem;
  background: rgba(0, 0, 0, 0.06);
  color: var(--wp--preset--color--muted);
  font-size: 0.75rem;
  font-weight: 700;
  margin-right: 0.75rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btd-terms-toc__link:hover .btd-terms-toc__num {
  background: var(--wp--preset--color--warning);
  color: #000;
}
.btd-terms-help {
  margin-top: 1.5rem;
  background: var(--wp--preset--color--dark);
  color: #fff;
  border-radius: 1rem;
  padding: 1.5rem;
}
.btd-terms-help__title { display: flex; align-items: center; gap: 0.5rem; font-size: 1rem; font-weight: 700; margin: 0 0 0.75rem; }
.btd-terms-help__title .icon { width: 1.15rem; height: 1.15rem; color: var(--wp--preset--color--warning); }
.btd-terms-help__text { font-size: 0.9rem; color: rgba(255, 255, 255, 0.7); margin: 0 0 1.25rem; }
.btd-terms-help__btn {
  display: block;
  text-align: center;
  text-decoration: none;
  border: 2px solid var(--wp--preset--color--warning);
  color: var(--wp--preset--color--warning);
  font-weight: 700;
  border-radius: 50rem;
  padding: 0.55rem 1rem;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.btd-terms-help__btn:hover { background: var(--wp--preset--color--warning); color: #000; }

/* Related legal links (in the split card, light side). */
.btd-terms-related { display: flex; flex-direction: column; gap: 0.6rem; }
.btd-terms-related__link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 1rem;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 50rem;
  text-decoration: none;
  color: var(--wp--preset--color--dark);
  font-weight: 600;
  font-size: 0.9rem;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.btd-terms-related__link .icon { width: 1rem; height: 1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-terms-related__link:hover,
.btd-terms-related__link:focus-visible { background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.3); }
.btd-terms-related__all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.75rem;
  padding: 0.7rem 1rem;
  border-radius: 50rem;
  background: var(--wp--preset--color--body);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.9rem;
  transition: filter 0.2s ease;
}
.btd-terms-related__all:hover { filter: brightness(1.12); }
.btd-terms-related__all .icon { width: 1rem; height: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .btd-terms-toc__link,
  .btd-terms-toc__num,
  .btd-terms-related__link,
  .btd-terms-related__all,
  .btd-terms-meta__btn,
  .btd-terms-help__btn { transition: none; }
}

/* ============================================================
   PRIVACY POLICY (gold icon headers, promise band, policy grids)
   ============================================================ */

/* Gold section header variant + icon badge (reuses .btd-terms-section). */
.btd-terms-section__header--gold {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--warning) 12%, #fff), color-mix(in srgb, var(--wp--preset--color--warning) 5%, #fff));
}
.btd-terms-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
}
.btd-terms-ico .icon { width: 1.3rem; height: 1.3rem; }

/* TOC links with an icon instead of a number. */
.btd-terms-toc__link--icon .icon {
  width: 1.05rem;
  height: 1.05rem;
  flex: none;
  margin-right: 0.75rem;
  color: var(--wp--preset--color--muted);
  transition: color 0.2s ease;
}
.btd-terms-toc__link--icon:hover .icon,
.btd-terms-toc__link--icon:focus-visible .icon { color: var(--wp--preset--color--warning); }

/* Promise band. */
.btd-priv-promise { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.btd-priv-promise__msg { display: flex; align-items: center; gap: 1rem; }
.btd-priv-promise__icon {
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--dark);
  color: var(--wp--preset--color--warning);
}
.btd-priv-promise__icon .icon { width: 1.35rem; height: 1.35rem; }
.btd-priv-promise__text { display: flex; flex-direction: column; }
.btd-priv-promise__text strong { color: var(--wp--preset--color--dark); }
.btd-priv-promise__text span { color: rgba(0, 0, 0, 0.7); font-size: 0.9rem; }
.btd-priv-promise__badges { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.btd-priv-promise__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: var(--wp--preset--color--dark);
  color: var(--wp--preset--color--warning);
  border-radius: 50rem;
  padding: 0.45rem 0.95rem;
  font-size: 0.8rem;
  font-weight: 700;
}
.btd-priv-promise__badge .icon { width: 0.9rem; height: 0.9rem; }

/* Overview check tiles. */
.btd-priv-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
@media (max-width: 600px) { .btd-priv-checks { grid-template-columns: 1fr; } }
.btd-priv-check {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  padding: 0.9rem 1rem;
  border-radius: 0.6rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 9%, transparent);
  border: 1px solid rgba(0, 0, 0, 0.06);
}
.btd-priv-check > .icon { width: 1.2rem; height: 1.2rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }
.btd-priv-check__body { display: flex; flex-direction: column; }
.btd-priv-check__body strong { font-size: 0.9rem; }
.btd-priv-check__body span { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Cookie cards. */
.btd-priv-cookies { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; margin-bottom: 1.5rem; }
@media (max-width: 600px) { .btd-priv-cookies { grid-template-columns: 1fr; } }
.btd-priv-cookie {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  background: var(--wp--preset--color--light);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btd-priv-cookie:hover { transform: translateY(-3px); box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1); }
.btd-priv-cookie__head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; }
.btd-priv-cookie__icon {
  width: 28px;
  height: 28px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
}
.btd-priv-cookie__icon .icon { width: 0.85rem; height: 0.85rem; }
.btd-priv-cookie__text { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Compliance rows. */
.btd-priv-comp { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1.5rem; }
.btd-priv-comp__row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent);
}
.btd-priv-comp__icon {
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
}
.btd-priv-comp__icon .icon { width: 1.05rem; height: 1.05rem; }
.btd-priv-comp__body { display: flex; flex-direction: column; }
.btd-priv-comp__body strong { font-size: 0.92rem; }
.btd-priv-comp__body span { font-size: 0.82rem; color: var(--wp--preset--color--muted); }

/* Dark note with an icon (reuses .btd-terms-dark). */
.btd-priv-note { display: flex; align-items: flex-start; gap: 0.6rem; }
.btd-priv-note .icon { width: 1.2rem; height: 1.2rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.1rem; }

/* Tool categories. */
.btd-priv-tools { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1.5rem; }
.btd-priv-tool { padding: 0.9rem 1rem; border-radius: 0.75rem; background: var(--wp--preset--color--light); }
.btd-priv-tool__head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; margin-bottom: 0.35rem; }
.btd-priv-tool__head .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-priv-tool__text { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Security tiles. */
.btd-priv-sec { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.85rem; }
@media (max-width: 782px) { .btd-priv-sec { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px) { .btd-priv-sec { grid-template-columns: 1fr; } }
.btd-priv-sectile {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.35rem;
  padding: 1.15rem 0.85rem;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--light);
}
.btd-priv-sectile__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.35rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 22%, transparent);
  color: var(--wp--preset--color--warning);
}
.btd-priv-sectile__icon .icon { width: 1.35rem; height: 1.35rem; }
.btd-priv-sectile strong { font-size: 0.9rem; }
.btd-priv-sectile span { font-size: 0.82rem; color: var(--wp--preset--color--muted); }

/* Rights tiles. */
.btd-priv-rights { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; margin-bottom: 1.5rem; }
@media (max-width: 600px) { .btd-priv-rights { grid-template-columns: 1fr; } }
.btd-priv-right {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 1rem;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--light);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.btd-priv-right__head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; }
.btd-priv-right__head .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-priv-right__text { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Submit-a-request callout. */
.btd-priv-request {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
}
.btd-priv-request__text { display: flex; flex-direction: column; }
.btd-priv-request__text strong { font-size: 0.98rem; }
.btd-priv-request__text span { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-priv-request__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex: none;
  text-decoration: none;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
  font-weight: 700;
  border-radius: 50rem;
  padding: 0.6rem 1.25rem;
  transition: filter 0.2s ease;
}
.btd-priv-request__btn:hover { filter: brightness(0.95); }
.btd-priv-request__btn .icon { width: 1rem; height: 1rem; }

/* Sidebar quick facts card. */
.btd-priv-facts {
  margin-top: 1.5rem;
  padding: 1.5rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent);
}
.btd-priv-facts__title { display: flex; align-items: center; gap: 0.5rem; font-size: 1rem; font-weight: 700; color: var(--wp--preset--color--success); margin: 0 0 1rem; }
.btd-priv-facts__title .icon { width: 1.1rem; height: 1.1rem; }
.btd-priv-facts__list { list-style: none; margin: 0; padding: 0; }
.btd-priv-facts__list li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.88rem; margin-bottom: 0.6rem; }
.btd-priv-facts__list li:last-child { margin-bottom: 0; }
.btd-priv-facts__list .icon { width: 0.9rem; height: 0.9rem; flex: none; color: var(--wp--preset--color--success); margin-top: 0.2rem; }

@media (prefers-reduced-motion: reduce) {
  .btd-priv-cookie,
  .btd-priv-request__btn { transition: none; }
  .btd-priv-cookie:hover { transform: none; }
}

/* ============================================================
   COOKIES POLICY (cookie tables, type cards, third-party grids)
   ============================================================ */

/* Cookie tables (core table block + .btd-cookie-table). */
.btd-cookie-table { margin: 0; overflow-x: auto; }
.btd-cookie-table table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.875rem; }
.btd-cookie-table th,
.btd-cookie-table td { padding: 0.7rem 1rem; text-align: left; border: 0; border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
.btd-cookie-table th {
  background: var(--wp--preset--color--light);
  font-weight: 700;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.btd-cookie-table tbody tr:hover { background: color-mix(in srgb, var(--wp--preset--color--warning) 5%, transparent); }
.btd-cookie-table code {
  background: rgba(0, 0, 0, 0.06);
  padding: 0.12rem 0.38rem;
  border-radius: 0.25rem;
  font-size: 0.82em;
}

/* Cookie type cards. */
.btd-ck-types { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .btd-ck-types { grid-template-columns: 1fr; } }
.btd-ck-type {
  background: var(--wp--preset--color--light);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
  padding: 1.25rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btd-ck-type:hover { transform: translateY(-4px); box-shadow: 0 0.75rem 2rem rgba(0, 0, 0, 0.12); }
.btd-ck-type__head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.85rem; }
.btd-ck-type__icon {
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.btd-ck-type__icon .icon { width: 1.3rem; height: 1.3rem; }
.btd-ck-type__name { display: flex; flex-direction: column; gap: 0.3rem; }
.btd-ck-type__badge {
  align-self: flex-start;
  font-size: 0.7rem;
  font-weight: 700;
  border-radius: 50rem;
  padding: 0.15rem 0.65rem;
}
.btd-ck-type__text { font-size: 0.88rem; color: var(--wp--preset--color--muted); margin: 0 0 0.75rem; }
.btd-ck-type__can { font-size: 0.85rem; margin: 0; }
.btd-ck-type--success .btd-ck-type__icon { background: var(--wp--preset--color--success); }
.btd-ck-type--success .btd-ck-type__badge { background: var(--wp--preset--color--success); color: #fff; }
.btd-ck-type--info .btd-ck-type__icon { background: var(--wp--preset--color--info); }
.btd-ck-type--info .btd-ck-type__badge { background: var(--wp--preset--color--info); color: #fff; }
.btd-ck-type--secondary .btd-ck-type__icon { background: var(--wp--preset--color--secondary); }
.btd-ck-type--secondary .btd-ck-type__badge { background: var(--wp--preset--color--secondary); color: #fff; }
.btd-ck-type--warning .btd-ck-type__icon { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }
.btd-ck-type--warning .btd-ck-type__badge { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }

/* Third-party / opt-out service cards. */
.btd-ck-tp { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
.btd-ck-tp--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 600px) { .btd-ck-tp, .btd-ck-tp--3 { grid-template-columns: 1fr; } }
.btd-ck-tpcard {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--light);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.btd-ck-tpcard__head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; }
.btd-ck-tpcard__head .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-ck-tpcard__text { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-ck-tpcard__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: auto;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--wp--preset--color--info);
  text-decoration: none;
}
.btd-ck-tpcard__link .icon { width: 0.85rem; height: 0.85rem; }
.btd-ck-tpcard__link:hover { text-decoration: underline; }

/* Browser cards. */
.btd-ck-browsers { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.85rem; }
@media (max-width: 600px) { .btd-ck-browsers { grid-template-columns: 1fr 1fr; } }
.btd-ck-browser {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.2rem;
  padding: 1.15rem 0.75rem;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--light);
  text-decoration: none;
  color: var(--wp--preset--color--dark);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btd-ck-browser:hover { transform: translateY(-3px); box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1); }
.btd-ck-browser__icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.35rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent);
  color: var(--wp--preset--color--warning);
}
.btd-ck-browser__icon .icon { width: 1.3rem; height: 1.3rem; }
.btd-ck-browser strong { font-size: 0.9rem; }
.btd-ck-browser span { font-size: 0.8rem; color: var(--wp--preset--color--muted); }

/* Update tiles. */
.btd-ck-updates { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.85rem; }
@media (max-width: 600px) { .btd-ck-updates { grid-template-columns: 1fr; } }
.btd-ck-update {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.2rem;
  padding: 1.25rem 0.85rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
}
.btd-ck-update__icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.35rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent);
  color: var(--wp--preset--color--warning);
}
.btd-ck-update__icon .icon { width: 1.35rem; height: 1.35rem; }
.btd-ck-update strong { font-size: 0.9rem; }
.btd-ck-update span { font-size: 0.82rem; color: var(--wp--preset--color--muted); }

/* Dark "questions about this policy" box. */
.btd-ck-qbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.5rem;
  border-radius: 1rem;
  background: var(--wp--preset--color--dark);
  color: #fff;
}
.btd-ck-qbox__text { display: flex; flex-direction: column; }
.btd-ck-qbox__text strong { font-size: 1rem; }
.btd-ck-qbox__text span { font-size: 0.85rem; color: rgba(255, 255, 255, 0.7); }
.btd-ck-qbox__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex: none;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
  font-weight: 700;
  border-radius: 50rem;
  padding: 0.6rem 1.25rem;
  text-decoration: none;
  transition: filter 0.2s ease;
}
.btd-ck-qbox__btn:hover { filter: brightness(0.95); }
.btd-ck-qbox__btn .icon { width: 1rem; height: 1rem; }

@media (prefers-reduced-motion: reduce) {
  .btd-ck-type,
  .btd-ck-browser,
  .btd-ck-qbox__btn { transition: none; }
  .btd-ck-type:hover,
  .btd-ck-browser:hover { transform: none; }
}

/* ============================================================
   ACCESSIBILITY STATEMENT (standards, assistive tech, feedback)
   ============================================================ */

/* Standards cards (WCAG AA / ADA). */
.btd-a11y-std { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .btd-a11y-std { grid-template-columns: 1fr; } }
.btd-a11y-stdcard { padding: 1.25rem; border-radius: 1rem; border: 1px solid transparent; }
.btd-a11y-stdcard--success { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent); }
.btd-a11y-stdcard--info { background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent); border-color: color-mix(in srgb, var(--wp--preset--color--info) 25%, transparent); }
.btd-a11y-stdcard__head { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 0.85rem; }
.btd-a11y-stdcard__badge,
.btd-a11y-stdcard__icon {
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
}
.btd-a11y-stdcard--success .btd-a11y-stdcard__badge { background: var(--wp--preset--color--success); }
.btd-a11y-stdcard--info .btd-a11y-stdcard__icon { background: var(--wp--preset--color--info); }
.btd-a11y-stdcard__icon .icon { width: 1.3rem; height: 1.3rem; }
.btd-a11y-stdcard__name { display: flex; flex-direction: column; }
.btd-a11y-stdcard__name strong { font-size: 0.98rem; }
.btd-a11y-stdcard__name span { font-size: 0.82rem; color: var(--wp--preset--color--muted); }
.btd-a11y-stdcard__text { font-size: 0.88rem; color: var(--wp--preset--color--muted); margin: 0; }

/* Assistive-tech cards (icon head + list). */
.btd-a11y-at { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
@media (max-width: 600px) { .btd-a11y-at { grid-template-columns: 1fr; } }
.btd-a11y-atcard { padding: 1.1rem 1.25rem; border-radius: 0.75rem; background: var(--wp--preset--color--light); border: 1px solid rgba(0, 0, 0, 0.08); }
.btd-a11y-atcard__head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.92rem; margin-bottom: 0.6rem; }
.btd-a11y-atcard__head .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-a11y-atcard ul { list-style: disc; margin: 0; padding-left: 1.15rem; font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-a11y-atcard li { margin-bottom: 0.3rem; }
.btd-a11y-atcard li:last-child { margin-bottom: 0; }

/* Known-limitation rows. */
.btd-a11y-lim { display: flex; flex-direction: column; gap: 0.75rem; }
.btd-a11y-limrow {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--light);
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.btd-a11y-limrow > .icon { width: 1.2rem; height: 1.2rem; flex: none; color: var(--wp--preset--color--muted); margin-top: 0.1rem; }
.btd-a11y-limrow__body { display: flex; flex-direction: column; }
.btd-a11y-limrow__body strong { font-size: 0.92rem; }
.btd-a11y-limrow__body span { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Feedback contact cards. */
.btd-a11y-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 600px) { .btd-a11y-contact { grid-template-columns: 1fr; } }
.btd-a11y-contactcard {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding: 1.25rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent);
}
.btd-a11y-contactcard__head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.98rem; }
.btd-a11y-contactcard__head .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--warning); }
.btd-a11y-contactcard__text { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-a11y-contactcard__val a {
  display: inline-block;
  background: var(--wp--preset--color--warning);
  color: var(--wp--preset--color--dark);
  font-weight: 700;
  border-radius: 50rem;
  padding: 0.55rem 1.25rem;
  text-decoration: none;
  transition: filter 0.2s ease;
}
.btd-a11y-contactcard__val a:hover { filter: brightness(0.95); }

/* "When reporting, include" chips. */
.btd-a11y-report { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
@media (max-width: 600px) { .btd-a11y-report { grid-template-columns: 1fr; } }
.btd-a11y-chip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.85rem;
  border-radius: 0.5rem;
  background: var(--wp--preset--color--light);
  font-size: 0.85rem;
}
.btd-a11y-chip .icon { width: 0.95rem; height: 0.95rem; flex: none; color: var(--wp--preset--color--success); }

/* Response-time dark box. */
.btd-a11y-resp {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.5rem;
  border-radius: 1rem;
  background: var(--wp--preset--color--dark);
  color: #fff;
}
.btd-a11y-resp__text { display: flex; flex-direction: column; }
.btd-a11y-resp__text strong { font-size: 1rem; }
.btd-a11y-resp__text span { font-size: 0.85rem; color: rgba(255, 255, 255, 0.7); }
.btd-a11y-resp__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  flex: none;
  background: var(--wp--preset--color--success);
  color: #fff;
  font-weight: 700;
  font-size: 0.82rem;
  border-radius: 50rem;
  padding: 0.45rem 0.95rem;
}
.btd-a11y-resp__badge .icon { width: 0.9rem; height: 0.9rem; }

@media (prefers-reduced-motion: reduce) {
  .btd-a11y-contactcard__val a { transition: none; }
}

/* ============================================================
   SERVICE LEVEL AGREEMENT (care-tier cards, comparison tables)
   ============================================================ */

/* Care-tier cards. */
.btd-sla-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.btd-sla-tier {
  padding: 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-left-width: 4px;
  background: var(--wp--preset--color--light);
}
.btd-sla-tier__head { display: flex; flex-direction: column; margin-bottom: 0.85rem; }
.btd-sla-tier__price { font-size: 1.5rem; font-weight: 800; line-height: 1; }
.btd-sla-tier__price span { font-size: 0.8rem; font-weight: 600; color: var(--wp--preset--color--muted); }
.btd-sla-tier__name { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; margin-top: 0.35rem; }
.btd-sla-tier__list { list-style: none; margin: 0; padding: 0; }
.btd-sla-tier__list li { position: relative; padding-left: 1.2rem; font-size: 0.85rem; color: var(--wp--preset--color--muted); margin-bottom: 0.5rem; }
.btd-sla-tier__list li:last-child { margin-bottom: 0; }
.btd-sla-tier__list li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 0.45rem; height: 0.45rem; border-radius: 50%; background: currentColor; opacity: 0.45; }
.btd-sla-tier--secondary { border-left-color: var(--wp--preset--color--secondary); }
.btd-sla-tier--secondary .btd-sla-tier__price, .btd-sla-tier--secondary .btd-sla-tier__name { color: var(--wp--preset--color--secondary); }
.btd-sla-tier--info { border-left-color: var(--wp--preset--color--info); }
.btd-sla-tier--info .btd-sla-tier__price, .btd-sla-tier--info .btd-sla-tier__name { color: var(--wp--preset--color--info); }
.btd-sla-tier--warning { border-left-color: var(--wp--preset--color--warning); }
.btd-sla-tier--warning .btd-sla-tier__price, .btd-sla-tier--warning .btd-sla-tier__name { color: var(--wp--preset--color--warning); }
.btd-sla-tier--success { border-left-color: var(--wp--preset--color--success); }
.btd-sla-tier--success .btd-sla-tier__price, .btd-sla-tier--success .btd-sla-tier__name { color: var(--wp--preset--color--success); }
.btd-sla-tier--danger { border-left-color: var(--wp--preset--color--danger); }
.btd-sla-tier--danger .btd-sla-tier__price, .btd-sla-tier--danger .btd-sla-tier__name { color: var(--wp--preset--color--danger); }

/* Comparison tables (core table + .btd-sla-table). */
.btd-sla-table { margin: 0; overflow-x: auto; }
.btd-sla-table table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 0.85rem; }
.btd-sla-table th,
.btd-sla-table td { padding: 0.7rem 0.85rem; text-align: center; border: 0; border-bottom: 1px solid rgba(0, 0, 0, 0.06); }
.btd-sla-table th { background: var(--wp--preset--color--light); font-weight: 700; font-size: 0.8rem; }
.btd-sla-table th:first-child,
.btd-sla-table td:first-child { text-align: left; }
.btd-sla-table tbody tr:hover { background: color-mix(in srgb, var(--wp--preset--color--warning) 5%, transparent); }

/* Uptime highlight. */
.btd-sla-uptime {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding: 1.5rem;
  border-radius: 1rem;
  background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent);
}
.btd-sla-uptime__score { text-align: center; flex: none; }
.btd-sla-uptime__num { display: block; font-size: 2.5rem; font-weight: 800; line-height: 1; color: var(--wp--preset--color--success); }
.btd-sla-uptime__label { font-size: 0.8rem; color: var(--wp--preset--color--muted); }
.btd-sla-uptime__body { flex: 1 1 240px; }
.btd-sla-uptime__body strong { display: block; margin-bottom: 0.5rem; }
.btd-sla-uptime__body ul { list-style: none; margin: 0; padding: 0; }
.btd-sla-uptime__body li { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.85rem; margin-bottom: 0.35rem; }
.btd-sla-uptime__body li:last-child { margin-bottom: 0; }
.btd-sla-uptime__body .icon { width: 0.9rem; height: 0.9rem; flex: none; color: var(--wp--preset--color--success); margin-top: 0.2rem; }

/* Priority definitions. */
.btd-sla-defs { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
@media (max-width: 600px) { .btd-sla-defs { grid-template-columns: 1fr; } }
.btd-sla-def { padding: 0.9rem 1rem; border-radius: 0.75rem; }
.btd-sla-def--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent); }
.btd-sla-def--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 12%, transparent); }
.btd-sla-def__head { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; font-size: 0.9rem; margin-bottom: 0.35rem; }
.btd-sla-def__head .icon { width: 1.05rem; height: 1.05rem; flex: none; }
.btd-sla-def--danger .btd-sla-def__head .icon { color: var(--wp--preset--color--danger); }
.btd-sla-def--warning .btd-sla-def__head .icon { color: var(--wp--preset--color--warning); }
.btd-sla-def__text { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Exclusion cards. */
.btd-sla-excl { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
@media (max-width: 600px) { .btd-sla-excl { grid-template-columns: 1fr; } }
.btd-sla-exclcard { padding: 1rem; border-radius: 0.75rem; background: var(--wp--preset--color--light); border: 1px solid rgba(0, 0, 0, 0.08); }
.btd-sla-exclcard__head { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; margin-bottom: 0.35rem; }
.btd-sla-exclcard__head .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--muted); }
.btd-sla-exclcard__text { display: block; font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* ============================================================
   EMAIL POLICY (check / X source rows)
   ============================================================ */
.btd-em-list { display: flex; flex-direction: column; gap: 0.6rem; }
.btd-em-list--2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; }
@media (max-width: 600px) { .btd-em-list--2 { grid-template-columns: 1fr; } }
.btd-em-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 1rem;
  border-radius: 0.6rem;
  background: var(--wp--preset--color--light);
}
.btd-em-row--x { background: color-mix(in srgb, var(--wp--preset--color--danger) 6%, transparent); }
.btd-em-row > .icon { width: 1.15rem; height: 1.15rem; flex: none; margin-top: 0.1rem; }
.btd-em-row--check > .icon { color: var(--wp--preset--color--success); }
.btd-em-row--x > .icon { color: var(--wp--preset--color--danger); }
.btd-em-row__body { display: flex; flex-direction: column; }
.btd-em-row__body strong { font-size: 0.9rem; }
.btd-em-row__body span { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* ============================================================
   PAYMENT POLICIES (payment timeline, service chips, callouts)
   ============================================================ */

/* Vertical timeline (payment steps + suspension steps). */
.btd-pay-timeline { position: relative; }
.btd-pay-step { position: relative; padding-left: 3rem; padding-bottom: 1.5rem; }
.btd-pay-step:last-child { padding-bottom: 0; }
.btd-pay-step::before { content: ""; position: absolute; left: 15px; top: 34px; bottom: 0; width: 2px; background: rgba(0, 0, 0, 0.1); }
.btd-pay-step:last-child::before { display: none; }
.btd-pay-step__marker {
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 0.8rem;
}
.btd-pay-step__marker .icon { width: 0.9rem; height: 0.9rem; }
.btd-pay-step__marker--success { background: var(--wp--preset--color--success); color: #fff; }
.btd-pay-step__marker--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }
.btd-pay-step__marker--danger { background: var(--wp--preset--color--danger); color: #fff; }
.btd-pay-step__marker--dark { background: var(--wp--preset--color--dark); color: #fff; }
.btd-pay-step__card { display: flex; flex-direction: column; gap: 0.2rem; padding: 1rem; border-radius: 0.6rem; background: var(--wp--preset--color--light); }
.btd-pay-step__card--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--warning) 25%, transparent); }
.btd-pay-step__card--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 25%, transparent); }
.btd-pay-step__card--dark { background: var(--wp--preset--color--dark); color: #fff; }
.btd-pay-step__cardhead { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; }
.btd-pay-step__title { font-weight: 700; }
.btd-pay-step__badge { flex: none; font-size: 0.72rem; font-weight: 700; border-radius: 50rem; padding: 0.15rem 0.6rem; white-space: nowrap; }
.btd-pay-step__badge--warning { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }
.btd-pay-step__badge--danger { background: var(--wp--preset--color--danger); color: #fff; }
.btd-pay-step__badge--light { background: var(--wp--preset--color--light); color: var(--wp--preset--color--dark); }
.btd-pay-step__text { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-pay-step__card--dark .btd-pay-step__text { color: rgba(255, 255, 255, 0.7); }

/* Auto-pay / no-contract tiles. */
.btd-pay-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
@media (max-width: 600px) { .btd-pay-cards { grid-template-columns: 1fr; } }
.btd-pay-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.2rem; padding: 1.15rem; border-radius: 0.75rem; }
.btd-pay-card--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent); }
.btd-pay-card--success { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); }
.btd-pay-card__icon { display: inline-flex; margin-bottom: 0.35rem; }
.btd-pay-card--warning .btd-pay-card__icon { color: var(--wp--preset--color--warning); }
.btd-pay-card--success .btd-pay-card__icon { color: var(--wp--preset--color--success); }
.btd-pay-card__icon .icon { width: 1.5rem; height: 1.5rem; }
.btd-pay-card span { font-size: 0.82rem; color: var(--wp--preset--color--muted); }

/* Third-party service chips. */
.btd-pay-svc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.6rem; }
@media (max-width: 600px) { .btd-pay-svc { grid-template-columns: 1fr 1fr; } }
.btd-pay-svcchip {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.3rem;
  padding: 0.85rem 0.5rem;
  border-radius: 0.5rem;
  background: var(--wp--preset--color--light);
  font-size: 0.82rem;
  font-weight: 600;
  text-align: center;
}
.btd-pay-svcchip .icon { width: 1.2rem; height: 1.2rem; color: var(--wp--preset--color--info); }

/* "Billed in advance" callout (reuses .btd-terms-key spacing but neutral). */
.btd-pay-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin: 0;
  padding: 0.9rem 1.15rem;
  border-radius: 0.6rem;
  background: var(--wp--preset--color--light);
  font-size: 0.92rem;
}
.btd-pay-callout .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--muted); margin-top: 0.1rem; }

/* Inline icon inside a key-point callout (third-party initiation note). */
.btd-terms-key .icon { width: 1.05rem; height: 1.05rem; vertical-align: -0.15em; color: var(--wp--preset--color--warning); }

/* ============================================================
   CLIENT DELIVERABLES / IP (ownership cards, deliverable rows)
   ============================================================ */

/* Overview standards cards: allow an icon (not just a text badge) on the success card. */
.btd-a11y-stdcard--success .btd-a11y-stdcard__icon { background: var(--wp--preset--color--success); }

/* Deliverable rows (what you own / what we retain). */
.btd-ip-deliv { display: flex; flex-direction: column; gap: 0.75rem; }
.btd-ip-delivrow {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem;
  border-radius: 0.75rem;
  background: var(--wp--preset--color--light);
  transition: transform 0.2s ease;
}
.btd-ip-delivrow:hover { transform: translateX(4px); }
.btd-ip-delivrow__icon {
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}
.btd-ip-delivrow__icon .icon { width: 1.05rem; height: 1.05rem; }
.btd-ip-delivrow--success .btd-ip-delivrow__icon { background: var(--wp--preset--color--success); }
.btd-ip-delivrow--primary .btd-ip-delivrow__icon { background: var(--wp--preset--color--info); }
.btd-ip-delivrow__body { display: flex; flex-direction: column; }
.btd-ip-delivrow__body strong { font-size: 0.92rem; }
.btd-ip-delivrow__body span { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* Success / danger callouts. */
.btd-ip-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin: 0;
  padding: 0.9rem 1.15rem;
  border-radius: 0.6rem;
  font-size: 0.92rem;
}
.btd-ip-callout--success { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent); }
.btd-ip-callout--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 25%, transparent); }
.btd-ip-callout .icon { width: 1.2rem; height: 1.2rem; flex: none; margin-top: 0.1rem; }
.btd-ip-callout--success .icon { color: var(--wp--preset--color--success); }
.btd-ip-callout--danger .icon { color: var(--wp--preset--color--danger); }

/* Termination two-up columns. */
.btd-ip-col { height: 100%; padding: 1.5rem; border-radius: 1rem; }
.btd-ip-col--success { background: color-mix(in srgb, var(--wp--preset--color--success) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--success) 25%, transparent); }
.btd-ip-col--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 10%, transparent); border: 1px solid color-mix(in srgb, var(--wp--preset--color--danger) 25%, transparent); }
.btd-ip-col__title { display: flex; align-items: center; gap: 0.4rem; }

@media (prefers-reduced-motion: reduce) {
  .btd-ip-delivrow { transition: none; }
  .btd-ip-delivrow:hover { transform: none; }
}

/* ============================================================
   MICHIGAN SERVICE AREA (local-SEO landing page)
   Michigan-blue accents map to the on-brand secondary (navy) token.
   ============================================================ */

/* Hero trust chips. */
.btd-mi-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; }
.btd-mi-chips li { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-radius: 0.75rem; font-size: 0.9rem; color: #fff; }
.btd-mi-chips .icon { width: 1rem; height: 1rem; color: var(--wp--preset--color--warning); }

/* Why-Michigan badges + stats. */
.btd-mi-badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.btd-mi-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  font-weight: 700;
  background: color-mix(in srgb, var(--wp--preset--color--secondary) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 22%, transparent);
  color: var(--wp--preset--color--secondary);
}
.btd-mi-badge .icon { width: 1rem; height: 1rem; }
.btd-mi-stat2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.btd-mi-stat2__box { padding: 1rem 1.25rem; border-radius: 1rem; }
.btd-mi-stat2__box--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent); }
.btd-mi-stat2__box--navy { background: color-mix(in srgb, var(--wp--preset--color--secondary) 8%, transparent); }
.btd-mi-stat2__num { display: block; font-size: 1.75rem; font-weight: 800; line-height: 1; }
.btd-mi-stat2__box--warning .btd-mi-stat2__num { color: var(--wp--preset--color--warning); }
.btd-mi-stat2__box--navy .btd-mi-stat2__num { color: var(--wp--preset--color--secondary); }
.btd-mi-stat2__label { font-size: 0.85rem; color: var(--wp--preset--color--muted); }

/* SEO strategy card. */
.btd-mi-seocard { border-radius: 1.25rem; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.06); background: #fff; }
.btd-mi-seocard__head { background: var(--wp--preset--color--dark); color: #fff; padding: 1.5rem; }
.btd-mi-seocard__title { display: flex; align-items: center; gap: 0.5rem; font-size: 1.15rem; font-weight: 700; margin: 0 0 0.75rem; }
.btd-mi-seocard__title .icon { width: 1.2rem; height: 1.2rem; color: var(--wp--preset--color--warning); }
.btd-mi-seocard__head p { margin: 0; font-size: 0.9rem; color: rgba(255, 255, 255, 0.7); }
.btd-mi-seocard__list { list-style: none; margin: 0; padding: 1.5rem; }
.btd-mi-seocard__list li { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.9rem; margin-bottom: 1rem; }
.btd-mi-seocard__list li:last-child { margin-bottom: 0; }
.btd-mi-seocard__list .icon { width: 1.05rem; height: 1.05rem; flex: none; color: var(--wp--preset--color--success); margin-top: 0.15rem; }

/* Engine mini-cards. */
.btd-mi-engines { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.5rem; }
.btd-mi-engine {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 1.25rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.btd-mi-engine:hover { transform: translateY(-8px); box-shadow: 0 1.25rem 3.25rem rgba(0, 0, 0, 0.16); }
.btd-mi-engine--featured { border-color: color-mix(in srgb, var(--wp--preset--color--success) 40%, transparent); }
.btd-mi-engine__flag { position: absolute; top: 0; right: 0; z-index: 1; background: var(--wp--preset--color--success); color: #fff; font-size: 0.72rem; font-weight: 700; padding: 0.25rem 0.7rem; border-radius: 0 1.25rem 0 0.5rem; }
.btd-mi-engine__head { padding: 1.5rem; text-align: center; color: #fff; }
.btd-mi-engine__head--info { background: var(--wp--preset--color--info); }
.btd-mi-engine__head--success { background: var(--wp--preset--color--success); }
.btd-mi-engine__head--danger { background: var(--wp--preset--color--danger); }
.btd-mi-engine__icon { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: rgba(255, 255, 255, 0.2); margin-bottom: 0.75rem; }
.btd-mi-engine__icon .icon { width: 1.5rem; height: 1.5rem; color: #fff; }
.btd-mi-engine__name { display: block; font-size: 1.15rem; font-weight: 700; }
.btd-mi-engine__body { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
.btd-mi-engine__includes { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.8rem; font-weight: 600; color: var(--wp--preset--color--success); margin: 0 0 0.5rem; }
.btd-mi-engine__includes .icon { width: 0.9rem; height: 0.9rem; }
.btd-mi-engine__text { font-size: 0.9rem; color: var(--wp--preset--color--muted); margin: 0 0 1rem; flex: 1; }
.btd-mi-engine__price { margin: 0 0 1rem; }
.btd-mi-engine__price strong { font-size: 1.5rem; font-weight: 800; }
.btd-mi-engine__price span { font-size: 0.85rem; color: var(--wp--preset--color--muted); }
.btd-mi-engine__btn { display: block; text-align: center; padding: 0.6rem 1rem; border-radius: 50rem; font-weight: 700; font-size: 0.9rem; text-decoration: none; border: 2px solid transparent; transition: background-color 0.2s ease, color 0.2s ease; }
.btd-mi-engine__btn--info { color: var(--wp--preset--color--info); border-color: var(--wp--preset--color--info); }
.btd-mi-engine__btn--info:hover { background: var(--wp--preset--color--info); color: #fff; }
.btd-mi-engine__btn--success { color: var(--wp--preset--color--success); border-color: var(--wp--preset--color--success); }
.btd-mi-engine__btn--success:hover { background: var(--wp--preset--color--success); color: #fff; }
.btd-mi-engine__btn--danger { color: var(--wp--preset--color--danger); border-color: var(--wp--preset--color--danger); }
.btd-mi-engine__btn--danger:hover { background: var(--wp--preset--color--danger); color: #fff; }

/* Premium tools note. */
.btd-mi-tools { display: flex; align-items: flex-start; gap: 0.6rem; max-width: 760px; margin: 2rem auto 0; padding: 1rem 1.25rem; border-radius: 1rem; background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); font-size: 0.9rem; }
.btd-mi-tools .icon { width: 1.15rem; height: 1.15rem; flex: none; color: var(--wp--preset--color--success); margin-top: 0.1rem; }

/* Industry cards (dark section). */
.btd-mi-industries { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
.btd-mi-industry { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 1rem; padding: 1.5rem; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.btd-mi-industry:hover { transform: translateY(-5px); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.2); }
.btd-mi-industry__head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.btd-mi-industry__icon { width: 48px; height: 48px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: color-mix(in srgb, var(--wp--preset--color--warning) 22%, transparent); }
.btd-mi-industry__icon .icon { width: 1.3rem; height: 1.3rem; color: var(--wp--preset--color--warning); }
.btd-mi-industry__head h3 { font-size: 1rem; font-weight: 700; margin: 0; color: #fff; }
.btd-mi-industry ul { list-style: none; margin: 0; padding: 0; }
.btd-mi-industry li { position: relative; padding-left: 1.25rem; font-size: 0.88rem; color: rgba(255, 255, 255, 0.7); margin-bottom: 0.5rem; }
.btd-mi-industry li:last-child { margin-bottom: 0; }
.btd-mi-industry li::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: var(--wp--preset--color--warning); }

/* Region cards. */
.btd-mi-regions { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; }
.btd-mi-region { background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 1rem; padding: 1.5rem; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.btd-mi-region:hover { transform: translateY(-5px); box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.1); }
.btd-mi-region__head { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1rem; }
.btd-mi-region__icon { width: 48px; height: 48px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--wp--preset--color--warning); }
.btd-mi-region__icon .icon { width: 1.3rem; height: 1.3rem; color: var(--wp--preset--color--dark); }
.btd-mi-region__name { display: flex; flex-direction: column; }
.btd-mi-region__name strong { font-size: 1.05rem; font-weight: 700; }
.btd-mi-region__name span { font-size: 0.82rem; color: var(--wp--preset--color--muted); }
.btd-mi-region__text { font-size: 0.88rem; color: var(--wp--preset--color--muted); margin: 0 0 1rem; }
.btd-mi-metros { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.btd-mi-metro {
  display: inline-block;
  padding: 0.4rem 0.85rem;
  border-radius: 50rem;
  font-size: 0.82rem;
  font-weight: 600;
  background: color-mix(in srgb, var(--wp--preset--color--secondary) 8%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--secondary) 15%, transparent);
  color: var(--wp--preset--color--secondary);
  transition: background-color 0.2s ease;
}
.btd-mi-metro:hover { background: color-mix(in srgb, var(--wp--preset--color--secondary) 16%, transparent); }

/* Stat cards (gold section). */
.btd-mi-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1.5rem; }
.btd-mi-stat { text-align: center; padding: 1.5rem; border-radius: 1rem; background: #fff; }
.btd-mi-stat__num { display: block; font-size: 2.25rem; font-weight: 800; line-height: 1; color: var(--wp--preset--color--warning); margin-bottom: 0.35rem; }
.btd-mi-stat__label { display: block; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--wp--preset--color--dark); }
.btd-mi-stat__note { display: block; font-size: 0.8rem; color: var(--wp--preset--color--muted); margin-top: 0.25rem; }

/* Advantage feature tiles. */
.btd-mi-advfeats { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 480px) { .btd-mi-advfeats { grid-template-columns: 1fr; } }
.btd-mi-advfeat { padding: 1rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.1); }
.btd-mi-advfeat .icon { width: 1.5rem; height: 1.5rem; color: var(--wp--preset--color--warning); margin-bottom: 0.5rem; }
.btd-mi-advfeat strong { display: block; font-size: 0.9rem; }
.btd-mi-advfeat span { display: block; font-size: 0.82rem; color: rgba(255, 255, 255, 0.7); }

/* Contact offer list + phone tile. */
.btd-mi-offer { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.btd-mi-offer li { display: flex; align-items: flex-start; gap: 0.6rem; margin-bottom: 0.85rem; }
.btd-mi-offer li:last-child { margin-bottom: 0; }
.btd-mi-offer .icon { width: 1.1rem; height: 1.1rem; flex: none; color: var(--wp--preset--color--warning); margin-top: 0.15rem; }
.btd-mi-phone { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-radius: 1rem; background: rgba(255, 255, 255, 0.1); }
.btd-mi-phone__icon .icon { width: 1.5rem; height: 1.5rem; color: var(--wp--preset--color--warning); }
.btd-mi-phone__meta { display: flex; flex-direction: column; }
.btd-mi-phone__label { font-size: 0.8rem; color: rgba(255, 255, 255, 0.7); }
.btd-mi-phone__meta a { font-size: 1.25rem; font-weight: 700; color: #fff; text-decoration: none; }
.btd-mi-phone__meta a:hover { text-decoration: underline; }

@media (prefers-reduced-motion: reduce) {
  .btd-mi-engine,
  .btd-mi-industry,
  .btd-mi-region,
  .btd-mi-engine__btn,
  .btd-mi-metro { transition: none; }
  .btd-mi-engine:hover,
  .btd-mi-industry:hover,
  .btd-mi-region:hover { transform: none; }
}

/* County cards + city tag cloud (service-area sub-region pages). */
.btd-mi-counties { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin-bottom: 2.5rem; }
.btd-mi-county {
  display: block;
  text-align: center;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
  padding: 1.75rem 1.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.btd-mi-county:hover,
.btd-mi-county:focus-visible { transform: translateY(-5px); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.1); }
.btd-mi-county--featured { box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.12); border-color: color-mix(in srgb, var(--wp--preset--color--warning) 40%, transparent); }
.btd-mi-county__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin-bottom: 1rem;
}
.btd-mi-county__icon .icon { width: 1.6rem; height: 1.6rem; }
.btd-mi-county__icon--gold { background: var(--wp--preset--color--warning); }
.btd-mi-county__icon--gold .icon { color: var(--wp--preset--color--dark); }
.btd-mi-county__icon--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 15%, transparent); }
.btd-mi-county__icon--danger .icon { color: var(--wp--preset--color--danger); }
.btd-mi-county__icon--info { background: color-mix(in srgb, var(--wp--preset--color--info) 15%, transparent); }
.btd-mi-county__icon--info .icon { color: var(--wp--preset--color--info); }
.btd-mi-county__icon--success { background: color-mix(in srgb, var(--wp--preset--color--success) 15%, transparent); }
.btd-mi-county__icon--success .icon { color: var(--wp--preset--color--success); }
.btd-mi-county__icon--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent); }
.btd-mi-county__icon--warning .icon { color: var(--wp--preset--color--warning); }
.btd-mi-county__icon--secondary { background: color-mix(in srgb, var(--wp--preset--color--secondary) 14%, transparent); }
.btd-mi-county__icon--secondary .icon { color: var(--wp--preset--color--secondary); }
.btd-mi-county__name { font-size: 1.15rem; font-weight: 700; margin: 0 0 0.5rem; color: var(--wp--preset--color--dark); }
.btd-mi-county__text { font-size: 0.88rem; color: var(--wp--preset--color--muted); margin: 0 0 1rem; }
.btd-mi-county__badge { display: inline-block; padding: 0.3rem 0.85rem; border-radius: 50rem; font-size: 0.78rem; font-weight: 700; background: color-mix(in srgb, var(--wp--preset--color--dark) 8%, transparent); color: var(--wp--preset--color--dark); }
.btd-mi-county__badge--gold { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }

.btd-mi-cities { background: #fff; border-radius: 1.5rem; padding: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
.btd-mi-cities__title { text-align: center; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.8rem; font-weight: 700; color: var(--wp--preset--color--muted); margin: 0 0 1.25rem; }
.btd-mi-cities__tags { display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: center; }
.btd-mi-city {
  display: inline-block;
  padding: 0.45rem 0.9rem;
  border-radius: 50rem;
  font-size: 0.82rem;
  font-weight: 600;
  background: color-mix(in srgb, var(--wp--preset--color--info) 10%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--info) 20%, transparent);
  color: var(--wp--preset--color--info);
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.btd-mi-city:hover { background: color-mix(in srgb, var(--wp--preset--color--info) 20%, transparent); transform: translateY(-2px); }

@media (prefers-reduced-motion: reduce) {
  .btd-mi-county,
  .btd-mi-city { transition: none; }
  .btd-mi-county:hover,
  .btd-mi-city:hover { transform: none; }
}

/* Featured community mini-cards (county sub-region pages). */
.btd-mi-citycards { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; margin-bottom: 2.5rem; }
.btd-mi-citycard {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.15rem;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 1rem;
  padding: 1.25rem 0.85rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.btd-mi-citycard:hover,
.btd-mi-citycard:focus-visible { transform: translateY(-5px); box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.1); }
.btd-mi-citycard__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; margin-bottom: 0.75rem; }
.btd-mi-citycard__icon .icon { width: 1.2rem; height: 1.2rem; }
.btd-mi-citycard__icon--warning { background: color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent); color: var(--wp--preset--color--warning); }
.btd-mi-citycard__icon--info { background: color-mix(in srgb, var(--wp--preset--color--info) 16%, transparent); color: var(--wp--preset--color--info); }
.btd-mi-citycard__icon--success { background: color-mix(in srgb, var(--wp--preset--color--success) 16%, transparent); color: var(--wp--preset--color--success); }
.btd-mi-citycard__icon--danger { background: color-mix(in srgb, var(--wp--preset--color--danger) 14%, transparent); color: var(--wp--preset--color--danger); }
.btd-mi-citycard__icon--secondary { background: color-mix(in srgb, var(--wp--preset--color--secondary) 14%, transparent); color: var(--wp--preset--color--secondary); }
.btd-mi-citycard strong { font-size: 0.95rem; color: var(--wp--preset--color--dark); }
.btd-mi-citycard span { font-size: 0.78rem; color: var(--wp--preset--color--muted); }

/* Neighboring-region note (a.btd-mi-city links inherit the tag styling). */
.btd-mi-regionnote { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem 1.5rem; border-radius: 1rem; background: var(--wp--preset--color--dark); color: #fff; }
.btd-mi-regionnote__icon { width: 48px; height: 48px; flex: none; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--wp--preset--color--warning); }
.btd-mi-regionnote__icon .icon { width: 1.3rem; height: 1.3rem; color: var(--wp--preset--color--dark); }
.btd-mi-regionnote__body { display: flex; flex-direction: column; }
.btd-mi-regionnote__body strong { margin-bottom: 0.25rem; }
.btd-mi-regionnote__body span { font-size: 0.88rem; color: rgba(255, 255, 255, 0.7); }
a.btd-mi-city { text-decoration: none; }

@media (prefers-reduced-motion: reduce) {
  .btd-mi-citycard { transition: none; }
  .btd-mi-citycard:hover { transform: none; }
}

/* ============================================================
   HERO DESIGN PASS (2026-07): per-family hero moods.
   All heroes share the dark navy base for cohesion; each section
   family gets a distinct radial colour glow so heroes stop looking
   identical. Group heroes set the element/::before background;
   Cover heroes (photo) re-wash the .wp-block-cover__background span.
   CSS-only, no pattern edits. Badges stay gold (brand anchor).
   ============================================================ */

/* Home -- marketing-automation photo under a dark wash (text pops) + gold glow. */
.btd-hero {
  background:
    radial-gradient(1100px 560px at 12% 6%, color-mix(in srgb, var(--wp--preset--color--warning) 22%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(9, 13, 22, 0.82) 0%, rgba(6, 10, 17, 0.90) 100%),
    url("/wp-content/uploads/2025/12/black-tiger-digital-marketing-automation-system.webp") center / cover no-repeat,
    #0a0a0a;
}

/* Engines & Pricing -- green glow over a background photo. */
.btd-pricing-hero {
  background:
    radial-gradient(1100px 560px at 12% 6%, color-mix(in srgb, var(--wp--preset--color--success) 28%, transparent), transparent 60%),
    radial-gradient(820px 460px at 88% 94%, color-mix(in srgb, var(--wp--preset--color--success) 12%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/precise-targeting-perfect-fit-leads.webp") center / cover no-repeat,
    #0a0a0a;
}

/* Core Pages -- baseline navy with a faint gold top glow. */
.btd-how-hero,
.btd-contact-hero,
.btd-faq-hero,
.btd-book-hero {
  background:
    radial-gradient(1000px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 11%, transparent), transparent 62%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}
/* How It Works hero: background photo under a gold-tinted dark wash. */
.btd-how-hero {
  background:
    radial-gradient(1000px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent), transparent 62%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/how-it-works-hero.webp") center / cover no-repeat,
    #0a0a0a;
}
/* Contact hero: background photo under a gold-tinted dark wash. */
.btd-contact-hero {
  background:
    radial-gradient(1000px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent), transparent 62%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/contact-us-hero.webp") center / cover no-repeat,
    #0a0a0a;
}
/* Book a Call hero: same photo treatment as the Contact page. */
.btd-book-hero {
  background:
    radial-gradient(1000px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent), transparent 62%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/contact-us-hero.webp") center / cover no-repeat,
    #0a0a0a;
}
.btd-book-hero::before { display: none; }
/* Help Center group heroes carry a shared analytics-dashboard photo (set in
   the "blue glow" block below, which wins over the base per-hero backgrounds).
   Disable their ::before textures so the photo shows through. */
.btd-faq-hero::before,
.btd-onb-hero::before,
.btd-req-hero::before,
.btd-gbp-hero::before,
.btd-gd-hero::before,
.btd-tw-hero::before { display: none; }

/* Policy pages that reuse the tw-hero (SMS Terms #85, Compliance #87,
   Billing #90) get the marketing-automation photo instead of the analytics
   photo, so they match the other legal/policy heroes. Scoped by page id so
   the Twilio help pages and the SMS Compliance Guide keep the analytics photo. */
body.page-id-85 .btd-tw-hero,
body.page-id-87 .btd-tw-hero,
body.page-id-90 .btd-tw-hero {
  background:
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/black-tiger-digital-marketing-automation-system.webp") center / cover no-repeat,
    #0a0a0a;
}
.btd-fnd-hero::before,
.btd-fit-hero::before {
  background:
    radial-gradient(1000px 520px at 50% 0%, color-mix(in srgb, var(--wp--preset--color--warning) 11%, transparent), transparent 62%),
    linear-gradient(180deg, #0d1b2a, #070c14);
}

/* Help Center group heroes: analytics-dashboard photo under a blue-tinted
   dark wash. (This rule wins over the base per-hero backgrounds above.) */
.btd-faq-hero,
.btd-gd-hero,
.btd-gbp-hero,
.btd-tw-hero,
.btd-onb-hero,
.btd-req-hero {
  background:
    radial-gradient(1100px 560px at 12% 6%, color-mix(in srgb, var(--wp--preset--color--info) 22%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/data-driven-marketing-analytics-dashboard.webp") center / cover no-repeat,
    #0a0a0a;
}

/* Reassurance / prerequisite pills that sit under the hero CTA buttons:
   center them as content-width pills instead of stretching to the left. */
.btd-gbp-reassure,
.btd-tw-hero__note,
.btd-tw-hero__prereq,
.btd-legal-badge {
  display: flex;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  justify-content: center;
}

/* Request Changes jump-nav: center the whole box under the hero intro. */
.btd-req-jump {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  text-align: center;
}

/* Pro-tip notes get breathing room below them before the steps that follow. */
.btd-onb-tip,
.btd-gbp-protip { margin-bottom: 1.5rem; }
/* ...and more space above the pro-tip, off the section intro. */
.btd-gbp-protip { margin-top: var(--wp--preset--spacing--50); }
/* Stripe "Best source" note gets space above it, off the section before. */
.btd-stripe-source { margin-top: 1.5rem; }

/* --- Cover heroes (photo underneath): re-wash the overlay span. --- */

/* Help Center cover hero -- blue wash over photo. */
.btd-help-hero .wp-block-cover__background {
  background:
    radial-gradient(1100px 560px at 15% 8%, color-mix(in srgb, var(--wp--preset--color--info) 40%, transparent), transparent 60%),
    radial-gradient(900px 500px at 85% 92%, color-mix(in srgb, var(--wp--preset--color--info) 18%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.82), rgba(7, 12, 20, 0.92));
  opacity: 1;
}

/* Policies cover heroes -- cool slate wash over photo. */
.btd-legal-hero .wp-block-cover__background {
  background:
    radial-gradient(1100px 560px at 15% 8%, color-mix(in srgb, var(--wp--preset--color--secondary) 55%, transparent), transparent 60%),
    radial-gradient(900px 500px at 85% 92%, color-mix(in srgb, var(--wp--preset--color--info) 20%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(12, 17, 28, 0.82), rgba(7, 12, 20, 0.93));
  opacity: 1;
}

/* Service Areas cover heroes -- warm sunset wash over photo. */
.btd-mi-hero .wp-block-cover__background {
  background:
    radial-gradient(1100px 560px at 15% 8%, color-mix(in srgb, var(--wp--preset--color--warning) 30%, transparent), transparent 58%),
    radial-gradient(950px 520px at 85% 92%, color-mix(in srgb, var(--wp--preset--color--danger) 24%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.78), rgba(7, 12, 20, 0.92));
  opacity: 1;
}

/* Service-area per-page hero moods (differentiate the MI/Detroit/Oakland clones).
   Each echoes the accent its source page used; overrides the base sunset wash. */
.btd-mi-hero--mi .wp-block-cover__background {
  background:
    radial-gradient(1100px 560px at 15% 8%, color-mix(in srgb, var(--wp--preset--color--info) 42%, transparent), transparent 60%),
    radial-gradient(950px 520px at 85% 92%, color-mix(in srgb, var(--wp--preset--color--success) 22%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.92));
  opacity: 1;
}
.btd-mi-hero--detroit .wp-block-cover__background {
  background:
    radial-gradient(1100px 560px at 15% 8%, color-mix(in srgb, var(--wp--preset--color--danger) 40%, transparent), transparent 58%),
    radial-gradient(950px 520px at 85% 92%, color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.92));
  opacity: 1;
}
.btd-mi-hero--oakland .wp-block-cover__background {
  background:
    radial-gradient(1100px 560px at 15% 8%, color-mix(in srgb, var(--wp--preset--color--warning) 34%, transparent), transparent 58%),
    radial-gradient(950px 520px at 85% 92%, color-mix(in srgb, var(--wp--preset--color--secondary) 30%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.92));
  opacity: 1;
}

/* ==========================================================================
   CASE STUDIES PAGE (case-*)
   Structure and hover only. Tile/card COLORS are set per-card in the editor:
   Cover overlay = the image banner color, badge Paragraph background, and the
   "View Case Study" Button color. Change those to recolour a client's tile.
   ========================================================================== */
.btd-case-hero { background:#0b0b0e; }
.btd-case-hero .wp-block-cover__background {
  opacity:1;
  background:
    radial-gradient(1200px 620px at 12% 8%, color-mix(in srgb, var(--wp--preset--color--warning) 28%, transparent), transparent 60%),
    radial-gradient(900px 520px at 88% 92%, color-mix(in srgb, var(--wp--preset--color--info) 16%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10,10,12,0.66) 0%, rgba(6,6,9,0.90) 100%);
}
.btd-case-hero .wp-block-cover__image-background { object-fit:cover; }
.btd-case-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 2.5rem;
}
.btd-case-stats > div {
  border-radius: 1rem;
  padding: 1rem 1.5rem;
  text-align: center;
  min-width: 8rem;
}
.btd-case-stats .num {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--wp--preset--color--warning);
}
.btd-case-stats .lbl {
  display: block;
  font-size: 0.85rem;
  color: var(--wp--preset--color--light);
}
.btd-case-card {
  border-radius: 1.5rem;
  overflow: hidden;
  height: 100%;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.btd-case-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.28);
}
.btd-case-img__icon {
  color: #fff;
  line-height: 0;
}
.btd-case-img__icon .icon {
  width: 2.75rem;
  height: 2.75rem;
}
.btd-pill {
  display: inline-block;
  padding: 0.35rem 1rem;
  border-radius: 50px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
.btd-sol-card {
  height: 100%;
  border-radius: 1rem;
  text-align: center;
}
.btd-sol-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  color: #fff;
}
.btd-sol-circle .icon {
  width: 1.5rem;
  height: 1.5rem;
}
@media (prefers-reduced-motion: reduce) {
  .btd-case-card { transition: none; }
  .btd-case-card:hover { transform: none; }
}

/* ==========================================================================
   CASE STUDY CLIENT PROFILE (cs-*)  --  one accent variable themes the page
   Set the client color on the page wrapper with a theme class:
   btd-cs--pink / --orange / --blue / --purple / --green / --red / --teal /
   --gold, OR a custom hex via inline style="--btd-cs:#xxxxxx". Gold (brand)
   accents stay gold on purpose.
   ========================================================================== */
.btd-cs-theme { --btd-cs: #d67093; }
.btd-cs-theme.btd-cs--pink   { --btd-cs: #d67093; }
.btd-cs-theme.btd-cs--orange { --btd-cs: #ea580c; }
.btd-cs-theme.btd-cs--blue   { --btd-cs: #5b8db8; }
.btd-cs-theme.btd-cs--purple { --btd-cs: #667eea; }
.btd-cs-theme.btd-cs--green  { --btd-cs: #198754; }
.btd-cs-theme.btd-cs--red    { --btd-cs: #dc3545; }
.btd-cs-theme.btd-cs--teal   { --btd-cs: #357e73; }
.btd-cs-theme.btd-cs--gold   { --btd-cs: #b58b3a; }

.btd-cs-accent { color: var(--btd-cs); }
.btd-cs-kicker { color: var(--btd-cs); }
.btd-cs-pill { display:inline-block; padding:.5rem 1.25rem; border-radius:50px; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; background:var(--btd-cs); color:#fff; }

.btd-cs-dark  { background: linear-gradient(180deg,#0a0a0a 0%,#1a1d29 100%); }
.btd-cs-dark2 { background: linear-gradient(135deg,#1a1d29 0%,#0f1419 100%); }

/* hero: Cover block. Drop a background image in the editor; this smokey + gold
   overlay is painted transparent over it so the image shows through. Empty = dark. */
.btd-cs-hero { background:#0b0b0e; }
.btd-cs-hero .wp-block-cover__background {
  opacity:1;
  background:
    radial-gradient(1200px 620px at 12% 8%, color-mix(in srgb, var(--wp--preset--color--warning) 30%, transparent), transparent 60%),
    radial-gradient(900px 520px at 88% 92%, color-mix(in srgb, var(--btd-cs) 20%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10,10,12,0.66) 0%, rgba(6,6,9,0.90) 100%);
}
.btd-cs-hero .wp-block-cover__image-background { object-fit:cover; }
.btd-cs-avatar { width:48px; height:48px; border-radius:50%; background:var(--btd-cs); display:flex; align-items:center; justify-content:center; color:#fff; flex-shrink:0; }
.btd-cs-owner { display:flex; align-items:center; gap:.9rem; }
.btd-cs-owner .icon { width:1.4rem; height:1.4rem; }
.btd-cs-tags { display:flex; flex-wrap:wrap; gap:.5rem; list-style:none; margin:0; padding:0; }
.btd-cs-tags li { display:inline-flex; align-items:center; gap:.4rem; background:rgba(0,0,0,.4); border:1px solid rgba(255,255,255,.12); border-radius:.5rem; padding:.45rem .85rem; font-size:.85rem; }
.btd-cs-tags .icon { color:var(--btd-cs); width:1em; height:1em; }

/* results strip */
.btd-cs-strip { background:var(--btd-cs); }
.btd-cs-strip__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; text-align:center; color:#fff; }
.btd-cs-strip__num { font-size:1.6rem; font-weight:800; line-height:1.1; }
.btd-cs-strip__lbl { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; opacity:.85; }
@media (max-width:575px){ .btd-cs-strip__grid{ grid-template-columns:repeat(2,1fr);} }

/* panels + lists on dark */
.btd-cs-panel { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:1.25rem; padding:1.5rem; }
.btd-cs-list { list-style:none; margin:0; padding:0; }
.btd-cs-list li { display:flex; align-items:flex-start; gap:.75rem; margin-bottom:.75rem; }
.btd-cs-list li:last-child { margin-bottom:0; }
.btd-cs-list .icon { flex-shrink:0; width:1.1em; height:1.1em; margin-top:.15rem; }
.btd-cs-list--x .icon { color:var(--wp--preset--color--warning); }
.btd-cs-list--check .icon { color:var(--btd-cs); }
.btd-cs-alert { background:rgba(124,58,82,.18); border:1px solid rgba(124,58,82,.32); border-radius:1rem; padding:1rem 1.25rem; display:flex; align-items:flex-start; gap:.6rem; }
.btd-cs-alert .icon { color:var(--wp--preset--color--danger); flex-shrink:0; width:1.1em; height:1.1em; margin-top:.15rem; }

/* tint mini-cards */
.btd-cs-mini { display:grid; grid-template-columns:repeat(2,1fr); gap:.85rem; }
@media (max-width:575px){ .btd-cs-mini{ grid-template-columns:1fr; } }
.btd-cs-mini > div { background: color-mix(in srgb, var(--btd-cs) 8%, transparent); border-radius:1rem; padding:1rem; transition:transform .2s ease; }
.btd-cs-mini > div:hover { transform:translateY(-4px); }
.btd-cs-mini .icon { color:var(--btd-cs); width:1.1em; height:1.1em; vertical-align:-.15em; margin-right:.4rem; }
.btd-cs-mini strong { display:block; margin-bottom:.25rem; }
.btd-cs-mini span { color:var(--wp--preset--color--muted); font-size:.85rem; }

/* feature grid + circles */
.btd-cs-features { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
@media (max-width:767px){ .btd-cs-features{ grid-template-columns:1fr; } }
.btd-cs-feature { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:1.25rem; padding:1.5rem; text-align:center; transition:all .3s ease; }
.btd-cs-feature:hover { background:rgba(255,255,255,.06); border-color:color-mix(in srgb, var(--btd-cs) 40%, transparent); }
.btd-cs-feature h3 { margin:0 0 .4rem; }
.btd-cs-feature p { margin:0; color:rgba(255,255,255,.6); font-size:.9rem; }
.btd-cs-circle { width:56px; height:56px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; margin-bottom:1rem; background:linear-gradient(135deg, var(--btd-cs), color-mix(in srgb, var(--btd-cs) 75%, #000)); }
.btd-cs-circle .icon { width:1.4rem; height:1.4rem; }

/* result callout */
.btd-cs-result { background: color-mix(in srgb, var(--btd-cs) 15%, transparent); border:1px solid color-mix(in srgb, var(--btd-cs) 28%, transparent); border-radius:1rem; padding:1.5rem; }
.btd-cs-result .icon { color:var(--btd-cs); width:1.4rem; height:1.4rem; flex-shrink:0; }
.btd-cs-chip { display:inline-flex; align-items:center; gap:.5rem; background: color-mix(in srgb, var(--btd-cs) 25%, transparent); border-radius:50px; padding:.5rem 1rem; color:#fff; font-weight:700; }
.btd-cs-chip .icon { color:var(--btd-cs); }

/* big two-up cards */
.btd-cs-bigcard { border-radius:1.5rem; padding:clamp(1.5rem,3vw,2.5rem); height:100%; background: linear-gradient(135deg, color-mix(in srgb, var(--btd-cs) 8%, transparent), color-mix(in srgb, var(--btd-cs) 3%, transparent)); border:1px solid color-mix(in srgb, var(--btd-cs) 15%, transparent); }
.btd-cs-bigcard--gold { background: linear-gradient(135deg, color-mix(in srgb, var(--wp--preset--color--warning) 10%, transparent), color-mix(in srgb, var(--wp--preset--color--warning) 3%, transparent)); border-color: color-mix(in srgb, var(--wp--preset--color--warning) 18%, transparent); }
.btd-cs-bighead { display:flex; align-items:center; gap:.9rem; margin-bottom:1.25rem; }
.btd-cs-bigicon { width:64px; height:64px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--btd-cs); color:#fff; flex-shrink:0; }
.btd-cs-bigcard--gold .btd-cs-bigicon { background:var(--wp--preset--color--warning); color:#000; }
.btd-cs-bigicon .icon { width:1.6rem; height:1.6rem; }
.btd-cs-bigcard .btd-cs-kicker { color:var(--btd-cs); font-size:.75rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.btd-cs-bigcard--gold .btd-cs-kicker { color:var(--wp--preset--color--warning); }
.btd-cs-bigcard .btd-cs-list .icon { color:var(--btd-cs); }
.btd-cs-bigcard--gold .btd-cs-list .icon { color:var(--wp--preset--color--warning); }
.btd-cs-bigcard h3 { margin:0; }

/* image placeholders (replace with real screenshots) */
.btd-cs-imgph { position:relative; border-radius:1rem; overflow:hidden; background: color-mix(in srgb, var(--btd-cs) 6%, #0f0f14); border:2px dashed color-mix(in srgb, var(--btd-cs) 25%, rgba(255,255,255,.12)); display:flex; align-items:center; justify-content:center; text-align:center; color:rgba(255,255,255,.55); min-height:220px; padding:1rem; }
.btd-cs-imgph--light { background: color-mix(in srgb, var(--btd-cs) 5%, #f2f0ee); border-color: color-mix(in srgb, var(--btd-cs) 22%, rgba(0,0,0,.12)); color:rgba(0,0,0,.5); }
.btd-cs-imgph .icon { width:2.5rem; height:2.5rem; opacity:.55; }
.btd-cs-imgph__label { display:block; font-weight:700; font-size:.9rem; margin-top:.5rem; }
.btd-cs-imgph__sub { display:block; font-size:.8rem; opacity:.65; }
.btd-cs-badge { position:absolute; top:1rem; left:1rem; padding:.4rem 1rem; border-radius:50px; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#fff; z-index:2; }
.btd-cs-badge--before { background: color-mix(in srgb, var(--wp--preset--color--danger) 90%, #000); }
.btd-cs-badge--after { background: color-mix(in srgb, var(--btd-cs) 92%, #000); }
.btd-cs-grid { display:grid; grid-template-columns:2fr 1fr; gap:1rem; }
.btd-cs-grid__row3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1rem; }
@media (max-width:767px){ .btd-cs-grid, .btd-cs-grid__row3 { grid-template-columns:1fr; } }

@media (prefers-reduced-motion: reduce) {
  .btd-cs-mini > div:hover, .btd-cs-feature:hover { transform:none; }
}

/* ==========================================================================
   OPTIONAL HERO BACKGROUND IMAGE  (works on ANY hero)
   Put a photo behind a hero with a smokey + gold transparent overlay:
     COVER heroes (service areas, case studies, client profiles): just use the
       Cover block's own image button -- they already overlay. No class needed.
     GROUP heroes (home, pricing, foundation, fan, growth, about, how, contact,
       faq, book, help/onboarding/twilio/godaddy/gbp, etc.):
         1) select the hero, Advanced > Additional CSS class(es): add  btd-hero-photo
         2) Styles > Background > add the image
   The overlay is transparent so the image shows through; no image = dark hero.
   The hero image is the LCP -- also set it in BT Toolkit Preload Manager.
   ========================================================================== */
.btd-hero-photo:not(.wp-block-cover) {
  position: relative;
  background-color: #0b0b0e;
  background-image: none; /* drop the family gradient; the editor's bg image (inline) still wins */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.btd-hero-photo:not(.wp-block-cover)::before { background: transparent !important; }
.btd-hero-photo:not(.wp-block-cover)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(1200px 620px at 12% 8%, color-mix(in srgb, var(--wp--preset--color--warning) 32%, transparent), transparent 60%),
    radial-gradient(900px 520px at 88% 92%, color-mix(in srgb, var(--wp--preset--color--warning) 14%, transparent), transparent 55%),
    linear-gradient(180deg, rgba(10, 10, 12, 0.62) 0%, rgba(6, 6, 9, 0.90) 100%);
}
.btd-hero-photo:not(.wp-block-cover) > * { position: relative; z-index: 1; }

/* ==========================================================================
   FIX: Ollie parent core-list.css strips the FIRST list item's top padding and
   the LAST item's bottom padding (intended for prose lists, specificity 0,3,1):
     .entry-content :not(.wp-block-group) > li:first-child { padding-top: 0 }
     .entry-content :not(.wp-block-group) li:last-child   { padding-bottom: 0 }
   That broke the first/last tile of every custom li-based grid we build. Restore
   each grid's own vertical padding at matching specificity (child loads last).
   Selectors qualified with .entry-content + the list class + li to reach 0,3,1.
   ========================================================================== */
.entry-content .btd-includes-grid > li:first-child,
.entry-content .btd-includes-grid > li:last-child,
.entry-content .btd-infra > li:first-child,
.entry-content .btd-infra > li:last-child,
.entry-content .btd-goodfit-grid > li:first-child,
.entry-content .btd-goodfit-grid > li:last-child,
.entry-content .btd-flags > li:first-child,
.entry-content .btd-flags > li:last-child,
.entry-content .btd-principles > li:first-child,
.entry-content .btd-principles > li:last-child { padding-top: 1.5rem; padding-bottom: 1.5rem; }

.entry-content .btd-about-grid > li:first-child,
.entry-content .btd-about-grid > li:last-child { padding-top: 1.75rem; padding-bottom: 1.75rem; }

.entry-content .btd-onb-fast > li:first-child,
.entry-content .btd-onb-fast > li:last-child,
.entry-content .btd-onb-avoid__list > li:first-child,
.entry-content .btd-onb-avoid__list > li:last-child,
.entry-content .btd-onb-checklist > li:first-child,
.entry-content .btd-onb-checklist > li:last-child,
.entry-content .btd-fnd-proof > li:first-child,
.entry-content .btd-fnd-proof > li:last-child,
.entry-content .btd-fnd-quickfacts > li:first-child,
.entry-content .btd-fnd-quickfacts > li:last-child,
.entry-content .btd-about-do > li:first-child,
.entry-content .btd-about-do > li:last-child,
.entry-content .btd-doc-cards > li:first-child,
.entry-content .btd-doc-cards > li:last-child,
.entry-content .btd-doc-steps > li:first-child,
.entry-content .btd-doc-steps > li:last-child,
.entry-content .btd-quote-snap > li:first-child,
.entry-content .btd-quote-snap > li:last-child { padding-top: 1rem; padding-bottom: 1rem; }

.entry-content .btd-fnd-stats > li:first-child,
.entry-content .btd-fnd-stats > li:last-child,
.entry-content .btd-smsguide-reach > li:first-child,
.entry-content .btd-smsguide-reach > li:last-child,
.entry-content .btd-req-example__grid > li:first-child,
.entry-content .btd-req-example__grid > li:last-child { padding-top: 0.85rem; padding-bottom: 0.85rem; }

.entry-content .btd-expect-list > li:first-child,
.entry-content .btd-expect-list > li:last-child { padding-top: 0.75rem; padding-bottom: 0.75rem; }

.entry-content .btd-onb-chips > li:first-child,
.entry-content .btd-onb-chips > li:last-child,
.entry-content .btd-how-chips > li:first-child,
.entry-content .btd-how-chips > li:last-child,
.entry-content .btd-contact-chips > li:first-child,
.entry-content .btd-contact-chips > li:last-child,
.entry-content .btd-book-facts > li:first-child,
.entry-content .btd-book-facts > li:last-child,
.entry-content .btd-mi-chips > li:first-child,
.entry-content .btd-mi-chips > li:last-child,
.entry-content .btd-tw-badges > li:first-child,
.entry-content .btd-tw-badges > li:last-child,
.entry-content .btd-about-chips > li:first-child,
.entry-content .btd-about-chips > li:last-child,
.entry-content .btd-fit-chips > li:first-child,
.entry-content .btd-fit-chips > li:last-child { padding-top: 0.5rem; padding-bottom: 0.5rem; }

.entry-content .btd-cs-tags > li:first-child,
.entry-content .btd-cs-tags > li:last-child { padding-top: 0.45rem; padding-bottom: 0.45rem; }

.entry-content .btd-fnd-tags > li:first-child,
.entry-content .btd-fnd-tags > li:last-child,
.entry-content .btd-stripe-notneed__list > li:first-child,
.entry-content .btd-stripe-notneed__list > li:last-child,
.entry-content .btd-smsguide-banner__badges > li:first-child,
.entry-content .btd-smsguide-banner__badges > li:last-child { padding-top: 0.4rem; padding-bottom: 0.4rem; }

.entry-content .btd-addon-list > li:first-child { padding-top: 0.5rem; }

/* Help Center card grids where the <li> itself is the padded card. */
.entry-content .btd-onb-steps > li:first-child { padding-top: 1.5rem; }
.entry-content .btd-onb-steps > li:last-child { padding-bottom: 1.5rem; }
.entry-content .btd-req-priority > li:first-child { padding-top: 1.25rem; }
.entry-content .btd-req-priority > li:last-child { padding-bottom: 1.25rem; }

/* Monthly Care Plans: each tier card is an <li>. */
.entry-content .btd-tiers > li:first-child { padding-top: 1.5rem; }
.entry-content .btd-tiers > li:last-child { padding-bottom: 1.5rem; }

/* Contact "Help Us Help You Faster" prep cards are <li> cards. */
.entry-content .btd-guide-grid > li:first-child { padding-top: 1.5rem; }
.entry-content .btd-guide-grid > li:last-child { padding-bottom: 1.5rem; }
.btd-guide-grid { margin-top: 1rem; }

/* Book a Call "Bring These 5 Things": each numbered row is an <li>. */
.entry-content .btd-bring > li:first-child { padding-top: 1rem; }
.entry-content .btd-bring > li:last-child { padding-bottom: 1rem; }

/* "Know What You Are Getting Into": more separation between the two lists. */
#expectations .wp-block-columns { gap: var(--wp--preset--spacing--50); }

/* Location "Areas and Landmarks" tag cloud: real gaps between badges and
   rows, and restore first/last badge padding (Ollie core-list reset). */
.btd-mi-cities { display: flex; flex-wrap: wrap; gap: 0.6rem 0.55rem; }
.entry-content .btd-mi-cities > li:first-child { padding-top: 0.45rem; }
.entry-content .btd-mi-cities > li:last-child { padding-bottom: 0.45rem; }

/* Legal/policy note callouts ("The Simple Rule:", "Full Rights:", etc.) get
   breathing room above them, off the text that precedes them. */
.btd-terms-key,
.btd-terms-dark,
.btd-terms-danger,
.btd-terms-success,
.btd-ip-callout,
.btd-pay-callout,
.btd-priv-note { margin-top: 1.25rem; }
/* Inline contact/help boxes ("Questions About Transition?", etc.). btd-terms-help
   already carries a top margin; match it on the others. */
.btd-ck-qbox,
.btd-smsterms-help,
.btd-a11y-resp { margin-top: 1.5rem; }
/* Payment "Auto-Pay / No Contracts" tile grid: space above, off the steps. */
.btd-pay-cards { margin-top: 1.5rem; }
/* SLA care-tier grid: space above, off the intro callout. */
.btd-sla-tiers { margin-top: 1.5rem; }
/* SLA "How to Request Credits" ordered list: indent so the numbers line up
   under the heading instead of hanging into the left margin. */
body.page-id-81 ol.wp-block-list { padding-left: 1.5rem; margin-left: 0; }

/* Engine comparison table (Pricing page). */
.btd-compare-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.btd-compare { width: 100%; min-width: 720px; border-collapse: collapse; text-align: center; }
.btd-compare th, .btd-compare td { padding: 0.85rem 1rem; border-bottom: 1px solid #e9ecef; vertical-align: middle; }
.btd-compare thead th { vertical-align: bottom; border-bottom: 2px solid #e9ecef; }
.btd-compare tbody th[scope="row"] { text-align: left; font-weight: 600; color: var(--wp--preset--color--body); font-size: 0.9rem; }
.btd-compare__rowhead { text-align: left; }
.btd-compare__label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--wp--preset--color--muted); }
.btd-compare__name { display: block; font-weight: 800; font-size: 1.05rem; }
.btd-compare__price { display: block; font-weight: 800; font-size: 1.35rem; margin-top: 0.2rem; }
.btd-compare__care { display: block; font-size: 0.78rem; color: var(--wp--preset--color--muted); }
.btd-compare__flag { display: inline-block; margin-bottom: 0.4rem; padding: 0.15rem 0.6rem; border-radius: 50rem; font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; background: color-mix(in srgb, var(--wp--preset--color--success) 16%, transparent); color: var(--wp--preset--color--success); }
.btd-compare__eng--fan { border-top: 3px solid var(--wp--preset--color--info); }
.btd-compare__eng--foundation { border-top: 3px solid var(--wp--preset--color--success); background: color-mix(in srgb, var(--wp--preset--color--success) 6%, transparent); }
.btd-compare__eng--growth { border-top: 3px solid var(--wp--preset--color--danger); }
.btd-compare tbody td:nth-child(3) { background: color-mix(in srgb, var(--wp--preset--color--success) 6%, transparent); }
.btd-compare__yes { width: 1.3rem; height: 1.3rem; color: var(--wp--preset--color--success); vertical-align: middle; }
.btd-compare__no { color: var(--wp--preset--color--muted); font-size: 1.1rem; }
.btd-compare__cta td { border-bottom: 0; padding-top: 1.25rem; }
.btd-compare__btn { display: inline-block; padding: 0.6rem 1.15rem; border-radius: 50rem; font-weight: 700; font-size: 0.85rem; text-decoration: none; color: #fff; }
.btd-compare__btn--fan { background: #3f7099; } /* darker info blue: white text 5.3:1 (AA) */
.btd-compare__btn--foundation { background: var(--wp--preset--color--success); }
.btd-compare__btn--growth { background: var(--wp--preset--color--danger); }
.btd-compare__btn:hover { filter: brightness(1.08); }

/* ============ ACCESSIBILITY: WCAG AA contrast fixes ============ */
/* Brand gold (warning), info-blue, and muted fall below 4.5:1 on white and
   light-gray section backgrounds. These scoped overrides swap in darker,
   verified-accessible variants ONLY on light backgrounds; the vibrant brand
   tokens are kept on the dark hero sections where they already pass. */

/* Gold kicker/eyebrow text on light backgrounds (6.2:1 white / 4.6:1 light). */
.has-white-background-color .btd-kicker,
.has-light-background-color .btd-kicker,
.has-base-background-color .btd-kicker { color: #7a5c18 !important; } /* !important beats WP's has-warning-color preset */

/* Info-blue text on light backgrounds (6.0:1). */
.has-white-background-color .has-info-color,
.has-light-background-color .has-info-color { color: #2f6791 !important; }

/* Restore the vibrant tokens when a kicker/info sits inside a DARK panel that is
   nested in a light section (the descendant rules above would otherwise darken it
   onto a dark background). Same specificity, declared later, so it wins when both a
   light-section and a dark-panel ancestor are present. Gold/info on dark already pass. */
.has-dark-background-color .btd-kicker,
.has-primary-background-color .btd-kicker,
.has-secondary-background-color .btd-kicker,
.btd-panel .btd-kicker { color: var(--wp--preset--color--warning) !important; }
.has-dark-background-color .has-info-color,
.has-primary-background-color .has-info-color,
.has-secondary-background-color .has-info-color,
.btd-panel .has-info-color { color: var(--wp--preset--color--info) !important; }

/* Muted text on the light-gray section background (5.0:1). */
.has-light-background-color .has-muted-color { color: #565c61; }

/* Solid info fills that carry white text: darker blue (white 5.3:1). */
.btd-mi-engine__head--info,
.btd-mi-engine__btn--info,
.btd-ck-type--info .btd-ck-type__badge,
.btd-ck-type--info .btd-ck-type__icon,
.btd-pill.has-info-background-color { background-color: #3f7099 !important; }
.btd-mi-engine__btn--info:hover { background-color: #345f7f; }

/* Gold pill labels: dark text on gold instead of white (6.7:1). */
.btd-pill.has-warning-background-color { color: var(--wp--preset--color--black) !important; }

/* "Best for" callout labels: --primary maps to info (fails 3.5:1) and --success
   is borderline on its tint; use darker accessible variants (6.0:1 / 6.3:1). */
.btd-bestfor--primary .btd-bestfor__label { color: #2f6791; }
.btd-bestfor--success .btd-bestfor__label { color: #2c6a5f; }

/* SMS Terms contact card: format the [bt_hours] table (day left, time right)
   and put the "Hours" label on its own line above it. */
.btd-smsterms-help__hourslabel { display: flex; margin: 0 0 0.5rem; }
.btd-smsterms-help .bt-hours--table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.btd-smsterms-help .bt-hours--table th,
.btd-smsterms-help .bt-hours--table td {
  padding: 0.3rem 0;
  white-space: nowrap;
  border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--body) 8%, transparent);
}
.btd-smsterms-help .bt-hours--table tr:first-child th,
.btd-smsterms-help .bt-hours--table tr:first-child td { border-top: 0; }
.btd-smsterms-help .bt-hours--table th {
  text-align: left;
  font-weight: 600;
  color: var(--wp--preset--color--body);
}
.btd-smsterms-help .bt-hours--table td {
  text-align: right;
  color: var(--wp--preset--color--muted);
}

/* Twilio campaign "What We Need": more space above the "How Customers Opted
   In" consent card, off the Sample Messages block above it. */
.btd-tw-consent-card { margin-top: var(--wp--preset--spacing--50); }

/* Fan / Foundation / Growth heroes now carry a background photo (set on the
   element background, with a dark wash + engine glow over it). Drop the
   dot-texture ::before (and Foundation's opaque design-pass ::before wash) so
   the photo shows through. */
.btd-fan-hero::before,
.btd-fnd-hero::before,
.btd-growth-hero::before,
.btd-fit-hero::before { display: none; }

/* Who We Don't Work With hero: background photo under a gold-tinted dark wash. */
.btd-fit-hero {
  background:
    radial-gradient(1000px 520px at 15% 12%, color-mix(in srgb, var(--wp--preset--color--warning) 20%, transparent), transparent 60%),
    linear-gradient(180deg, rgba(10, 14, 23, 0.80), rgba(7, 12, 20, 0.90)),
    url("/wp-content/uploads/2025/12/who-we-dont-work-with-hero.webp") center / cover no-repeat,
    #0a0a0a;
}

/* How It Works: "What We Need" cards. */
.btd-howreq-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 576px) { .btd-howreq-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .btd-howreq-grid { grid-template-columns: repeat(4, 1fr); } }
.btd-howreq-card {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 1rem;
  padding: 1.75rem 1.5rem;
  text-align: center;
  height: 100%;
}
.btd-howreq-card .btd-icon-circle { display: flex; margin: 0 auto 1rem; }
.btd-howreq-card .btd-icon-circle .icon { color: var(--wp--preset--color--warning); }
.btd-howreq-card h3 { margin: 0 0 0.4rem; font-size: 1.05rem; font-weight: 700; color: var(--wp--preset--color--body); }
.btd-howreq-card p { margin: 0; color: var(--wp--preset--color--muted); font-size: 0.9rem; line-height: 1.5; }


/* ============ GRAVITY FORMS: on-brand (BTD lead forms) ============ */
/* !important overrides GF orbital-theme defaults we cannot otherwise reach. */
.gform_wrapper { --gf-color-primary: var(--wp--preset--color--warning); }
/* Step progress indicator (the 1-2-3-4 sections) */
.gform_wrapper .gf_step_number { background: color-mix(in srgb, var(--wp--preset--color--body) 9%, transparent); color: var(--wp--preset--color--muted); border: 0; font-weight: 700; }
.gform_wrapper .gf_step_active .gf_step_number { background: var(--wp--preset--color--warning); color: var(--wp--preset--color--dark); }
.gform_wrapper .gf_step_completed .gf_step_number { background: var(--wp--preset--color--success); color: #fff; }
.gform_wrapper .gf_step_label { color: var(--wp--preset--color--muted); font-weight: 600; }
.gform_wrapper .gf_step_active .gf_step_label { color: var(--wp--preset--color--body); }
.gform_wrapper .gf_step_completed .gf_step_label { color: var(--wp--preset--color--body); }
/* Buttons: match the site (gold pill, dark text; outline for Back) */
.gform_wrapper .gform_button, .gform_wrapper .gform_next_button, .gform_wrapper .gform_previous_button { border-radius: 50rem !important; font-weight: 700 !important; padding: 0.85rem 2rem !important; border: 0 !important; font-size: 1rem !important; cursor: pointer; transition: filter .15s ease; }
.gform_wrapper .gform_button, .gform_wrapper .gform_next_button { background: var(--wp--preset--color--warning) !important; color: var(--wp--preset--color--dark) !important; }
.gform_wrapper .gform_button:hover, .gform_wrapper .gform_next_button:hover { filter: brightness(1.06); }
.gform_wrapper .gform_previous_button { background: transparent !important; color: var(--wp--preset--color--body) !important; border: 2px solid color-mix(in srgb, var(--wp--preset--color--body) 22%, transparent) !important; }
