:root {
  /* Supplied Ben Davis Driving School palette */
  --bdds-charcoal: #2b2b2b;
  --bdds-white: #ffffff;
  --bdds-offwhite: #f8f8f9;
  --bdds-slate: #a6b0b7;
  --bdds-ink: #143a50;
  --bdds-blue: #0077c7;
  --bdds-blue-deep: #005793;
  --bdds-yellow: #ffd100;
  --bdds-orange: #ff6e00;
  --bdds-green: #54ea6c;

  --bdds-accent: #005793;
  --bdds-border: rgba(20, 58, 80, .14);
  --bdds-surface: #ffffff;
  --bdds-surface-soft: #f8f8f9;
  --bdds-muted: rgba(20, 58, 80, .72);
  --bdds-radius: 20px;
  --bdds-shadow: 0 14px 38px rgba(20, 58, 80, .09);
}

/* Typography deliberately inherits the site's configured Adobe Fonts families. */
.bdds-hero,
.bdds-pricing-page,
.bdds-offer-grid,
.bdds-team-grid,
.bdds-instructor-profile,
.bdds-site-footer {
  font-family: inherit;
}

.bdds-fa {
  width: 1.05em;
  text-align: center;
  flex: 0 0 auto;
}

.bdds-offer-grid,
.bdds-team-grid {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin: 1.5rem 0;
}
.bdds-columns-1 { grid-template-columns: 1fr; }
.bdds-columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bdds-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bdds-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.bdds-offer-card,
.bdds-person-card {
  overflow: hidden;
  border: 1px solid var(--bdds-border);
  border-radius: var(--bdds-radius);
  background: var(--bdds-surface);
  box-shadow: var(--bdds-shadow);
}
.bdds-offer-body,
.bdds-person-body { padding: clamp(1rem, 2vw, 1.5rem); }
.bdds-offer-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.bdds-offer-card h3,
.bdds-person-card h3 { margin-top: 0; margin-bottom: .35rem; color: var(--bdds-ink); }
.bdds-offer-price {
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1;
  font-weight: 800;
  margin: .75rem 0 .35rem;
  color: var(--bdds-blue-deep);
}
.bdds-offer-meta,
.bdds-person-role,
.bdds-person-details { color: var(--bdds-muted); font-size: .92em; }
.bdds-offer-meta { display: flex; gap: .45rem; align-items: center; }
.bdds-offer-meta .bdds-fa { color: var(--bdds-blue); }
.bdds-person-role { font-weight: 800; margin-bottom: .85rem; color: var(--bdds-blue-deep); }
.bdds-person-details { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem 1rem; }
.bdds-person-details span { display: inline-flex; align-items: center; gap: .35rem; }
.bdds-person-details .bdds-fa { color: var(--bdds-blue); }
.bdds-offer-copy { margin-top: 1rem; }

.bdds-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .48em;
  margin-top: .75rem;
  padding: .76em 1.12em;
  border-radius: 999px;
  border: 2px solid transparent;
  text-decoration: none;
  font-weight: 800;
  background: var(--bdds-accent);
  color: #fff;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.bdds-button:hover,
.bdds-button:focus {
  color: #fff;
  filter: brightness(1.07);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 87, 147, .22);
}
.bdds-button:focus-visible,
.bdds-text-link:focus-visible,
.bdds-site-footer a:focus-visible {
  outline: 3px solid var(--bdds-yellow);
  outline-offset: 3px;
}
.bdds-text-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin: .75rem 0 0 .75rem;
  font-weight: 800;
  color: var(--bdds-blue-deep);
  text-underline-offset: .16em;
}
.bdds-text-link:hover,
.bdds-text-link:focus { color: var(--bdds-blue); }
.bdds-admin-warning,
.bdds-price-missing { margin-top: .75rem; font-size: .85em; color: #8a2e18; }
.bdds-booking-embed { margin: 1.5rem 0; }

/* Hero */
.bdds-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: center;
  padding: clamp(2rem, 6vw, 5rem) 0;
  max-width: 1180px;
}
.bdds-hero:not(.bdds-hero-has-art) { grid-template-columns: minmax(0, 900px); }
.bdds-hero-brandmark {
  display: inline-flex;
  align-items: center;
  padding: .45rem .65rem;
  margin-bottom: 1.1rem;
  background: var(--bdds-charcoal);
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
.bdds-hero-brandmark img { width: clamp(180px, 28vw, 290px); height: auto; display: block; }
.bdds-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-size: .82rem;
  font-weight: 850;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--bdds-blue-deep);
}
.bdds-hero-kicker .bdds-fa { color: var(--bdds-green); }
.bdds-hero h1 {
  font-size: clamp(2.5rem, 6.8vw, 5.4rem);
  line-height: .98;
  margin: .3em 0 .25em;
  max-width: 12ch;
  color: var(--bdds-ink);
}
.bdds-hero p { font-size: clamp(1.05rem, 2vw, 1.35rem); max-width: 58ch; color: var(--bdds-muted); }
.bdds-hero-actions { display: flex; gap: .25rem .9rem; align-items: center; flex-wrap: wrap; margin-top: 1rem; }
.bdds-hero-art {
  position: relative;
  min-height: clamp(280px, 38vw, 480px);
  display: grid;
  place-items: center;
}
.bdds-hero-mark { width: min(84%, 390px); opacity: .12; transform: rotate(-7deg); }
.bdds-hero-car {
  position: absolute;
  width: min(108%, 520px);
  bottom: 12%;
  right: -4%;
  filter: drop-shadow(0 22px 20px rgba(20, 58, 80, .18));
}

/* Pricing */
.bdds-pricing-section {
  --bdds-section-accent: var(--bdds-green);
  margin: clamp(2rem, 5vw, 4.5rem) 0;
}
.bdds-pricing-section > h2 {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .25rem;
  color: var(--bdds-ink);
}
.bdds-pricing-section > h2::before {
  content: "";
  width: .72rem;
  height: 1.7rem;
  border-radius: 999px;
  background: var(--bdds-section-accent);
  flex: 0 0 auto;
}
.bdds-pricing-packages { --bdds-section-accent: var(--bdds-yellow); }
.bdds-pricing-mock-tests { --bdds-section-accent: var(--bdds-orange); }
.bdds-pricing-test-support { --bdds-section-accent: var(--bdds-blue); }
.bdds-pricing-courses { --bdds-section-accent: var(--bdds-blue-deep); }
.bdds-pricing-other { --bdds-section-accent: var(--bdds-slate); }

/* Team cards: one visual language for photos from different sources. */
.bdds-person-card { text-align: center; padding-top: clamp(1.1rem, 3vw, 2rem); }
.bdds-person-image {
  width: min(78%, 330px);
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  background: var(--bdds-charcoal);
  box-shadow: 0 0 0 5px var(--bdds-green), 0 14px 32px rgba(20, 58, 80, .15);
}
.bdds-person-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.bdds-person-image-built-in { box-shadow: none; background: transparent; }
.bdds-person-image-built-in img { object-fit: contain; }
.bdds-person-image-placeholder { display: grid; place-items: center; padding: 16%; background: var(--bdds-charcoal); }
.bdds-person-image-placeholder img { object-fit: contain; }
.bdds-person-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .35rem .5rem; }

.bdds-instructor-profile {
  margin-top: 2rem;
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid var(--bdds-border);
  border-radius: var(--bdds-radius);
  background: var(--bdds-surface);
  box-shadow: var(--bdds-shadow);
}
.bdds-instructor-profile > .bdds-person-image { width: min(280px, 70vw); margin: 0 0 1.5rem; }
.bdds-profile-facts { display: grid; gap: .75rem; margin: 1rem 0 1.5rem; }
.bdds-profile-facts > div { display: grid; grid-template-columns: minmax(100px, .35fr) 1fr; gap: 1rem; padding-bottom: .65rem; border-bottom: 1px solid var(--bdds-border); }
.bdds-profile-facts dt { font-weight: 800; color: var(--bdds-ink); }
.bdds-profile-facts dd { margin: 0; }

/* Embedded brand assets */
.bdds-brand-asset { max-width: 100%; height: auto; }
.bdds-brand-logo { background: var(--bdds-charcoal); padding: .5rem; border-radius: 12px; }

/* Site Kit footer */
.bdds-site-footer {
  margin-top: clamp(3rem, 8vw, 7rem);
  padding: clamp(2.2rem, 5vw, 4.5rem) max(1.25rem, calc((100vw - 1180px) / 2));
  background: var(--bdds-charcoal);
  color: rgba(255,255,255,.88);
  border-top: 7px solid var(--bdds-green);
}
.bdds-site-footer a { color: #fff; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.bdds-site-footer a:hover,
.bdds-site-footer a:focus { color: var(--bdds-green); }
.bdds-footer-inner {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) minmax(180px, .7fr) minmax(200px, .8fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: start;
}
.bdds-footer-logo { display: inline-block; text-decoration: none; }
.bdds-footer-logo img { display: block; width: min(330px, 76vw); height: auto; }
.bdds-footer-brand p { max-width: 52ch; margin: 1rem 0 0; color: rgba(255,255,255,.72); }
.bdds-footer-nav,
.bdds-footer-contact { display: flex; flex-direction: column; gap: .62rem; }
.bdds-footer-nav a { font-weight: 800; text-decoration: none; }
.bdds-footer-contact span,
.bdds-footer-contact a { display: inline-flex; align-items: center; gap: .55rem; }
.bdds-footer-contact .bdds-fa { color: var(--bdds-green); }
.bdds-footer-contact span { color: rgba(255,255,255,.68); }
.bdds-footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem 2rem;
  flex-wrap: wrap;
  margin-top: clamp(2rem, 4vw, 3.5rem);
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255,255,255,.14);
  font-size: .88rem;
  color: rgba(255,255,255,.62);
}
.bdds-footer-credit { display: inline-flex; align-items: center; gap: .35rem; font-weight: 800; }

@media (max-width: 900px) {
  .bdds-columns-4,
  .bdds-columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bdds-hero { grid-template-columns: 1fr; }
  .bdds-hero-art { min-height: 300px; max-width: 580px; }
  .bdds-footer-inner { grid-template-columns: 1fr 1fr; }
  .bdds-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .bdds-columns-4,
  .bdds-columns-3,
  .bdds-columns-2 { grid-template-columns: 1fr; }
  .bdds-hero-art { min-height: 230px; }
  .bdds-hero-car { width: 100%; right: 0; }
  .bdds-footer-inner { grid-template-columns: 1fr; }
  .bdds-footer-brand { grid-column: auto; }
  .bdds-profile-facts > div { grid-template-columns: 1fr; gap: .15rem; }
  .bdds-text-link { margin-left: 0; }
}

/* =========================================================
   v0.4.0 — complete page compositions
   ========================================================= */
.bdds-page {
  color: var(--bdds-ink);
  overflow: clip;
}
.bdds-page *,
.bdds-page *::before,
.bdds-page *::after { box-sizing: border-box; }
.bdds-container,
.bdds-hero {
  width: min(var(--bdds-content-max, 1180px), calc(100% - 2rem));
  margin-inline: auto;
}
.bdds-section {
  position: relative;
  padding-block: clamp(3.25rem, 7vw, 6.75rem);
}
.bdds-section-tight { padding-block: clamp(1.25rem, 3vw, 2.25rem); }
.bdds-section-soft {
  background: var(--bdds-offwhite);
  margin-inline: calc(50% - 50vw);
  padding-inline: 0;
}
.bdds-section-heading {
  max-width: 760px;
  margin-bottom: clamp(1.5rem, 3vw, 2.6rem);
}
.bdds-section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .65rem;
  font-size: .78rem;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--bdds-blue-deep);
}
.bdds-section-kicker::before {
  content: "";
  width: 1.8rem;
  height: .3rem;
  border-radius: 999px;
  background: var(--bdds-green);
}
.bdds-section-heading h2,
.bdds-page-hero h1,
.bdds-approach-copy h2,
.bdds-cta-inner h2 {
  margin: 0;
  color: var(--bdds-ink);
  letter-spacing: -.03em;
}
.bdds-section-heading h2 {
  font-size: clamp(2rem, 4.6vw, 3.75rem);
  line-height: 1.02;
  max-width: 17ch;
}
.bdds-section-heading p,
.bdds-page-hero p,
.bdds-approach-copy > p,
.bdds-cta-inner p {
  margin: .85rem 0 0;
  color: var(--bdds-muted);
  font-size: clamp(1rem, 1.55vw, 1.15rem);
  line-height: 1.65;
  max-width: 62ch;
}
.bdds-section-actions { margin-top: 1.2rem; }
.bdds-text-link-standalone { margin-left: 0; }

/* Homepage value strip */
.bdds-value-strip {
  margin-inline: calc(50% - 50vw);
  background: var(--bdds-charcoal);
  color: #fff;
  border-block: 1px solid rgba(255,255,255,.07);
}
.bdds-value-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}
.bdds-value-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .9rem;
  padding: clamp(1.1rem, 2.4vw, 1.65rem);
  border-right: 1px solid rgba(255,255,255,.13);
}
.bdds-value-card:last-child { border-right: 0; }
.bdds-value-icon {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--bdds-green);
  color: var(--bdds-charcoal);
  font-size: 1rem;
}
.bdds-value-card h2 {
  margin: 0 0 .3rem;
  color: #fff;
  font-size: clamp(1rem, 1.5vw, 1.2rem);
}
.bdds-value-card p {
  margin: 0;
  color: rgba(255,255,255,.7);
  font-size: .93rem;
  line-height: 1.55;
}

/* Offer cards get section colour cues while keeping Amelia as price source. */
.bdds-offer-card {
  position: relative;
  border-top: 5px solid var(--bdds-green);
  transition: transform .18s ease, box-shadow .18s ease;
}
.bdds-offer-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(20,58,80,.13);
}
.bdds-offer-card-packages { border-top-color: var(--bdds-yellow); }
.bdds-offer-card-mock-tests { border-top-color: var(--bdds-orange); }
.bdds-offer-card-test-support { border-top-color: var(--bdds-blue); }
.bdds-offer-card-courses { border-top-color: var(--bdds-blue-deep); }
.bdds-offer-card-other { border-top-color: var(--bdds-slate); }
.bdds-home-offer-grid .bdds-offer-card { min-height: 100%; }
.bdds-home-offer-grid .bdds-offer-body { height: 100%; display: flex; flex-direction: column; }
.bdds-home-offer-grid .bdds-offer-copy { flex: 1 1 auto; }

/* Team section */
.bdds-home-team .bdds-team-grid,
.bdds-about-team .bdds-team-grid { align-items: stretch; }
.bdds-home-team .bdds-person-card,
.bdds-about-team .bdds-person-card {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: clamp(1rem, 2.5vw, 2rem);
  align-items: center;
  text-align: left;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}
.bdds-home-team .bdds-person-image,
.bdds-about-team .bdds-person-image {
  width: min(100%, 220px);
  height: auto;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  border-radius: 50%;
  box-shadow: 0 0 0 4px var(--bdds-green), 0 12px 28px rgba(20,58,80,.12);
  background: transparent;
}
.bdds-home-team .bdds-person-image img,
.bdds-about-team .bdds-person-image img { object-fit: contain; }
.bdds-home-team .bdds-person-body,
.bdds-about-team .bdds-person-body { padding: 0; }
.bdds-home-team .bdds-person-details,
.bdds-about-team .bdds-person-details,
.bdds-home-team .bdds-person-actions,
.bdds-about-team .bdds-person-actions { justify-content: flex-start; }

/* Dark approach band */
.bdds-approach-band {
  margin-inline: calc(50% - 50vw);
  padding-inline: 0;
  background: var(--bdds-ink);
  color: #fff;
}
.bdds-approach-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}
.bdds-approach-copy .bdds-section-kicker { color: var(--bdds-green); }
.bdds-approach-copy .bdds-section-kicker::before { background: var(--bdds-yellow); }
.bdds-approach-copy h2 {
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 4.1rem);
  line-height: 1;
  max-width: 12ch;
}
.bdds-approach-copy > p { color: rgba(255,255,255,.72); }
.bdds-check-list,
.bdds-info-list {
  list-style: none;
  padding: 0;
  margin: 1.4rem 0 0;
  display: grid;
  gap: .75rem;
}
.bdds-check-list li,
.bdds-info-list li {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
}
.bdds-check-list .bdds-fa { color: var(--bdds-green); margin-top: .22em; }
.bdds-approach-art {
  position: relative;
  min-height: 330px;
  display: grid;
  place-items: center;
}
.bdds-approach-mark {
  width: min(78%, 340px);
  opacity: .17;
  transform: rotate(7deg);
}
.bdds-approach-car {
  position: absolute;
  width: min(108%, 520px);
  bottom: 12%;
  filter: drop-shadow(0 24px 18px rgba(0,0,0,.28));
}

/* Page hero */
.bdds-page-hero {
  position: relative;
  margin-inline: calc(50% - 50vw);
  padding-block: clamp(3rem, 7vw, 6rem);
  padding-inline: 0;
  background:
    radial-gradient(circle at 83% 20%, rgba(84,234,108,.17), transparent 28rem),
    linear-gradient(135deg, #fff 0%, var(--bdds-offwhite) 100%);
  border-bottom: 1px solid var(--bdds-border);
}
.bdds-page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: center;
}
.bdds-page-hero h1 {
  font-size: clamp(2.7rem, 6.6vw, 5.6rem);
  line-height: .96;
  max-width: 13ch;
}
.bdds-page-hero-mark {
  display: grid;
  place-items: center;
  min-height: 280px;
}
.bdds-page-hero-mark img {
  width: min(86%, 390px);
  filter: drop-shadow(0 24px 35px rgba(20,58,80,.11));
}

/* About cards */
.bdds-principle-grid,
.bdds-capability-grid,
.bdds-info-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}
.bdds-principle-card,
.bdds-capability-card,
.bdds-info-card {
  padding: clamp(1.35rem, 2.8vw, 2rem);
  border: 1px solid var(--bdds-border);
  border-radius: var(--bdds-radius);
  background: #fff;
  box-shadow: var(--bdds-shadow);
}
.bdds-principle-icon,
.bdds-capability-icon,
.bdds-info-icon {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 1rem;
  border-radius: 16px;
  background: var(--bdds-green);
  color: var(--bdds-charcoal);
  font-size: 1.15rem;
}
.bdds-principle-card:nth-child(2) .bdds-principle-icon,
.bdds-capability-card:nth-child(2) .bdds-capability-icon { background: var(--bdds-yellow); }
.bdds-principle-card:nth-child(3) .bdds-principle-icon,
.bdds-capability-card:nth-child(3) .bdds-capability-icon { background: var(--bdds-orange); }
.bdds-principle-card h3,
.bdds-capability-card h3,
.bdds-info-card h2 {
  margin: 0 0 .55rem;
  color: var(--bdds-ink);
}
.bdds-principle-card p,
.bdds-capability-card p,
.bdds-info-card p { margin: 0; color: var(--bdds-muted); line-height: 1.6; }

/* Lessons hero */
.bdds-lessons-hero { background: var(--bdds-charcoal); }
.bdds-lessons-hero .bdds-section-kicker { color: var(--bdds-green); }
.bdds-lessons-hero .bdds-section-kicker::before { background: var(--bdds-yellow); }
.bdds-lessons-hero h1 { color: #fff; }
.bdds-lessons-hero p { color: rgba(255,255,255,.72); }
.bdds-lessons-hero-art {
  position: relative;
  min-height: 300px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: calc(var(--bdds-radius) + 6px);
  background: var(--bdds-ink);
  isolation: isolate;
}
.bdds-lessons-hero-art::before {
  content: "";
  position: absolute;
  inset: -35% -15%;
  background: var(--bdds-green);
  opacity: .12;
  transform: rotate(-9deg);
  z-index: -2;
}
.bdds-road-line {
  position: absolute;
  width: 140%;
  height: 24px;
  border-block: 3px dashed rgba(255,255,255,.7);
  transform: rotate(-9deg);
  opacity: .8;
  z-index: -1;
}
.bdds-road-line-one { top: 34%; }
.bdds-road-line-two { top: 53%; }
.bdds-lessons-hero-art img {
  width: min(92%, 470px);
  filter: drop-shadow(0 24px 18px rgba(0,0,0,.33));
}
.bdds-pricing-wrap { padding-top: clamp(2.3rem, 5vw, 4rem); }
.bdds-pricing-section { scroll-margin-top: 120px; }
.bdds-pricing-section > h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
.bdds-section-intro { max-width: 68ch; margin: .4rem 0 1rem; color: var(--bdds-muted); line-height: 1.65; }
.bdds-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bdds-info-list .bdds-fa { color: var(--bdds-blue-deep); margin-top: .2em; }

/* CTA band */
.bdds-cta-band {
  margin-inline: calc(50% - 50vw);
  padding-inline: 0;
  background: var(--bdds-green);
  color: var(--bdds-charcoal);
}
.bdds-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}
.bdds-cta-inner .bdds-section-kicker { color: var(--bdds-charcoal); }
.bdds-cta-inner .bdds-section-kicker::before { background: var(--bdds-charcoal); }
.bdds-cta-inner h2 {
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  line-height: 1;
  max-width: 15ch;
  color: var(--bdds-charcoal);
}
.bdds-cta-inner p { color: rgba(43,43,43,.78); }
.bdds-cta-actions { display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.bdds-button-light { background: var(--bdds-charcoal); color: #fff; margin-top: 0; }
.bdds-button-light:hover,
.bdds-button-light:focus { color: #fff; }
.bdds-text-link-light { margin: 0; color: var(--bdds-charcoal); }
.bdds-text-link-light:hover,
.bdds-text-link-light:focus { color: var(--bdds-blue-deep); }

/* Keep the standalone hero aligned with the new page system. */
.bdds-hero { margin-inline: auto; }
.bdds-home-page > .bdds-hero { padding-top: clamp(2.75rem, 6vw, 5.5rem); }
.bdds-home-page .bdds-hero-brandmark { transform: translateY(-.2rem); }

@media (max-width: 1000px) {
  .bdds-home-team .bdds-person-card,
  .bdds-about-team .bdds-person-card { grid-template-columns: 1fr; text-align: center; }
  .bdds-home-team .bdds-person-image,
  .bdds-about-team .bdds-person-image { aspect-ratio: 1 / 1; width: min(78%, 260px); margin: 0 auto 1rem; border-radius: 50%; box-shadow: 0 0 0 5px var(--bdds-green), 0 14px 32px rgba(20,58,80,.15); }
  .bdds-home-team .bdds-person-details,
  .bdds-about-team .bdds-person-details,
  .bdds-home-team .bdds-person-actions,
  .bdds-about-team .bdds-person-actions { justify-content: center; }
}

@media (max-width: 820px) {
  .bdds-value-grid,
  .bdds-principle-grid,
  .bdds-capability-grid { grid-template-columns: 1fr; }
  .bdds-value-card { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }
  .bdds-value-card:last-child { border-bottom: 0; }
  .bdds-approach-grid,
  .bdds-page-hero-grid,
  .bdds-cta-inner { grid-template-columns: 1fr; }
  .bdds-approach-art { min-height: 260px; }
  .bdds-page-hero-mark { min-height: 220px; }
  .bdds-page-hero-mark img { width: min(65vw, 330px); }
  .bdds-cta-actions { justify-content: flex-start; }
}

@media (max-width: 620px) {
  .bdds-container,
  .bdds-hero { width: min(100% - 1.25rem, 1180px); }
  .bdds-section { padding-block: 3rem; }
  .bdds-section-heading h2 { font-size: clamp(1.9rem, 10vw, 2.8rem); }
  .bdds-page-hero h1 { font-size: clamp(2.5rem, 13vw, 4rem); }
  .bdds-info-grid { grid-template-columns: 1fr; }
  .bdds-lessons-hero-art { min-height: 230px; }
  .bdds-road-line { height: 18px; }
  .bdds-cta-actions { align-items: stretch; }
  .bdds-cta-actions .bdds-button,
  .bdds-cta-actions .bdds-text-link { width: 100%; justify-content: center; text-align: center; }
}

/* v0.5.0 — unified clear-cut staff portraits and real car asset */
.bdds-person-image-built-in {
  background: var(--bdds-charcoal);
  box-shadow: 0 0 0 5px var(--bdds-green), 0 14px 32px rgba(20,58,80,.15);
}
.bdds-person-image-built-in img {
  object-fit: contain;
  object-position: center bottom;
}
.bdds-home-team .bdds-person-image-built-in,
.bdds-about-team .bdds-person-image-built-in {
  background: var(--bdds-charcoal);
}
.bdds-home-team .bdds-person-image-built-in img,
.bdds-about-team .bdds-person-image-built-in img {
  object-position: center bottom;
}

/* =========================================================
   v0.6.0 — full-bleed page system, breakout portraits,
   profile redesign and booking-page alignment
   ========================================================= */

/* Let Site Kit compositions escape Blocksy's content column. */
.bdds-page {
  position: relative;
  width: 100vw;
  max-width: none;
  margin-inline: calc(50% - 50vw);
  overflow: visible;
  background: #fff;
}
.bdds-sitekit-active .site-main,
.bdds-sitekit-active main#main,
.bdds-sitekit-active .site-content { background: #fff; }
.bdds-sitekit-active .entry-content > .bdds-page:first-child { margin-top: 0; }
.bdds-sitekit-active .entry-content > .bdds-page:last-child { margin-bottom: 0; }

/* The Site Kit owns the footer when enabled. This removes the spare Blocksy band. */
.bdds-sitekit-footer-enabled .ct-footer { display: none !important; }
.bdds-site-footer { margin-top: 0; }

/* Tighter rhythm across the rebuilt pages. */
.bdds-section { padding-block: clamp(2.5rem, 5.5vw, 5rem); }
.bdds-section-tight { padding-block: clamp(1rem, 2.4vw, 1.8rem); }
.bdds-section-heading { margin-bottom: clamp(1.25rem, 2.5vw, 2rem); }
.bdds-pricing-section { margin-block: clamp(1.6rem, 3.8vw, 3.4rem); }
.bdds-page-hero { padding-block: clamp(2.6rem, 5.5vw, 5rem); }

/* Home hero: a true brand block with art breaking out of the panel. */
.bdds-home-page > .bdds-hero {
  width: 100%;
  max-width: none;
  min-height: clamp(520px, 68vw, 720px);
  margin: 0;
  padding: clamp(2.8rem, 6vw, 5.4rem) max(1rem, calc((100vw - 1180px) / 2));
  background:
    linear-gradient(110deg, var(--bdds-blue-deep) 0 63%, var(--bdds-green) 63% 100%);
  color: #fff;
  isolation: isolate;
}
.bdds-home-page > .bdds-hero::after {
  content: "";
  position: absolute;
  right: max(0px, calc((100vw - 1180px) / 2 - 2rem));
  bottom: 0;
  width: min(42vw, 520px);
  height: 38%;
  border-radius: 34px 34px 0 0;
  background: rgba(255,255,255,.12);
  z-index: -1;
}
.bdds-home-page .bdds-hero-brandmark {
  background: rgba(43,43,43,.82);
  border-radius: 18px;
  margin-bottom: .85rem;
}
.bdds-home-page .bdds-hero-kicker { color: var(--bdds-green); }
.bdds-home-page .bdds-hero h1 { color: #fff; }
.bdds-home-page .bdds-hero p { color: rgba(255,255,255,.82); }
.bdds-home-page .bdds-hero .bdds-button { background: var(--bdds-green); color: var(--bdds-charcoal); }
.bdds-home-page .bdds-hero .bdds-button:hover,
.bdds-home-page .bdds-hero .bdds-button:focus { color: var(--bdds-charcoal); }
.bdds-home-page .bdds-hero .bdds-text-link { color: #fff; }
.bdds-home-page .bdds-hero-art {
  min-height: clamp(300px, 40vw, 500px);
  align-self: end;
  overflow: visible;
}
.bdds-home-page .bdds-hero-mark { opacity: .18; filter: brightness(0) invert(1); }
.bdds-home-page .bdds-hero-car {
  width: min(125%, 650px);
  right: -8%;
  bottom: -9%;
  filter: drop-shadow(0 28px 26px rgba(0,0,0,.28));
}

/* Make the major coloured bands genuinely edge-to-edge. */
.bdds-value-strip,
.bdds-section-soft,
.bdds-approach-band,
.bdds-cta-band,
.bdds-page-hero,
.bdds-booking-hero,
.bdds-instructor-hero,
.bdds-instructor-style-band {
  width: 100%;
  margin-inline: 0;
}
.bdds-value-strip { background: var(--bdds-charcoal); color: #fff; }

/* Team cards use the clear-cut people as illustration, not circular thumbnails. */
.bdds-home-team .bdds-team-grid,
.bdds-about-team .bdds-team-grid { gap: clamp(1.5rem, 3vw, 2.4rem); padding-top: 2.2rem; }
.bdds-home-team .bdds-person-card,
.bdds-about-team .bdds-person-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(210px, .78fr) minmax(0, 1.22fr);
  min-height: 390px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 26px;
  box-shadow: 0 22px 50px rgba(20,58,80,.12);
  background: var(--bdds-green);
}
.bdds-home-team .bdds-person-card:nth-child(2n),
.bdds-about-team .bdds-person-card:nth-child(2n) { background: var(--bdds-yellow); }
.bdds-home-team .bdds-person-image,
.bdds-about-team .bdds-person-image,
.bdds-home-team .bdds-person-image-built-in,
.bdds-about-team .bdds-person-image-built-in {
  align-self: end;
  width: 108%;
  max-width: none;
  height: calc(100% + 48px);
  aspect-ratio: auto;
  margin: -48px -8% 0 0;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.bdds-home-team .bdds-person-image img,
.bdds-about-team .bdds-person-image img,
.bdds-home-team .bdds-person-image-built-in img,
.bdds-about-team .bdds-person-image-built-in img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 16px 18px rgba(20,58,80,.18));
}
.bdds-home-team .bdds-person-body,
.bdds-about-team .bdds-person-body {
  position: relative;
  z-index: 2;
  align-self: center;
  margin: 1rem 1rem 1rem -1.2rem;
  padding: clamp(1.25rem, 2.6vw, 2rem);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 30px rgba(20,58,80,.12);
}
.bdds-home-team .bdds-person-card h3,
.bdds-about-team .bdds-person-card h3 { font-size: clamp(1.65rem, 3vw, 2.3rem); }
.bdds-home-team .bdds-person-details,
.bdds-about-team .bdds-person-details { font-size: .85rem; }

/* Buttons match Amelia's blue/green visual language. */
.bdds-button { background: var(--bdds-blue); }
.bdds-button-dark { background: var(--bdds-charcoal); color: #fff; }
.bdds-button-dark:hover,
.bdds-button-dark:focus { background: var(--bdds-blue-deep); color: #fff; }
.bdds-text-link-on-green { color: var(--bdds-charcoal); margin-left: 0; }

/* ---------- Redesigned instructor profiles ---------- */
.bdds-instructor-single .entry-header,
.bdds-instructor-single .hero-section,
.bdds-instructor-single .ct-related-posts,
.bdds-instructor-single .post-navigation { display: none !important; }
.bdds-instructor-single .site-main { padding-top: 0 !important; }

.bdds-instructor-hero {
  position: relative;
  background: var(--bdds-green);
  color: var(--bdds-charcoal);
  overflow: visible;
}
.bdds-instructor-hero::before {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  width: 31%;
  height: 100%;
  background: var(--bdds-blue-deep);
}
.bdds-instructor-hero-grid {
  min-height: clamp(500px, 64vw, 680px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items: center;
  gap: clamp(1rem, 4vw, 4rem);
}
.bdds-instructor-hero-copy { position: relative; z-index: 3; padding-block: clamp(2.6rem, 5vw, 5rem); }
.bdds-instructor-hero .bdds-section-kicker { color: var(--bdds-charcoal); }
.bdds-instructor-hero .bdds-section-kicker::before { background: var(--bdds-charcoal); }
.bdds-instructor-hero h1 {
  max-width: 10ch;
  margin: .15em 0 .16em;
  font-size: clamp(3.2rem, 8vw, 7rem);
  line-height: .88;
  color: var(--bdds-charcoal);
}
.bdds-instructor-role {
  display: inline-block;
  margin-bottom: 1rem;
  padding: .46rem .72rem;
  border-radius: 999px;
  background: var(--bdds-charcoal);
  color: #fff;
  font-weight: 850;
}
.bdds-instructor-lead { max-width: 55ch; font-size: clamp(1.08rem, 2vw, 1.3rem); line-height: 1.55; }
.bdds-instructor-hero-actions { display: flex; align-items: center; gap: .8rem 1rem; flex-wrap: wrap; margin-top: 1.3rem; }
.bdds-instructor-hero-art {
  position: relative;
  align-self: stretch;
  min-height: 480px;
  z-index: 2;
}
.bdds-profile-shape { position: absolute; display: block; }
.bdds-profile-shape-one {
  width: 82%;
  aspect-ratio: 1;
  right: 0;
  bottom: 10%;
  border-radius: 50%;
  background: var(--bdds-charcoal);
}
.bdds-profile-shape-two {
  width: 42%;
  height: 28%;
  left: -10%;
  top: 14%;
  border-radius: 24px;
  background: var(--bdds-yellow);
  transform: rotate(-7deg);
}
.bdds-instructor-hero-cutout {
  position: absolute;
  z-index: 3;
  right: -2%;
  bottom: -4.6rem;
  width: min(115%, 630px);
  max-height: 112%;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 24px 20px rgba(0,0,0,.22));
}
.bdds-instructor-overview { padding-top: clamp(5.2rem, 9vw, 8rem); }
.bdds-instructor-overview-grid,
.bdds-instructor-style-grid,
.bdds-instructor-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: stretch;
}
.bdds-profile-copy-card,
.bdds-profile-facts-card,
.bdds-profile-colour-card,
.bdds-profile-detail-card {
  border-radius: 24px;
  padding: clamp(1.5rem, 3vw, 2.4rem);
}
.bdds-profile-copy-card {
  border: 1px solid var(--bdds-border);
  background: #fff;
  box-shadow: var(--bdds-shadow);
}
.bdds-profile-bio { font-size: 1.02rem; line-height: 1.72; }
.bdds-profile-bio > :first-child { margin-top: 0; }
.bdds-profile-bio > :last-child { margin-bottom: 0; }
.bdds-profile-facts-card { background: var(--bdds-blue-deep); color: #fff; }
.bdds-profile-facts-heading { display: flex; align-items: center; gap: .85rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.16); }
.bdds-profile-facts-heading > div { display: grid; gap: .08rem; }
.bdds-profile-facts-heading span { color: var(--bdds-green); font-size: .78rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.bdds-profile-facts-heading strong { color: #fff; font-size: 1.25rem; }
.bdds-profile-facts-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 14px; background: var(--bdds-green); color: var(--bdds-charcoal) !important; }
.bdds-profile-facts-modern { margin: 1rem 0; }
.bdds-profile-facts-modern > div { padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.13); }
.bdds-profile-facts-modern dt { display: flex; align-items: center; gap: .5rem; margin-bottom: .18rem; color: rgba(255,255,255,.68); font-size: .82rem; font-weight: 750; }
.bdds-profile-facts-modern dt .bdds-fa { color: var(--bdds-green); }
.bdds-profile-facts-modern dd { margin: 0; color: #fff; font-weight: 800; }
.bdds-profile-booking-note { color: rgba(255,255,255,.7); }
.bdds-profile-facts-card .bdds-button { background: var(--bdds-green); color: var(--bdds-charcoal); }

.bdds-instructor-style-band { background: var(--bdds-offwhite); }
.bdds-profile-colour-card { position: relative; overflow: hidden; min-height: 280px; border: 0; }
.bdds-profile-colour-card-green { background: var(--bdds-green); }
.bdds-profile-colour-card-yellow { background: var(--bdds-yellow); }
.bdds-profile-colour-card .bdds-section-kicker { color: var(--bdds-charcoal); }
.bdds-profile-colour-card h2 { max-width: 14ch; color: var(--bdds-charcoal); }
.bdds-profile-colour-card p { max-width: 62ch; }
.bdds-profile-card-icon {
  position: absolute;
  right: 1.4rem;
  top: 1.4rem;
  width: 3.2rem;
  height: 3.2rem;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--bdds-charcoal);
  color: #fff;
}
.bdds-profile-specialty-list { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .72rem; }
.bdds-profile-specialty-list li { display: flex; gap: .55rem; align-items: flex-start; font-weight: 750; }
.bdds-profile-specialty-list .bdds-fa { margin-top: .18em; color: var(--bdds-blue-deep); }

.bdds-instructor-detail-section { background: #fff; }
.bdds-profile-detail-card { border: 1px solid var(--bdds-border); background: #fff; box-shadow: var(--bdds-shadow); }
.bdds-profile-detail-card h2 { margin-top: .2rem; color: var(--bdds-ink); }
.bdds-profile-experience-list { margin-top: 1rem; }
.bdds-profile-experience-list .bdds-fa { color: var(--bdds-green); }
.bdds-profile-contact-card { border: 0; background: var(--bdds-orange); color: var(--bdds-charcoal); }
.bdds-profile-contact-card .bdds-section-kicker { color: var(--bdds-charcoal); }
.bdds-profile-contact-card .bdds-section-kicker::before { background: var(--bdds-charcoal); }
.bdds-profile-contact-links { display: grid; gap: .75rem; margin-top: 1.2rem; }
.bdds-profile-contact-links a { display: flex; align-items: center; gap: .8rem; color: var(--bdds-charcoal); text-decoration: none; font-weight: 800; }
.bdds-profile-contact-links a > .bdds-fa { width: 2.8rem; height: 2.8rem; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.72); }
.bdds-profile-contact-links span { display: grid; gap: .05rem; }
.bdds-profile-contact-links small { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }

/* ---------- Book online / Amelia ---------- */
.bdds-book-online .entry-content { margin-top: 0 !important; }
.bdds-booking-hero {
  position: relative;
  padding-block: clamp(2.5rem, 5vw, 4.6rem) clamp(4.5rem, 8vw, 7rem);
  background: var(--bdds-blue-deep);
  color: #fff;
  overflow: visible;
}
.bdds-booking-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.bdds-booking-hero .bdds-section-kicker { color: var(--bdds-green); }
.bdds-booking-hero h1 { max-width: 12ch; margin: .2em 0; color: #fff; font-size: clamp(2.8rem, 6vw, 5.3rem); line-height: .94; }
.bdds-booking-hero p { max-width: 58ch; color: rgba(255,255,255,.76); font-size: 1.08rem; }
.bdds-booking-steps { display: flex; gap: .6rem; flex-wrap: wrap; margin-top: 1.25rem; }
.bdds-booking-steps span { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .72rem; border-radius: 999px; background: rgba(255,255,255,.1); font-size: .85rem; font-weight: 750; }
.bdds-booking-steps b { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--bdds-green); color: var(--bdds-charcoal); }
.bdds-booking-hero-art { position: relative; min-height: 280px; }
.bdds-booking-hero-art img { position: absolute; z-index: 3; width: min(116%, 590px); right: -4%; bottom: -5rem; filter: drop-shadow(0 24px 22px rgba(0,0,0,.3)); }
.bdds-booking-road { position: absolute; inset: 14% 3% 4% 8%; border-radius: 28px; background: var(--bdds-green); transform: rotate(-4deg); }
.bdds-booking-road::after { content: ""; position: absolute; left: 7%; right: 7%; top: 50%; border-top: 4px dashed rgba(43,43,43,.58); transform: translateY(-50%); }
.bdds-booking-section { padding: 0 0 clamp(2.5rem, 5vw, 4.5rem); background: var(--bdds-offwhite); }
.bdds-booking-panel { position: relative; z-index: 5; width: min(1040px, 100%); margin: -3rem auto 0; overflow: hidden; border-radius: 26px; background: #fff; box-shadow: 0 24px 60px rgba(20,58,80,.16); }
.bdds-booking-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; background: var(--bdds-charcoal); color: #fff; }
.bdds-booking-panel-heading > div:first-child { display: grid; gap: .05rem; }
.bdds-booking-panel-heading span { color: var(--bdds-green); font-size: .72rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.bdds-booking-panel-heading strong { color: #fff; }
.bdds-booking-area { display: flex; align-items: center; gap: .45rem; color: rgba(255,255,255,.7); font-size: .85rem; }
.bdds-booking-area .bdds-fa { color: var(--bdds-green); }
.bdds-booking-panel-body { padding: clamp(.5rem, 2vw, 1.25rem); }
.bdds-booking-panel-body .amelia-app-booking,
.bdds-booking-panel-body [id^="amelia-app-booking"],
.bdds-booking-panel-body .am-fs__wrapper,
.bdds-booking-panel-body .am-fs__main { margin-inline: auto !important; }
.bdds-booking-panel-body .el-button--primary,
.bdds-booking-panel-body button[class*="am-button"] { border-color: var(--bdds-green) !important; }

/* Site-wide polish for Blocksy's shell around the Site Kit pages. */
.bdds-sitekit-active .ct-header [data-id="menu"] > ul > li > a,
.bdds-sitekit-active .ct-header .menu-item > a { font-weight: 850; letter-spacing: .015em; }
.bdds-sitekit-active .ct-header { box-shadow: 0 10px 28px rgba(20,58,80,.12); }

@media (max-width: 1000px) {
  .bdds-home-page > .bdds-hero { background: var(--bdds-blue-deep); min-height: auto; }
  .bdds-home-page > .bdds-hero::after { width: 55%; background: rgba(84,234,108,.16); }
  .bdds-home-team .bdds-person-card,
  .bdds-about-team .bdds-person-card { grid-template-columns: minmax(180px, .75fr) minmax(0, 1.25fr); text-align: left; }
  .bdds-home-team .bdds-person-details,
  .bdds-about-team .bdds-person-details,
  .bdds-home-team .bdds-person-actions,
  .bdds-about-team .bdds-person-actions { justify-content: flex-start; }
  .bdds-instructor-hero-grid { grid-template-columns: 1fr 0.8fr; }
}

@media (max-width: 820px) {
  .bdds-home-team .bdds-person-card,
  .bdds-about-team .bdds-person-card {
    grid-template-columns: 1fr;
    min-height: 0;
    padding-top: 1rem;
    text-align: left;
  }
  .bdds-home-team .bdds-person-image,
  .bdds-about-team .bdds-person-image,
  .bdds-home-team .bdds-person-image-built-in,
  .bdds-about-team .bdds-person-image-built-in {
    width: min(78%, 330px);
    height: 300px;
    margin: -3rem auto -2rem;
  }
  .bdds-home-team .bdds-person-body,
  .bdds-about-team .bdds-person-body { margin: 0 1rem 1rem; }
  .bdds-instructor-hero::before { width: 100%; height: 30%; top: auto; bottom: 0; }
  .bdds-instructor-hero-grid,
  .bdds-instructor-overview-grid,
  .bdds-instructor-style-grid,
  .bdds-instructor-detail-grid,
  .bdds-booking-hero-grid { grid-template-columns: 1fr; }
  .bdds-instructor-hero-grid { min-height: 0; }
  .bdds-instructor-hero-art { min-height: 420px; }
  .bdds-instructor-hero-cutout { width: min(88vw, 560px); left: 50%; right: auto; transform: translateX(-50%); }
  .bdds-instructor-overview { padding-top: 5.5rem; }
  .bdds-booking-hero { padding-bottom: 6rem; }
  .bdds-booking-hero-art { min-height: 210px; }
  .bdds-booking-hero-art img { width: min(92vw, 560px); left: 50%; right: auto; transform: translateX(-50%); }
}

@media (max-width: 620px) {
  .bdds-home-page > .bdds-hero { padding-inline: .75rem; }
  .bdds-home-page .bdds-hero-car { bottom: -2%; }
  .bdds-instructor-hero h1 { font-size: clamp(3rem, 16vw, 4.8rem); }
  .bdds-instructor-hero-art { min-height: 340px; }
  .bdds-instructor-hero-cutout { bottom: -3rem; }
  .bdds-instructor-overview { padding-top: 4.5rem; }
  .bdds-booking-panel { border-radius: 18px; }
  .bdds-booking-panel-heading { align-items: flex-start; flex-direction: column; }
}
.bdds-home-page > .bdds-hero { position: relative; }


/* =========================================================
   v0.7.0 — hard full-bleed fix, crisp hero art, adjustable Amelia width
   ========================================================= */

/* Blocksy/Gutenberg can apply !important auto margins to direct children of
   constrained layouts. Beat that rule explicitly so Site Kit pages truly
   touch both viewport edges while their .bdds-container stays readable. */
body.bdds-sitekit-active .entry-content > .bdds-page,
body.bdds-sitekit-active .entry-content.is-layout-constrained > .bdds-page,
body.bdds-sitekit-active :is(.entry-content,.wp-block-post-content).is-layout-constrained > .bdds-page {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  overflow: visible;
}

/* Once the page itself is full bleed, its coloured bands should not try to
   escape a second time. This prevents the 'almost full width' inset effect. */
body.bdds-sitekit-active .bdds-page > :is(
  .bdds-hero,
  .bdds-value-strip,
  .bdds-section-soft,
  .bdds-approach-band,
  .bdds-cta-band,
  .bdds-page-hero,
  .bdds-booking-hero,
  .bdds-booking-section,
  .bdds-instructor-hero,
  .bdds-instructor-style-band
) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.bdds-container,
.bdds-hero {
  width: min(var(--bdds-content-max, 1180px), calc(100% - 2rem));
}

/* Remove the old soft green radial glow. Use crisp colour blocks instead. */
.bdds-page-hero {
  background: var(--bdds-offwhite);
  border-bottom: 0;
}

/* About hero: the illustrated Ben becomes the visual anchor instead of a
   large standalone logo. Flat blocks echo the rest of the site language. */
.bdds-about-hero {
  overflow: visible;
  background:
    linear-gradient(90deg, var(--bdds-offwhite) 0 64%, var(--bdds-blue-deep) 64% 100%);
}
.bdds-about-hero .bdds-page-hero-grid {
  min-height: clamp(460px, 54vw, 620px);
}
.bdds-about-hero-art {
  position: relative;
  min-height: clamp(350px, 42vw, 500px);
  overflow: visible;
  isolation: isolate;
}
.bdds-about-art-block {
  position: absolute;
  display: block;
  z-index: -1;
}
.bdds-about-art-block-one {
  width: 88%;
  aspect-ratio: 1;
  right: -5%;
  bottom: -3%;
  border-radius: 30px 30px 8px 30px;
  background: var(--bdds-yellow);
  transform: rotate(5deg);
}
.bdds-about-art-block-two {
  width: 54%;
  height: 30%;
  left: -5%;
  top: 8%;
  border-radius: 22px 6px 22px 22px;
  background: var(--bdds-green);
  transform: rotate(-7deg);
}
.bdds-about-hero-art img {
  position: absolute;
  z-index: 3;
  width: min(102%, 500px);
  max-width: none;
  right: -2%;
  bottom: -3.5rem;
  filter: drop-shadow(0 22px 18px rgba(0,0,0,.18));
}

/* Booking shell can now be widened from Driving School > Site settings. */
.bdds-booking-panel {
  width: min(var(--bdds-booking-max, 1180px), calc(100% - 2rem));
}
.bdds-booking-panel-body {
  padding: clamp(.45rem, 1.5vw, 1rem);
}

/* Amelia owns its internal UI, but we can remove the artificial narrow cap
   around the app. These selectors cover both the classic step booking and
   current full-screen booking wrappers. */
.bdds-booking-panel-body :is(
  .amelia-app-booking,
  [id^="amelia-app-booking"],
  [id^="amelia-step-booking"],
  .am-fs__wrapper
) {
  width: 100% !important;
  max-width: var(--bdds-amelia-max, 860px) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.bdds-booking-panel-body :is(
  .am-fs__main,
  .am-fs__content,
  .am-fs__main-content
) {
  width: 100% !important;
  max-width: none !important;
}

/* Keep the booking frame visually tied to Amelia rather than surrounding a
   small widget with a huge amount of blank white space. */
.bdds-booking-section .bdds-container {
  width: min(var(--bdds-booking-max, 1180px), calc(100% - 2rem));
}

@media (max-width: 900px) {
  .bdds-about-hero {
    background: var(--bdds-offwhite);
    overflow: hidden;
  }
  .bdds-about-hero .bdds-page-hero-grid { min-height: auto; }
  .bdds-about-hero-art { min-height: 330px; }
  .bdds-about-art-block-one { right: 2%; width: 72%; }
  .bdds-about-hero-art img {
    left: 50%;
    right: auto;
    width: min(82vw, 430px);
    transform: translateX(-50%);
    bottom: -2.6rem;
  }
}

@media (max-width: 600px) {
  body.bdds-sitekit-active .entry-content > .bdds-page,
  body.bdds-sitekit-active .entry-content.is-layout-constrained > .bdds-page,
  body.bdds-sitekit-active :is(.entry-content,.wp-block-post-content).is-layout-constrained > .bdds-page {
    width: 100vw !important;
    max-width: 100vw !important;
  }
  .bdds-booking-panel { width: calc(100% - 1rem); border-radius: 14px; }
}


/* v0.8.0 — richer lesson context + student testimonial speech bubbles */
.bdds-offer-copy:empty{display:none}
.bdds-offer-copy{font-size:.95rem;line-height:1.6;color:color-mix(in srgb,var(--bdds-navy) 78%,#6d7880);margin-top:.15rem}
.bdds-offer-copy p{margin:.5rem 0 0}
.bdds-offer-card .bdds-offer-copy + .bdds-button{margin-top:auto}

.bdds-home-testimonials{
  background:var(--bdds-blue-deep);
  color:#fff;
  overflow:visible;
}
.bdds-home-testimonials .bdds-section-kicker{color:var(--bdds-green)}
.bdds-home-testimonials .bdds-section-heading h2{color:#fff}
.bdds-home-testimonials .bdds-section-heading p{color:rgba(255,255,255,.76)}
.bdds-testimonial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(28px,3vw,42px);
  padding:1rem 0 2rem;
  align-items:stretch;
}
.bdds-testimonial{
  --bdds-bubble:#fff;
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  margin:0;
  padding:clamp(1.65rem,2.7vw,2.25rem);
  overflow:visible;
  border:0;
  border-radius:26px 6px 26px 26px;
  background:var(--bdds-bubble);
  color:var(--bdds-navy);
  box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.bdds-testimonial--green{--bdds-bubble:var(--bdds-green)}
.bdds-testimonial--yellow{--bdds-bubble:var(--bdds-yellow)}
.bdds-testimonial--orange{--bdds-bubble:#ff914d}
.bdds-testimonial::after{
  content:"";
  position:absolute;
  right:34px;
  bottom:-18px;
  width:28px;
  height:20px;
  background:var(--bdds-bubble);
  clip-path:polygon(0 0,100% 0,100% 100%);
  z-index:1;
}
.bdds-testimonial:nth-child(even)::after{right:auto;left:34px;transform:scaleX(-1)}
.bdds-testimonial>*{position:relative;z-index:2}
.bdds-testimonial-stars{display:flex;gap:.2rem;margin-bottom:1rem;color:var(--bdds-navy);font-size:.85rem}
.bdds-testimonial blockquote{margin:0;padding:0;border:0;font-size:1rem;line-height:1.65;flex:1}
.bdds-testimonial blockquote p{margin:0 0 .85rem}
.bdds-testimonial blockquote p:last-child{margin-bottom:0}
.bdds-testimonial figcaption{margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(20,58,80,.2);display:grid;gap:.12rem}
.bdds-testimonial figcaption strong{font-size:1rem;font-weight:800;color:var(--bdds-navy)}
.bdds-testimonial figcaption em{font-size:.88rem;color:var(--bdds-navy);opacity:.68}

@media(max-width:900px){.bdds-testimonial-grid{grid-template-columns:1fr 1fr}.bdds-testimonial-grid .bdds-testimonial:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:620px){.bdds-testimonial-grid{grid-template-columns:1fr}.bdds-testimonial-grid .bdds-testimonial:last-child:nth-child(odd){grid-column:auto}}

/* =========================================================
   v0.9.0 — customer-facing copy + road-led home hero
   ========================================================= */

/* The public site should never expose implementation language. */
.bdds-home-page .bdds-hero-copy {
  position: relative;
  z-index: 4;
}

/* Header already carries the brand, so the hero does not repeat the logo. */
.bdds-home-page .bdds-hero-brandmark { display: none !important; }

/* Keep the headline dramatic, but never split a word across lines. */
.bdds-home-page .bdds-hero h1 {
  max-width: 10.6ch;
  font-size: clamp(3.15rem, 5.7vw, 5rem);
  line-height: .98;
  overflow-wrap: normal !important;
  word-break: keep-all !important;
  hyphens: none !important;
  text-wrap: wrap;
}

/* Remove the old translucent card behind the car. */
.bdds-home-page > .bdds-hero::after { display: none !important; }

/* Keep the blue/green split, but make the artwork read as a road scene rather
   than a car sitting on an arbitrary translucent panel. */
.bdds-home-page > .bdds-hero {
  min-height: clamp(540px, 62vw, 710px);
  background: linear-gradient(109deg, var(--bdds-blue-deep) 0 64%, var(--bdds-green) 64% 100%);
}
.bdds-home-page .bdds-hero-art {
  position: relative;
  min-height: clamp(340px, 43vw, 520px);
  overflow: visible;
  isolation: isolate;
}
.bdds-home-road {
  position: absolute;
  z-index: 0;
  width: 148%;
  height: clamp(118px, 12vw, 168px);
  right: -34%;
  bottom: 9%;
  border-radius: 22px;
  background: #3b4246;
  transform: rotate(-7deg);
  box-shadow: 0 18px 34px rgba(0,0,0,.18);
  overflow: hidden;
}
.bdds-home-road::before,
.bdds-home-road::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 3px;
  background: rgba(255,255,255,.34);
}
.bdds-home-road::before { top: 16%; }
.bdds-home-road::after { bottom: 16%; }
.bdds-home-road-dashes {
  position: absolute;
  left: -8%;
  right: -8%;
  top: 50%;
  height: 8px;
  transform: translateY(-50%);
  background: repeating-linear-gradient(
    90deg,
    transparent 0 34px,
    var(--bdds-orange) 34px 86px,
    transparent 86px 126px
  );
}
.bdds-home-orange-accent {
  position: absolute;
  z-index: 1;
  width: 82px;
  height: 12px;
  right: 1%;
  top: 16%;
  border-radius: 999px;
  background: var(--bdds-orange);
  transform: rotate(-7deg);
  box-shadow: 0 8px 18px rgba(255,110,0,.22);
}
.bdds-home-page .bdds-hero-car {
  z-index: 3;
  width: min(148%, 760px);
  max-width: none;
  right: -20%;
  bottom: 4%;
  filter: drop-shadow(0 30px 24px rgba(0,0,0,.30));
}

/* Orange becomes a deliberate third accent instead of an isolated palette
   colour: it appears in the road marking and the third value icon. */
.bdds-value-card:nth-child(3) .bdds-value-icon {
  background: var(--bdds-orange);
  color: #fff;
}

/* Give the hero kicker a small orange cue while retaining green location/icon
   branding. */
.bdds-home-page .bdds-hero-kicker::before {
  content: "";
  width: 1.8rem;
  height: .3rem;
  border-radius: 999px;
  background: var(--bdds-orange);
  margin-right: .15rem;
}

/* Some Blocksy layouts clip the viewport-width shortcode even after the child
   is made full bleed. The Site Kit owns these page compositions, so allow it
   to escape those wrappers. */
body.bdds-sitekit-active :is(.site-main,.ct-container-full,.ct-container,.entry-content,.wp-block-post-content) {
  overflow-x: visible;
}
body.bdds-sitekit-active .entry-content > .bdds-page,
body.bdds-sitekit-active .wp-block-post-content > .bdds-page,
body.bdds-sitekit-active article > .entry-content > .bdds-page {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-inline: calc(50% - 50vw) !important;
}

@media (max-width: 1000px) {
  .bdds-home-page > .bdds-hero {
    background: linear-gradient(145deg, var(--bdds-blue-deep) 0 72%, var(--bdds-green) 72% 100%);
  }
  .bdds-home-page .bdds-hero h1 { max-width: 11ch; }
  .bdds-home-road {
    width: 125%;
    right: -18%;
    bottom: 10%;
  }
  .bdds-home-page .bdds-hero-car {
    width: min(118%, 650px);
    right: -8%;
    bottom: 5%;
  }
}

@media (max-width: 820px) {
  .bdds-home-page > .bdds-hero {
    background: var(--bdds-blue-deep);
  }
  .bdds-home-page .bdds-hero h1 {
    max-width: 10.6ch;
    font-size: clamp(3rem, 13vw, 4.65rem);
  }
  .bdds-home-page .bdds-hero-art { min-height: 310px; }
  .bdds-home-road {
    width: 118%;
    height: 118px;
    right: -9%;
    bottom: 12%;
  }
  .bdds-home-page .bdds-hero-car {
    width: min(108vw, 610px);
    left: 50%;
    right: auto;
    bottom: 7%;
    transform: translateX(-50%);
  }
  .bdds-home-orange-accent { right: 8%; top: 10%; }
}

@media (max-width: 560px) {
  .bdds-home-page .bdds-hero h1 {
    max-width: 10.2ch;
    font-size: clamp(2.8rem, 14vw, 4rem);
  }
  .bdds-home-page .bdds-hero-art { min-height: 255px; }
  .bdds-home-road { height: 92px; bottom: 10%; }
  .bdds-home-page .bdds-hero-car { width: 116vw; bottom: 8%; }
}


/* =========================================================
   v0.10.0 — flush page shell, ordered lesson cards,
   readable reviews and cleaner road/car compositions
   ========================================================= */

/* Blocksy adds article/content vertical spacing outside the Site Kit itself.
   Remove it only on full Site Kit compositions, leaving ordinary pages alone. */
body.bdds-sitekit-layout-page #main > .ct-container,
body.bdds-sitekit-layout-page #main > .ct-container-full {
  margin-block: 0 !important;
  padding-block: 0 !important;
  min-height: 0 !important;
}
body.bdds-sitekit-layout-page .bdds-page { margin-block: 0 !important; }

/* Homepage lesson order is 1 lesson → 3 lessons → 10 lessons. The 10-lesson
   option deliberately picks up orange as the third brand accent. */
.bdds-offer-card-lesson-count-1 { --bdds-offer-accent: var(--bdds-green); }
.bdds-offer-card-lesson-count-3 { --bdds-offer-accent: var(--bdds-yellow); }
.bdds-offer-card-lesson-count-10 { --bdds-offer-accent: var(--bdds-orange); }
.bdds-home-offer-grid .bdds-offer-card-lesson-count-1,
.bdds-home-offer-grid .bdds-offer-card-lesson-count-3,
.bdds-home-offer-grid .bdds-offer-card-lesson-count-10,
.bdds-pricing-packages .bdds-offer-card-lesson-count-10 {
  border-top-color: var(--bdds-offer-accent) !important;
}
.bdds-home-offer-grid .bdds-offer-card-lesson-count-10 .bdds-offer-price,
.bdds-pricing-packages .bdds-offer-card-lesson-count-10 .bdds-offer-price {
  color: var(--bdds-orange) !important;
}

/* Reviews keep the speech-bubble idea but no longer put paragraph copy on
   bright yellow/orange/green fills. The accent becomes the frame instead. */
.bdds-testimonial {
  background: #fff !important;
  color: var(--bdds-charcoal) !important;
  border: 3px solid var(--bdds-bubble) !important;
  border-top-width: 9px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.16) !important;
}
.bdds-testimonial::after { background: #fff !important; }
.bdds-testimonial,
.bdds-testimonial blockquote,
.bdds-testimonial blockquote p,
.bdds-testimonial figcaption strong,
.bdds-testimonial figcaption em {
  color: var(--bdds-charcoal) !important;
}
.bdds-testimonial-stars { color: var(--bdds-blue-deep) !important; }
.bdds-testimonial figcaption { border-top-color: rgba(43,43,43,.16) !important; }
.bdds-testimonial figcaption em { opacity: .68; }

/* Let the road read as one continuous diagonal across the hero instead of a
   small platform directly under the car. */
.bdds-home-page .bdds-hero-art { isolation: static; }
.bdds-home-road {
  width: max(210vw, 2200px) !important;
  height: clamp(126px, 12vw, 168px) !important;
  right: -62vw !important;
  bottom: 8% !important;
  border-radius: 0 !important;
  transform: rotate(-5.5deg) !important;
  box-shadow: none !important;
  opacity: .98;
}
.bdds-home-page .bdds-hero-car {
  width: min(132%, 700px) !important;
  right: -4% !important;
  bottom: 5% !important;
}
.bdds-home-orange-accent {
  width: 68px !important;
  right: 8% !important;
  top: 13% !important;
}

/* Book Online: the previous green rounded panel behind the car was decorative
   but read like another UI card. Drop it completely and let the clear-cut car
   sit cleanly on the blue hero. */
.bdds-booking-road { display: none !important; }
.bdds-booking-hero-art::before {
  content: "";
  position: absolute;
  z-index: 1;
  width: 110px;
  height: 10px;
  right: 10%;
  top: 23%;
  border-radius: 999px;
  background: var(--bdds-orange);
  transform: rotate(-5deg);
}
.bdds-booking-hero-art img {
  width: min(124%, 640px) !important;
  right: 0 !important;
  bottom: -4rem !important;
}

@media (max-width: 1000px) {
  .bdds-home-road {
    width: 190vw !important;
    right: -46vw !important;
  }
  .bdds-home-page .bdds-hero-car {
    width: min(118%, 640px) !important;
    right: -2% !important;
  }
}
@media (max-width: 820px) {
  .bdds-home-road {
    width: 175vw !important;
    right: -38vw !important;
    bottom: 10% !important;
  }
  .bdds-home-page .bdds-hero-car {
    width: min(106vw, 590px) !important;
    left: 50% !important;
    right: auto !important;
    bottom: 8% !important;
    transform: translateX(-50%) !important;
  }
  .bdds-booking-hero-art::before { right: 14%; top: 14%; }
  .bdds-booking-hero-art img {
    width: min(96vw, 590px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}
@media (max-width: 560px) {
  .bdds-home-road { width: 190vw !important; right: -50vw !important; height: 92px !important; }
  .bdds-testimonial { padding: 1.4rem !important; }
}


/* =========================================================
   v0.11.0 — lower road composition, true package pricing,
   clearer Lessons hero and dual-instructor About artwork
   ========================================================= */

/* HOME — give the hero its own darker identity so it does not visually merge
   into Blocksy's blue navigation. Keep the road low enough that it never runs
   through the headline or supporting copy. */
.bdds-home-page > .bdds-hero {
  background: linear-gradient(108deg, var(--bdds-ink) 0 62%, var(--bdds-green) 62% 100%) !important;
  min-height: clamp(520px, 58vw, 680px) !important;
}
.bdds-home-road {
  width: max(210vw, 2200px) !important;
  height: clamp(96px, 9vw, 124px) !important;
  right: -62vw !important;
  bottom: -1.5% !important;
  transform: rotate(-2deg) !important;
  background: #3b4246 !important;
  z-index: 1 !important;
}
.bdds-home-road::before,
.bdds-home-road::after {
  background: rgba(255,255,255,.34) !important;
}
.bdds-home-road-dashes {
  height: 6px !important;
  background: repeating-linear-gradient(
    90deg,
    #fff 0 48px,
    transparent 48px 86px
  ) !important;
}
.bdds-home-page .bdds-hero-car {
  width: min(126%, 680px) !important;
  right: -1% !important;
  bottom: 1.5% !important;
  z-index: 3 !important;
}
.bdds-home-orange-accent {
  top: 18% !important;
  right: 8% !important;
}

/* LESSONS — the generic page-hero rule was winning later in the stylesheet,
   leaving white text on an off-white background. Force the intended dark hero
   and remove the rounded artwork tile completely. */
.bdds-page-hero.bdds-lessons-hero {
  background: var(--bdds-charcoal) !important;
  color: #fff;
  overflow: hidden;
}
.bdds-page-hero.bdds-lessons-hero h1 { color: #fff !important; }
.bdds-page-hero.bdds-lessons-hero p { color: rgba(255,255,255,.76) !important; }
.bdds-page-hero.bdds-lessons-hero .bdds-section-kicker { color: var(--bdds-green) !important; }
.bdds-lessons-hero .bdds-page-hero-grid {
  min-height: clamp(360px, 42vw, 500px);
}
.bdds-lessons-hero-art {
  min-height: 320px !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
  isolation: isolate;
}
.bdds-lessons-hero-art::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: -28%;
  right: -34%;
  bottom: 17%;
  height: 112px;
  background: #3b4246 !important;
  opacity: 1 !important;
  transform: rotate(-3deg) !important;
  border-radius: 0 !important;
}
.bdds-lessons-hero-art::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: -28%;
  right: -34%;
  bottom: calc(17% + 54px);
  height: 5px;
  transform: rotate(-3deg);
  background: repeating-linear-gradient(90deg,#fff 0 44px,transparent 44px 82px);
}
.bdds-lessons-hero-art .bdds-road-line-one {
  top: auto !important;
  bottom: calc(17% + 16px);
  width: 160%;
  height: 2px;
  border: 0 !important;
  background: rgba(255,255,255,.34);
  transform: rotate(-3deg);
  opacity: 1;
  z-index: 1;
}
.bdds-lessons-hero-art .bdds-road-line-two { display: none; }
.bdds-lessons-hero-art img {
  position: relative;
  z-index: 3;
  width: min(112%, 560px) !important;
  max-width: none;
  transform: translateY(5%);
  filter: drop-shadow(0 24px 18px rgba(0,0,0,.34));
}

/* PACKAGE PROGRESSION — green → yellow → orange on the BORDER ONLY.
   Package prices themselves stay the calm brand blue. */
.bdds-pricing-packages .bdds-offer-card-lesson-count-3 {
  border-top-color: var(--bdds-green) !important;
}
.bdds-pricing-packages .bdds-offer-card-lesson-count-5 {
  border-top-color: var(--bdds-yellow) !important;
}
.bdds-pricing-packages .bdds-offer-card-lesson-count-10 {
  border-top-color: var(--bdds-orange) !important;
}
.bdds-pricing-packages .bdds-offer-price,
.bdds-pricing-packages .bdds-offer-card-lesson-count-10 .bdds-offer-price {
  color: var(--bdds-blue-deep) !important;
}
.bdds-offer-discount {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  margin: .12rem 0 .45rem;
  padding: .3rem .55rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bdds-green) 22%, white);
  color: var(--bdds-ink);
  font-size: .78rem;
  line-height: 1;
  font-weight: 850;
}

/* Give the practical information cards enough breathing room and prevent their
   content from looking collapsed next to longer pricing sections. */
.bdds-lesson-info-section .bdds-info-grid {
  align-items: stretch;
  gap: clamp(1rem, 2.4vw, 1.7rem);
}
.bdds-lesson-info-section .bdds-info-card {
  min-height: 210px;
  padding: clamp(1.55rem, 3vw, 2.25rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.bdds-lesson-info-section .bdds-info-card p,
.bdds-lesson-info-section .bdds-info-card ul {
  font-size: 1rem;
  line-height: 1.65;
}
.bdds-lesson-info-section .bdds-info-card ul { margin-bottom: 0; }

/* ABOUT / INSTRUCTORS — use both real clear-cut instructor portraits as the
   hero visual rather than making Ben alone stand in for the whole team. */
.bdds-about-hero {
  background: linear-gradient(90deg, var(--bdds-offwhite) 0 64%, var(--bdds-ink) 64% 100%) !important;
}
.bdds-about-hero-art {
  min-height: clamp(380px, 43vw, 520px) !important;
  overflow: visible !important;
}
.bdds-about-art-block-one {
  width: 76% !important;
  aspect-ratio: 1.04;
  right: -10% !important;
  bottom: -2% !important;
  background: var(--bdds-yellow) !important;
  transform: rotate(5deg) !important;
}
.bdds-about-art-block-two {
  width: 54% !important;
  height: 31% !important;
  left: -7% !important;
  top: 10% !important;
  background: var(--bdds-green) !important;
  transform: rotate(-7deg) !important;
}
.bdds-about-art-block-three {
  position: absolute;
  z-index: -1;
  width: 38%;
  height: 18%;
  right: 2%;
  top: 7%;
  border-radius: 18px;
  background: var(--bdds-orange);
  transform: rotate(7deg);
}
.bdds-about-hero-art .bdds-about-duo {
  position: absolute;
  z-index: 3;
  max-width: none;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 22px 18px rgba(0,0,0,.20));
}
.bdds-about-duo-ben {
  width: min(74%, 390px) !important;
  left: -7%;
  bottom: -3.4rem !important;
}
.bdds-about-duo-ian {
  width: min(72%, 380px) !important;
  right: -10%;
  bottom: -3.2rem !important;
}
.bdds-about-duo-ian { transform: scale(.95); }

/* Direct package booking swaps the generic step form for Amelia's package
   catalog filtered to the chosen package. Keep either layout centred and
   allowed to use the Site Kit booking width. */
.bdds-booking-panel-body .am-cab__wrapper,
.bdds-booking-panel-body [class*="am-catalog"] {
  max-width: var(--bdds-amelia-max, 860px) !important;
  margin-inline: auto !important;
}

@media (max-width: 1000px) {
  .bdds-home-road {
    width: 190vw !important;
    right: -46vw !important;
    bottom: 0 !important;
  }
  .bdds-home-page .bdds-hero-car {
    width: min(116%, 630px) !important;
    right: -1% !important;
  }
  .bdds-about-duo-ben { left: 1%; }
  .bdds-about-duo-ian { right: -2%; }
}

@media (max-width: 820px) {
  .bdds-home-page > .bdds-hero { background: var(--bdds-ink) !important; }
  .bdds-home-road {
    width: 175vw !important;
    right: -38vw !important;
    bottom: 2% !important;
    height: 94px !important;
  }
  .bdds-home-page .bdds-hero-car {
    width: min(105vw, 570px) !important;
    left: 50% !important;
    right: auto !important;
    bottom: 4% !important;
    transform: translateX(-50%) !important;
  }
  .bdds-lessons-hero-art { min-height: 260px !important; }
  .bdds-lessons-hero-art img { width: min(96vw, 520px) !important; }
  .bdds-about-hero {
    background: var(--bdds-offwhite) !important;
  }
  .bdds-about-hero-art {
    min-height: 430px !important;
  }
  .bdds-about-duo-ben {
    width: min(65vw, 350px) !important;
    left: 3%;
  }
  .bdds-about-duo-ian {
    width: min(62vw, 335px) !important;
    right: 2%;
  }
}

@media (max-width: 620px) {
  .bdds-home-road {
    width: 190vw !important;
    right: -50vw !important;
    height: 78px !important;
    bottom: 4% !important;
  }
  .bdds-home-page .bdds-hero-car {
    width: 112vw !important;
    bottom: 5% !important;
  }
  .bdds-lesson-info-section .bdds-info-card { min-height: 0; }
  .bdds-about-hero-art { min-height: 360px !important; }
  .bdds-about-duo-ben {
    width: min(74vw, 300px) !important;
    left: -6%;
  }
  .bdds-about-duo-ian {
    width: min(70vw, 290px) !important;
    right: -5%;
  }
}


/* ================================================================
   v0.12.0 — pricing clarity, profile depth and layout polish
   ================================================================ */

/* Hero secondary action: keep the Lessons & pricing CTA readable over the
   illustrated road rather than leaving it as an unboxed text link. */
.bdds-hero-actions .bdds-button-hero-secondary {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.72);
  box-shadow: none;
  backdrop-filter: blur(4px);
}
.bdds-hero-actions .bdds-button-hero-secondary:hover,
.bdds-hero-actions .bdds-button-hero-secondary:focus {
  background: #fff;
  color: var(--bdds-ink);
  border-color: #fff;
}

/* The centre value is intentionally yellow: road/test readiness gets its own
   visual cue while green remains the calmer coaching accent. */
.bdds-value-card:nth-child(2) .bdds-value-icon {
  background: var(--bdds-yellow) !important;
  color: var(--bdds-charcoal) !important;
}

/* Discounted Amelia packages: Amelia remains the source of both the package
   price and discount. The regular value is contextual rather than editable. */
.bdds-offer-price-discounted {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .25rem .55rem;
}
.bdds-offer-price-discounted del {
  color: var(--bdds-slate);
  font-size: .62em;
  font-weight: 750;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--bdds-orange);
}
.bdds-offer-price-discounted strong {
  color: var(--bdds-blue-deep);
  font: inherit;
  font-weight: 900;
}

/* Practical lesson notes: icon and heading are now one unit, which removes the
   odd dead padding at the top of these relatively short cards. */
.bdds-lesson-info-section .bdds-info-card {
  min-height: 0 !important;
  padding: clamp(1.35rem, 2.4vw, 1.85rem) !important;
}
.bdds-info-heading {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin-bottom: 1rem;
}
.bdds-info-heading .bdds-info-icon {
  flex: 0 0 auto;
  width: 2.7rem;
  height: 2.7rem;
  margin: 0;
  border-radius: 13px;
}
.bdds-info-heading h2 { margin: 0 !important; }
.bdds-lesson-info-section .bdds-info-list {
  margin: .1rem 0 0;
  padding: 0;
}

/* Booking page gets the same dimensional blue treatment as the rest of the
   refreshed site without reducing contrast around the Amelia panel. */
.bdds-booking-hero {
  background:
    radial-gradient(circle at 78% 22%, rgba(84,234,108,.11), transparent 25rem),
    linear-gradient(135deg, #005793 0%, #006eb5 56%, #143a50 100%) !important;
}
.bdds-booking-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background: linear-gradient(115deg, transparent 0 48%, rgba(255,255,255,.12) 48% 49%, transparent 49% 100%);
}
.bdds-booking-hero-grid { position: relative; z-index: 1; }

/* Instructor hero: the portrait stays a clear-cut photograph, but the head is
   given a deliberate green brand field rather than sitting against a generic
   dark circle. */
.bdds-profile-head-backdrop {
  position: absolute;
  z-index: 1;
  width: min(66%, 360px);
  aspect-ratio: 1;
  right: 10%;
  top: 10%;
  border-radius: 45% 55% 50% 50%;
  background: var(--bdds-green);
  box-shadow: 18px 18px 0 rgba(255,209,0,.92);
  transform: rotate(-4deg);
}
.bdds-instructor-ben-davis .bdds-profile-shape-one {
  background: var(--bdds-blue-deep);
  opacity: .98;
}
.bdds-instructor-ben-davis .bdds-profile-head-backdrop {
  width: min(70%, 390px);
  right: 8%;
  top: 8%;
}
.bdds-instructor-ben-davis .bdds-instructor-hero-cutout {
  width: min(108%, 610px);
}
.bdds-profile-copy-card { padding: clamp(1.7rem, 3.2vw, 2.7rem); }
.bdds-profile-bio p { margin: 0 0 1.15rem; }
.bdds-profile-bio p:last-child { margin-bottom: 0; }

/* About hero: show Ben and Ian as two distinct people instead of visually
   merging two cut-outs into one overlapping collage. */
.bdds-about-hero {
  background: linear-gradient(90deg, var(--bdds-offwhite) 0 62%, var(--bdds-ink) 62% 100%) !important;
}
.bdds-about-hero-art {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(.75rem, 2vw, 1.25rem);
  align-items: end;
  min-height: clamp(390px, 43vw, 520px) !important;
  padding: clamp(1.2rem, 2vw, 2rem) 0 0;
}
.bdds-about-person-panel {
  position: relative;
  min-width: 0;
  height: min(33vw, 445px);
  min-height: 340px;
  overflow: hidden;
  border-radius: 26px 26px 8px 8px;
  isolation: isolate;
}
.bdds-about-person-panel-ben { background: var(--bdds-green); transform: translateY(1.1rem); }
.bdds-about-person-panel-ian { background: var(--bdds-yellow); transform: translateY(-.9rem); }
.bdds-about-person-accent {
  position: absolute;
  width: 55%;
  aspect-ratio: 1;
  border-radius: 50%;
  right: -16%;
  top: -12%;
  background: rgba(0,87,147,.16);
}
.bdds-about-person-panel-ian .bdds-about-person-accent { background: rgba(255,110,0,.18); left: -18%; right: auto; }
.bdds-about-hero-art .bdds-about-duo {
  position: absolute !important;
  z-index: 2;
  width: 118% !important;
  max-width: none !important;
  height: 104%;
  left: 50% !important;
  right: auto !important;
  bottom: -3% !important;
  transform: translateX(-50%) !important;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 16px 15px rgba(0,0,0,.16));
}
.bdds-about-person-label {
  position: absolute;
  z-index: 4;
  left: .75rem;
  bottom: .75rem;
  padding: .35rem .55rem;
  border-radius: 999px;
  background: var(--bdds-charcoal);
  color: #fff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .bdds-about-hero { background: var(--bdds-offwhite) !important; }
  .bdds-about-hero-art { min-height: 380px !important; }
  .bdds-about-person-panel { min-height: 320px; height: 380px; }
}
@media (max-width: 620px) {
  .bdds-about-hero-art {
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
    min-height: 300px !important;
  }
  .bdds-about-person-panel { min-height: 255px; height: 285px; border-radius: 18px 18px 6px 6px; }
  .bdds-about-person-panel-ben { transform: translateY(.45rem); }
  .bdds-about-person-panel-ian { transform: translateY(-.35rem); }
  .bdds-profile-head-backdrop { width: 60%; right: 20%; top: 9%; }
}


/* ================================================================
   v0.12.1 — restore card breathing room + strengthen final CTA
   ================================================================ */

/* The full-bleed/wider page shell should never flatten the small practical
   cards. Keep generous *internal* spacing independent from the width of the
   surrounding .bdds-container. Deliberately avoid !important here so an
   explicitly customised inline/card padding can still win. */
.bdds-lessons-page .bdds-lesson-info-section .bdds-info-card {
  padding: clamp(2rem, 3.7vw, 3.75rem);
}
.bdds-lessons-page .bdds-lesson-info-section .bdds-info-heading {
  margin-bottom: clamp(1rem, 1.7vw, 1.35rem);
}
.bdds-lessons-page .bdds-lesson-info-section .bdds-info-grid {
  gap: clamp(1.25rem, 2.4vw, 2rem);
}

/* The green next-step band is a conversion moment, so its main action should
   read as a primary CTA rather than another small card button. */
.bdds-cta-band .bdds-cta-actions .bdds-button {
  min-height: 54px;
  padding: .95rem 1.45rem;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 900;
  gap: .55rem;
  box-shadow: 0 10px 24px rgba(20,58,80,.16);
}
.bdds-cta-band .bdds-cta-actions .bdds-button .bdds-fa {
  font-size: 1.05em;
}

@media (max-width: 820px) {
  .bdds-lessons-page .bdds-lesson-info-section .bdds-info-card {
    padding: clamp(1.65rem, 6vw, 2.35rem);
  }
}


/* ================================================================
   v0.12.2 — About hero portrait recovery
   Keep the proven direct-image markup and separate Ben/Ian visually.
   This avoids the nested-panel regression that could leave the hero art
   column completely blank on some theme/container combinations.
   ================================================================ */
.bdds-about-hero-art {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0;
  min-height: clamp(400px, 43vw, 520px) !important;
  overflow: visible !important;
  isolation: isolate;
  z-index: 2;
}
.bdds-about-hero-art .bdds-about-art-block {
  position: absolute !important;
  display: block !important;
  z-index: 0 !important;
  opacity: 1 !important;
}
.bdds-about-hero-art .bdds-about-art-block-one {
  width: 54% !important;
  height: 72% !important;
  aspect-ratio: auto !important;
  right: 0 !important;
  left: auto !important;
  bottom: 3% !important;
  top: auto !important;
  border-radius: 28px 28px 8px 28px !important;
  background: var(--bdds-yellow) !important;
  transform: rotate(3deg) !important;
}
.bdds-about-hero-art .bdds-about-art-block-two {
  width: 52% !important;
  height: 66% !important;
  left: 0 !important;
  right: auto !important;
  top: 12% !important;
  bottom: auto !important;
  border-radius: 26px 8px 26px 26px !important;
  background: var(--bdds-green) !important;
  transform: rotate(-3deg) !important;
}
.bdds-about-hero-art .bdds-about-art-block-three {
  width: 24% !important;
  height: 15% !important;
  right: 4% !important;
  top: 3% !important;
  left: auto !important;
  bottom: auto !important;
  border-radius: 15px !important;
  background: var(--bdds-orange) !important;
  transform: rotate(6deg) !important;
}
.bdds-about-hero-art > img.bdds-about-duo {
  position: absolute !important;
  display: block !important;
  z-index: 3 !important;
  max-width: none !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 18px 16px rgba(0,0,0,.18));
}
.bdds-about-hero-art > .bdds-about-duo-ben {
  width: min(62%, 350px) !important;
  left: -1% !important;
  right: auto !important;
  bottom: -1.4rem !important;
  transform: none !important;
}
.bdds-about-hero-art > .bdds-about-duo-ian {
  width: min(60%, 340px) !important;
  right: -1% !important;
  left: auto !important;
  bottom: -1.2rem !important;
  transform: none !important;
}
@media (max-width: 900px) {
  .bdds-about-hero-art { min-height: 390px !important; }
  .bdds-about-hero-art > .bdds-about-duo-ben { width: min(60%, 330px) !important; }
  .bdds-about-hero-art > .bdds-about-duo-ian { width: min(58%, 320px) !important; }
}
@media (max-width: 620px) {
  .bdds-about-hero-art { min-height: 310px !important; }
  .bdds-about-hero-art .bdds-about-art-block-one { width: 55% !important; height: 68% !important; }
  .bdds-about-hero-art .bdds-about-art-block-two { width: 54% !important; height: 62% !important; top: 16% !important; }
  .bdds-about-hero-art > .bdds-about-duo-ben { width: min(64%, 255px) !important; left: -4% !important; bottom: -.7rem !important; }
  .bdds-about-hero-art > .bdds-about-duo-ian { width: min(62%, 245px) !important; right: -4% !important; bottom: -.6rem !important; }
}


/* ================================================================
   v0.12.3 — practical info card padding repair
   Explicit block/inline longhands prevent wider container shorthands from
   zeroing the vertical breathing room on these cards.
   ================================================================ */
.bdds-info-card {
  padding-block: clamp(1.35rem, 2.4vw, 1.85rem) !important;
  padding-inline: clamp(1.35rem, 2.4vw, 1.85rem) !important;
}
.bdds-lessons-page .bdds-lesson-info-section .bdds-info-card {
  padding-block: clamp(1.6rem, 2.8vw, 2.1rem) !important;
  padding-inline: clamp(1.6rem, 2.8vw, 2.1rem) !important;
}
@media (max-width: 820px) {
  .bdds-lessons-page .bdds-lesson-info-section .bdds-info-card {
    padding-block: clamp(1.45rem, 5vw, 1.9rem) !important;
    padding-inline: clamp(1.35rem, 5vw, 1.8rem) !important;
  }
}

/* ================================================================
   v0.13.0 — Contact + Defensive Driving page compositions
   ================================================================ */

/* Contact --------------------------------------------------------- */
.bdds-contact-hero {
  position: relative;
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
  background:
    radial-gradient(circle at 78% 28%, rgba(84,234,108,.18), transparent 25rem),
    linear-gradient(135deg, var(--bdds-blue-deep) 0%, #006eb5 62%, var(--bdds-ink) 100%);
  color: #fff;
  overflow: hidden;
}
.bdds-contact-hero::after {
  content: "";
  position: absolute;
  width: clamp(260px, 32vw, 520px);
  aspect-ratio: 1;
  right: -8%;
  top: -42%;
  border-radius: 50%;
  background: rgba(255,209,0,.09);
  pointer-events: none;
}
.bdds-contact-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.bdds-contact-hero .bdds-section-kicker { color: var(--bdds-green); }
.bdds-contact-hero h1 {
  margin: .15em 0 .25em;
  max-width: 11ch;
  color: #fff;
  font-size: clamp(3rem, 6.5vw, 5.8rem);
  line-height: .94;
  letter-spacing: -.045em;
}
.bdds-contact-hero-copy > p {
  max-width: 62ch;
  margin: 0;
  color: rgba(255,255,255,.8);
  font-size: clamp(1.05rem, 1.8vw, 1.22rem);
  line-height: 1.65;
}
.bdds-contact-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; margin-top: 1.45rem; }
.bdds-button-outline-light {
  background: transparent;
  border-color: rgba(255,255,255,.72);
  color: #fff;
}
.bdds-button-outline-light:hover,
.bdds-button-outline-light:focus { background: #fff; border-color: #fff; color: var(--bdds-ink); }
.bdds-contact-quick-card {
  position: relative;
  display: grid;
  gap: .85rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 28px;
  background: #fff;
  color: var(--bdds-ink);
  box-shadow: 0 22px 60px rgba(0,0,0,.2);
  transform: rotate(1.5deg);
}
.bdds-contact-quick-card::before {
  content: "";
  position: absolute;
  width: 34%;
  height: .45rem;
  left: 1.5rem;
  top: 0;
  border-radius: 0 0 999px 999px;
  background: var(--bdds-green);
}
.bdds-contact-quick-card .bdds-section-kicker { color: var(--bdds-blue-deep); margin-bottom: .2rem; }
.bdds-contact-quick-icon {
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: var(--bdds-yellow);
  color: var(--bdds-charcoal);
  font-size: 1.25rem;
}
.bdds-contact-quick-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .75rem 0;
  border-top: 1px solid var(--bdds-border);
  color: var(--bdds-ink);
  text-decoration: none;
  font-weight: 800;
}
.bdds-contact-quick-row .bdds-fa { color: var(--bdds-blue); }
.bdds-contact-layout {
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  gap: clamp(1.5rem, 4vw, 3.25rem);
  align-items: start;
}
.bdds-contact-guide,
.bdds-contact-form-card {
  border-radius: 28px;
  box-shadow: var(--bdds-shadow);
}
.bdds-contact-guide {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background: var(--bdds-charcoal);
  color: #fff;
  position: sticky;
  top: 2rem;
}
.bdds-contact-guide .bdds-section-kicker { color: var(--bdds-green); }
.bdds-contact-guide h2 { margin: .2rem 0 1.3rem; color: #fff; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1; }
.bdds-contact-reason-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.bdds-contact-reason-list li {
  display: grid;
  grid-template-columns: 2.7rem 1fr;
  gap: .85rem;
  align-items: start;
  padding: .95rem 0;
  border-top: 1px solid rgba(255,255,255,.12);
}
.bdds-contact-reason-list li > .bdds-fa {
  width: 2.7rem;
  height: 2.7rem;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: rgba(84,234,108,.12);
  color: var(--bdds-green);
}
.bdds-contact-reason-list span { display: grid; gap: .18rem; }
.bdds-contact-reason-list strong { color: #fff; }
.bdds-contact-reason-list small { color: rgba(255,255,255,.64); line-height: 1.45; }
.bdds-contact-security-note {
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: .7rem;
  margin-top: 1.4rem;
  padding: 1rem;
  border-radius: 16px;
  background: rgba(84,234,108,.1);
  color: rgba(255,255,255,.7);
  font-size: .86rem;
  line-height: 1.45;
}
.bdds-contact-security-note .bdds-fa { color: var(--bdds-green); margin-top: .15rem; }
.bdds-contact-security-note strong { color: #fff; }
.bdds-contact-form-card {
  padding: clamp(1.6rem, 4vw, 3rem);
  background: #fff;
}
.bdds-contact-form-card h2 { margin: .15rem 0 .5rem; color: var(--bdds-ink); font-size: clamp(2.25rem, 4.6vw, 3.8rem); line-height: 1; }
.bdds-contact-form-card > p { margin: 0 0 1.5rem; color: var(--bdds-muted); max-width: 60ch; line-height: 1.6; }
.bdds-contact-form-wrap .wpforms-container { margin: 0 !important; }
.bdds-contact-form-wrap .wpforms-form { margin: 0 !important; }
.bdds-contact-form-wrap .wpforms-field { padding-block: .58rem !important; }
.bdds-contact-form-wrap .wpforms-field-label,
.bdds-contact-form-wrap .wpforms-field-sublabel { color: var(--bdds-ink) !important; font-weight: 850 !important; }
.bdds-contact-form-wrap :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea) {
  width: 100% !important;
  max-width: none !important;
  min-height: 52px !important;
  padding: .8rem .95rem !important;
  border: 1.5px solid rgba(20,58,80,.2) !important;
  border-radius: 13px !important;
  background: var(--bdds-offwhite) !important;
  color: var(--bdds-ink) !important;
  box-shadow: none !important;
  font: inherit !important;
}
.bdds-contact-form-wrap textarea { min-height: 160px !important; resize: vertical; }
.bdds-contact-form-wrap :is(input,select,textarea):focus {
  border-color: var(--bdds-blue) !important;
  outline: 3px solid rgba(0,119,199,.13) !important;
  outline-offset: 1px;
}
.bdds-contact-form-wrap .wpforms-submit-container { margin-top: .75rem !important; padding-top: 0 !important; }
.bdds-contact-form-wrap button.wpforms-submit,
.bdds-contact-form-wrap input[type="submit"] {
  min-height: 54px !important;
  padding: .9rem 1.5rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--bdds-blue-deep) !important;
  color: #fff !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 24px rgba(0,87,147,.18) !important;
}
.bdds-contact-form-wrap button.wpforms-submit:hover,
.bdds-contact-form-wrap button.wpforms-submit:focus { background: var(--bdds-blue) !important; }
.bdds-contact-form-wrap .wpforms-error { color: #9b2d1d !important; }
.bdds-contact-form-wrap .wpforms-error-container,
.bdds-contact-form-wrap .wpforms-confirmation-container-full {
  border-radius: 14px !important;
  padding: 1rem 1.1rem !important;
}

/* Defensive driving --------------------------------------------- */
.bdds-course-hero {
  position: relative;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: linear-gradient(125deg, var(--bdds-ink) 0%, var(--bdds-blue-deep) 100%);
  color: #fff;
  overflow: hidden;
}
.bdds-course-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.bdds-course-hero .bdds-section-kicker { color: var(--bdds-green); }
.bdds-course-hero h1 { margin: .18em 0 .25em; max-width: 11ch; color: #fff; font-size: clamp(3rem, 6.3vw, 5.7rem); line-height: .94; letter-spacing: -.045em; }
.bdds-course-hero p { margin: 0; max-width: 60ch; color: rgba(255,255,255,.78); font-size: clamp(1.04rem, 1.7vw, 1.2rem); line-height: 1.65; }
.bdds-course-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem .9rem; margin-top: 1.45rem; }
.bdds-course-hero-art { position: relative; min-height: clamp(300px, 36vw, 450px); }
.bdds-course-shape { position: absolute; border-radius: 28px; }
.bdds-course-shape-green { inset: 7% 2% 18% 24%; background: var(--bdds-green); transform: rotate(-5deg); }
.bdds-course-shape-yellow { width: 32%; height: 28%; right: 4%; top: 4%; background: var(--bdds-yellow); transform: rotate(7deg); }
.bdds-course-road { position: absolute; left: 0; right: -8%; bottom: 16%; height: 30%; background: var(--bdds-charcoal); transform: rotate(-3deg); }
.bdds-course-road::before { content: ""; position: absolute; inset: 50% 0 auto; border-top: 5px dashed rgba(255,255,255,.85); }
.bdds-course-hero-art img { position: absolute; z-index: 3; width: min(112%, 620px); left: -4%; bottom: 7%; filter: drop-shadow(0 22px 20px rgba(0,0,0,.3)); }
.bdds-course-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(1rem, 2vw, 1.35rem); }
.bdds-course-feature-grid .bdds-principle-card { margin: 0; }
.bdds-course-events-card {
  padding: clamp(1rem, 2.4vw, 1.6rem);
  border: 1px solid var(--bdds-border);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--bdds-shadow);
}
.bdds-course-events-heading { display: flex; justify-content: space-between; gap: 1.5rem; align-items: flex-start; padding: clamp(.5rem, 1.5vw, 1rem); }
.bdds-course-events-heading h2 { margin: .1rem 0 .45rem; color: var(--bdds-ink); font-size: clamp(2rem, 4vw, 3.1rem); }
.bdds-course-events-heading p { margin: 0; color: var(--bdds-muted); }
.bdds-course-events-icon { width: 3.2rem; height: 3.2rem; display: grid; place-items: center; flex: 0 0 auto; border-radius: 15px; background: var(--bdds-green); color: var(--bdds-charcoal); font-size: 1.2rem; }
.bdds-course-events-body { overflow-x: auto; padding: .25rem; }
.bdds-course-events-body > * { max-width: 100% !important; }
.bdds-course-events-body :is(.amelia-app-booking,[id^="amelia-app-booking"],[class*="am-event"],[class*="am-ec"],[class*="am-cab"]) { max-width: 100% !important; }
.bdds-course-payment-card {
  display: grid;
  grid-template-columns: 3.35rem 1fr;
  gap: 1rem;
  align-items: start;
  margin-top: clamp(1.25rem, 3vw, 2rem);
  padding: clamp(1.4rem, 3vw, 2rem);
  border-radius: 22px;
  background: var(--bdds-charcoal);
  color: #fff;
}
.bdds-course-payment-card .bdds-section-kicker { color: var(--bdds-green); }
.bdds-course-payment-card h2 { margin: .1rem 0 .75rem; color: #fff; }
.bdds-course-payment-icon { width: 3.35rem; height: 3.35rem; display: grid; place-items: center; border-radius: 15px; background: var(--bdds-yellow); color: var(--bdds-charcoal); }
.bdds-course-payment-copy { color: rgba(255,255,255,.75); line-height: 1.65; }
.bdds-course-payment-copy p { margin: .35rem 0; }
.bdds-course-payment-copy strong { color: #fff; }

@media (max-width: 900px) {
  .bdds-contact-hero-grid,
  .bdds-contact-layout,
  .bdds-course-hero-grid { grid-template-columns: 1fr; }
  .bdds-contact-guide { position: static; }
  .bdds-contact-quick-card { transform: none; max-width: 620px; }
  .bdds-course-feature-grid { grid-template-columns: 1fr 1fr; }
  .bdds-course-hero-art { max-width: 620px; width: 100%; }
}
@media (max-width: 620px) {
  .bdds-contact-hero h1,
  .bdds-course-hero h1 { font-size: clamp(2.75rem, 14vw, 4.2rem); }
  .bdds-contact-hero-actions .bdds-button { width: 100%; }
  .bdds-course-feature-grid { grid-template-columns: 1fr; }
  .bdds-course-hero-art { min-height: 250px; }
  .bdds-course-payment-card { grid-template-columns: 1fr; }
  .bdds-course-events-heading { flex-direction: column; }
}

/* ================================================================
   v0.13.1 — recovered v0.13 branch + safer Blocksy shell reset
   + two-circle About hero composition
   ================================================================ */

/* Only the wide Blocksy page shell loses its vertical padding.
   Do not flatten article / entry-content / post-content descendants. */
body.bdds-sitekit-layout-page #main > .ct-container,
body.bdds-sitekit-layout-page #main > .ct-container-full {
  margin-block: 0 !important;
  padding-block: 0 !important;
  min-height: 0 !important;
}

/* About hero: two instructors, visually distinct but part of one system. */
.bdds-about-hero-art-circles {
  position: relative !important;
  min-height: clamp(390px, 38vw, 500px) !important;
  display: block !important;
  overflow: visible !important;
  isolation: isolate;
}
.bdds-about-hero-art-circles .bdds-about-art-block {
  position: absolute !important;
  display: block !important;
  z-index: 0 !important;
  border-radius: 28px !important;
  opacity: 1 !important;
}
.bdds-about-hero-art-circles .bdds-about-art-block-one {
  width: 45% !important;
  height: 48% !important;
  left: 7% !important;
  top: 13% !important;
  background: var(--bdds-green) !important;
  transform: rotate(-5deg) !important;
}
.bdds-about-hero-art-circles .bdds-about-art-block-two {
  width: 44% !important;
  height: 44% !important;
  right: 7% !important;
  bottom: 11% !important;
  background: var(--bdds-yellow) !important;
  transform: rotate(5deg) !important;
}
.bdds-about-hero-art-circles .bdds-about-art-block-three {
  width: 20% !important;
  height: 17% !important;
  right: 2% !important;
  top: 4% !important;
  background: var(--bdds-orange) !important;
  transform: rotate(7deg) !important;
}
.bdds-about-hero-art-circles .bdds-about-art-block-four {
  width: 18% !important;
  height: 15% !important;
  left: 1% !important;
  bottom: 3% !important;
  background: var(--bdds-blue) !important;
  transform: rotate(-8deg) !important;
}
.bdds-about-portrait-circle {
  position: absolute !important;
  z-index: 3 !important;
  display: block !important;
  width: clamp(190px, 19vw, 255px) !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 50%;
  background: var(--bdds-charcoal);
  box-shadow: 0 20px 35px rgba(20,58,80,.18), 0 0 0 7px #fff;
}
.bdds-about-portrait-circle::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
}
.bdds-about-portrait-ben {
  left: 4% !important;
  bottom: 5% !important;
}
.bdds-about-portrait-ben::after {
  box-shadow: inset 0 0 0 7px var(--bdds-green);
}
.bdds-about-portrait-ian {
  right: 3% !important;
  top: 8% !important;
}
.bdds-about-portrait-ian::after {
  box-shadow: inset 0 0 0 7px var(--bdds-yellow);
}
.bdds-about-portrait-circle img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  transform: none !important;
}
@media (max-width: 900px) {
  .bdds-about-hero-art-circles { min-height: 390px !important; }
  .bdds-about-portrait-circle { width: clamp(180px, 31vw, 235px) !important; }
}
@media (max-width: 620px) {
  .bdds-about-hero-art-circles { min-height: 330px !important; }
  .bdds-about-portrait-circle {
    width: min(42vw, 190px) !important;
    box-shadow: 0 14px 26px rgba(20,58,80,.16), 0 0 0 5px #fff;
  }
  .bdds-about-portrait-ben { left: 3% !important; bottom: 7% !important; }
  .bdds-about-portrait-ian { right: 3% !important; top: 10% !important; }
  .bdds-about-hero-art-circles .bdds-about-art-block-one {
    width: 50% !important; height: 48% !important; left: 5% !important;
  }
  .bdds-about-hero-art-circles .bdds-about-art-block-two {
    width: 48% !important; height: 45% !important; right: 5% !important;
  }
}


/* v0.13.4 — testimonial rotation guard. Author CSS sets testimonial cards to
   display:flex, which can override the browser's default [hidden] rule. Keep
   the non-selected review pool completely out of layout until JS chooses it. */
.bdds-testimonial[hidden],
.bdds-testimonial.bdds-testimonial-is-hidden {
  display: none !important;
}

/* ================================================================
   v0.13.5 — mobile usability pass
   Responsive spacing, touch targets, overflow control, compact hero art,
   booking/form ergonomics and small-screen navigation polish.
   ================================================================ */

@media (max-width: 782px) {
  /* Prevent full-bleed artwork from creating accidental sideways scrolling. */
  html:has(body.bdds-sitekit-active),
  body.bdds-sitekit-active {
    overflow-x: clip;
  }
  body.bdds-sitekit-active .bdds-page {
    overflow-x: clip;
  }

  /* Consistent, slightly roomier phone/tablet gutters without wasting width. */
  .bdds-container,
  .bdds-hero {
    width: min(100% - 2rem, var(--bdds-content-max, 1180px));
  }
  .bdds-section {
    padding-block: clamp(2.65rem, 8vw, 4rem);
  }
  .bdds-section-tight {
    padding-block: clamp(1rem, 4vw, 1.5rem);
  }
  .bdds-section-heading {
    margin-bottom: 1.5rem;
  }
  .bdds-section-heading h2,
  .bdds-page-hero h1,
  .bdds-contact-hero h1,
  .bdds-course-hero h1,
  .bdds-instructor-hero h1 {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: balance;
  }
  .bdds-section-heading p,
  .bdds-page-hero p,
  .bdds-contact-hero-copy > p,
  .bdds-course-hero p {
    line-height: 1.55;
  }

  /* Finger-sized actions and links. */
  .bdds-button {
    min-height: 48px;
    padding: .8rem 1.05rem;
  }
  .bdds-text-link {
    min-height: 44px;
    align-items: center;
    padding-block: .35rem;
  }

  /* Blocksy mobile header: keep logo/menu comfortable and tappable. */
  body.bdds-sitekit-active .ct-header-trigger,
  body.bdds-sitekit-active [data-id="trigger"] {
    min-width: 48px;
    min-height: 48px;
  }
  body.bdds-sitekit-active .ct-header .site-logo-container img,
  body.bdds-sitekit-active .ct-header [data-id="logo"] img {
    max-height: 68px;
    width: auto;
  }

  /* HOME ------------------------------------------------------- */
  .bdds-home-page > .bdds-hero {
    grid-template-columns: 1fr;
    min-height: 0 !important;
    gap: 1rem;
    padding-top: 2.4rem !important;
    padding-bottom: 0 !important;
    background: var(--bdds-ink) !important;
  }
  .bdds-home-page .bdds-hero-copy {
    max-width: 34rem;
  }
  .bdds-home-page .bdds-hero h1 {
    max-width: 9.6ch;
    margin-top: .2em;
    font-size: clamp(3rem, 12vw, 4.45rem);
    line-height: .94;
  }
  .bdds-home-page .bdds-hero p {
    font-size: 1rem;
    line-height: 1.5;
  }
  .bdds-home-page .bdds-hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
    width: min(100%, 430px);
  }
  .bdds-home-page .bdds-hero-actions .bdds-button {
    width: 100%;
    margin-top: 0;
    text-align: center;
  }
  .bdds-home-page .bdds-hero-art {
    min-height: clamp(220px, 52vw, 330px) !important;
    margin-top: .2rem;
  }
  .bdds-home-road {
    width: 190vw !important;
    right: -45vw !important;
    bottom: 0 !important;
    height: clamp(74px, 18vw, 98px) !important;
    transform: rotate(-1deg) !important;
  }
  .bdds-home-page .bdds-hero-car {
    width: min(108vw, 560px) !important;
    left: 50% !important;
    right: auto !important;
    bottom: .6rem !important;
    transform: translateX(-50%) !important;
  }
  .bdds-home-orange-accent {
    width: 48px !important;
    height: 8px !important;
    right: 8% !important;
    top: 11% !important;
  }

  /* Make the value strip scan quickly rather than feeling like three long cards. */
  .bdds-value-card {
    grid-template-columns: 2.45rem 1fr;
    gap: .75rem;
    padding: 1rem 0;
  }
  .bdds-value-icon {
    width: 2.35rem;
    height: 2.35rem;
  }
  .bdds-value-card p {
    font-size: .9rem;
    line-height: 1.45;
  }

  /* Cards ------------------------------------------------------ */
  .bdds-offer-grid,
  .bdds-team-grid {
    gap: 1rem;
    margin-block: 1rem;
  }
  .bdds-offer-body,
  .bdds-person-body {
    padding: 1.1rem;
  }
  .bdds-offer-card {
    border-radius: 18px;
  }
  .bdds-offer-price {
    font-size: clamp(1.7rem, 8vw, 2.15rem);
  }
  .bdds-offer-copy {
    font-size: .94rem;
    line-height: 1.52;
  }
  .bdds-offer-card .bdds-button,
  .bdds-person-actions .bdds-button {
    width: 100%;
  }
  .bdds-person-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .25rem;
  }
  .bdds-person-actions .bdds-text-link {
    justify-content: center;
    margin-left: 0;
  }

  /* Team cutouts: preserve the breakout look but use less vertical overlap. */
  .bdds-home-team .bdds-person-image,
  .bdds-about-team .bdds-person-image,
  .bdds-home-team .bdds-person-image-built-in,
  .bdds-about-team .bdds-person-image-built-in {
    width: min(72vw, 280px);
    height: min(72vw, 280px);
    margin: -1.8rem auto -1.15rem;
  }
  .bdds-home-team .bdds-person-body,
  .bdds-about-team .bdds-person-body {
    margin: 0 .7rem .75rem;
  }

  /* ABOUT ------------------------------------------------------ */
  .bdds-page-hero-grid {
    gap: 1.25rem;
  }
  .bdds-about-hero {
    padding-top: 2.6rem;
  }
  .bdds-about-hero-art-circles {
    min-height: 305px !important;
    margin-top: -.25rem;
  }
  .bdds-about-portrait-circle {
    width: min(39vw, 180px) !important;
  }
  .bdds-about-portrait-ben {
    left: 4% !important;
    bottom: 7% !important;
  }
  .bdds-about-portrait-ian {
    right: 4% !important;
    top: 8% !important;
  }

  /* LESSONS ---------------------------------------------------- */
  .bdds-page-hero.bdds-lessons-hero {
    padding-block: 2.6rem 0;
  }
  .bdds-lessons-hero .bdds-page-hero-grid {
    min-height: 0;
    gap: .75rem;
  }
  .bdds-lessons-hero-art {
    min-height: 235px !important;
  }
  .bdds-lessons-hero-art::before {
    left: -35%;
    right: -35%;
    height: 82px;
    bottom: 10%;
  }
  .bdds-lessons-hero-art::after {
    left: -35%;
    right: -35%;
    bottom: calc(10% + 40px);
  }
  .bdds-lessons-hero-art .bdds-road-line-one {
    bottom: calc(10% + 12px);
  }
  .bdds-lessons-hero-art img {
    width: min(108vw, 500px) !important;
    left: 50%;
    transform: translate(-50%, 5%);
    max-width: none;
  }
  .bdds-pricing-wrap {
    padding-top: 2rem;
  }
  .bdds-pricing-section {
    margin-block: 2.4rem;
  }
  .bdds-pricing-section > h2 {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }
  .bdds-section-intro {
    line-height: 1.5;
  }
  .bdds-lesson-info-section .bdds-info-grid {
    gap: .9rem;
  }
  .bdds-lessons-page .bdds-lesson-info-section .bdds-info-card {
    min-height: 0;
    padding: 1.3rem !important;
    border-radius: 18px;
  }

  /* TESTIMONIALS ---------------------------------------------- */
  .bdds-testimonial-grid {
    grid-template-columns: 1fr;
    gap: 1.35rem;
    padding: .4rem 0 1rem;
  }
  .bdds-testimonial-grid .bdds-testimonial:last-child:nth-child(odd) {
    grid-column: auto;
  }
  .bdds-testimonial {
    min-height: 0;
    padding: 1.25rem !important;
    border-radius: 20px 6px 20px 20px;
    box-shadow: 0 12px 26px rgba(0,0,0,.13) !important;
  }
  .bdds-testimonial blockquote {
    font-size: .98rem;
    line-height: 1.55;
  }
  .bdds-testimonial figcaption {
    margin-top: 1rem;
    padding-top: .8rem;
  }
  .bdds-testimonial::after {
    bottom: -14px;
    width: 22px;
    height: 16px;
  }

  /* BOOKING / AMELIA ------------------------------------------ */
  .bdds-booking-hero {
    padding-block: 2.5rem 4rem;
  }
  .bdds-booking-hero-grid {
    gap: .75rem;
  }
  .bdds-booking-hero h1 {
    font-size: clamp(3rem, 12vw, 4.3rem);
    line-height: .95;
    text-wrap: balance;
  }
  .bdds-booking-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: .4rem;
  }
  .bdds-booking-steps span {
    justify-content: center;
    min-width: 0;
    padding: .45rem .35rem;
    font-size: .75rem;
    line-height: 1.2;
    text-align: center;
  }
  .bdds-booking-steps b {
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
  }
  .bdds-booking-hero-art {
    min-height: 185px;
  }
  .bdds-booking-hero-art img {
    width: min(105vw, 520px) !important;
    bottom: -2.8rem !important;
  }
  .bdds-booking-section .bdds-container {
    width: 100%;
  }
  .bdds-booking-panel {
    width: 100%;
    margin-top: -1.5rem;
    border-radius: 0;
    box-shadow: none;
  }
  .bdds-booking-panel-heading {
    padding: .85rem 1rem;
  }
  .bdds-booking-area {
    font-size: .78rem;
  }
  .bdds-booking-panel-body {
    padding: .35rem 0;
    overflow-x: clip;
  }
  .bdds-booking-panel-body :is(
    .amelia-app-booking,
    [id^="amelia-app-booking"],
    [id^="amelia-step-booking"],
    .am-fs__wrapper,
    .am-cab__wrapper,
    [class*="am-catalog"]
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* CONTACT / FORMS ------------------------------------------- */
  .bdds-contact-hero {
    padding-block: 2.75rem;
  }
  .bdds-contact-quick-card,
  .bdds-contact-guide,
  .bdds-contact-form-card {
    border-radius: 20px;
  }
  .bdds-contact-quick-card,
  .bdds-contact-guide,
  .bdds-contact-form-card {
    padding: 1.25rem;
  }
  .bdds-contact-quick-row {
    min-height: 48px;
    overflow-wrap: anywhere;
  }
  .bdds-contact-form-card h2 {
    font-size: clamp(2rem, 9vw, 2.75rem);
  }
  .bdds-contact-form-wrap .wpforms-field-row,
  .bdds-contact-form-wrap .wpforms-field-row-block,
  .bdds-contact-form-wrap .wpforms-one-half,
  .bdds-contact-form-wrap .wpforms-one-third,
  .bdds-contact-form-wrap .wpforms-two-thirds {
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .bdds-contact-form-wrap button.wpforms-submit,
  .bdds-contact-form-wrap input[type="submit"] {
    width: 100% !important;
  }

  /* DEFENSIVE DRIVING ----------------------------------------- */
  .bdds-course-hero {
    padding-block: 2.75rem 1.5rem;
  }
  .bdds-course-hero-art {
    min-height: 225px;
    margin-top: .5rem;
  }
  .bdds-course-hero-art img {
    width: min(108vw, 520px);
    left: 50%;
    transform: translateX(-50%);
    bottom: 3%;
  }
  .bdds-course-events-card {
    padding: .8rem;
    border-radius: 20px;
  }
  .bdds-course-events-body {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .bdds-course-payment-card {
    border-radius: 18px;
  }

  /* CTA + FOOTER ---------------------------------------------- */
  .bdds-cta-inner {
    gap: 1.25rem;
  }
  .bdds-cta-inner h2 {
    font-size: clamp(2.15rem, 10vw, 3rem);
  }
  .bdds-site-footer {
    margin-top: 0;
    padding: 2.2rem 1rem max(1.4rem, env(safe-area-inset-bottom));
  }
  .bdds-footer-inner {
    gap: 1.5rem;
  }
  .bdds-footer-logo img {
    width: min(270px, 82vw);
  }
  .bdds-footer-nav a,
  .bdds-footer-contact a,
  .bdds-footer-contact span {
    min-height: 44px;
    align-items: center;
  }
  .bdds-footer-contact a,
  .bdds-footer-contact span {
    overflow-wrap: anywhere;
  }
  .bdds-footer-bottom {
    margin-top: 1.5rem;
  }
}

@media (max-width: 520px) {
  .bdds-container,
  .bdds-hero {
    width: min(100% - 1.25rem, var(--bdds-content-max, 1180px));
  }
  .bdds-section {
    padding-block: 2.35rem;
  }
  .bdds-section-kicker {
    font-size: .72rem;
    letter-spacing: .09em;
  }
  .bdds-section-kicker::before {
    width: 1.35rem;
  }

  .bdds-home-page .bdds-hero-actions {
    grid-template-columns: 1fr;
    width: 100%;
  }
  .bdds-home-page .bdds-hero-art {
    min-height: 205px !important;
  }
  .bdds-home-page .bdds-hero-car {
    width: 112vw !important;
    bottom: .35rem !important;
  }
  .bdds-home-road {
    width: 205vw !important;
    right: -53vw !important;
    height: 70px !important;
  }

  .bdds-about-hero-art-circles {
    min-height: 275px !important;
  }
  .bdds-about-portrait-circle {
    width: min(41vw, 158px) !important;
    box-shadow: 0 12px 22px rgba(20,58,80,.14), 0 0 0 4px #fff;
  }

  .bdds-lessons-hero-art {
    min-height: 205px !important;
  }
  .bdds-lessons-hero-art img {
    width: 112vw !important;
  }

  .bdds-booking-steps {
    grid-template-columns: 1fr;
  }
  .bdds-booking-steps span {
    justify-content: flex-start;
    padding: .5rem .65rem;
    text-align: left;
  }
  .bdds-booking-hero-art {
    min-height: 160px;
  }
  .bdds-booking-hero-art img {
    width: 112vw !important;
  }
  .bdds-booking-panel-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .bdds-testimonial {
    padding: 1.1rem !important;
  }

  .bdds-footer-bottom {
    display: grid;
    grid-template-columns: 1fr;
  }
  .bdds-footer-credit {
    justify-self: start;
  }
}

/* Touch devices do not benefit from hover-only movement. */
@media (hover: none) and (pointer: coarse) {
  .bdds-offer-card:hover,
  .bdds-button:hover {
    transform: none;
  }
}

/* ================================================================
   v0.13.8 — simplified branded Blocksy mobile navigation
   Keeps Blocksy's native off-canvas behaviour and WordPress menu source,
   but pares the drawer back to a cleaner BDDS treatment.
   ================================================================ */
@media (max-width: 999px) {
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav {
    --bdds-nav-panel-width: min(90vw, 430px);
    --bdds-nav-pad: clamp(1.35rem, 5.5vw, 2rem);
  }

  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-panel-inner {
    width: var(--bdds-nav-panel-width) !important;
    max-width: var(--bdds-nav-panel-width) !important;
    min-height: 100dvh;
    overflow: hidden;
    background: var(--bdds-charcoal, #2b2b2b) !important;
    color: #fff;
    box-shadow: -24px 0 70px rgba(0,0,0,.28);
  }

  /* One restrained brand field instead of multiple floating blocks. */
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-panel-inner::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0 0 auto 0;
    height: clamp(175px, 24vh, 225px);
    background: var(--bdds-ink, #143a50);
    pointer-events: none;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-panel-inner::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: clamp(174px, 24vh, 224px);
    left: 0;
    width: 78px;
    height: 5px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(90deg, var(--bdds-green, #54ea6c) 0 62%, var(--bdds-orange, #ff6e00) 62% 100%);
    pointer-events: none;
  }

  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-panel-actions {
    position: absolute;
    z-index: 12;
    top: max(1rem, env(safe-area-inset-top));
    right: 1rem;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-toggle-close {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-toggle-close:hover,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-toggle-close:focus-visible {
    border-color: var(--bdds-green, #54ea6c) !important;
    background: rgba(84,234,108,.11) !important;
    color: var(--bdds-green, #54ea6c) !important;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-toggle-close svg {
    width: 18px;
    height: 18px;
  }

  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-panel-content[data-device="mobile"] {
    height: 100dvh;
    padding: 0 !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(84,234,108,.4) transparent;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .ct-panel-content[data-device="mobile"] .ct-panel-content-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    gap: 0;
    padding: max(1.2rem, env(safe-area-inset-top)) var(--bdds-nav-pad) max(1.35rem, env(safe-area-inset-bottom));
  }

  /* Legacy decorative nodes are kept by JS for backwards safety, but hidden. */
  .bdds-mobile-nav-shapes { display: none !important; }

  .bdds-mobile-nav-brand {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    min-height: 82px;
    padding-right: 58px;
    margin-bottom: clamp(1.55rem, 5vh, 2.25rem);
  }
  .bdds-mobile-nav-brand-link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
  }
  .bdds-mobile-nav-brand img {
    display: block;
    width: min(235px, 66vw);
    max-height: 76px;
    object-fit: contain;
    object-position: left center;
  }

  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu {
    position: relative;
    z-index: 3;
    width: 100%;
    margin: 0;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu > ul {
    display: grid;
    gap: .18rem;
    margin: 0;
    padding: 0;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu li {
    margin: 0;
    border: 0 !important;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .ct-menu-link,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 52px;
    padding: .62rem .55rem .62rem 1rem;
    border: 0 !important;
    border-radius: 10px;
    color: rgba(255,255,255,.92) !important;
    font-size: clamp(1.13rem, 5vw, 1.34rem) !important;
    font-weight: 800 !important;
    line-height: 1.15;
    letter-spacing: -.015em !important;
    text-decoration: none !important;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .ct-menu-link::before,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 0;
    border-radius: 999px;
    background: var(--bdds-green, #54ea6c);
    transform: translateY(-50%);
    transition: height .18s ease;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu li:not(.bdds-mobile-nav-booking-item) > a:hover,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu li:not(.bdds-mobile-nav-booking-item) > a:focus-visible,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .current-menu-item > a,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .current_page_item > a {
    background: rgba(20,58,80,.7) !important;
    color: #fff !important;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu li:not(.bdds-mobile-nav-booking-item) > a:hover::before,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu li:not(.bdds-mobile-nav-booking-item) > a:focus-visible::before,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .current-menu-item > a::before,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .current_page_item > a::before {
    height: 58%;
  }

  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .bdds-mobile-nav-booking-item {
    margin: .65rem 0 .55rem;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .bdds-mobile-nav-booking-link {
    justify-content: flex-start;
    gap: .72rem;
    min-height: 54px;
    padding: .68rem 1rem;
    border: 1.5px solid rgba(84,234,108,.72) !important;
    border-radius: 12px;
    background: rgba(20,58,80,.72) !important;
    color: #fff !important;
    font-size: 1.08rem !important;
    font-weight: 900 !important;
    text-align: left;
    box-shadow: none;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .bdds-mobile-nav-booking-link::before,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .bdds-mobile-nav-booking-link::after {
    display: none !important;
    content: none !important;
  }
  .bdds-mobile-nav-booking-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    border-radius: 9px;
    background: var(--bdds-green, #54ea6c);
    color: var(--bdds-charcoal, #2b2b2b);
  }
  .bdds-mobile-nav-booking-icon svg {
    display: block;
    width: 16px;
    height: 16px;
    stroke: currentColor;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .bdds-mobile-nav-booking-link:hover,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .bdds-mobile-nav-booking-link:focus-visible {
    background: rgba(84,234,108,.13) !important;
    border-color: var(--bdds-green, #54ea6c) !important;
    color: #fff !important;
    transform: none;
  }

  /* Keep Blocksy's native submenu controls usable and visually integrated. */
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .child-indicator,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .ct-toggle-dropdown-desktop,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu button {
    color: #fff !important;
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .sub-menu {
    margin: .15rem 0 .35rem .8rem;
    padding-left: .6rem;
    border-left: 1px solid rgba(255,255,255,.15);
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .sub-menu a {
    min-height: 46px;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: rgba(255,255,255,.78) !important;
  }

  .bdds-mobile-nav-meta {
    position: relative;
    z-index: 3;
    display: grid;
    gap: .1rem;
    margin-top: auto;
    padding-top: clamp(2rem, 7vh, 3.2rem);
  }
  .bdds-mobile-nav-meta::before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    margin-bottom: .85rem;
    background: linear-gradient(90deg, var(--bdds-green, #54ea6c), rgba(255,255,255,.12) 44%, transparent);
  }
  .bdds-mobile-nav-meta-label {
    margin-bottom: .35rem;
    color: var(--bdds-green, #54ea6c);
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
  }
  .bdds-mobile-nav-meta-link {
    display: flex;
    align-items: center;
    gap: .65rem;
    min-height: 42px;
    padding: .25rem 0;
    color: rgba(255,255,255,.82) !important;
    font-size: .9rem;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none !important;
  }
  .bdds-mobile-nav-meta-link i {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    border-radius: 8px;
    background: rgba(84,234,108,.11);
    color: var(--bdds-green, #54ea6c);
    font-size: .8rem;
  }
  .bdds-mobile-nav-meta-link[href]:hover,
  .bdds-mobile-nav-meta-link[href]:focus-visible {
    color: #fff !important;
  }

  body.bdds-sitekit-active .ct-drawer-canvas[data-location]::before,
  body.bdds-sitekit-active .ct-drawer-canvas::before {
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
  }
}

@media (max-width: 390px) {
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav {
    --bdds-nav-panel-width: 94vw;
    --bdds-nav-pad: 1.15rem;
  }
  .bdds-mobile-nav-brand img {
    width: min(215px, 65vw);
  }
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu .ct-menu-link,
  body.bdds-sitekit-active #offcanvas.bdds-mobile-nav .mobile-menu a {
    min-height: 50px;
    font-size: 1.1rem !important;
  }
}

/* ==========================================================
   v0.13.7 — Privacy Policy / Terms of Service
   ========================================================== */
.bdds-legal-page { background: var(--bdds-offwhite, #f8f8f9); color: var(--bdds-ink, #143a50); }
.bdds-legal-hero { position: relative; overflow: hidden; background: var(--bdds-ink, #143a50); color: #fff; }
.bdds-legal-hero-grid { min-height: 330px; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.bdds-legal-hero .bdds-section-kicker { color: var(--bdds-green, #54ea6c); }
.bdds-legal-hero h1 { margin: .3rem 0 .85rem; color: #fff; font-size: clamp(2.8rem, 6vw, 5.4rem); line-height: .94; letter-spacing: -.045em; }
.bdds-legal-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.65; }
.bdds-legal-updated { margin-top: 1.25rem; color: rgba(255,255,255,.58); font-weight: 750; font-size: .84rem; }
.bdds-legal-hero-art { min-height: 230px; position: relative; }
.bdds-legal-hero-art span { position: absolute; display: block; border-radius: 32px 8px 32px 32px; }
.bdds-legal-hero-art span:nth-child(1) { width: 58%; aspect-ratio: 1.15; background: var(--bdds-green, #54ea6c); left: 4%; top: 9%; transform: rotate(-7deg); }
.bdds-legal-hero-art span:nth-child(2) { width: 52%; aspect-ratio: 1.1; background: var(--bdds-yellow, #ffd100); right: 5%; bottom: 8%; transform: rotate(6deg); }
.bdds-legal-hero-art span:nth-child(3) { width: 28%; aspect-ratio: 1; background: var(--bdds-orange, #ff6e00); right: 3%; top: 4%; border-radius: 18px 5px 18px 18px; transform: rotate(8deg); }
.bdds-legal-main { padding-block: clamp(3rem, 6vw, 6rem); }
.bdds-legal-layout { display: grid; grid-template-columns: 230px minmax(0, 800px); justify-content: center; gap: clamp(2.25rem, 6vw, 5rem); align-items: start; }
.bdds-legal-nav { position: sticky; top: 115px; display: grid; gap: .4rem; padding: 1.15rem; background: #fff; border: 1px solid rgba(20,58,80,.1); border-radius: 18px 5px 18px 18px; box-shadow: 0 16px 42px rgba(20,58,80,.08); }
.bdds-legal-nav strong { margin-bottom: .35rem; color: var(--bdds-ink, #143a50); }
.bdds-legal-nav a { color: var(--bdds-blue, #005793); text-decoration: none; font-weight: 720; line-height: 1.25; padding: .45rem .55rem; border-radius: 9px; }
.bdds-legal-nav a:hover,.bdds-legal-nav a:focus-visible { background: rgba(84,234,108,.14); }
.bdds-legal-copy { min-width: 0; }
.bdds-legal-copy section { scroll-margin-top: 120px; padding: 0 0 2.5rem; margin: 0 0 2.5rem; border-bottom: 1px solid rgba(20,58,80,.12); }
.bdds-legal-copy section:last-child { margin-bottom: 0; border-bottom: 0; }
.bdds-legal-copy h2 { margin: 0 0 1rem; color: var(--bdds-ink, #143a50); font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.03; }
.bdds-legal-copy p,.bdds-legal-copy li { color: #334e5e; line-height: 1.75; }
.bdds-legal-copy p { margin: .75rem 0; }
.bdds-legal-copy ul { margin: 1rem 0 0; padding-left: 1.25rem; }
.bdds-legal-copy li + li { margin-top: .55rem; }
.bdds-legal-copy a { color: var(--bdds-blue, #005793); font-weight: 750; text-underline-offset: .17em; }
.bdds-legal-policy-callout { margin: 1rem 0 1.25rem; padding: 1.25rem 1.4rem; background: #fff; border: 2px solid var(--bdds-green, #54ea6c); border-radius: 18px 5px 18px 18px; box-shadow: 0 10px 30px rgba(20,58,80,.06); }
.bdds-legal-policy-callout strong { display: block; margin-bottom: .35rem; color: var(--bdds-ink, #143a50); }
.bdds-legal-policy-callout p { margin: .2rem 0; }
.bdds-form-privacy-note { margin: .8rem 0 0 !important; color: #5d7079 !important; font-size: .82rem !important; line-height: 1.5 !important; }
.bdds-form-privacy-note a { font-weight: 750; }
.bdds-footer-legal { display: inline-flex; gap: 1rem; align-items: center; }
.bdds-footer-legal a { color: rgba(255,255,255,.72); font-size: .8rem; font-weight: 700; text-decoration: none; }
.bdds-footer-legal a:hover,.bdds-footer-legal a:focus-visible { color: var(--bdds-green, #54ea6c); }

@media (max-width: 820px) {
  .bdds-legal-hero-grid { grid-template-columns: 1fr; min-height: 0; padding-block: 3.25rem; }
  .bdds-legal-hero-art { display: none; }
  .bdds-legal-layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .bdds-legal-nav { position: static; grid-template-columns: repeat(2, minmax(0,1fr)); padding: .9rem; }
  .bdds-legal-nav strong { grid-column: 1 / -1; }
  .bdds-legal-copy section { scroll-margin-top: 85px; padding-bottom: 2rem; margin-bottom: 2rem; }
}
@media (max-width: 520px) {
  .bdds-legal-hero h1 { font-size: clamp(2.55rem, 13vw, 3.7rem); }
  .bdds-legal-main { padding-block: 2.2rem 3.4rem; }
  .bdds-legal-nav { grid-template-columns: 1fr; }
  .bdds-legal-copy p,.bdds-legal-copy li { line-height: 1.68; }
  .bdds-footer-legal { width: 100%; order: 2; justify-content: flex-start; }
}


/* ==========================================================
   v0.13.9 — mobile Lessons hero: road below copy, smaller car
   ========================================================== */
@media (max-width: 720px) {
  .bdds-page-hero.bdds-lessons-hero {
    padding-bottom: 0 !important;
  }

  .bdds-lessons-hero .bdds-page-hero-grid {
    align-items: start;
    gap: 0 !important;
  }

  /* Keep the road entirely inside the artwork area so it can no longer
     pass behind or obscure the headline/intro copy above it. */
  .bdds-lessons-hero-art {
    min-height: 250px !important;
    margin-top: .45rem;
    overflow: hidden !important;
  }

  .bdds-lessons-hero-art::before {
    left: -18% !important;
    right: -18% !important;
    bottom: 0 !important;
    height: 92px !important;
    transform: rotate(-1deg) !important;
  }

  .bdds-lessons-hero-art::after {
    left: -18% !important;
    right: -18% !important;
    bottom: 45px !important;
    transform: rotate(-1deg) !important;
    background: repeating-linear-gradient(
      90deg,
      #fff 0 34px,
      transparent 34px 64px
    ) !important;
  }

  .bdds-lessons-hero-art .bdds-road-line-one {
    left: -18% !important;
    bottom: 14px !important;
    width: 136% !important;
    transform: rotate(-1deg) !important;
  }

  .bdds-lessons-hero-art img {
    width: min(91vw, 430px) !important;
    left: 50% !important;
    transform: translate(-50%, 2%) !important;
    margin-top: .1rem;
  }
}

@media (max-width: 520px) {
  .bdds-lessons-hero-art {
    min-height: 225px !important;
  }

  .bdds-lessons-hero-art::before {
    height: 78px !important;
  }

  .bdds-lessons-hero-art::after {
    bottom: 38px !important;
  }

  .bdds-lessons-hero-art img {
    width: min(86vw, 390px) !important;
  }
}


/* ==========================================================
   v0.13.10 — remove mobile Lessons hero road decoration
   ========================================================== */
@media (max-width: 720px) {
  .bdds-lessons-hero-art::before,
  .bdds-lessons-hero-art::after,
  .bdds-lessons-hero-art .bdds-road-line-one,
  .bdds-lessons-hero-art .bdds-road-line-two {
    display: none !important;
  }
}

/* ==========================================================
   v0.13.11 — remove Lessons hero floating road slab globally
   ========================================================== */
/* The wide grey road pseudo-element was still appearing at tablet / narrow
   desktop widths because the earlier removal only applied below 720px.
   Remove the slab and its floating centre-dash decoration at every width.
   The subtle baseline road line and clear-cut car remain. */
.bdds-lessons-hero-art::before,
.bdds-lessons-hero-art::after {
  display: none !important;
  content: none !important;
  background: none !important;
}


/* ==========================================================
   v0.13.12 — Lessons hero artwork cleanup + cache-safe release
   ========================================================== */
.bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art::before,
.bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  width: 0 !important;
  height: 0 !important;
}
.bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art .bdds-road-line {
  display: none !important;
}
\n\n/* ==========================================================\n   v0.13.13 — restore a bottom-only Lessons hero road\n   ========================================================== */\n/* Keep the road inside the artwork column only. Earlier versions used large\n   negative insets, which let the road float behind the copy at narrow widths. */\n.bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art {\n  position: relative;\n  isolation: isolate;\n  overflow: hidden !important;\n}\n\n.bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art::before {\n  content: "" !important;\n  display: block !important;\n  position: absolute !important;\n  left: 0 !important;\n  right: 0 !important;\n  bottom: 0 !important;\n  width: auto !important;\n  height: 92px !important;\n  background: #3b4246 !important;\n  opacity: 1 !important;\n  transform: none !important;\n  border-radius: 0 !important;\n  z-index: 0 !important;\n}\n\n.bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art::after {\n  content: "" !important;\n  display: block !important;\n  position: absolute !important;\n  left: 0 !important;\n  right: 0 !important;\n  bottom: 43px !important;\n  width: auto !important;\n  height: 4px !important;\n  background: repeating-linear-gradient(\n    90deg,\n    rgba(255,255,255,.95) 0 42px,\n    transparent 42px 80px\n  ) !important;\n  opacity: 1 !important;\n  transform: none !important;\n  z-index: 1 !important;\n}\n\n.bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art img {\n  position: relative;\n  z-index: 2 !important;\n}\n\n@media (max-width: 720px) {\n  .bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art {\n    min-height: 225px !important;\n  }\n\n  .bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art::before {\n    height: 72px !important;\n  }\n\n  .bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art::after {\n    bottom: 34px !important;\n    height: 3px !important;\n    background: repeating-linear-gradient(\n      90deg,\n      rgba(255,255,255,.95) 0 30px,\n      transparent 30px 58px\n    ) !important;\n  }\n\n  .bdds-page-hero.bdds-lessons-hero .bdds-lessons-hero-art img {\n    width: min(84vw, 380px) !important;\n    left: 50% !important;\n    transform: translate(-50%, 4%) !important;\n  }\n}\n