/* Auto-generated from inline styles in index.html */
.bw-inline-001 {  }
.bw-inline-002 {
  display: block;
}

/* 16:9 shell for hero Vimeo (iframe is absolutely positioned inside). */
.bw-hero-video-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  cursor: pointer;
  /* Visible while iframe is hidden — matches section bg so Vimeo’s white boot doesn’t flash through */
  background-color: rgb(var(--color-primary-bg-rgb));
  background-image: linear-gradient(
    155deg,
    rgb(var(--color-primary-bg-rgb)) 0%,
    rgba(18, 30, 56, 0.92) 48%,
    rgb(var(--color-primary-bg-rgb)) 100%
  );
}

.bw-media-fill {
  display: block;
  width: 100%;
  height: auto;
}

/* Hero media: GIF poster by default, Vimeo iframe after click. */
.bw-hero-video-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  cursor: pointer;
}

.bw-hero-video-play {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 64px;
  height: 64px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.bw-hero-video-play:hover {
  background: rgba(0, 0, 0, 0.62);
  transform: translate(-50%, -50%) scale(1.03);
}

.bw-demo-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.5s ease-out;
  background: transparent;
  /* Iframe stacks after the poster at the same z-index; without this it steals all clicks. */
  pointer-events: none;
}

.bw-demo-iframe.bw-demo-iframe--visible {
  opacity: 1;
}

.bw-hero-video-frame.bw-hero-video-frame--playing .bw-hero-video-poster,
.bw-hero-video-frame.bw-hero-video-frame--playing .bw-hero-video-play {
  display: none;
}

.bw-hero-video-frame.bw-hero-video-frame--playing {
  cursor: default;
}

/* Instant iframe reveal; re-enable pointer events so the player is usable after play. */
.bw-hero-video-frame.bw-hero-video-frame--playing .bw-demo-iframe {
  transition: none;
  pointer-events: auto;
}

/*
 * Hero shell uses Tailwind overflow-hidden + border-radius for the GIF/poster.
 * On mobile Safari (and some Chromium), that clips the bottom of Bunny/Vimeo
 * iframes so play/pause chrome is partly off-screen. Release the clip once the
 * user is playing; keep corners via border-radius on the iframe itself.
 */
#__next .bw-hero-video-frame.bw-hero-video-frame--playing {
  overflow: visible;
}

#__next .bw-hero-video-frame.bw-hero-video-frame--playing .bw-demo-iframe {
  border-radius: 1rem;
}

@media (prefers-reduced-motion: reduce) {
  .bw-demo-iframe {
    transition: none;
    opacity: 1;
  }
}

/* --- Full-width section gutters (site horizontal padding) --- */
.bw-page-gutter {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 640px) {
  .bw-page-gutter {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .bw-page-gutter {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.bw-section-hero {
  padding-top: 0.5rem;
  padding-bottom: 2rem;
}
@media (min-width: 640px) {
  .bw-section-hero {
    padding-top: 0.5rem;
    padding-bottom: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .bw-section-hero {
    padding-top: 0.75rem;
    padding-bottom: 24px;
  }
}

/* Was py-8 lg:py-14 */
.bw-section-band {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .bw-section-band {
    padding-top: 2.25rem;
    padding-bottom: 2.25rem;
  }
}

/* Was py-6 lg:py-10 */
.bw-section-band-md {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
@media (min-width: 1024px) {
  .bw-section-band-md {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }
}

/* Was py-10 lg:py-16 */
.bw-section-band-lg {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
@media (min-width: 1024px) {
  .bw-section-band-lg {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

/* Was py-12 lg:py-16 */
.bw-section-band-xl {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
@media (min-width: 1024px) {
  .bw-section-band-xl {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.bw-content-wide {
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
}

/* Was space-y-14 lg:space-y-20 */
.bw-stack-relaxed > * + * {
  margin-top: 2.5rem;
}
@media (min-width: 1024px) {
  .bw-stack-relaxed > * + * {
    margin-top: 3.25rem;
  }
}

/* Was space-y-20 lg:space-y-28 */
.bw-stack-feature > * + * {
  margin-top: 3rem;
}
@media (min-width: 1024px) {
  .bw-stack-feature > * + * {
    margin-top: 4rem;
  }
}

.bw-narrow {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
}

.bw-narrow--text-center {
  text-align: center;
}

.bw-narrow--block-gutter {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 640px) {
  .bw-narrow--block-gutter {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.bw-inline-007--after-video {
  margin-top: 2.5rem;
}
@media (min-width: 1024px) {
  .bw-inline-007--after-video {
    margin-top: 3.5rem;
  }
}

.bw-inline-007--hero-band {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}
@media (min-width: 1024px) {
  .bw-inline-007--hero-band {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}

.bw-hero-mini-grid {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .bw-hero-mini-grid {
    margin-top: 2rem;
    margin-bottom: 2rem;
  }
}
.bw-inline-003 { flex-shrink:0 }
.bw-inline-004 { background-color:rgba(255,255,255,0.03) }
.bw-inline-005 { color:var(--color-accent) }

/* Hero subtitle: fewer orphans / single-word last lines (progressive enhancement). */
.bw-subtitle-text {
  text-wrap: pretty;
  text-align: center;
  margin-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .bw-subtitle-text {
    margin-bottom: 2rem;
  }
}

.bw-subtitle-obsidian-logo {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: -0.22em;
  object-fit: contain;
}

/* Hero subtitle: logo sits between words; cancel legacy inline-style margin-left on .bw-obsidian-icon */
.bw-subtitle-text .bw-obsidian-icon.bw-subtitle-obsidian-logo {
  margin-left: 0 !important;
}

/* Extra top spacing for “Write and structure at the same time” only; bottom unchanged. */
.branch-writing_h2__13kuK.bw-h2-more-top-margin {
  margin-top: 3rem !important;
}
@media (min-width: 1024px) {
  .branch-writing_h2__13kuK.bw-h2-more-top-margin {
    margin-top: 3.75rem !important;
  }
}
.bw-inline-006 { display:block;filter:grayscale(0) brightness(1.48) contrast(1.14) saturate(1.3) }
.bw-inline-011 {
  --hero-dot-opacity: 0.13;
  --section-dot-opacity: 0.1;
  --bw-page-grid-size: 22px;
  --bw-page-grid-line: rgba(var(--color-accent-rgb), 0.1);
}

/* Branch Writing page: graph-paper grid (connected lines) instead of dot halftone from page-core.css */
html.bw-inline-011 body {
  background-image: linear-gradient(var(--bw-page-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--bw-page-grid-line) 1px, transparent 1px);
  background-size: var(--bw-page-grid-size) var(--bw-page-grid-size);
  background-position: 0 0;
}
.bw-inline-012 { background-color:var(--color-primary-bg) }
.bw-inline-013 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
  width: 100%;
  margin-top: 18px;
}

.bw-inline-013 > .bw-youtube-comment-mount {
  flex: 1 1 auto;
  max-width: 520px;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .bw-inline-013 {
    gap: 0.875rem;
  }

  .bw-inline-013 > .bw-youtube-comment-mount {
    flex-basis: 100%;
  }
}
@media (min-width: 1024px) {
  .bw-inline-013 { margin-top: 22px; }
}
.bw-inline-014 { border: 0px; clip: rect(0px, 0px, 0px, 0px); height: 1px; margin: -1px; overflow: hidden; padding: 0px; position: absolute; top: 0px; width: 1px; white-space: nowrap; overflow-wrap: normal; }
.bw-inline-015 { position: absolute; top: 0px; left: 0px; z-index: 2147483647; }
.bw-inline-016 { border: none; }
.bw-inline-017 { position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; pointer-events: none; z-index: 2147483631; }
.bw-hero-support-copy { text-align:center; color:#d1d5db; margin-bottom:1.25rem; font-size:1rem; line-height:1.5; }
@media (min-width: 640px) {
  .bw-hero-support-copy { font-size:1.125rem; }
}
@media (min-width: 1024px) {
  .bw-hero-support-copy { margin-bottom:1.5rem; }
}
.bw-hero-guarantee {
  text-align: center;
  margin: 0 0 1.25rem;
}
.bw-hero-guarantee .pricing-term {
  margin-bottom: 0;
}
@media (min-width: 1024px) {
  .bw-hero-guarantee {
    margin-bottom: 1.5rem;
  }
}
.bw-feature-item-title { font-size:1.25rem; font-weight:600; margin-bottom:0.75rem; display:flex; align-items:center; justify-content:flex-start; text-align:left; gap:0.5rem; color:var(--color-accent); }
.bw-feature-item-title svg { flex-shrink:0; }
.bw-feature-card-stack { display:flex; flex-direction:column; gap:1rem; }
.bw-feature-pair-stack { display:flex; flex-direction:column; gap:1rem; }
/* One continuous card: border/shadow on shell; title band attaches to body */
.bw-feature-card-stack > .bw-feature-card-shell,
.bw-feature-pair-stack > .bw-feature-card-shell {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(var(--color-accent-rgb), 0.18);
  background:linear-gradient(145deg, rgba(var(--color-primary-bg-rgb), 0.82) 0%, rgba(var(--color-primary-bg-rgb), 0.94) 100%);
  box-shadow:0 4px 20px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  transition:border-color 0.25s ease, box-shadow 0.25s ease;
}
.bw-feature-card-shell > .bw-feature-item-title {
  margin:0;
  padding:0.9rem 1.3rem 0.75rem;
  background:linear-gradient(180deg, rgba(var(--color-accent-rgb), 0.14) 0%, rgba(var(--color-accent-rgb), 0.06) 100%);
  border-bottom:1px solid rgba(var(--color-accent-rgb), 0.22);
  box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.bw-feature-card-stack .bw-feature-card-body,
.bw-feature-pair-stack .bw-feature-card-body {
  padding:1.2rem 1.3rem;
  border-radius:0;
  text-align:left;
  background:rgba(var(--color-primary-bg-rgb), 0.2);
  border:none;
  box-shadow:none;
}
@media (min-width: 640px) {
  .bw-feature-card-shell > .bw-feature-item-title {
    padding:1rem 1.5rem 0.85rem;
  }
  .bw-feature-card-stack .bw-feature-card-body,
  .bw-feature-pair-stack .bw-feature-card-body {
    padding:1.35rem 1.5rem;
  }
}
.bw-feature-card-stack .bw-feature-card-shell:hover,
.bw-feature-pair-stack .bw-feature-card-shell:hover {
  border-color:rgba(var(--color-accent-rgb), 0.32);
  box-shadow:0 6px 28px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.bw-icon-md { width:1.5rem; height:1.5rem; }
.bw-icon-inline-sm { width:1rem; height:1rem; display:inline-block; margin-left:0.25rem; margin-right:0.25rem; }
.bw-emphasis-line { color:#fff; font-weight:500; margin-top:0.5rem; }
.bw-hero-mini-card { text-align:center; padding:1.25rem; border-radius:0.75rem; background-color:rgba(255,255,255,0.03); }
.bw-hero-mini-card-icon-row { display:flex; justify-content:center; margin-bottom:0.75rem; }
.bw-hero-mini-card-title { color:#fff; font-weight:500; margin-bottom:0.25rem; }
.bw-hero-mini-card-copy { color:#9ca3af; font-size:0.875rem; }
.bw-navbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  box-sizing: border-box;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: max(12px, env(safe-area-inset-left, 0px));
  padding-right: max(12px, env(safe-area-inset-right, 0px));
  background: var(--color-primary-bg);
}
.bw-navbar-left {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
}
/* Logo + title on one row; subline tucked under the title (not a second column). */
.bw-navbar-brand-line {
  --bw-navbar-logo-box: 20px;
  --bw-navbar-logo-gap: 8px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  line-height: 1 !important;
}
.bw-navbar-title-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--bw-navbar-logo-gap);
  min-width: 0;
  margin: 0;
  padding: 0;
  line-height: 1 !important;
}
.bw-navbar-logo {
  display: block;
  width: var(--bw-navbar-logo-box);
  height: var(--bw-navbar-logo-box);
  flex-shrink: 0;
  color: var(--color-accent);
  margin: 0;
  padding: 0;
}
.bw-navbar-brand {
  display: block;
  color: #ffffff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 600;
  line-height: 1 !important;
  letter-spacing: -0.01em;
  margin: 0;
  padding: 0;
  min-width: 0;
  white-space: nowrap;
}
@media (max-width: 639px) {
  .bw-navbar {
    gap: 8px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .bw-navbar-brand-line {
    --bw-navbar-logo-box: 18px;
    --bw-navbar-logo-gap: 6px;
  }
  .bw-navbar-brand {
    font-size: 14px;
  }
}

@media (min-width: 640px) {
  .bw-navbar {
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: max(24px, env(safe-area-inset-left, 0px));
    padding-right: max(24px, env(safe-area-inset-right, 0px));
  }
}

/* Global image glow */
img,
.rounded-xl.overflow-hidden,
.rounded-2xl.overflow-hidden {
  box-shadow:
    0 0 24px color-mix(in srgb, var(--color-accent) 20%, transparent),
    0 0 48px color-mix(in srgb, var(--color-accent) 12%, transparent) !important;
}

.bw-obsidian-icon {
  box-shadow: none !important;
}

/* Pricing palette override: use only theme variables */
.pricing-card,
.pricing-card .pricing-card-inner {
  color: var(--color-accent) !important;
  border-color: color-mix(in srgb, var(--color-accent) 38%, transparent) !important;
}

.pricing-header .pricing-label,
.pricing-header .pricing-term,
.pricing-header .pricing-savings,
.pricing-feature span:last-child {
  color: color-mix(in srgb, var(--color-accent) 88%, white 12%) !important;
}

.pricing-label-premium,
.bw-price,
.bw-price-green,
.pricing-badge,
.feature-icon {
  color: var(--color-accent) !important;
}

.pricing-divider,
.pricing-divider-premium {
  border-color: color-mix(in srgb, var(--color-accent) 40%, transparent) !important;
  background-color: color-mix(in srgb, var(--color-accent) 40%, transparent) !important;
}

.pricing-badge {
  background: rgb(var(--color-primary-bg-rgb)) !important;
  background-color: rgb(var(--color-primary-bg-rgb)) !important;
  border: 1px solid var(--color-accent) !important;
}

.feature-icon-blue {
  background: color-mix(in srgb, var(--color-primary-bg) 72%, var(--color-accent) 28%) !important;
  border-color: color-mix(in srgb, var(--color-accent) 50%, transparent) !important;
}

/* Icon (e.g. circle-check) already draws a ring — no outer box border */
.feature-icon-emerald {
  background: color-mix(in srgb, var(--color-primary-bg) 72%, var(--color-accent) 28%) !important;
  border: none !important;
}

.pricing-btn,
.pricing-btn-standard,
.pricing-btn-premium {
  color: var(--color-primary-bg) !important;
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
}

.pricing-btn:hover,
.pricing-btn-standard:hover,
.pricing-btn-premium:hover {
  color: var(--color-primary-bg) !important;
  background: color-mix(in srgb, var(--color-accent) 84%, white 16%) !important;
  border-color: color-mix(in srgb, var(--color-accent) 84%, white 16%) !important;
}

/* Premium card hard override to remove leftover non-theme accents */
.pricing-card-premium,
.pricing-card-premium .pricing-card-inner {
  border-color: color-mix(in srgb, var(--color-accent) 45%, transparent) !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-accent) 28%, transparent) !important;
}

.pricing-card-premium .pricing-label-premium,
.pricing-card-premium .bw-price-green,
.pricing-card-premium .pricing-savings,
.pricing-card-premium .pricing-feature-highlight,
.pricing-card-premium .pricing-badge {
  color: var(--color-accent) !important;
  border-color: color-mix(in srgb, var(--color-accent) 45%, transparent) !important;
}

.pricing-card-premium .feature-icon-emerald {
  color: var(--color-accent) !important;
}

.pricing-card-premium .feature-icon-emerald,
.pricing-card-premium .pricing-badge {
  background-color: rgb(var(--color-primary-bg-rgb)) !important;
}

.pricing-card-premium .pricing-divider-premium {
  color: var(--color-accent) !important;
  border-color: color-mix(in srgb, var(--color-accent) 45%, transparent) !important;
  background-color: color-mix(in srgb, var(--color-accent) 45%, transparent) !important;
}

.pricing-card-premium .pricing-divider-premium {
  height: 1px;
}

.pricing-card-premium .feature-icon-emerald svg,
.pricing-card-premium .pricing-badge .badge-icon {
  color: var(--color-accent) !important;
}

/* Branch Writing: keep premium badge inside card bounds */
html.bw-sales-page-branch-writing #__next .pricing-card.pricing-card-premium .pricing-badge {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.75rem !important;
}

/* Final hard lock for premium card palette + no glow */
#__next .pricing-card.pricing-card-premium,
#__next .pricing-card.pricing-card-premium * {
  text-shadow: none !important;
  box-shadow: none !important;
  filter: none !important;
}

#__next .pricing-card.pricing-card-premium,
#__next .pricing-card.pricing-card-premium .pricing-card-inner {
  border-color: color-mix(in srgb, var(--color-accent) 45%, transparent) !important;
}

#__next .pricing-card.pricing-card-premium .pricing-label-premium,
#__next .pricing-card.pricing-card-premium .bw-price-green,
#__next .pricing-card.pricing-card-premium .pricing-term,
#__next .pricing-card.pricing-card-premium .pricing-savings,
#__next .pricing-card.pricing-card-premium .pricing-feature span:last-child,
#__next .pricing-card.pricing-card-premium .btn-arrow,
#__next .pricing-card.pricing-card-premium .feature-icon svg {
  color: var(--color-accent) !important;
  stroke: currentColor !important;
}

#__next .pricing-card.pricing-card-premium .pricing-divider-premium {
  border-color: color-mix(in srgb, var(--color-accent) 45%, transparent) !important;
  background-color: color-mix(in srgb, var(--color-accent) 45%, transparent) !important;
}

#__next .pricing-card.pricing-card-premium .pricing-badge {
  color: var(--color-accent) !important;
  border: 1px solid var(--color-accent) !important;
  background: rgb(var(--color-primary-bg-rgb)) !important;
  background-color: rgb(var(--color-primary-bg-rgb)) !important;
}

#__next .pricing-card.pricing-card-premium .feature-icon-emerald {
  color: var(--color-accent) !important;
  border: none !important;
  background: rgb(var(--color-primary-bg-rgb)) !important;
  background-color: rgb(var(--color-primary-bg-rgb)) !important;
}

#__next .pricing-card.pricing-card-premium .pricing-btn-premium {
  color: var(--color-primary-bg) !important;
  background: var(--color-accent) !important;
  border-color: var(--color-accent) !important;
}

#__next .pricing-card.pricing-card-premium .pricing-btn-premium:hover {
  color: var(--color-primary-bg) !important;
  background: color-mix(in srgb, var(--color-accent) 84%, white 16%) !important;
  border-color: color-mix(in srgb, var(--color-accent) 84%, white 16%) !important;
}

/* Strict premium palette: no green-ish mixes */
#__next .pricing-card.pricing-card-premium .pricing-label-premium,
#__next .pricing-card.pricing-card-premium .bw-price-green,
#__next .pricing-card.pricing-card-premium .pricing-term,
#__next .pricing-card.pricing-card-premium .pricing-savings,
#__next .pricing-card.pricing-card-premium .pricing-feature span:last-child,
#__next .pricing-card.pricing-card-premium .pricing-feature-highlight,
#__next .pricing-card.pricing-card-premium .pricing-divider-premium,
#__next .pricing-card.pricing-card-premium .pricing-badge,
#__next .pricing-card.pricing-card-premium .badge-icon {
  color: var(--color-accent) !important;
  stroke: currentColor !important;
  border-color: var(--color-accent) !important;
}

#__next .pricing-card.pricing-card-premium .feature-icon-emerald,
#__next .pricing-card.pricing-card-premium .feature-icon-emerald svg {
  color: var(--color-accent) !important;
  stroke: currentColor !important;
}

#__next .pricing-card.pricing-card-premium .pricing-savings {
  background: transparent !important;
}

#__next .pricing-card.pricing-card-premium .feature-icon-emerald,
#__next .pricing-card.pricing-card-premium .pricing-badge {
  background: rgb(var(--color-primary-bg-rgb)) !important;
  background-color: rgb(var(--color-primary-bg-rgb)) !important;
}

#__next .pricing-card.pricing-card-premium .pricing-divider-premium {
  background-color: var(--color-accent) !important;
}

/* Absolute final override for the premium label text */
#__next span.pricing-label.pricing-label-premium {
  color: var(--color-accent) !important;
  -webkit-text-fill-color: var(--color-accent) !important;
  text-shadow: none !important;
}

/* Absolute final override for premium divider color token */
#__next div.pricing-divider.pricing-divider-premium {
  background: var(--color-accent) !important;
  background-color: var(--color-accent) !important;
  border: 0 !important;
  border-top: 1px solid var(--color-accent) !important;
}

/* Hover behavior: remove glow smoothly, no size/position changes */
img,
.rounded-xl.overflow-hidden,
.rounded-2xl.overflow-hidden,
.pricing-card,
.pricing-btn,
.use-case-card,
a[role="button"],
button,
[role="button"] {
  transition: box-shadow 220ms ease, filter 220ms ease;
}

img:hover,
.rounded-xl.overflow-hidden:hover,
.rounded-2xl.overflow-hidden:hover,
.pricing-card:hover,
.pricing-btn:hover,
.use-case-card:hover,
a[role="button"]:hover,
button:hover,
[role="button"]:hover {
  box-shadow: none !important;
  filter: none !important;
}

/* ========== Mobile & small tablet: match desktop polish (type, cards, spacing) ========== */
@media screen and (max-width: 767px) {
  #__next {
    overflow-x: clip;
  }

  html.bw-inline-011 {
    --bw-page-grid-size: 18px;
    --bw-page-grid-line: rgba(var(--color-accent-rgb), 0.09);
  }

  .bw-page-gutter {
    padding-left: max(1rem, env(safe-area-inset-left, 0px));
    padding-right: max(1rem, env(safe-area-inset-right, 0px));
  }

  .bw-section-hero {
    padding-top: 0.5rem;
    padding-bottom: 1.5rem;
  }

  .bw-stack-relaxed > * + * {
    margin-top: 2rem;
  }

  .bw-stack-feature > * + * {
    margin-top: 2.25rem;
  }

  /* Hero headline — font size: sales-page-font-scale.css (.sales-hero-title); keep accent glow */
  .sales-hero-title,
  .bw-hero-title {
    line-height: 1.18 !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
    text-shadow:
      0 0 10px rgba(var(--color-accent-rgb), 0.65),
      0 0 22px rgba(var(--color-accent-rgb), 0.4),
      0 0 36px rgba(var(--color-accent-rgb), 0.22) !important;
  }

  .bw-hero-icon {
    width: 26px !important;
    height: 26px !important;
    margin-right: 7px !important;
  }

  .bw-subtitle-text {
    font-size: 1.125rem !important;
    line-height: 1.38 !important;
    margin-bottom: 1.25rem;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
  }

  .bw-subtitle-obsidian-logo {
    width: 1.12em;
    height: 1.12em;
    vertical-align: -0.2em;
  }

  .bw-hero-support-copy {
    font-size: 0.9375rem !important;
    line-height: 1.55 !important;
    padding-left: 0.35rem;
    padding-right: 0.35rem;
  }

  .bw-hero-guarantee {
    padding-left: 0.35rem;
    padding-right: 0.35rem;
  }

  /* Hero mini cards — same glass/border language as desktop use-case cards */
  .bw-hero-mini-grid {
    gap: 0.75rem !important;
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
  }

  .bw-hero-mini-card {
    padding: 1rem 1.05rem !important;
    border-radius: 0.875rem !important;
    background: linear-gradient(
      145deg,
      rgba(var(--color-primary-bg-rgb), 0.72) 0%,
      rgba(255, 255, 255, 0.045) 100%
    ) !important;
    border: 1px solid rgba(var(--color-accent-rgb), 0.16) !important;
    box-shadow:
      0 4px 18px rgba(0, 0, 0, 0.28),
      inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
  }

  .bw-hero-mini-card-title {
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    margin-bottom: 0.35rem !important;
  }

  .bw-hero-mini-card-copy {
    font-size: 0.8125rem !important;
    line-height: 1.48 !important;
  }

  .bw-hero-mini-card-icon-row {
    margin-bottom: 0.6rem !important;
  }

  .bw-hero-mini-card-icon-row svg {
    width: 26px !important;
    height: 26px !important;
  }

  /* Demo video frame */
  .bw-hero-video-frame {
    border-radius: 12px;
    overflow: hidden;
    box-shadow:
      0 10px 40px rgba(0, 0, 0, 0.38),
      0 0 0 1px rgba(var(--color-accent-rgb), 0.14);
  }

  #__next .bw-hero-video-frame.bw-hero-video-frame--playing .bw-demo-iframe {
    border-radius: 12px;
  }

  /* Feature blocks */
  .bw-feature-item-title {
    font-size: 1.0625rem !important;
    padding: 0.8rem 1rem 0.65rem !important;
    gap: 0.4rem !important;
  }

  .bw-feature-card-stack .bw-feature-card-body,
  .bw-feature-pair-stack .bw-feature-card-body {
    padding: 1rem 1.05rem !important;
    font-size: 0.9375rem;
    line-height: 1.55;
  }

  .bw-feature-card-stack > .bw-feature-card-shell,
  .bw-feature-pair-stack > .bw-feature-card-shell {
    border-radius: 14px !important;
  }

  .bw-icon-md {
    width: 1.35rem !important;
    height: 1.35rem !important;
  }

  .bw-emphasis-line {
    font-size: 0.9375rem;
  }

  /* Use-case grid cards */
  .use-case-card {
    padding: 1.15rem !important;
    border-radius: 14px !important;
  }

  .use-case-icon {
    width: 44px !important;
    height: 44px !important;
    margin-bottom: 0.85rem !important;
  }

  /* Pricing */
  .pricing-grid {
    gap: 1.35rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .pricing-card-inner {
    padding: 1.35rem 1.05rem !important;
  }

  .pricing-header {
    margin-bottom: 1.25rem !important;
  }

  .price-amount {
    margin-bottom: 0.65rem !important;
  }

  .price-value,
  .price-value-premium {
    font-size: clamp(2.45rem, 13vw, 3.15rem) !important;
    letter-spacing: -0.035em !important;
  }

  .bw-price,
  .bw-price-green {
    font-size: clamp(1.65rem, 7.5vw, 1.95rem) !important;
    margin: 0.65rem 0 0.85rem 0 !important;
  }

  .pricing-label,
  .pricing-label-premium {
    font-size: 18px !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 0.65rem !important;
  }

  .pricing-term {
    font-size: 18px !important;
    margin-bottom: 8px !important;
  }

  /* Beat minified inline + theme locks on premium card */
  #__next .pricing-card .pricing-label,
  #__next .pricing-card .pricing-label-premium,
  #__next .pricing-card .pricing-term,
  #__next .pricing-card .pricing-savings {
    font-size: 18px !important;
  }

  .pricing-guarantee {
    font-size: 0.9375rem !important; /* 15px */
    padding: 7px 14px !important;
    line-height: 1.15 !important;
    gap: 6px !important;
  }

  .pricing-guarantee > span {
    line-height: 1.15 !important;
  }

  .pricing-guarantee-icon {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    align-self: center !important;
  }


  .pricing-savings {
    font-size: 18px !important;
    padding: 9px 16px !important;
    margin-top: 0.65rem !important;
    line-height: 1.35 !important;
  }

  .pricing-divider,
  .pricing-divider-premium {
    margin: 1.15rem 0 !important;
  }

  .pricing-features {
    gap: 0.65rem !important;
    margin-bottom: 1.25rem !important;
  }

  .pricing-feature {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    gap: 0.65rem !important;
  }

  .pricing-btn,
  .pricing-btn-standard,
  .pricing-btn-premium {
    padding: 0.9rem 1rem !important;
    font-size: 1rem !important;
    border-radius: 12px !important;
    gap: 0.5rem !important;
  }

  .btn-arrow {
    width: 18px !important;
    height: 18px !important;
  }

  .pricing-link {
    font-size: 1rem !important;
    margin-top: 1rem !important;
  }

  .pricing-badge {
    font-size: 0.75rem !important; /* 12px */
    padding: 6px 12px !important;
    letter-spacing: 0.04em !important;
  }

  /* Media & testimonials */
  img,
  .rounded-xl.overflow-hidden,
  .rounded-2xl.overflow-hidden {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Section headings (oversized utility in page-typography) */
  .branch-writing_h2__13kuK,
  .branch-writing_h2Highlight__7dM3h {
    font-size: 1.375rem !important;
    line-height: 1.25 !important;
  }

  .branch-writing_h2__13kuK {
    margin-top: 0.9rem !important;
    margin-bottom: 0.9rem !important;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
  }

  .branch-writing_h2__13kuK.bw-h2-more-top-margin {
    margin-top: 2.25rem !important;
  }

  .bw-narrow--block-gutter {
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
  }

  .bw-inline-007--after-video {
    margin-top: 2rem !important;
  }

  .bw-inline-007--hero-band {
    margin-top: 0.75rem !important;
    margin-bottom: 0.75rem !important;
  }
}
