/*
 * Public Buckland Books home
 * Scoped so the legacy app chrome and floating enquiry chat remain isolated.
 */
.bb-home {
  --bb-cream: var(--buckland-canvas);
  --bb-paper: var(--buckland-paper);
  --bb-paper-soft: var(--buckland-paper-soft);
  --bb-ink: var(--buckland-ink);
  --bb-muted: var(--buckland-muted);
  --bb-coral: var(--buckland-coral);
  --bb-coral-dark: var(--buckland-coral-strong);
  --bb-rose: var(--buckland-coral-soft);
  --bb-sage: var(--buckland-sage);
  --bb-sage-soft: var(--buckland-sage-soft);
  --bb-line: var(--buckland-line);
  --bb-navy: var(--buckland-navy);
  --bb-navy-light: #34464d;
  background: var(--bb-cream);
  color: var(--bb-ink);
  font-family: var(--buckland-font-sans);
  font-size: 16px;
  line-height: 1.5;
  overflow: clip;
}

.bb-home *,
.bb-home *::before,
.bb-home *::after {
  box-sizing: border-box;
}

.bb-home a {
  border: 0;
  color: inherit;
  text-decoration: none;
}

.bb-home a:hover {
  border: 0;
  color: inherit !important;
}

.bb-home button {
  appearance: none;
  border: 0;
  cursor: pointer;
  font: inherit;
}

.bb-home h1,
.bb-home h2,
.bb-home h3,
.bb-home p,
.bb-home ul,
.bb-home ol {
  margin: 0;
}

.bb-home h1,
.bb-home h2,
.bb-home h3,
.bb-home strong {
  color: inherit;
}

.bb-home ul,
.bb-home ol {
  list-style: none;
  padding: 0;
}

.bb-home :focus-visible {
  outline: 3px solid #1a6d9d;
  outline-offset: 4px;
}

.bb-home-shell {
  margin-inline: auto;
  width: min(var(--buckland-content-width), calc(100% - 48px));
}

.bb-home section[id] {
  scroll-margin-top: 6.5rem;
}

.bb-home-skip {
  background: var(--bb-paper);
  border-radius: 0 0 12px 12px;
  color: var(--bb-ink) !important;
  font-weight: 800;
  left: 1rem;
  padding: .7rem 1rem;
  position: fixed;
  top: -5rem;
  transition: top .18s ease;
  z-index: 100;
}

.bb-home-skip:focus {
  top: 0;
}

.bb-home-header {
  align-items: center;
  display: flex;
  gap: 1.875rem;
  isolation: isolate;
  justify-content: space-between;
  margin-inline: auto;
  min-height: var(--buckland-header-height);
  position: sticky;
  top: 0;
  width: min(var(--buckland-header-width), calc(100% - 48px));
  z-index: 40;
}

.bb-home-header::before {
  backdrop-filter: blur(18px);
  background: color-mix(in srgb, var(--bb-cream) 92%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--bb-ink) 12%, transparent);
  content: "";
  inset: 0 calc((100% - 100vw) / 2);
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

.bb-home-brand {
  align-items: flex-start;
  display: inline-flex;
  flex: 0 0 auto;
}

.bb-home-brand strong,
.bb-home-brand small {
  display: block;
}

.bb-home-brand strong {
  font-family: var(--buckland-font-display);
  font-size: var(--buckland-brand-name-size);
  font-weight: var(--buckland-brand-name-weight);
  letter-spacing: var(--buckland-brand-name-tracking);
  line-height: var(--buckland-brand-name-line-height);
}

.bb-home-brand small {
  color: var(--bb-muted);
  font-size: var(--buckland-brand-tagline-size);
  font-weight: var(--buckland-brand-tagline-weight);
  letter-spacing: var(--buckland-brand-tagline-tracking);
  line-height: var(--buckland-brand-tagline-line-height);
  margin-top: var(--buckland-brand-gap);
}

.bb-home-nav {
  align-items: center;
  color: #55514c;
  display: flex;
  font-size: .8rem;
  font-weight: 800;
  gap: 1.55rem;
}

.bb-home-nav a,
.bb-home-login,
.bb-home-footer-links a {
  transition: color .16s ease;
}

.bb-home-nav a:hover,
.bb-home-login:hover,
.bb-home-footer-links a:hover {
  color: var(--bb-coral-dark) !important;
}

.bb-home-header-actions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 1rem;
}

.bb-home-login {
  color: var(--bb-ink);
  font-size: .8rem;
  font-weight: 800;
}

.bb-home-button {
  align-items: center;
  border-radius: .7rem;
  display: inline-flex;
  font-size: .82rem;
  font-weight: 800;
  gap: .55rem;
  justify-content: center;
  line-height: 1.25;
  min-height: 2.75rem;
  padding: .7rem 1rem;
  text-align: center;
  transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}

.bb-home-button:hover {
  transform: translateY(-1px);
}

.bb-home-button-primary {
  background: var(--bb-ink);
  box-shadow: 0 .7rem 1.5rem rgba(37, 37, 34, .12);
  color: #fff !important;
}

.bb-home-button-primary:hover {
  background: #3a3a36;
}

.bb-home-button-secondary {
  background: transparent;
  border: 1px solid var(--bb-line);
  color: var(--bb-ink) !important;
}

.bb-home-button-secondary:hover {
  background: var(--bb-paper);
}

.bb-home-button-coral {
  background: var(--bb-coral-dark);
  color: #fff !important;
}

.bb-home-button-coral:hover {
  background: var(--buckland-coral-deep);
}

.bb-home-button-cream {
  background: var(--bb-paper);
  color: var(--bb-ink) !important;
}

.bb-home-button-cream:hover {
  background: #fff7eb;
}

.bb-home-mobile-menu {
  display: none;
  position: relative;
}

.bb-home-mobile-menu summary {
  align-items: center;
  background: var(--bb-paper);
  border: 1px solid var(--bb-line);
  border-radius: .7rem;
  cursor: pointer;
  display: flex;
  font-size: .82rem;
  font-weight: 800;
  gap: .55rem;
  list-style: none;
  min-height: 2.6rem;
  padding: .55rem .75rem;
}

.bb-home-mobile-menu summary::-webkit-details-marker {
  display: none;
}

.bb-home-mobile-menu summary span {
  color: var(--bb-coral-dark);
  font-size: 1.2rem;
  transition: transform .16s ease;
}

.bb-home-mobile-menu[open] summary span {
  transform: rotate(45deg);
}

.bb-home-mobile-menu nav {
  background: var(--bb-paper);
  border: 1px solid var(--bb-line);
  border-radius: 1rem;
  box-shadow: 0 1.5rem 3.75rem rgba(50, 39, 31, .2);
  display: grid;
  padding: .75rem;
  position: absolute;
  right: 0;
  top: calc(100% + .75rem);
  width: min(19.4rem, calc(100vw - 2rem));
}

.bb-home-mobile-menu nav a,
.bb-home-mobile-menu nav button {
  background: transparent;
  border-bottom: 1px solid #eee7df;
  color: var(--bb-ink);
  font-size: .9rem;
  font-weight: 800;
  padding: .8rem .75rem;
  text-align: left;
}

.bb-home-mobile-menu nav a:last-of-type {
  border-bottom: 0;
}

.bb-home-mobile-menu .bb-home-menu-cta {
  background: var(--bb-coral-dark);
  border: 0;
  border-radius: .65rem;
  color: #fff !important;
  margin-top: .5rem;
  text-align: center;
}

.bb-home-hero {
  align-items: center;
  display: grid;
  gap: clamp(2.9rem, 7vw, 6.25rem);
  grid-template-columns: .93fr 1.07fr;
  min-height: 45.9rem;
  padding-block: 4.5rem 6.1rem;
}

.bb-home-eyebrow {
  color: var(--bb-coral-dark);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .13em;
  line-height: 1.35;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

.bb-home-hero h1,
.bb-home-section-heading h2,
.bb-home-mixed-copy h2,
.bb-home-teacher-copy h2,
.bb-home-faq-intro h2,
.bb-home-final-cta h2,
.bb-home-guardrails h2 {
  font-family: "Roboto Slab", Georgia, serif;
  font-weight: 700;
  letter-spacing: -.05em;
  line-height: 1.04;
}

.bb-home-hero h1 {
  font-size: clamp(3.1rem, 6.5vw, 5.5rem);
  max-width: 43rem;
}

.bb-home-hero h1 span {
  color: var(--bb-coral-dark);
  display: block;
}

.bb-home-hero-intro {
  color: #5f5b55;
  font-size: 1rem;
  line-height: 1.78;
  margin-top: 1.8rem;
  max-width: 40rem;
}

.bb-home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 2.25rem;
}

.bb-home-hero-note {
  color: #706960;
  font-size: .8rem;
  font-weight: 800;
  line-height: 1.6;
  margin-top: 1.1rem;
}

.bb-home-product {
  align-items: center;
  display: grid;
  min-height: 34rem;
  position: relative;
}

.bb-home-product::before {
  border: 3.25rem solid var(--bb-coral);
  border-radius: 50%;
  content: "";
  height: 26.25rem;
  opacity: .13;
  position: absolute;
  right: -5rem;
  top: .6rem;
  width: 26.25rem;
}

.bb-home-product::after {
  background: #e8ded2;
  border-radius: 50% 45% 53% 47% / 46% 54%;
  content: "";
  inset: 4.7rem 1.25rem 2.2rem .25rem;
  position: absolute;
  transform: rotate(4deg);
}

.bb-home-product-window {
  background: var(--bb-paper);
  border: 1px solid rgba(37, 37, 34, .13);
  border-radius: 1.2rem;
  box-shadow: 0 1.75rem 4.7rem rgba(37, 37, 34, .17);
  overflow: hidden;
  position: relative;
  transform: rotate(-1.3deg);
  width: min(100%, 39rem);
  z-index: 2;
}

.bb-home-mockup-disclosure,
.bb-home-board-disclosure {
  background: #f5e7e2;
  color: #8e4d45;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .03em;
  margin: 0;
  padding: .62rem 1.1rem;
  text-align: center;
}

.bb-home-window-bar {
  align-items: center;
  border-bottom: 1px solid var(--bb-line);
  color: var(--bb-muted);
  display: grid;
  font-size: .72rem;
  font-weight: 800;
  grid-template-columns: 1fr auto 1fr;
  min-height: 3.5rem;
  padding: 0 1.25rem;
}

.bb-home-window-dots {
  display: flex;
  gap: .35rem;
}

.bb-home-window-dots i {
  background: #d9d0c6;
  border-radius: 50%;
  display: block;
  height: .48rem;
  width: .48rem;
}

.bb-home-live-pill,
.bb-home-secure-label,
.bb-home-ready-label,
.bb-home-evidence-chip {
  align-items: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: .68rem;
  font-weight: 800;
  gap: .35rem;
  padding: .36rem .52rem;
}

.bb-home-live-pill,
.bb-home-secure-label,
.bb-home-ready-label {
  background: var(--bb-sage-soft);
  color: #55705d;
  justify-self: end;
}

.bb-home-live-pill i {
  background: #6f9578;
  border-radius: 50%;
  height: .35rem;
  width: .35rem;
}

.bb-home-window-body {
  padding: 1.4rem 1.25rem 1.6rem;
}

.bb-home-class-summary {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.25rem;
}

.bb-home-class-summary span,
.bb-home-recent-skill span {
  color: var(--bb-muted);
  display: block;
  font-size: .68rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.bb-home-class-summary strong {
  display: block;
  font-size: 1rem;
  letter-spacing: -.025em;
  margin-top: .25rem;
}

.bb-home-mockup-button {
  background: #faf7f2;
  border: 1px solid var(--bb-line);
  border-radius: .55rem;
  color: var(--bb-muted);
  font-size: .68rem;
  font-weight: 800;
  padding: .5rem .7rem;
}

.bb-home-learner-list {
  display: grid;
  gap: .65rem;
}

.bb-home-learner-row {
  align-items: center;
  background: var(--bb-paper-soft);
  border: 1px solid rgba(221, 213, 202, .76);
  border-radius: .75rem;
  display: grid;
  gap: .65rem;
  grid-template-columns: 2rem 1fr 1fr auto;
  padding: .62rem .7rem;
}

.bb-home-learner-row-featured {
  background: #fff7f2;
  border-color: #efc6bc;
}

.bb-home-avatar {
  align-items: center;
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: .68rem;
  font-weight: 800;
  height: 2rem;
  place-items: center;
  width: 2rem;
}

.bb-home-avatar-coral { background: var(--bb-coral-dark); }
.bb-home-avatar-ink { background: #40535b; }
.bb-home-avatar-sage { background: var(--buckland-sage-strong); }

.bb-home-learner-name strong,
.bb-home-recent-skill strong {
  display: block;
  font-size: .72rem;
}

.bb-home-learner-name span {
  color: var(--bb-muted);
  display: block;
  font-size: .68rem;
  margin-top: .25rem;
}

.bb-home-recent-skill strong {
  margin-top: .25rem;
}

.bb-home-evidence-chip {
  justify-content: center;
}

.bb-home-evidence-building { background: #f8e7dc; color: #a85642; }
.bb-home-evidence-secure { background: var(--bb-sage-soft); color: #55705d; }
.bb-home-evidence-review { background: #e8edf1; color: #4e6571; }

.bb-home-practice-card {
  background: var(--bb-paper);
  border: 1px solid rgba(37, 37, 34, .12);
  border-radius: 1rem;
  bottom: -1rem;
  box-shadow: 0 1.5rem 3.4rem rgba(37, 37, 34, .17);
  left: -1rem;
  padding: 1rem;
  position: absolute;
  transform: rotate(2.5deg);
  width: 18rem;
  z-index: 3;
}

.bb-home-practice-card-top {
  align-items: center;
  color: var(--bb-muted);
  display: flex;
  font-size: .68rem;
  justify-content: space-between;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.bb-home-practice-card-top strong {
  font-size: inherit;
}

.bb-home-practice-card > p {
  font-size: .82rem;
  font-weight: 800;
  margin: 1.1rem 0 .65rem;
}

.bb-home-mini-answer {
  align-items: center;
  border: 1px solid var(--bb-line);
  border-radius: .55rem;
  display: flex;
  font-size: .68rem;
  gap: .5rem;
  margin-top: .45rem;
  min-height: 2.45rem;
  padding: .5rem .6rem;
}

.bb-home-mini-answer-muted {
  color: #867f77;
}

.bb-home-mini-answer-correct {
  background: #f3f8f2;
  border-color: #b8d3bb;
}

.bb-home-mini-answer-correct span {
  align-items: center;
  background: #71927a;
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: .68rem;
  height: 1.1rem;
  place-items: center;
  width: 1.1rem;
}

.bb-home-practice-card small {
  color: #746d65;
  display: block;
  font-size: .68rem;
  line-height: 1.5;
  margin-top: .75rem;
}

.bb-home-signal-band {
  background: var(--bb-paper);
  border-bottom: 1px solid var(--bb-line);
  border-top: 1px solid var(--bb-line);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.bb-home-signal-band > div {
  align-items: flex-start;
  border-right: 1px solid var(--bb-line);
  display: flex;
  flex-direction: column;
  min-height: 7.6rem;
  padding: 1.5rem max(1rem, calc((100vw - 1200px) / 2));
}

.bb-home-signal-band > div:first-child {
  padding-left: max(1.5rem, calc((100vw - 1200px) / 2));
}

.bb-home-signal-band > div:last-child {
  border-right: 0;
  padding-right: max(1.5rem, calc((100vw - 1200px) / 2));
}

.bb-home-signal-band strong {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.1rem;
  letter-spacing: -.02em;
}

.bb-home-signal-band span {
  color: var(--bb-muted);
  font-size: .8rem;
  line-height: 1.45;
  margin-top: .38rem;
  max-width: 13.75rem;
}

.bb-home-platform,
.bb-home-pathway,
.bb-home-teachers,
.bb-home-faq {
  padding-block: 7.8rem;
}

.bb-home-section-heading {
  display: grid;
  gap: 4rem;
  grid-template-columns: 1fr 1fr;
}

.bb-home-section-heading h2,
.bb-home-mixed-copy h2,
.bb-home-teacher-copy h2,
.bb-home-faq-intro h2,
.bb-home-final-cta h2,
.bb-home-guardrails h2 {
  font-size: clamp(2.45rem, 4.7vw, 3.85rem);
}

.bb-home-section-heading > p,
.bb-home-pathway-heading > p:last-child,
.bb-home-teacher-copy > p:not(.bb-home-eyebrow),
.bb-home-faq-intro > p:last-child {
  color: var(--bb-muted);
  font-size: .95rem;
  line-height: 1.82;
}

.bb-home-platform-grid {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 4.2rem;
}

.bb-home-platform-card {
  background: var(--bb-paper);
  border: 1px solid var(--bb-line);
  border-radius: 1.1rem;
  display: flex;
  flex-direction: column;
  min-height: 26.2rem;
  overflow: hidden;
  padding: 1.55rem;
  position: relative;
}

.bb-home-platform-card::before {
  background: linear-gradient(135deg, rgba(237, 111, 98, .19), transparent 66%);
  content: "";
  inset: 0;
  opacity: .8;
  pointer-events: none;
  position: absolute;
}

.bb-home-platform-card-writing::before {
  background: linear-gradient(135deg, rgba(115, 136, 121, .24), transparent 64%);
}

.bb-home-platform-card-exam::before {
  background: linear-gradient(135deg, rgba(38, 52, 58, .18), transparent 64%);
}

.bb-home-card-index,
.bb-home-module-label,
.bb-home-platform-card h3,
.bb-home-platform-card > p,
.bb-home-tag-list,
.bb-home-writing-flow,
.bb-home-exam-stages {
  position: relative;
  z-index: 1;
}

.bb-home-card-index {
  color: #a49a8f;
  font-size: .75rem;
  font-weight: 800;
  position: absolute;
  right: 1.55rem;
  top: 1.55rem;
}

.bb-home-module-label {
  color: var(--bb-coral-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bb-home-platform-card h3 {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.55rem;
  letter-spacing: -.045em;
  line-height: 1.14;
  margin-top: 5.25rem;
  max-width: 20rem;
}

.bb-home-platform-card > p {
  color: var(--bb-muted);
  font-size: .92rem;
  line-height: 1.72;
  margin-top: 1rem;
}

.bb-home-tag-list,
.bb-home-exam-stages {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: auto;
  padding-top: 1.75rem;
  position: relative;
}

.bb-home-tag-list span,
.bb-home-exam-stages span,
.bb-home-writing-flow span {
  background: rgba(244, 239, 231, .9);
  border-radius: 999px;
  color: #645f58;
  font-size: .75rem;
  font-weight: 800;
  padding: .5rem .62rem;
}

.bb-home-writing-flow {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin-top: auto;
  padding-top: 1.75rem;
  position: relative;
}

.bb-home-writing-flow span {
  background: var(--bb-paper-soft);
  border: 1px solid var(--bb-line);
  border-radius: .5rem;
}

.bb-home-writing-flow i {
  color: var(--bb-coral-dark);
  font-style: normal;
}

.bb-home-mixed {
  background: var(--bb-navy);
  color: #edf2ed;
  padding-block: 7.2rem;
}

.bb-home-mixed-shell {
  align-items: center;
  display: grid;
  gap: clamp(3.4rem, 9vw, 7.8rem);
  grid-template-columns: .92fr 1.08fr;
}

.bb-home-mixed .bb-home-eyebrow {
  color: #f49689;
}

.bb-home-mixed-copy > p:not(.bb-home-eyebrow) {
  color: #bdc7c9;
  font-size: .95rem;
  line-height: 1.82;
  margin-top: 1.75rem;
  max-width: 37rem;
}

.bb-home-feature-list {
  display: grid;
  gap: 1rem;
  margin-top: 2.2rem;
}

.bb-home-feature-list li {
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, .16);
  display: grid;
  gap: .8rem;
  grid-template-columns: 2.15rem 1fr;
  padding-top: 1rem;
}

.bb-home-feature-list li > span {
  color: #f49689;
  font-size: .72rem;
  font-weight: 800;
}

.bb-home-feature-list strong,
.bb-home-feature-list small {
  display: block;
}

.bb-home-feature-list strong {
  font-size: .94rem;
}

.bb-home-feature-list small {
  color: #bac4c6;
  font-size: .8rem;
  line-height: 1.5;
  margin-top: .25rem;
}

.bb-home-pathway-selector {
  background: #2e3e45;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 1.45rem;
  box-shadow: 0 1.9rem 4rem rgba(9, 17, 20, .25);
  padding: 1.9rem;
}

.bb-home-selector-header {
  align-items: center;
  color: #b9c4c6;
  display: flex;
  font-size: .68rem;
  font-weight: 800;
  justify-content: space-between;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bb-home-selector-header strong {
  color: #eef2ed;
  font-size: .68rem;
}

.bb-home-selector-scale {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin: 2rem 0 1.1rem 6rem;
}

.bb-home-selector-scale span {
  color: #a9b7ba;
  font-size: .63rem;
  text-align: center;
}

.bb-home-selector-person {
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, .12);
  display: grid;
  gap: .7rem;
  grid-template-columns: 2.15rem 7.8rem 1fr;
  min-height: 4.55rem;
}

.bb-home-selector-person > span {
  align-items: center;
  background: #40535b;
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: .68rem;
  font-weight: 800;
  height: 2.15rem;
  place-items: center;
  width: 2.15rem;
}

.bb-home-selector-person strong,
.bb-home-selector-person small {
  display: block;
}

.bb-home-selector-person strong { font-size: .75rem; }
.bb-home-selector-person small { color: #b5c0c2; font-size: .68rem; margin-top: .25rem; }

.bb-home-selector-person i {
  background: linear-gradient(90deg, var(--bb-coral) 0 38%, #5c6d71 38% 100%);
  border-radius: 999px;
  height: .42rem;
}

.bb-home-selector-person-foundation i {
  background: linear-gradient(90deg, var(--bb-coral) 0 54%, #5c6d71 54% 100%);
}

.bb-home-selector-person-intermediate i {
  background: linear-gradient(90deg, var(--bb-coral) 0 75%, #5c6d71 75% 100%);
}

.bb-home-pathway-selector > p {
  color: #b5c0c2;
  font-size: .68rem;
  font-weight: 700;
  margin-top: 1rem;
  text-align: right;
}

.bb-home-pathway-heading {
  max-width: 49rem;
}

.bb-home-pathway-heading > p:last-child {
  margin-top: 1.55rem;
  max-width: 43rem;
}

.bb-home-pathway-list {
  border-top: 1px solid var(--bb-line);
  margin-top: 3.9rem;
}

.bb-home-pathway-item {
  align-items: center;
  border-bottom: 1px solid var(--bb-line);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 4.5rem 13.1rem 1fr;
  min-height: 9.4rem;
  padding: 1.7rem 1.5rem 1.7rem 0;
}

.bb-home-pathway-item-active {
  background: rgba(255, 253, 249, .58);
  border-radius: .9rem;
  margin-inline: -1.1rem;
  padding-left: 1.1rem;
}

.bb-home-pathway-number {
  color: #aa9f94;
  font-size: .75rem;
  font-weight: 800;
}

.bb-home-pathway-meta strong,
.bb-home-pathway-meta span {
  display: block;
}

.bb-home-pathway-meta strong {
  color: var(--bb-coral-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bb-home-pathway-meta span {
  color: var(--bb-muted);
  font-size: .75rem;
  margin-top: .45rem;
}

.bb-home-pathway-content h3 {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.24rem;
  letter-spacing: -.035em;
}

.bb-home-pathway-content p {
  color: var(--bb-muted);
  font-size: .9rem;
  line-height: 1.65;
  margin-top: .55rem;
  max-width: 41.8rem;
}

.bb-home-pathway-note {
  color: #655f58;
  font-size: .82rem;
  line-height: 1.65;
  margin-top: 1.7rem;
  max-width: 57.5rem;
}

.bb-home-loop {
  background: var(--bb-navy);
  color: #eef2ed;
  padding-block: 7.7rem;
}

.bb-home-loop .bb-home-eyebrow {
  color: #f49689;
}

.bb-home-workflow-grid {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 4.2rem;
}

.bb-home-workflow-card {
  background: #f8f3eb;
  border-radius: 1.1rem;
  color: var(--bb-ink);
  min-height: 23rem;
  padding: 2rem;
}

.bb-home-workflow-card-writing {
  background: #e8f0e8;
}

.bb-home-workflow-title span,
.bb-home-workflow-title strong {
  display: block;
}

.bb-home-workflow-title span {
  color: var(--bb-coral-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bb-home-workflow-title strong {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.1rem;
  letter-spacing: -.02em;
  margin-top: .55rem;
}

.bb-home-workflow-card ol {
  counter-reset: workflow;
  display: grid;
  gap: 1.35rem;
  margin-top: 2rem;
}

.bb-home-workflow-card li {
  align-items: flex-start;
  display: grid;
  gap: .85rem;
  grid-template-columns: 2.1rem 1fr;
}

.bb-home-workflow-card li > span {
  color: var(--bb-coral-dark);
  font-size: .75rem;
  font-weight: 800;
}

.bb-home-workflow-card li strong {
  display: block;
  font-size: .9rem;
}

.bb-home-workflow-card li p {
  color: var(--bb-muted);
  font-size: .84rem;
  line-height: 1.65;
  margin-top: .38rem;
}

.bb-home-workflow-boundary {
  align-items: baseline;
  border-top: 1px solid rgba(255, 255, 255, .16);
  color: #c8d1d0;
  display: grid;
  gap: .55rem 1.25rem;
  grid-template-columns: 8rem minmax(0, 1fr);
  margin: 2.25rem auto 0;
  max-width: 52rem;
  padding-top: 1.1rem;
  text-align: left;
}

.bb-home-workflow-boundary-label {
  color: #f49689;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bb-home-workflow-boundary p {
  font-size: .78rem;
  line-height: 1.6;
  margin: 0;
}

.bb-home-teachers {
  align-items: center;
  display: grid;
  gap: clamp(3.4rem, 8vw, 7rem);
  grid-template-columns: .92fr 1.08fr;
}

.bb-home-teacher-copy > p:not(.bb-home-eyebrow) {
  color: var(--bb-muted);
  font-size: .95rem;
  line-height: 1.82;
  margin-top: 1.75rem;
}

.bb-home-teacher-capabilities {
  display: grid;
  gap: .75rem 1.25rem;
  grid-template-columns: repeat(2, 1fr);
  margin: 2rem 0;
}

.bb-home-teacher-capabilities div {
  align-items: flex-start;
  display: grid;
  gap: .6rem;
  grid-template-columns: 1.8rem 1fr;
}

.bb-home-teacher-capabilities span {
  color: var(--bb-coral-dark);
  font-size: .75rem;
  font-weight: 800;
}

.bb-home-teacher-capabilities strong {
  font-size: .82rem;
  line-height: 1.45;
}

.bb-home-evidence-board {
  background: var(--bb-paper);
  border: 1px solid var(--bb-line);
  border-radius: 1.45rem;
  box-shadow: 0 1.75rem 4.7rem rgba(60, 47, 39, .13);
  padding: 1.8rem;
  transform: rotate(.8deg);
}

.bb-home-evidence-board .bb-home-board-disclosure {
  border-radius: 1.4rem 1.4rem 0 0;
  margin: -1.8rem -1.8rem 1.4rem;
}

.bb-home-board-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.bb-home-board-heading div span,
.bb-home-board-heading div strong {
  display: block;
}

.bb-home-board-heading div span {
  color: var(--bb-muted);
  font-size: .68rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bb-home-board-heading div strong {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1rem;
  margin-top: .28rem;
}

.bb-home-board-metrics {
  display: grid;
  gap: .75rem;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 1.4rem;
}

.bb-home-board-metrics div {
  background: var(--bb-paper-soft);
  border: 1px solid var(--bb-line);
  border-radius: .85rem;
  padding: 1rem;
}

.bb-home-board-metrics span,
.bb-home-board-metrics strong,
.bb-home-board-metrics small {
  display: block;
}

.bb-home-board-metrics span {
  color: var(--bb-muted);
  font-size: .68rem;
}

.bb-home-board-metrics strong {
  color: var(--bb-coral-dark);
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.7rem;
  letter-spacing: -.05em;
  margin-top: .5rem;
}

.bb-home-board-metrics small {
  color: #746e66;
  font-size: .68rem;
  margin-top: .25rem;
}

.bb-home-evidence-chart {
  background: var(--bb-navy);
  border-radius: .9rem;
  color: #fff;
  margin-top: .75rem;
  padding: 1rem;
}

.bb-home-chart-title {
  align-items: center;
  color: #d7e0e0;
  display: flex;
  font-size: .68rem;
  justify-content: space-between;
}

.bb-home-chart-bars {
  align-items: end;
  display: flex;
  gap: .45rem;
  height: 7.5rem;
  margin-top: 1rem;
}

.bb-home-chart-bars i {
  background: linear-gradient(180deg, #f59a8e, #d6675c);
  border-radius: .35rem .35rem .12rem .12rem;
  display: block;
  flex: 1;
}

.bb-home-parent-update-row {
  align-items: center;
  background: #f4f8f3;
  border: 1px solid #cddfce;
  border-radius: .85rem;
  display: flex;
  gap: .65rem;
  margin-top: .75rem;
  padding: .8rem .9rem;
}

.bb-home-update-icon {
  align-items: center;
  background: #71927a;
  border-radius: 50%;
  color: #fff;
  display: grid;
  height: 1.8rem;
  place-items: center;
  width: 1.8rem;
}

.bb-home-parent-update-row strong,
.bb-home-parent-update-row small {
  display: block;
}

.bb-home-parent-update-row strong { font-size: .75rem; }
.bb-home-parent-update-row small { color: var(--bb-muted); font-size: .68rem; margin-top: .2rem; }

.bb-home-ready-label { margin-left: auto; }

.bb-home-plans {
  background: var(--bb-paper-soft);
  padding-block: 7.6rem;
}

.bb-home-plans-shell {
  align-items: start;
  display: grid;
  gap: 4.25rem;
  grid-template-columns: .66fr 1.34fr;
}

.bb-home-plans-heading > p:last-child {
  color: var(--bb-muted);
  font-size: .86rem;
  line-height: 1.75;
  margin-top: 1.55rem;
}

.bb-home-plans-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}

.bb-home-plan-card {
  background: var(--bb-paper);
  border: 1px solid var(--bb-line);
  border-radius: 1.1rem;
  display: flex;
  flex-direction: column;
  min-height: 27rem;
  padding: 1.8rem;
}

.bb-home-plan-card-featured {
  border-color: #e7afa5;
  box-shadow: 0 1rem 2.5rem rgba(185, 77, 68, .08);
}

.bb-home-plan-kicker {
  color: var(--bb-coral-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.bb-home-plan-card h3 {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.2rem;
  letter-spacing: -.035em;
  line-height: 1.25;
  margin-top: 1.2rem;
  min-height: 3rem;
}

.bb-home-plan-price {
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.75rem;
  letter-spacing: -.05em;
  margin-top: 1.35rem;
}

.bb-home-plan-price span {
  color: var(--bb-muted);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: .82rem;
  font-weight: 700;
}

.bb-home-plan-card > p {
  color: var(--bb-muted);
  font-size: .86rem;
  line-height: 1.6;
  margin-top: .7rem;
  min-height: 3.3rem;
}

.bb-home-plan-card ul {
  border-top: 1px solid var(--bb-line);
  flex: 1;
  margin: 1.5rem 0 1.7rem;
  padding-top: 1.2rem;
}

.bb-home-plan-card li {
  color: #5d5851;
  font-size: .8rem;
  line-height: 1.5;
  margin-top: .62rem;
  padding-left: 1.25rem;
  position: relative;
}

.bb-home-plan-card li::before {
  color: var(--bb-coral-dark);
  content: "✓";
  font-weight: 800;
  left: 0;
  position: absolute;
}

.bb-home-plan-card .bb-home-button {
  margin-top: auto;
  width: 100%;
}

.bb-home-plan-note {
  color: #655f58;
  font-size: .8rem;
  grid-column: 2;
  line-height: 1.6;
  margin: -2rem 0 0;
}

.bb-home-faq {
  display: grid;
  gap: clamp(3.75rem, 10vw, 8.45rem);
  grid-template-columns: .72fr 1.28fr;
}

.bb-home-faq-intro > p:last-child {
  margin-top: 1.5rem;
}

.bb-home-faq-list {
  border-top: 1px solid var(--bb-line);
}

.bb-home-faq-list details {
  border-bottom: 1px solid var(--bb-line);
}

.bb-home-faq-list summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: .94rem;
  font-weight: 800;
  gap: 1.25rem;
  justify-content: space-between;
  list-style: none;
  min-height: 5.5rem;
}

.bb-home-faq-list summary::-webkit-details-marker { display: none; }

.bb-home-faq-list summary span {
  color: var(--bb-coral-dark);
  font-size: 1.25rem;
  font-weight: 400;
  transition: transform .16s ease;
}

.bb-home-faq-list details[open] summary span { transform: rotate(45deg); }

.bb-home-faq-list details p {
  color: var(--bb-muted);
  font-size: .86rem;
  line-height: 1.75;
  margin: -.1rem 2.8rem 1.75rem 0;
}

.bb-home-guardrails {
  background: #f0ebe3;
  border-block: 1px solid var(--bb-line);
  padding-block: 5.5rem;
}

.bb-home-guardrails-grid {
  display: grid;
  gap: 1.25rem 3rem;
  grid-template-columns: .82fr 1.18fr;
}

.bb-home-guardrails h2 {
  font-size: clamp(2.05rem, 3.6vw, 3rem);
}

.bb-home-guardrails p {
  color: var(--bb-muted);
  font-size: .88rem;
  line-height: 1.75;
}

.bb-home-guardrails-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.2rem;
  margin-top: 1.25rem;
}

.bb-home-guardrails-links a {
  border-bottom: 1px solid var(--bb-coral-dark);
  color: var(--bb-ink);
  font-size: .82rem;
  font-weight: 800;
}

.bb-home-guardrails-links a:hover {
  color: var(--bb-coral-dark) !important;
}

.bb-home-terms {
  scroll-margin-top: 6.5rem;
}

.bb-home-final-cta {
  background: var(--bb-coral-dark);
  color: #fff;
  padding-block: 5.6rem;
}

.bb-home-final-cta-inner {
  align-items: center;
  display: flex;
  gap: 3.4rem;
  justify-content: space-between;
}

.bb-home-final-cta .bb-home-eyebrow { color: #fff8f4; }
.bb-home-final-cta h2 { max-width: 48rem; }

.bb-home-final-actions {
  align-items: center;
  display: flex;
  flex: none;
  flex-direction: column;
  gap: 1rem;
}

.bb-home-text-button {
  color: #fff8f4 !important;
  font-size: .8rem;
  font-weight: 800;
}

.bb-home-footer {
  background: var(--bb-ink);
  color: var(--bb-cream);
  padding: 3.6rem 0 4.9rem;
}

.bb-home-footer-grid {
  align-items: start;
  display: grid;
  gap: 2.4rem;
  grid-template-columns: 1fr auto;
}

.bb-home-footer .bb-home-brand small { color: #c4bdb5; }

.bb-home-footer-links {
  color: #d1cbc4;
  display: flex;
  flex-wrap: wrap;
  font-size: .8rem;
  font-weight: 800;
  gap: 1.5rem;
  justify-content: flex-end;
}

.bb-home-footer-grid > p {
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #bbb4ac;
  font-size: .75rem;
  grid-column: 1 / -1;
  line-height: 1.6;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

.bb-home-footer-grid > small {
  color: #aaa39c;
  font-size: .68rem;
  grid-column: 1 / -1;
}

.bb-home-mobile-cta {
  display: none;
}

@media (max-width: 1100px) {
  .bb-home-nav { display: none; }
  .bb-home-mobile-menu { display: block; }
  .bb-home-hero { grid-template-columns: 1fr; }
  .bb-home-hero-copy { max-width: 52rem; }
  .bb-home-product { margin-inline: auto; width: min(100%, 48.75rem); }
  .bb-home-platform-grid { grid-template-columns: repeat(2, 1fr); }
  .bb-home-platform-card-exam { grid-column: 1 / -1; min-height: 23.75rem; }
  .bb-home-mixed-shell,
  .bb-home-teachers { grid-template-columns: 1fr; }
  .bb-home-mixed-copy,
  .bb-home-teacher-copy { max-width: 50.6rem; }
  .bb-home-pathway-selector,
  .bb-home-evidence-board { margin-inline: auto; width: min(100%, 47.5rem); }
  .bb-home-plans-shell { grid-template-columns: 1fr; }
  .bb-home-plans-heading { max-width: 47.5rem; }
  .bb-home-plan-note { grid-column: 1; margin: 0; }
}

@media (max-width: 760px) {
  .bb-home-shell,
  .bb-home-header { width: min(100% - 32px, 1200px); }
  .bb-home-header { gap: .75rem; min-height: 4.5rem; }
  .bb-home-brand small,
  .bb-home-header-actions > .bb-home-button { display: none; }
  .bb-home-brand strong { font-size: var(--buckland-brand-name-size); }
  .bb-home-header-actions { gap: .55rem; }
  .bb-home-login { font-size: .76rem; }
  .bb-home-mobile-menu summary { font-size: .75rem; min-height: 2.45rem; padding: .45rem .6rem; }
  .bb-home-hero { gap: 3.4rem; min-height: auto; padding-block: 3.2rem 5.25rem; }
  .bb-home-hero-copy,
  .bb-home-hero-actions { min-width: 0; }
  .bb-home-hero h1 { font-size: clamp(2.8rem, 13.5vw, 4.05rem); }
  .bb-home-hero-intro { font-size: .9rem; line-height: 1.7; }
  .bb-home-hero-note { display: none; }
  .bb-home-hero-actions { display: grid; }
  .bb-home-hero-actions .bb-home-button { min-width: 0; white-space: normal; width: 100%; }
  /* The fixed walkthrough CTA already owns the strong coral treatment on phones. */
  .bb-home-hero-actions .bb-home-button-coral {
    background: var(--bb-paper);
    border: 1px solid var(--bb-coral);
    box-shadow: none;
    color: var(--bb-coral-dark) !important;
  }
  .bb-home-hero-actions .bb-home-button-coral:hover { background: #fff2eb; }
  .bb-home-product { min-height: 28.5rem; }
  .bb-home-product-window { width: 100%; }
  .bb-home-window-bar { grid-template-columns: 1fr auto; padding-inline: .85rem; }
  .bb-home-window-bar > span:nth-child(2) { display: none; }
  .bb-home-window-body { padding: 1.35rem .85rem 1.55rem; }
  .bb-home-class-summary .bb-home-mockup-button { display: none; }
  .bb-home-learner-row { grid-template-columns: 2rem 1fr auto; gap: .55rem; }
  .bb-home-recent-skill { display: none; }
  .bb-home-practice-card { bottom: -.5rem; left: .25rem; width: min(15.3rem, calc(100% - 1rem)); }
  .bb-home-signal-band { grid-template-columns: repeat(2, 1fr); }
  .bb-home-signal-band > div { border-bottom: 1px solid var(--bb-line); min-height: 5.65rem; padding: 1.1rem; }
  .bb-home-signal-band > div:first-child { padding-left: 1.1rem; }
  .bb-home-signal-band > div:last-child { border-right: 1px solid var(--bb-line); padding-right: 1.1rem; }
  .bb-home-platform,
  .bb-home-pathway,
  .bb-home-teachers,
  .bb-home-faq { padding-block: 5.45rem; }
  .bb-home-section-heading,
  .bb-home-guardrails-grid { gap: 1.75rem; grid-template-columns: 1fr; }
  .bb-home-section-heading h2,
  .bb-home-mixed-copy h2,
  .bb-home-teacher-copy h2,
  .bb-home-faq-intro h2,
  .bb-home-final-cta h2,
  .bb-home-guardrails h2 { font-size: 2.43rem; }
  .bb-home-platform-grid { grid-template-columns: 1fr; margin-top: 2.75rem; }
  .bb-home-platform-card,
  .bb-home-platform-card-exam { grid-column: auto; min-height: 24.6rem; padding: 1.4rem; }
  .bb-home-platform-card h3 { font-size: 1.4rem; margin-top: 4.2rem; }
  .bb-home-mixed { padding-block: 5.5rem; }
  .bb-home-mixed-shell { gap: 3.4rem; }
  .bb-home-pathway-selector { padding: 1.45rem 1.05rem; }
  .bb-home-selector-header { align-items: flex-start; flex-direction: column; gap: .45rem; }
  .bb-home-selector-scale { display: none; }
  .bb-home-selector-person { grid-template-columns: 2.15rem 4.9rem 1fr; gap: .5rem; }
  .bb-home-selector-person small { display: none; }
  .bb-home-pathway-list { margin-top: 2.7rem; }
  .bb-home-pathway-item { gap: .8rem; grid-template-columns: 2.25rem 1fr; min-height: 10rem; padding: 1.45rem .25rem 1.45rem 0; }
  .bb-home-pathway-item-active { margin-inline: -.6rem; padding-left: .6rem; }
  .bb-home-pathway-meta,
  .bb-home-pathway-content { grid-column: 2; }
  .bb-home-workflow-grid { grid-template-columns: 1fr; margin-top: 2.75rem; }
  .bb-home-workflow-card { padding: 1.6rem 1.35rem; }
  .bb-home-workflow-boundary { gap: .4rem; grid-template-columns: 1fr; margin-top: 1.75rem; max-width: none; }
  .bb-home-teachers { gap: 3.4rem; }
  .bb-home-teacher-capabilities { grid-template-columns: 1fr; }
  .bb-home-teacher-copy .bb-home-button { width: 100%; }
  .bb-home-evidence-board { padding: 1.35rem 1.05rem; }
  .bb-home-evidence-board .bb-home-board-disclosure { border-radius: 1.4rem 1.4rem 0 0; margin: -1.35rem -1.05rem 1.2rem; }
  .bb-home-board-heading { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .bb-home-plans { padding-block: 5.5rem; }
  .bb-home-plans-grid { grid-template-columns: 1fr; }
  .bb-home-plan-card { padding: 1.7rem 1.35rem; }
  .bb-home-faq { gap: 2.85rem; grid-template-columns: 1fr; }
  .bb-home-final-cta { padding-block: 4.5rem 5.9rem; }
  .bb-home-final-cta-inner { align-items: flex-start; flex-direction: column; }
  .bb-home-final-actions,
  .bb-home-final-actions .bb-home-button { width: 100%; }
  .bb-home-footer-grid { grid-template-columns: 1fr; }
  .bb-home-footer-links { gap: 1.1rem 1.35rem; justify-content: flex-start; }
  .bb-home-footer { padding-bottom: calc(10rem + env(safe-area-inset-bottom)); }
  .bb-home-mobile-cta {
    align-items: center;
    background: var(--bb-coral-dark);
    border-radius: .9rem;
    /* Keeps the fixed homepage CTA clear of the existing enquiry-chat launcher. */
    bottom: 4.7rem;
    box-shadow: 0 .95rem 2.2rem rgba(91, 43, 36, .32);
    color: #fff !important;
    display: inline-flex;
    font-size: .88rem;
    font-weight: 800;
    gap: .55rem;
    justify-content: center;
    left: .75rem;
    min-height: 3.4rem;
    padding: .75rem 1rem;
    position: fixed;
    right: .75rem;
    z-index: 45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bb-home *,
  .bb-home *::before,
  .bb-home *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* The enquiry chat is a public-site surface, not part of the home wrapper. */
.bb-chat-widget {
  --bb-chat-paper: var(--buckland-paper);
  --bb-chat-cream: var(--buckland-canvas);
  --bb-chat-ink: var(--buckland-ink);
  --bb-chat-muted: var(--buckland-muted);
  --bb-chat-coral: var(--buckland-coral-strong);
  --bb-chat-coral-dark: var(--buckland-coral-deep);
  --bb-chat-line: var(--buckland-line);
  --bb-chat-sage: var(--buckland-sage-strong);
  --bb-chat-sage-soft: var(--buckland-sage-soft);
  bottom: 1.5rem;
  font-size: 16px;
  gap: 1rem;
  right: 1.5rem;
  width: min(31rem, calc(100vw - 2rem));
}

.bb-chat-launcher {
  background: var(--bb-chat-coral);
  border: 1px solid rgba(185, 77, 68, .22);
  border-radius: .9rem;
  box-shadow: 0 1rem 2.4rem rgba(37, 37, 34, .2);
  font-family: "Open Sans", Arial, sans-serif;
  font-size: .98em;
  min-height: 3.65rem;
  padding: .8rem 1.2rem .8rem .9rem;
}

.bb-chat-launcher:hover,
.bb-chat-launcher:focus-visible {
  background: var(--bb-chat-coral-dark);
  box-shadow: 0 1.15rem 2.7rem rgba(37, 37, 34, .24), 0 0 0 4px rgba(237, 111, 98, .18);
}

.bb-chat-widget.is-open .bb-chat-launcher {
  background: var(--bb-chat-ink);
}

.bb-chat-launcher-icon {
  background: rgba(255, 255, 255, .2);
  height: 2.15rem;
  width: 2.15rem;
}

.bb-chat {
  background: var(--bb-chat-paper);
  border: 1px solid var(--bb-chat-line);
  border-radius: 1.15rem;
  box-shadow: 0 1.5rem 4.5rem rgba(37, 37, 34, .19);
}

.bb-chat-widget .bb-chat {
  max-height: min(46rem, calc(100dvh - 8rem));
}

.bb-chat.is-attention {
  border-color: rgba(237, 111, 98, .7);
  box-shadow: 0 0 0 4px rgba(237, 111, 98, .16), 0 1.6rem 4.7rem rgba(37, 37, 34, .2);
}

.bb-chat-header {
  align-items: center;
  background: var(--bb-chat-cream);
  border-bottom: 1px solid var(--bb-chat-line);
  padding: 1.1rem 1.25rem 1rem;
}

.bb-chat-kicker {
  color: var(--bb-chat-coral-dark);
  font-size: .69em;
  letter-spacing: .09em;
  margin-bottom: .24rem;
}

.bb-chat-title {
  color: var(--bb-chat-ink);
  font-family: "Roboto Slab", Georgia, serif;
  font-size: 1.18em;
  letter-spacing: -.025em;
}

.bb-chat-availability {
  background: var(--bb-chat-sage-soft);
  color: var(--bb-chat-sage);
  font-size: .72em;
  min-height: 2rem;
  padding: .32rem .62rem;
}

.bb-chat-close {
  background: var(--bb-chat-paper);
  border-color: var(--bb-chat-line);
  color: var(--bb-chat-ink) !important;
  height: 2.2rem;
  width: 2.2rem;
}

.bb-chat-close:hover,
.bb-chat-close:focus-visible {
  background: #fff6f3;
  border-color: rgba(237, 111, 98, .75);
  box-shadow: 0 0 0 3px rgba(237, 111, 98, .16);
}

.bb-chat-transcript {
  background: #faf7f1;
  border-color: var(--bb-chat-line);
  border-radius: .9rem;
  gap: .8rem;
  margin: 1rem 1.25rem 0;
  max-height: clamp(12rem, 38vh, 24rem);
  min-height: 9rem;
  padding: .95rem;
}

.bb-chat-message {
  max-width: 91%;
}

.bb-chat-message strong {
  color: var(--bb-chat-muted);
  font-size: .7em;
  letter-spacing: .07em;
  margin-bottom: .22rem;
}

.bb-chat-message p {
  border-radius: .8rem;
  font-size: .94em;
  line-height: 1.55;
  padding: .72rem .85rem;
}

.bb-chat-message-assistant p {
  background: var(--bb-chat-paper);
  border-color: var(--bb-chat-line);
  color: var(--bb-chat-ink);
}

.bb-chat-message-user p {
  background: var(--bb-chat-ink);
  color: var(--bb-chat-paper);
}

.bb-chat-thinking-dots span {
  background: var(--bb-chat-coral);
}

.bb-chat-status {
  color: var(--bb-chat-muted);
  font-size: .78em;
  margin: .7rem 1.25rem 0;
}

.bb-chat-status[data-state="loading"] {
  color: var(--bb-chat-ink);
}

.bb-chat-status[data-state="error"] {
  color: var(--bb-chat-coral-dark);
}

.bb-chat-form {
  padding: .45rem 1.25rem .75rem;
}

.bb-chat-input-row {
  gap: .6rem;
}

.bb-chat-input-row input {
  background: var(--bb-chat-paper);
  border: 1px solid var(--bb-chat-line);
  border-radius: .75rem;
  box-shadow: none;
  color: var(--bb-chat-ink);
  font-size: .95em;
  min-height: 3rem;
  padding: .72rem .85rem;
}

.bb-chat-input-row input:focus {
  border-color: var(--bb-chat-coral);
  box-shadow: 0 0 0 3px rgba(237, 111, 98, .16);
}

.bb-chat-send {
  background: var(--bb-chat-coral) !important;
  border: 1px solid rgba(185, 77, 68, .22) !important;
  border-radius: .75rem !important;
  box-shadow: none !important;
  color: #fff !important;
  font-family: "Open Sans", Arial, sans-serif !important;
  font-size: .84em !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  min-height: 3rem;
  min-width: 5.5rem;
  padding: .75rem 1rem;
  text-transform: none !important;
}

.bb-chat-send:hover,
.bb-chat-send:focus-visible {
  background: var(--bb-chat-coral-dark) !important;
  box-shadow: 0 0 0 3px rgba(237, 111, 98, .16) !important;
}

.bb-chat-privacy {
  color: var(--bb-chat-muted);
  font-size: .72em;
  line-height: 1.5;
  padding: 0 1.25rem 1rem;
}

@media (max-width: 820px), (hover: none) and (pointer: coarse) {
  html body .bb-chat-widget {
    bottom: 0 !important;
    right: 0 !important;
  }

  html body .bb-chat-widget.is-open {
    background: rgba(37, 37, 34, .36) !important;
    padding: max(.75rem, env(safe-area-inset-top)) .75rem max(.75rem, env(safe-area-inset-bottom)) !important;
  }

  html body .bb-chat-widget .bb-chat {
    background: var(--bb-chat-paper) !important;
    border: 1px solid var(--bb-chat-line) !important;
    border-radius: 1.15rem !important;
    box-shadow: 0 1.5rem 4.5rem rgba(37, 37, 34, .24) !important;
  }

  html body .bb-chat-header {
    background: var(--bb-chat-cream) !important;
    border-bottom-color: var(--bb-chat-line) !important;
    padding: 1.05rem 1.1rem .95rem !important;
  }

  html body .bb-chat-title {
    color: var(--bb-chat-ink) !important;
    font-family: "Roboto Slab", Georgia, serif !important;
    font-size: 1.15rem !important;
  }

  html body .bb-chat-availability {
    background: var(--bb-chat-sage-soft) !important;
    color: var(--bb-chat-sage) !important;
  }

  html body .bb-chat-close {
    background: var(--bb-chat-paper) !important;
    border-color: var(--bb-chat-line) !important;
    color: var(--bb-chat-ink) !important;
  }

  html body .bb-chat-transcript {
    background: #faf7f1 !important;
    border-color: var(--bb-chat-line) !important;
    border-radius: .9rem !important;
    gap: .8rem !important;
    margin: .85rem .85rem 0 !important;
    padding: .9rem !important;
  }

  html body .bb-chat-message p {
    font-size: .95rem !important;
    line-height: 1.55 !important;
    padding: .72rem .85rem !important;
  }

  html body .bb-chat-message-assistant p {
    background: var(--bb-chat-paper) !important;
    border-color: var(--bb-chat-line) !important;
    color: var(--bb-chat-ink) !important;
  }

  html body .bb-chat-message-user p {
    background: var(--bb-chat-ink) !important;
    color: var(--bb-chat-paper) !important;
  }

  html body .bb-chat-status {
    color: var(--bb-chat-muted) !important;
    font-size: .8rem !important;
    margin: .65rem 0 0 !important;
    padding: 0 .9rem !important;
  }

  html body .bb-chat-form {
    padding: .5rem .9rem .8rem !important;
  }

  html body .bb-chat-input-row {
    gap: .6rem !important;
  }

  html body .bb-chat-input-row input {
    background: var(--bb-chat-paper) !important;
    border-color: var(--bb-chat-line) !important;
    color: var(--bb-chat-ink) !important;
    min-height: 3.2rem !important;
    padding: .8rem .9rem !important;
  }

  html body .bb-chat-send {
    background: var(--bb-chat-coral) !important;
    border-color: rgba(185, 77, 68, .22) !important;
    color: #fff !important;
    min-height: 3.2rem !important;
  }

  html body .bb-chat-privacy {
    color: var(--bb-chat-muted) !important;
    font-size: .76rem !important;
    line-height: 1.5 !important;
    padding: 0 .9rem .9rem !important;
  }
}

@media (max-width: 900px) {
  html body .bb-chat-launcher {
    background: var(--bb-chat-coral) !important;
    border-radius: 1rem !important;
    box-shadow: 0 .9rem 2rem rgba(37, 37, 34, .22) !important;
    min-height: 3.5rem !important;
    min-width: 3.5rem !important;
    width: auto !important;
    max-width: calc(100vw - 1.5rem) !important;
    padding: .72rem .95rem !important;
  }

  html body .bb-chat-launcher-label {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
  }
}

/*
 * Public-site accessibility typography floor.
 * Keep the marketing reading path comfortably legible while allowing the
 * illustrative product previews to remain visually compact at no less than 12px.
 */
.bb-home-nav,
.bb-home-login,
.bb-home-button,
.bb-home-mobile-menu summary,
.bb-home-mobile-menu nav a,
.bb-home-mobile-menu nav button,
.bb-home-mobile-cta,
.bb-home-guardrails-links a,
.bb-home-text-button,
.bb-home-footer-links {
  font-size: .9375rem;
}

.bb-home-eyebrow,
.bb-home-feature-list li > span,
.bb-home-workflow-boundary-label {
  font-size: .75rem;
}

.bb-home-hero-intro,
.bb-home-section-heading > p,
.bb-home-pathway-heading > p:last-child,
.bb-home-mixed-copy > p:not(.bb-home-eyebrow),
.bb-home-teacher-copy > p:not(.bb-home-eyebrow),
.bb-home-faq-intro > p:last-child,
.bb-home-platform-card > p,
.bb-home-pathway-content p,
.bb-home-plans-heading > p:last-child,
.bb-home-faq-list details p {
  font-size: 1rem;
}

.bb-home-hero-note,
.bb-home-signal-band span,
.bb-home-feature-list small,
.bb-home-pathway-note,
.bb-home-workflow-card li p,
.bb-home-workflow-boundary p,
.bb-home-teacher-capabilities strong,
.bb-home-plan-price span,
.bb-home-plan-card > p,
.bb-home-plan-card li,
.bb-home-plan-note,
.bb-home-guardrails p,
.bb-home-footer-grid > p,
.bb-home-footer-grid > small,
.bb-home-pathway-meta strong,
.bb-home-pathway-meta span {
  font-size: .875rem;
}

.bb-home-mockup-disclosure,
.bb-home-board-disclosure,
.bb-home-window-bar,
.bb-home-live-pill,
.bb-home-secure-label,
.bb-home-ready-label,
.bb-home-evidence-chip,
.bb-home-class-summary span,
.bb-home-recent-skill span,
.bb-home-mockup-button,
.bb-home-avatar,
.bb-home-learner-name strong,
.bb-home-learner-name span,
.bb-home-recent-skill strong,
.bb-home-practice-card-top,
.bb-home-mini-answer,
.bb-home-mini-answer-correct span,
.bb-home-practice-card small,
.bb-home-selector-header,
.bb-home-selector-header strong,
.bb-home-selector-scale span,
.bb-home-selector-person > span,
.bb-home-selector-person small,
.bb-home-pathway-selector > p,
.bb-home-board-heading div span,
.bb-home-board-metrics span,
.bb-home-board-metrics small,
.bb-home-chart-title,
.bb-home-parent-update-row small {
  font-size: .75rem;
}

.bb-chat-kicker,
.bb-chat-availability,
.bb-chat-message strong {
  font-size: .75em;
}

.bb-chat-message p,
.bb-chat-input-row input {
  font-size: 1em;
}

.bb-chat-status,
.bb-chat-privacy {
  font-size: .875em;
}

.bb-chat-send {
  font-size: .9375em !important;
}

@media (max-width: 760px) {
  .bb-home-login,
  .bb-home-mobile-menu summary,
  .bb-home-mobile-cta {
    font-size: .9375rem;
  }
}

@media (max-width: 820px), (hover: none) and (pointer: coarse) {
  html body .bb-chat-message p {
    font-size: 1rem !important;
  }

  html body .bb-chat-status,
  html body .bb-chat-privacy {
    font-size: .875rem !important;
  }

  html body .bb-chat-send {
    font-size: .9375rem !important;
  }
}
