@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --bg: #080908;
  --bg-soft: #101614;
  --surface: #171d19;
  --surface-strong: #0c100e;
  --text: #f4f0e7;
  --muted: #b7b0a3;
  --brand: #2bc77d;
  --brand-deep: #14965c;
  --accent: #e5b64f;
  --accent-deep: #b98624;
  --danger: #d4493f;
  --chip: #f0d48a;
  --line: #323b34;
  --radius-xl: 8px;
  --radius-lg: 8px;
  --radius-sm: 6px;
  --logo-corner-radius: 22%;
  --shadow: 0 18px 44px rgba(0, 0, 0, 0.36);
  --shadow-soft: 0 10px 28px rgba(0, 0, 0, 0.26);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  font-family: 'Manrope', 'Segoe UI', 'Trebuchet MS', sans-serif;
  color: var(--text);
  background: linear-gradient(180deg, #18211b 0%, var(--bg-soft) 28%, var(--bg) 100%);
  line-height: 1.62;
}

#bb-initial-loader {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  background:
    linear-gradient(180deg, #18211b 0%, var(--bg-soft) 40%, var(--bg) 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.bb-initial-loader__inner {
  display: inline-flex;
  align-items: center;
  gap: 0.78rem;
  color: #c8f8df;
  letter-spacing: 0;
}

.bb-initial-loader__text {
  font-size: 0.88rem;
  font-weight: 600;
  text-transform: uppercase;
}

html.bb-js.bb-loading body {
  overflow: hidden;
}

html.bb-js.bb-loading body > *:not(#bb-initial-loader) {
  visibility: hidden;
}

html.bb-js.bb-loading #bb-initial-loader {
  opacity: 1;
  pointer-events: auto;
}

html.bb-js:not(.bb-loading) #bb-initial-loader {
  opacity: 0;
  pointer-events: none;
}

a {
  color: inherit;
}

.app-install-banner {
  position: relative;
  z-index: 45;
  display: flex;
  align-items: center;
  gap: 0.72rem;
  padding: 0.72rem max(1rem, env(safe-area-inset-right)) 0.72rem max(1rem, env(safe-area-inset-left));
  border-bottom: 1px solid rgba(240, 212, 138, 0.18);
  background:
    linear-gradient(135deg, rgba(10, 113, 70, 0.96), rgba(6, 34, 28, 0.98) 62%, rgba(8, 9, 8, 0.98)),
    radial-gradient(circle at top left, rgba(229, 182, 79, 0.22), transparent 34%);
  color: #f4f0e7;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.3);
}

.app-install-banner__mark {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.35rem;
  height: 2.35rem;
  border: 0;
  border-radius: var(--logo-corner-radius);
  background: url('/assets/img/bluffbuddy-seat-map-mark.svg') center / cover no-repeat;
  color: transparent;
  font-size: 0;
  font-weight: 800;
  line-height: 1;
  overflow: hidden;
}

.app-install-banner__copy {
  min-width: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 0.06rem;
}

.app-install-banner__headline {
  color: #ffffff;
  font-size: 0.89rem;
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.app-install-banner__message {
  overflow: hidden;
  color: #c8f8df;
  font-size: 0.76rem;
  font-weight: 600;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.app-install-banner__cta {
  flex: 0 0 auto;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(240, 212, 138, 0.28);
  background: #f4f0e7;
  color: #0b2219;
  font-size: 0.8rem;
  font-weight: 800;
  line-height: 1;
  padding: 0.68rem 0.78rem;
  text-decoration: none;
  white-space: nowrap;
}

.app-install-banner__cta:focus-visible,
.app-install-banner__dismiss:focus-visible {
  outline: 2px solid #f0d48a;
  outline-offset: 2px;
}

.app-install-banner__dismiss {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border: 1px solid rgba(244, 240, 231, 0.18);
  border-radius: var(--radius-sm);
  background: rgba(244, 240, 231, 0.08);
  color: #f4f0e7;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1;
}

@media (max-width: 420px) {
  .app-install-banner {
    gap: 0.55rem;
    padding-right: max(0.72rem, env(safe-area-inset-right));
    padding-left: max(0.72rem, env(safe-area-inset-left));
  }

  .app-install-banner__message {
    display: none;
  }

  .app-install-banner__cta {
    padding: 0.64rem 0.68rem;
  }
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  border-bottom: 1px solid rgba(224, 211, 178, 0.16);
  background: rgba(8, 9, 8, 0.86);
  backdrop-filter: blur(8px);
}

.header-inner,
.main,
.footer-inner {
  width: min(1160px, 94vw);
  margin: 0 auto;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.95rem 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 0.72rem;
  text-decoration: none;
}

.brand-badge {
  width: 2.65rem;
  height: 2.65rem;
  background: url('/assets/img/bluffbuddy-seat-map-mark.svg') center / cover no-repeat;
  border: 0;
  border-radius: var(--logo-corner-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  font-size: 0;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
  overflow: hidden;
}

.brand-name {
  display: inline-flex;
  align-items: center;
  min-height: 2.65rem;
  font-family: 'Manrope', 'Segoe UI', 'Trebuchet MS', sans-serif;
  color: #f4f0e7;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
  line-height: 1;
}

.nav {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.95rem;
}

.nav a {
  text-decoration: none;
  color: var(--muted);
  font-weight: 600;
  font-size: 0.94rem;
}

.nav a:hover {
  color: #ffffff;
}

.main {
  padding: 1.75rem 0 3.4rem;
}

.section,
.hero,
.panel,
.feature-card,
.price-card,
.faq-item,
.legal-card,
.stat-card,
.quote-card,
.step-card,
.cta-band {
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 1.25rem;
  padding: 2rem;
}

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(43, 199, 125, 0.09), rgba(229, 182, 79, 0.07) 52%, rgba(12, 16, 14, 0.02)),
    linear-gradient(180deg, rgba(244, 240, 231, 0.035), rgba(244, 240, 231, 0));
  border: 1px solid rgba(224, 211, 178, 0.08);
  border-radius: var(--radius-lg);
  pointer-events: none;
}

.hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 1.2rem;
}

.hero h1,
.section-heading h2,
.panel h2,
.feature-card h3,
.price-card h3,
.step-card h3,
.cta-band h2,
h1,
h2,
h3 {
  font-family: 'Manrope', 'Segoe UI', 'Trebuchet MS', sans-serif;
  letter-spacing: 0;
  line-height: 1.15;
}

.hero h1 {
  margin: 0 0 0.8rem;
  font-size: 3.25rem;
  font-weight: 800;
}

.subtitle,
.lede {
  color: var(--muted);
  max-width: 68ch;
}

.lede {
  font-size: 1.05rem;
}

.kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.25rem 0.62rem;
  margin-bottom: 0.95rem;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(229, 182, 79, 0.48);
  background: rgba(229, 182, 79, 0.12);
  color: #f0d48a;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cta-row {
  margin-top: 1.2rem;
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  padding: 0.64rem 1.18rem;
  text-decoration: none;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn:focus-visible {
  outline: 2px solid var(--chip);
  outline-offset: 2px;
}

.btn-primary {
  background: linear-gradient(180deg, #44d796, var(--brand));
  color: #07110b;
  box-shadow: 0 10px 22px rgba(47, 191, 127, 0.28);
}

.btn-primary:hover {
  background: linear-gradient(180deg, #39c987, var(--brand-deep));
}

.btn-secondary {
  border-color: rgba(224, 211, 178, 0.32);
  color: var(--text);
  background: rgba(23, 29, 25, 0.72);
}

.btn-secondary:hover {
  border-color: rgba(240, 212, 138, 0.68);
}

.hero-note {
  margin-top: 0.75rem;
  color: var(--muted);
  font-size: 0.92rem;
}

.hero-stack {
  display: grid;
  gap: 0.8rem;
}

.home-page .main {
  width: min(1240px, 94vw);
}

.home-page .hero,
.home-page .section {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.home-page .section {
  margin-top: 2.1rem;
  padding: 2.3rem 0;
}

.home-page .feature-card,
.home-page .step-card {
  border-color: rgba(224, 211, 178, 0.18);
  background: rgba(23, 29, 25, 0.88);
}

.display-showcase {
  border-top: 1px solid rgba(224, 211, 178, 0.16);
  border-bottom: 1px solid rgba(224, 211, 178, 0.16);
}

.display-showcase .section-heading {
  max-width: 780px;
}

.home-page .cta-band {
  display: grid;
  gap: 0.75rem;
  margin-top: 2.5rem;
  padding: 1.35rem;
  border-color: rgba(240, 212, 138, 0.28);
  background:
    linear-gradient(135deg, rgba(43, 199, 125, 0.16), rgba(229, 182, 79, 0.12)),
    #101614;
}

.home-page .cta-band h2 {
  max-width: 760px;
}

.home-page .hero {
  min-height: 640px;
  display: grid;
  align-items: center;
  padding: 4.25rem 0 3rem;
}

.home-page .hero::before {
  opacity: 0.58;
}

.hero-copy {
  align-self: center;
}

.hero-visual {
  display: grid;
  gap: 0.85rem;
  align-content: center;
}

.screen-frame,
.phone-frame {
  overflow: hidden;
  border: 1px solid rgba(224, 211, 178, 0.2);
  border-radius: var(--radius-lg);
  background: #070807;
  box-shadow: var(--shadow);
}

.screen-frame {
  aspect-ratio: 16 / 9;
}

.screen-frame img,
.phone-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.screen-frame img {
  transform: scale(1.55);
  transform-origin: 72% 34%;
}

.hero-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
}

.hero-proof div {
  border: 1px solid rgba(224, 211, 178, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(12, 16, 14, 0.82);
  padding: 0.72rem;
}

.hero-proof span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
}

.hero-proof strong {
  display: block;
  margin-top: 0.08rem;
  color: var(--text);
  font-size: 1rem;
  line-height: 1.2;
}

.store-row {
  margin-top: 0.85rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem;
}

.store-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  padding: 0;
  text-decoration: none;
  line-height: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.store-badge:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.store-badge:focus-visible {
  outline: 2px solid var(--chip);
  outline-offset: 4px;
}

.store-badge img {
  display: block;
  height: auto;
  object-fit: contain;
}

.store-badge--app-store img {
  width: 135px;
}

.store-badge--google-play img {
  width: 155px;
}

.showcase-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.55fr) minmax(0, 1.45fr);
  gap: 1rem;
  align-items: stretch;
}

.phone-frame {
  aspect-ratio: 9 / 16;
  max-height: 680px;
}

.signal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.95rem;
}

.market-card {
  border: 1px solid rgba(224, 211, 178, 0.18);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(244, 240, 231, 0.065), rgba(43, 199, 125, 0.045));
  padding: 1rem 1.1rem;
  box-shadow: var(--shadow-soft);
}

.market-card h3 {
  margin: 0;
  font-size: 1.25rem;
}

.market-card p {
  margin-top: 0.55rem;
}

.stat-card {
  padding: 0.95rem 1rem;
}

.stat-label {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0;
  font-size: 0.74rem;
  font-weight: 700;
}

.stat-value {
  font-family: 'Manrope', 'Segoe UI', 'Trebuchet MS', sans-serif;
  font-size: 1.75rem;
  font-weight: 800;
  margin-top: 0.25rem;
}

.stat-detail {
  color: var(--muted);
  font-size: 0.9rem;
}

.grid {
  display: grid;
  gap: 0.95rem;
}

.grid.cols-2 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

.grid.cols-3 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 218px), 1fr));
}

.section {
  margin-top: 1rem;
  padding: 1.2rem;
}

.section-heading {
  margin-bottom: 0.8rem;
}

.section-heading h2 {
  margin: 0;
  font-size: 2.15rem;
  font-weight: 800;
}

[data-kpi-section='problem-fit'] .feature-card,
[data-kpi-section='how-steps'] .step-card,
[data-kpi-section='how-outcomes'] .feature-card,
[data-kpi-section='pricing-cards'] .price-card,
[data-kpi-section='pricing-faq'] .feature-card,
[data-kpi-section='faq-list'] .faq-item {
  border-color: #1f2d3e;
}

.feature-card,
.step-card,
.price-card,
.faq-item,
.quote-card,
.panel,
.legal-card,
.cta-band {
  padding: 1rem 1.1rem;
}

.feature-card h3,
.step-card h3,
.price-card h3,
.faq-item h3,
.quote-card h3 {
  margin: 0;
  font-size: 1.25rem;
}

.feature-card p,
.step-card p,
.price-card p,
.faq-item p,
.quote-card p,
.panel p {
  margin-top: 0.55rem;
}

.badge-row {
  margin-top: 0.55rem;
  display: flex;
  gap: 0.42rem;
  flex-wrap: wrap;
}

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(47, 191, 127, 0.34);
  background: rgba(47, 191, 127, 0.15);
  color: #b7f6d5;
  padding: 0.2rem 0.5rem;
  font-size: 0.73rem;
  font-weight: 700;
}

.form-grid {
  display: grid;
  gap: 0.9rem;
}

.form-grid.cols-2 {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.form-field {
  display: grid;
  gap: 0.35rem;
}

.form-field label,
.checkbox-field label {
  color: #efe7d8;
  font-size: 0.92rem;
  font-weight: 700;
}

.form-field label span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-height: 2.85rem;
  border: 1px solid rgba(224, 211, 178, 0.24);
  border-radius: var(--radius-sm);
  background: rgba(8, 9, 8, 0.68);
  color: var(--text);
  font: inherit;
  letter-spacing: 0;
  padding: 0.72rem 0.82rem;
}

.form-field textarea {
  min-height: 7rem;
  resize: vertical;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  outline: 2px solid rgba(43, 199, 125, 0.55);
  border-color: rgba(43, 199, 125, 0.7);
}

.checkbox-field {
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: 0.58rem;
  align-items: start;
  border: 1px solid rgba(224, 211, 178, 0.16);
  border-radius: var(--radius-sm);
  background: rgba(12, 16, 14, 0.62);
  padding: 0.78rem;
}

.checkbox-field input {
  width: 1rem;
  height: 1rem;
  margin-top: 0.2rem;
  accent-color: var(--brand);
}

.privacy-promise {
  display: grid;
  grid-template-columns: 1.55rem minmax(0, 1fr);
  gap: 0.72rem;
  align-items: start;
  border: 1px solid rgba(47, 191, 127, 0.34);
  border-radius: var(--radius-sm);
  background: rgba(47, 191, 127, 0.1);
  color: #d7f9e8;
  padding: 0.82rem 0.92rem;
  font-size: 0.9rem;
  line-height: 1.5;
}

.privacy-promise-icon {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.08rem;
  color: #8df2bd;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.privacy-promise strong {
  color: #f4fff8;
}

.privacy-promise a {
  color: #b7f6d5;
  font-weight: 800;
}

.privacy-promise a:hover {
  color: #ffffff;
}

.form-status {
  border-radius: var(--radius-sm);
  border: 1px solid rgba(224, 211, 178, 0.22);
  padding: 0.82rem 0.92rem;
  font-weight: 700;
}

.form-status.is-success {
  border-color: rgba(43, 199, 125, 0.55);
  background: rgba(43, 199, 125, 0.14);
  color: #c9f9df;
}

.form-status.is-error {
  border-color: rgba(212, 73, 63, 0.68);
  background: rgba(212, 73, 63, 0.14);
  color: #ffd4d0;
}

.form-status.is-warning {
  border-color: rgba(229, 182, 79, 0.56);
  background: rgba(229, 182, 79, 0.14);
  color: #f8df9d;
}

.form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.form-actions p {
  max-width: 54ch;
  margin: 0;
  color: var(--muted);
  font-size: 0.83rem;
}

.resource-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.2rem 0 0.85rem;
  color: var(--muted);
  font-size: 0.86rem;
  flex-wrap: wrap;
}

.resource-breadcrumbs a {
  color: #b7f6d5;
}

.resource-generator-form {
  display: grid;
  gap: 1rem;
}

.form-field small {
  color: var(--muted);
  line-height: 1.4;
}

.form-field .field-error {
  min-height: 1.1em;
  color: #ffd4d0;
  font-weight: 700;
}

.form-field [aria-invalid='true'] {
  border-color: rgba(212, 73, 63, 0.82);
  box-shadow: 0 0 0 1px rgba(212, 73, 63, 0.36);
}

.generator-form-actions {
  border-top: 1px solid var(--line);
  padding-top: 1rem;
}

.btn:disabled,
.btn[aria-busy='true'] {
  cursor: wait;
  opacity: 0.68;
}

/* Nearby interest registration */
.nearby-interest-page {
  max-width: 1040px;
}

.nearby-interest-hero h1 {
  max-width: 880px;
}

.nearby-interest-hero .lede {
  max-width: 72ch;
}

.nearby-interest-workspace {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin-inline: auto;
}

.nearby-interest-form {
  margin-top: 1.15rem;
}

.nearby-interest-form [hidden] {
  display: none !important;
}

.nearby-address-combobox {
  position: relative;
}

.nearby-address-results {
  position: absolute;
  z-index: 20;
  top: calc(100% + 0.35rem);
  right: 0;
  left: 0;
  overflow: hidden;
  border: 1px solid rgba(224, 211, 178, 0.28);
  border-radius: var(--radius-sm);
  background: #111511;
  box-shadow: 0 1rem 2.4rem rgba(0, 0, 0, 0.42);
}

.nearby-address-suggestions {
  display: grid;
  max-height: 15rem;
  overflow-y: auto;
}

.nearby-address-option {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(224, 211, 178, 0.14);
  background: transparent;
  color: var(--text);
  font: inherit;
  line-height: 1.4;
  padding: 0.82rem 0.9rem;
  text-align: left;
  cursor: pointer;
}

.nearby-address-option:last-child {
  border-bottom: 0;
}

.nearby-address-option:hover,
.nearby-address-option[aria-selected='true'],
.nearby-address-option:focus-visible {
  outline: 0;
  background: rgba(47, 191, 127, 0.14);
}

.nearby-search-attribution {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  border-top: 1px solid rgba(224, 211, 178, 0.2);
  background: rgba(255, 255, 255, 0.035);
  padding: 0.5rem 0.75rem;
}

.nearby-search-attribution__logo {
  display: inline-flex;
  flex: 0 0 auto;
  border-radius: 3px;
}

.nearby-search-attribution__logo img {
  display: block;
  width: auto;
  height: 30px;
}

.nearby-search-attribution span {
  color: var(--muted);
  font-size: 0.68rem;
  line-height: 1.35;
  text-align: right;
}

.nearby-search-attribution a {
  color: inherit;
  text-underline-offset: 2px;
}

.nearby-search-attribution a:focus-visible {
  outline: 2px solid rgba(43, 199, 125, 0.72);
  outline-offset: 2px;
}

.nearby-resolved-area {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(47, 191, 127, 0.36);
  border-radius: var(--radius-sm);
  background: rgba(47, 191, 127, 0.09);
  padding: 1rem;
}

.nearby-resolved-area__eyebrow {
  margin: 0;
  color: #b7f6d5;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nearby-resolved-area__heading-row {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  flex-wrap: wrap;
  margin-top: 0.2rem;
}

.nearby-resolved-area__heading-row h3 {
  margin: 0;
  font-size: 1.35rem;
}

.nearby-resolved-area__heading-row span {
  color: #9b9b96;
  font-size: 0.88rem;
  font-weight: 700;
}

.nearby-resolved-area__locality,
.nearby-resolved-area__message {
  margin: 0.35rem 0 0;
  color: var(--muted);
}

.nearby-resolved-area__message {
  max-width: 56ch;
  font-size: 0.9rem;
}

.nearby-change-button {
  flex: 0 0 auto;
}

.nearby-role-fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

.nearby-role-fieldset legend {
  margin-bottom: 0.7rem;
  color: var(--text);
  font-size: 1.05rem;
  font-weight: 800;
}

.nearby-role-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem;
}

.nearby-role-option {
  display: grid;
  grid-template-columns: 1.1rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  min-height: 5rem;
  border: 1px solid rgba(224, 211, 178, 0.2);
  border-radius: var(--radius-sm);
  background: rgba(8, 9, 8, 0.46);
  padding: 0.85rem;
  cursor: pointer;
}

.nearby-role-option:has(input:checked) {
  border-color: rgba(47, 191, 127, 0.7);
  background: rgba(47, 191, 127, 0.12);
}

.nearby-role-option:focus-within {
  outline: 2px solid rgba(43, 199, 125, 0.55);
  outline-offset: 2px;
}

.nearby-role-option input {
  width: 1rem;
  height: 1rem;
  margin-top: 0.2rem;
  accent-color: var(--brand);
}

.nearby-role-option strong,
.nearby-role-option small {
  display: block;
}

.nearby-role-option small {
  margin-top: 0.2rem;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.35;
}

.nearby-existing-member {
  margin: 1rem 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  text-align: center;
}

.nearby-interest-explainer {
  margin-top: 1rem;
}

@media (max-width: 620px) {
  .nearby-search-attribution {
    align-items: flex-start;
    flex-direction: column;
  }

  .nearby-search-attribution span {
    text-align: left;
  }

  .nearby-role-options {
    grid-template-columns: 1fr;
  }

  .nearby-role-option {
    min-height: 0;
  }

  .nearby-resolved-area {
    display: grid;
  }

  .nearby-change-button {
    justify-self: start;
  }

  .nearby-interest-actions {
    align-items: stretch;
  }

  .nearby-interest-actions .btn {
    width: 100%;
  }
}

.generator-result[hidden] {
  display: none;
}

.generator-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.generator-summary div {
  display: grid;
  gap: 0.2rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(8, 14, 12, 0.55);
  padding: 0.75rem;
}

.generator-summary span {
  color: var(--muted);
  font-size: 0.78rem;
}

.generator-summary strong {
  color: #f4fff8;
  font-size: 1rem;
}

.generator-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.generator-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  color: var(--text);
}

.generator-table caption {
  padding: 0.75rem;
  color: var(--muted);
  text-align: left;
  font-size: 0.82rem;
}

.generator-table th,
.generator-table td {
  border-top: 1px solid var(--line);
  padding: 0.68rem 0.72rem;
  text-align: left;
  vertical-align: top;
}

.generator-table th {
  background: rgba(47, 191, 127, 0.1);
  color: #e8f8ef;
  font-size: 0.8rem;
  white-space: nowrap;
}

.generator-table td {
  font-variant-numeric: tabular-nums;
}

.generator-warnings {
  margin-top: 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  padding: 0.85rem 1rem;
}

.generator-warnings h3 {
  margin: 0;
}

.generator-warnings ul {
  margin: 0.45rem 0 0;
  padding-left: 1.2rem;
}

.generator-action-row {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.copy-fallback-label {
  display: block;
  margin-top: 0.9rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.copy-fallback {
  width: 100%;
  min-height: 8rem;
  margin-top: 0.35rem;
  border: 1px solid rgba(212, 73, 63, 0.68);
  border-radius: var(--radius-sm);
  background: rgba(8, 9, 8, 0.78);
  color: var(--text);
  padding: 0.75rem;
}

[data-copy-fallback-wrap][hidden] {
  display: none;
}

.resource-review {
  margin: 1.1rem 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  text-align: right;
}

.host-night-page .btn {
  min-height: 2.75rem;
}

.host-guide-hero {
  padding-block: 1.65rem;
}

.host-guide-hero h1 {
  max-width: 900px;
  font-size: 2.85rem;
}

.host-guide-hero .lede {
  margin-bottom: 0;
}

.host-decision-section {
  overflow: hidden;
  padding: 0;
}

.host-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.host-decision-segment {
  min-width: 0;
  padding: 1.45rem;
}

.host-decision-segment + .host-decision-segment {
  border-left: 1px solid var(--line);
}

.host-decision-segment h2,
.host-boundary h2 {
  margin: 0;
  font-size: 2rem;
}

.host-decision-segment > p {
  color: var(--muted);
}

.host-checklist {
  display: grid;
  gap: 0.45rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.host-checklist li {
  position: relative;
  padding-left: 1.25rem;
}

.host-checklist li::before {
  content: '';
  position: absolute;
  top: 0.68em;
  left: 0;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--brand);
}

.host-checklist--equipment li::before {
  background: var(--accent);
}

.host-tier-note,
.host-choice-note {
  margin: 1.1rem 0 0;
  border-left: 3px solid var(--brand);
  padding: 0.1rem 0 0.1rem 0.85rem;
  font-size: 0.91rem;
}

.host-choice-note {
  border-left-color: var(--accent);
}

/* Public poker-night guides */
.resource-guide-page .hero h1 {
  max-width: 980px;
}

.resource-guide-hero .lede {
  max-width: 76ch;
}

.resource-guide-actions {
  margin-top: 1.2rem;
}

.resource-guide-stack {
  display: grid;
}

.guide-step-number {
  display: inline-grid;
  width: 2rem;
  height: 2rem;
  margin-bottom: 0.75rem;
  place-items: center;
  border: 1px solid rgba(43, 199, 125, 0.46);
  border-radius: 50%;
  background: rgba(43, 199, 125, 0.12);
  color: #b7f6d5;
  font-size: 0.78rem;
  font-weight: 850;
}

.public-checklist,
.guide-bullet-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.72rem 1.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-checklist li,
.guide-bullet-list li {
  position: relative;
  min-width: 0;
  padding-left: 1.7rem;
  color: #d5ded8;
  line-height: 1.55;
}

.public-checklist li::before {
  content: '';
  position: absolute;
  top: 0.28rem;
  left: 0;
  width: 1rem;
  height: 1rem;
  border: 1px solid rgba(131, 234, 179, 0.58);
  border-radius: 0.22rem;
  background: rgba(8, 9, 8, 0.48);
}

.guide-bullet-list li::before {
  content: '';
  position: absolute;
  top: 0.68em;
  left: 0.35rem;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: var(--brand);
}

.public-checklist.compact,
.feature-card .guide-bullet-list {
  grid-template-columns: 1fr;
  margin-top: 0.85rem;
}

.guide-follow-up {
  margin: 1rem 0 0;
  border-left: 3px solid rgba(43, 199, 125, 0.58);
  padding-left: 0.85rem;
  color: var(--muted);
}

.guide-follow-up a,
.guide-source-note a {
  color: #b7f6d5;
  font-weight: 800;
}

.guide-link-row {
  display: flex;
  gap: 0.65rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

.guide-link-row .btn,
.resource-guide-actions .btn {
  min-height: 2.75rem;
}

.guide-callout {
  display: grid;
  grid-template-columns: minmax(10rem, 0.34fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 1rem;
  border: 1px solid rgba(229, 182, 79, 0.46);
  border-radius: var(--radius-sm);
  background: rgba(229, 182, 79, 0.1);
  padding: 0.9rem 1rem;
}

.guide-callout.is-accent {
  margin: 0 0 1rem;
  border-color: rgba(43, 199, 125, 0.48);
  background: rgba(43, 199, 125, 0.1);
}

.guide-callout strong {
  color: #f8df9d;
}

.guide-callout.is-accent strong {
  color: #b7f6d5;
}

.guide-callout span {
  color: #d5ded8;
}

.template-token-list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.template-token-list span {
  border: 1px solid rgba(43, 199, 125, 0.35);
  border-radius: 999px;
  background: rgba(43, 199, 125, 0.1);
  color: #b7f6d5;
  padding: 0.38rem 0.62rem;
  font-size: 0.78rem;
  font-weight: 750;
}

.resource-template-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.template-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(8, 14, 12, 0.56);
  padding: 1rem;
}

.template-card-heading {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.7rem;
  align-items: start;
}

.template-card-heading > span {
  color: #83eab3;
  font-size: 0.76rem;
  font-weight: 850;
}

.template-card h3,
.template-card p {
  margin: 0;
}

.template-card h3 {
  font-size: 1.18rem;
}

.template-card p {
  margin-top: 0.2rem;
  color: var(--muted);
  font-size: 0.82rem;
}

.template-card blockquote,
.director-script blockquote {
  margin: 0.9rem 0 0;
  border-left: 3px solid rgba(43, 199, 125, 0.5);
  background: rgba(6, 10, 8, 0.54);
  padding: 0.78rem 0.85rem;
  color: #eef6f1;
  line-height: 1.58;
}

.director-script {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(8, 14, 12, 0.56);
  padding: 1rem;
}

.director-script > span {
  color: #83eab3;
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.director-script blockquote {
  margin-top: 0.65rem;
  font-size: 1.02rem;
}

.ruling-process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ruling-process li {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(8, 14, 12, 0.56);
  padding: 0.85rem;
}

.ruling-process li > span {
  display: inline-grid;
  width: 1.65rem;
  height: 1.65rem;
  margin-bottom: 0.65rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(43, 199, 125, 0.15);
  color: #b7f6d5;
  font-size: 0.74rem;
  font-weight: 850;
}

.ruling-process strong {
  color: #f4f0e7;
}

.ruling-process p {
  margin: 0.45rem 0 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.guide-source-note p {
  color: var(--muted);
}

@media (max-width: 900px) {
  .ruling-process {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .public-checklist,
  .guide-bullet-list,
  .resource-template-grid,
  .ruling-process {
    grid-template-columns: 1fr;
  }

  .guide-callout {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }
}

.host-tier-note a,
.host-login-link,
.calculator-follow-up a {
  color: #b7f6d5;
  font-weight: 800;
}

.host-login-link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  cursor: pointer;
}

.host-login-link:hover,
.host-login-link:focus-visible,
.calculator-follow-up a:hover,
.calculator-follow-up a:focus-visible {
  color: #ffffff;
}

.host-login-link:focus-visible {
  outline: 2px solid var(--chip);
  outline-offset: 3px;
}

.chip-calculator-form {
  margin-top: 1rem;
}

.field-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}

.field-label-row label {
  min-width: 0;
}

.info-popover-wrap {
  position: relative;
  display: inline-flex;
  flex: 0 0 auto;
}

.info-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgba(224, 211, 178, 0.3);
  border-radius: 50%;
  background: rgba(8, 9, 8, 0.68);
  color: #d7f9e8;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.info-button:hover,
.info-button:focus-visible,
.info-button[aria-expanded='true'] {
  border-color: rgba(43, 199, 125, 0.72);
  background: rgba(43, 199, 125, 0.14);
  outline: none;
}

.info-button:focus-visible {
  box-shadow: 0 0 0 2px rgba(43, 199, 125, 0.34);
}

.field-popover {
  position: absolute;
  top: calc(100% + 0.45rem);
  right: 0;
  z-index: 20;
  width: min(23rem, calc(100vw - 2rem));
  border: 1px solid rgba(224, 211, 178, 0.3);
  border-radius: var(--radius-sm);
  background: #0b100d;
  box-shadow: var(--shadow);
  color: var(--text);
  padding: 0.8rem;
  font-size: 0.83rem;
  line-height: 1.5;
}

.field-popover[hidden],
.chip-calculator-result[hidden] {
  display: none;
}

.calculator-noscript {
  margin-top: 1rem;
  border: 1px solid rgba(229, 182, 79, 0.48);
  border-radius: var(--radius-sm);
  background: rgba(229, 182, 79, 0.1);
  color: #f8df9d;
  padding: 0.85rem;
}

.chip-calculator-result {
  margin-top: 1.3rem;
  border-top: 1px solid var(--line);
  padding-top: 1.25rem;
}

.chip-calculator-result h3 {
  margin: 0;
  font-size: 1.55rem;
}

.chip-calculator-result h3:focus-visible {
  outline: 2px solid var(--chip);
  outline-offset: 4px;
}

.chip-plan-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.chip-plan-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.chip-plan-columns > section {
  min-width: 0;
  padding: 1rem 1rem 1rem 0;
}

.chip-plan-columns > section + section {
  border-left: 1px solid var(--line);
  padding-right: 0;
  padding-left: 1rem;
}

.chip-plan-columns h4 {
  margin: 0 0 0.7rem;
  font-size: 1.05rem;
}

.chip-plan-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.chip-plan-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid rgba(224, 211, 178, 0.14);
  padding: 0.58rem 0;
  font-variant-numeric: tabular-nums;
}

.chip-plan-list strong {
  min-width: 0;
  overflow-wrap: anywhere;
}

.chip-plan-list span {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 0.82rem;
}

.calculator-follow-up {
  margin: 1rem 0 0;
  color: var(--muted);
}

.equipment-catalog-section {
  scroll-margin-top: 10rem;
}

.affiliate-disclosure {
  margin: 1rem 0 0;
  max-width: 76ch;
  color: var(--muted);
  font-size: 0.9rem;
}

.equipment-groups {
  display: grid;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.equipment-group {
  min-width: 0;
}

.equipment-group-heading {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  margin-bottom: 0.6rem;
}

.equipment-group-heading > span {
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 800;
}

.equipment-group-heading h3,
.equipment-group-heading p {
  margin: 0;
}

.equipment-group-heading h3 {
  font-size: 1.35rem;
}

.equipment-group-heading p {
  margin-top: 0.25rem;
  color: var(--muted);
  font-size: 0.9rem;
}

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

.equipment-row {
  display: grid;
  grid-template-columns: minmax(8rem, 0.45fr) minmax(0, 1.35fr) minmax(11rem, 0.55fr);
  gap: 1rem;
  align-items: start;
  border-bottom: 1px solid var(--line);
  padding: 1rem 0;
}

.equipment-category {
  margin: 0;
  color: #f0d48a;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.equipment-copy,
.equipment-action {
  min-width: 0;
}

.equipment-copy h4,
.equipment-copy p {
  margin: 0;
}

.equipment-copy h4 {
  font-size: 1.08rem;
  overflow-wrap: anywhere;
}

.equipment-copy > span {
  display: block;
  margin-top: 0.65rem;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.equipment-copy p {
  margin-top: 0.2rem;
  color: var(--muted);
  font-size: 0.91rem;
}

.equipment-action {
  display: grid;
  justify-items: start;
  gap: 0.45rem;
}

.equipment-action .btn {
  width: 100%;
}

.equipment-action small {
  color: var(--muted);
  line-height: 1.4;
}

.host-boundary {
  display: grid;
  grid-template-columns: minmax(14rem, 0.7fr) minmax(0, 1.3fr);
  gap: 1.4rem;
  border-color: rgba(229, 182, 79, 0.38);
}

.host-boundary p {
  margin: 0;
  color: var(--muted);
}

.host-boundary p + p {
  margin-top: 0.8rem;
}

.host-footer-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.host-footer-inner > div:nth-child(2) {
  text-align: right;
}

.footer-affiliate-disclosure {
  grid-column: 1 / -1;
  margin: 0;
  border-top: 1px solid rgba(224, 211, 178, 0.16);
  padding-top: 0.8rem;
}

@media (max-width: 820px) {
  .host-decision-grid,
  .chip-plan-columns,
  .host-boundary {
    grid-template-columns: 1fr;
  }

  .host-decision-segment + .host-decision-segment {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .chip-plan-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chip-plan-columns > section {
    padding: 1rem 0;
  }

  .chip-plan-columns > section + section {
    border-top: 1px solid var(--line);
    border-left: 0;
    padding: 1rem 0;
  }

  .equipment-row {
    grid-template-columns: minmax(7.5rem, 0.38fr) minmax(0, 1fr);
  }

  .equipment-action {
    grid-column: 2;
  }
}

@media (max-width: 560px) {
  .host-guide-hero h1 {
    font-size: 2.05rem;
  }

  .host-decision-segment {
    padding: 1rem;
  }

  .host-decision-segment h2,
  .host-boundary h2 {
    font-size: 1.65rem;
  }

  .field-label-row {
    align-items: flex-start;
  }

  .field-popover {
    right: -0.2rem;
  }

  .chip-plan-summary,
  .equipment-row,
  .host-footer-inner {
    grid-template-columns: 1fr;
  }

  .chip-plan-list li {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.1rem;
  }

  .equipment-action {
    grid-column: auto;
  }

  .host-footer-inner > div:nth-child(2) {
    text-align: left;
  }
}

@media print {
  .resource-tool-page .hero,
  .resource-tool-page .generator-result {
    display: block !important;
    border: 0;
    box-shadow: none;
    color: #111;
    background: #fff;
  }

  .site-header,
  .footer,
  .resource-breadcrumbs,
  .generator-workspace,
  .generator-action-row,
  .copy-fallback-label,
  .copy-fallback,
  .resource-tool-page .section:not(.generator-result),
  .resource-product-cta,
  .resource-review {
    display: none !important;
  }

  .generator-table-wrap {
    overflow: visible;
    border-color: #777;
  }

  .generator-table {
    min-width: 0;
    color: #111;
    font-size: 9pt;
  }

  .generator-table th,
  .generator-table td,
  .generator-summary div,
  .generator-warnings {
    border-color: #999;
    color: #111;
    background: #fff;
  }

  .generator-summary span,
  .generator-summary strong,
  .generator-result .subtitle {
    color: #111;
  }

  .resource-guide-page {
    background: #fff;
    color: #111;
  }

  .resource-guide-page .hero,
  .resource-guide-page .section,
  .resource-guide-page .feature-card,
  .resource-guide-page .step-card,
  .resource-guide-page .template-card,
  .resource-guide-page .director-script,
  .resource-guide-page .ruling-process li {
    border-color: #aaa;
    box-shadow: none;
    background: #fff;
    color: #111;
  }

  .resource-guide-page .hero,
  .resource-guide-page .section {
    break-inside: avoid;
    padding: 0.5rem 0;
  }

  .resource-guide-page .resource-guide-actions,
  .resource-guide-page .resource-product-cta,
  .resource-guide-page .guide-link-row {
    display: none !important;
  }

  .resource-guide-page h1,
  .resource-guide-page h2,
  .resource-guide-page h3,
  .resource-guide-page p,
  .resource-guide-page li,
  .resource-guide-page strong,
  .resource-guide-page blockquote,
  .resource-guide-page .subtitle,
  .resource-guide-page .lede {
    color: #111;
  }

  .public-checklist li::before {
    border-color: #333;
    background: #fff;
  }
}

.timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.9rem;
}

.timeline li {
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(10, 17, 26, 0.82);
  padding: 0.9rem;
}

.timeline-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.58rem;
  height: 1.58rem;
  border-radius: 999px;
  background: var(--surface-strong);
  color: #ebf5ff;
  font-size: 0.78rem;
  font-weight: 700;
  margin-right: 0.42rem;
}

.timeline-title {
  font-family: 'Manrope', 'Segoe UI', 'Trebuchet MS', sans-serif;
  font-weight: 800;
  font-size: 1.1rem;
}

.roadmap {
  margin-top: 0.35rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.roadmap span {
  font-size: 0.78rem;
  color: var(--muted);
  border: 1px dashed rgba(142, 167, 192, 0.42);
  border-radius: 999px;
  padding: 0.18rem 0.5rem;
}

.quote-card {
  background: linear-gradient(180deg, rgba(47, 191, 127, 0.11), rgba(95, 181, 233, 0.12));
}

.quote-card blockquote {
  margin: 0;
  font-size: 1rem;
}

.quote-card cite {
  margin-top: 0.62rem;
  display: block;
  color: var(--muted);
  font-size: 0.86rem;
  font-style: normal;
}

.price-tag {
  display: inline-flex;
  align-items: baseline;
  gap: 0.2rem;
  margin-top: 0.55rem;
  font-family: 'Manrope', 'Segoe UI', 'Trebuchet MS', sans-serif;
  font-weight: 800;
  font-size: 2rem;
  line-height: 1;
}

.price-tag small {
  color: var(--muted);
  font-family: 'Manrope', 'Segoe UI', 'Trebuchet MS', sans-serif;
  font-size: 0.85rem;
}

.price-card ul,
.panel ul,
.legal-card ul {
  margin: 0.7rem 0 0;
  padding-left: 1.1rem;
}

.price-card li,
.panel li,
.legal-card li {
  margin-top: 0.25rem;
}

.cta-band {
  margin-top: 1rem;
  background: linear-gradient(130deg, #0f2a1e, #15362a 46%, #183f56 100%);
  color: #f5fbff;
  border-color: rgba(245, 251, 255, 0.22);
}

.cta-band p {
  color: rgba(245, 251, 255, 0.82);
}

.cta-band .btn-secondary {
  border-color: rgba(245, 251, 255, 0.44);
  color: #f5fbff;
  background: rgba(12, 22, 33, 0.22);
}

.cta-band .btn-secondary:hover {
  border-color: rgba(245, 251, 255, 0.78);
}

.faq-item h2,
.panel h2,
.price-card h2,
.feature-card h2,
.step-card h2 {
  margin-top: 0;
  margin-bottom: 0.4rem;
}

.legal-card h2 {
  margin-top: 0;
  margin-bottom: 0.45rem;
}

.legal-card p + h2,
.legal-card ul + h2 {
  margin-top: 1.2rem;
}

.panel h2 {
  font-size: 1.45rem;
}

.legal-card h1 {
  margin: 0;
  font-size: 2.75rem;
  font-weight: 800;
}

.legal-meta {
  margin-top: 0.3rem;
  color: var(--muted);
  font-size: 0.92rem;
}

.footnote {
  margin-top: 0.7rem;
  color: var(--muted);
  font-size: 0.86rem;
}

.footer {
  border-top: 1px solid rgba(82, 108, 133, 0.34);
  margin-top: 2.5rem;
  background: rgba(7, 12, 18, 0.78);
}

.footer-inner {
  padding: 1.35rem 0;
  color: var(--muted);
  font-size: 0.91rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  flex-wrap: wrap;
}

.footer a {
  color: #d2e2f2;
}

.footer a:hover {
  color: #ffffff;
}

.footer-social-link {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  white-space: nowrap;
}

.footer-social-icon {
  width: 1.1rem;
  height: 1.1rem;
  flex: 0 0 auto;
}

[data-animate] {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

[data-animate].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .btn {
    transition: none;
  }
}

@media (max-width: 900px) {
  .hero {
    padding: 1.35rem;
  }

  .home-page .hero {
    min-height: auto;
    padding: 2.4rem 0 1.8rem;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .showcase-grid {
    grid-template-columns: 1fr;
  }

  .phone-frame {
    width: min(420px, 100%);
    justify-self: center;
  }

  .header-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .nav {
    row-gap: 0.5rem;
  }
}

@media (max-width: 700px) {
  .brand {
    gap: 0.58rem;
  }

  .brand-badge {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: var(--logo-corner-radius);
    font-size: 0.84rem;
  }

  .brand-name {
    min-height: 2.25rem;
    font-size: 1rem;
    letter-spacing: 0;
  }

  .main {
    padding-top: 1.1rem;
  }

  .hero h1 {
    font-size: 2.15rem;
  }

  .section-heading h2,
  .legal-card h1 {
    font-size: 1.72rem;
  }

  .home-page .section {
    margin-top: 1.4rem;
    padding: 1.55rem 0;
  }

  .signal-grid,
  .hero-proof {
    grid-template-columns: 1fr;
  }

  .home-page .hero .hero-note {
    display: none;
  }

  .section,
  .feature-card,
  .price-card,
  .faq-item,
  .legal-card,
  .step-card,
  .quote-card,
  .panel,
  .cta-band,
  .stat-card {
    padding: 0.9rem;
  }

  .footer-inner {
    font-size: 0.86rem;
  }
}

/* Texas Hold'em strategy guide and simulator */
.holdem-strategy-page {
  --card-red: #c93d43;
  --felt: #0b6a45;
  --felt-deep: #06442d;
}

.strategy-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(280px, 0.82fr);
  gap: 2rem;
  align-items: center;
}

.holdem-strategy-hero h1 {
  max-width: 760px;
}

.strategy-hero-hand {
  min-width: 0;
  padding: 0.65rem;
}

.strategy-hero-felt {
  position: relative;
  min-height: 270px;
  overflow: hidden;
  border: 10px solid #4b3523;
  border-radius: 48%;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, 0.08), transparent 36%),
    repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 5px),
    var(--felt);
  box-shadow: inset 0 0 0 3px rgba(229, 182, 79, 0.25), 0 22px 50px rgba(0, 0, 0, 0.38);
}

.strategy-hero-card {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  align-content: space-between;
  width: 98px;
  aspect-ratio: 0.7;
  border: 1px solid #d8d2c7;
  border-radius: 8px;
  background: #f8f5ed;
  color: #181b19;
  padding: 0.68rem;
  box-shadow: 0 13px 28px rgba(0, 0, 0, 0.34);
  transform-origin: 50% 90%;
}

.strategy-hero-card:first-of-type {
  transform: translate(-82%, -50%) rotate(-10deg);
}

.strategy-hero-card:nth-of-type(2) {
  color: var(--card-red);
  transform: translate(-18%, -50%) rotate(10deg);
}

.strategy-hero-card strong {
  font-size: 2rem;
  line-height: 1;
}

.strategy-hero-card span {
  justify-self: end;
  font-size: 2.5rem;
  line-height: 1;
}

.strategy-hero-chip {
  position: absolute;
  width: 38px;
  height: 38px;
  border: 5px dashed rgba(255, 255, 255, 0.82);
  border-radius: 50%;
  background: #d4493f;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}

.strategy-hero-chip--one { right: 14%; bottom: 24%; }
.strategy-hero-chip--two { right: 8%; bottom: 15%; background: #161a18; }
.strategy-hero-chip--three { right: 19%; bottom: 10%; background: var(--accent-deep); }

.strategy-jump-nav {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  overflow-x: auto;
  margin: 0 0 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(8, 14, 12, 0.72);
  padding: 0.65rem;
  scrollbar-width: thin;
}

.strategy-jump-nav span {
  flex: 0 0 auto;
  padding: 0 0.45rem;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.strategy-jump-nav a {
  flex: 0 0 auto;
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(224, 211, 178, 0.2);
  border-radius: var(--radius-sm);
  padding: 0.48rem 0.72rem;
  color: #e9f7ef;
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 700;
}

.strategy-jump-nav a:hover,
.strategy-jump-nav a:focus-visible {
  border-color: rgba(43, 199, 125, 0.6);
  background: rgba(43, 199, 125, 0.1);
}

.strategy-heading {
  max-width: 800px;
}

.strategy-terms-note {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.75rem 0 0;
  color: #cbd8d0;
  font-size: 0.82rem;
  line-height: 1.45;
}

.strategy-terms-note > span {
  display: inline-grid;
  flex: 0 0 1.35rem;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  border: 1px solid rgba(43, 199, 125, 0.56);
  border-radius: 50%;
  background: rgba(43, 199, 125, 0.12);
  color: #d7f9e8;
  font-size: 0.72rem;
  font-weight: 800;
}

.poker-term {
  border-bottom: 1px dotted rgba(131, 234, 179, 0.72);
  color: #e8f4ec;
  font-style: normal;
}

.term-help {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.55rem;
  vertical-align: middle;
}

.term-info-button {
  flex: 0 0 2.5rem;
  font-size: 0.82rem;
}

.term-help-caption {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
}

.term-popover {
  right: auto;
  left: 0;
  width: min(24rem, calc(100vw - 2rem));
  max-height: min(30rem, calc(100vh - 6rem));
  overflow-y: auto;
  text-transform: none;
}

.term-popover.is-align-right {
  right: 0;
  left: auto;
}

.term-popover > strong {
  display: block;
  color: #effaf4;
  font-size: 0.92rem;
}

.term-popover > span {
  display: block;
  margin-top: 0.5rem;
  color: #cbd8d0;
}

.term-popover b {
  color: #f4f0e7;
}

.section.has-open-term-popover {
  position: relative;
  z-index: 5;
}

.strategy-tip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.strategy-tip-card {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.8rem;
  border-top: 1px solid var(--line);
  padding: 1rem 0.2rem 0.35rem;
}

.strategy-tip-number {
  color: #83eab3;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.4;
}

.strategy-tip-card h3,
.street-card h3,
.deck-picker h3,
.card-street h3 {
  margin: 0;
}

.strategy-tip-card h3 {
  font-size: 1.18rem;
}

.strategy-tip-card p,
.street-card p {
  margin: 0.42rem 0 0;
  color: var(--muted);
}

.street-plan-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
}

.street-card {
  min-width: 0;
  padding: 1rem;
  background: rgba(8, 14, 12, 0.54);
}

.street-card + .street-card {
  border-left: 1px solid var(--line);
}

.street-card > span:first-child {
  display: block;
  margin-bottom: 0.6rem;
  color: #83eab3;
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.street-card h3 {
  font-size: 1.05rem;
}

.pot-odds-explainer {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.8fr);
  gap: 1.4rem;
  align-items: center;
  border-color: rgba(229, 182, 79, 0.38);
}

.pot-odds-explainer h2 {
  margin: 0;
  font-size: 2rem;
}

.pot-odds-explainer p {
  margin-bottom: 0;
  color: var(--muted);
}

.pot-odds-explainer p strong {
  color: var(--text);
}

.pot-odds-explainer .pot-odds-plain-language {
  border-left: 3px solid rgba(43, 199, 125, 0.56);
  padding-left: 0.8rem;
  color: #d7e0d9;
}

.pot-odds-term-help {
  margin-top: 0.75rem;
}

.pot-odds-example {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pot-odds-example li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(8, 9, 8, 0.58);
  padding: 0.75rem;
}

.pot-odds-example li.is-result {
  border-color: rgba(43, 199, 125, 0.56);
  background: rgba(43, 199, 125, 0.12);
}

.pot-odds-example span,
.pot-odds-example small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.pot-odds-example strong {
  color: #f5faf7;
  font-size: 1.22rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pot-odds-example small {
  grid-column: 1 / -1;
  font-weight: 500;
}

.simulator-result-term-help {
  justify-self: start;
  margin-top: -0.2rem;
}

.simulator-result .term-popover {
  right: 0;
  left: auto;
}

.holdem-simulator-section {
  scroll-margin-top: 6rem;
  overflow: hidden;
  border-color: rgba(43, 199, 125, 0.48);
  background:
    linear-gradient(145deg, rgba(43, 199, 125, 0.08), transparent 38%),
    var(--surface);
  box-shadow: var(--shadow);
}

.simulator-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.15rem;
}

.simulator-section-heading h2 {
  margin: 0;
  font-size: 2.35rem;
}

.simulator-section-heading .subtitle {
  margin-bottom: 0;
}

.simulator-heading-actions {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.simulator-heading-actions .btn,
.deck-card,
.holdem-card-slot {
  min-height: 2.75rem;
}

.simulator-table-wrap {
  max-width: 890px;
  margin: 0 auto 1.35rem;
  padding: 2.4rem 4.6rem;
}

.simulator-table {
  position: relative;
  min-height: 290px;
  border: 11px solid #493220;
  border-radius: 48%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.075), transparent 43%),
    repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.02) 0 1px, transparent 1px 5px),
    var(--felt-deep);
  box-shadow: inset 0 0 0 3px rgba(229, 182, 79, 0.22), 0 18px 38px rgba(0, 0, 0, 0.34);
}

.simulator-table-center {
  position: absolute;
  inset: 50% auto auto 50%;
  display: grid;
  transform: translate(-50%, -50%);
  color: rgba(244, 240, 231, 0.75);
  text-align: center;
}

.simulator-table-center span {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.simulator-table-center strong {
  font-size: 1rem;
}

.player-seat {
  position: absolute;
  z-index: 2;
  top: var(--seat-y, 50%);
  left: var(--seat-x, 50%);
  display: grid;
  justify-items: center;
  gap: 0.2rem;
  width: 76px;
  color: #d8ded9;
  font-size: 0.7rem;
  line-height: 1.1;
  text-align: center;
  transform: translate(-50%, -50%);
}

.player-seat[hidden] {
  display: none;
}

.player-avatar {
  position: relative;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border: 2px solid rgba(244, 240, 231, 0.66);
  border-radius: 50%;
  background: #1d2b25;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
}

.player-avatar::before,
.player-avatar::after {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #d7c2a3;
}

.player-avatar::before {
  top: 7px;
  width: 13px;
  height: 13px;
}

.player-avatar::after {
  bottom: -7px;
  width: 29px;
  height: 23px;
  background: #6f7f78;
}

.player-seat.is-hero {
  color: #c8f8df;
  font-weight: 800;
}

.player-seat.is-hero .player-avatar {
  border-color: #65e3a2;
  background: #0d3b29;
}

.player-seat.is-hero .player-avatar::after {
  background: var(--brand-deep);
}

.simulator-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  gap: 1rem;
  align-items: start;
}

.simulator-controls {
  min-width: 0;
}

.simulator-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(0, 0.88fr) minmax(0, 1.4fr);
  gap: 0.8rem;
  margin-bottom: 0.8rem;
}

.simulator-pot-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.card-street {
  display: grid;
  grid-template-columns: minmax(150px, 0.42fr) minmax(0, 0.58fr);
  gap: 0.8rem;
  align-items: center;
  border-top: 1px solid var(--line);
  padding: 0.9rem 0;
}

.card-street-label {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.55rem;
}

.card-street-label > span {
  color: #83eab3;
  font-size: 0.74rem;
  font-weight: 800;
}

.card-street h3 {
  font-size: 1rem;
}

.card-street p {
  margin: 0.25rem 0 0;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.card-slot-row {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.holdem-card-slot {
  display: grid;
  align-content: space-between;
  width: 68px;
  aspect-ratio: 0.7;
  border: 2px solid #d8d2c7;
  border-radius: 8px;
  background: #f8f5ed;
  color: #161a18;
  padding: 0.48rem;
  cursor: pointer;
  text-align: left;
}

.holdem-card-slot[data-suit='h'],
.holdem-card-slot[data-suit='d'] {
  color: var(--card-red);
}

.holdem-card-slot > span {
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1;
}

.holdem-card-slot > small {
  justify-self: end;
  font-size: 1.6rem;
  font-weight: 800;
  line-height: 1;
}

.holdem-card-slot.is-empty {
  place-content: center;
  border: 1px dashed rgba(224, 211, 178, 0.36);
  background: rgba(8, 9, 8, 0.46);
  color: var(--muted);
  text-align: center;
}

.holdem-card-slot.is-empty > span {
  font-size: 1.35rem;
}

.holdem-card-slot.is-empty > small {
  justify-self: center;
  font-size: 0.64rem;
  line-height: 1.15;
}

.holdem-card-slot.is-active {
  border-color: #55e39a;
  box-shadow: 0 0 0 3px rgba(43, 199, 125, 0.22);
}

.holdem-card-slot:focus-visible,
.deck-card:focus-visible {
  outline: 2px solid var(--chip);
  outline-offset: 2px;
}

.holdem-card-slot:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.later-streets-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.later-streets-grid .card-street {
  grid-template-columns: minmax(0, 1fr) auto;
}

.deck-picker {
  margin-top: 0.3rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(8, 14, 12, 0.55);
  padding: 0.85rem;
}

.deck-picker-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 0.7rem;
  margin-bottom: 0.7rem;
}

.deck-picker h3 {
  font-size: 1rem;
}

.deck-picker-heading p,
.deck-picker-heading > span {
  margin: 0.2rem 0 0;
  color: var(--muted);
  font-size: 0.74rem;
}

.deck-suit-row {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
}

.deck-suit-row + .deck-suit-row {
  margin-top: 0.45rem;
}

.deck-suit-label {
  color: #f4f0e7;
  font-size: 1.2rem;
  text-align: center;
}

.deck-suit-label.is-red {
  color: #f26f73;
}

.deck-card-grid {
  display: grid;
  grid-template-columns: repeat(13, minmax(0, 1fr));
  gap: 0.28rem;
}

.deck-card {
  display: grid;
  place-content: center;
  min-width: 0;
  border: 1px solid #d8d2c7;
  border-radius: 6px;
  background: #f8f5ed;
  color: #171b18;
  padding: 0.18rem;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1;
}

.deck-card[data-suit='h'],
.deck-card[data-suit='d'] {
  color: var(--card-red);
}

.deck-card small {
  font-size: 0.72rem;
}

.deck-card:hover:not(:disabled),
.deck-card[aria-pressed='true'] {
  border-color: #55e39a;
  box-shadow: 0 0 0 2px rgba(43, 199, 125, 0.24);
  transform: translateY(-1px);
}

.deck-card:disabled {
  cursor: not-allowed;
  opacity: 0.2;
}

.simulator-result {
  position: sticky;
  top: 6.5rem;
  display: grid;
  gap: 0.85rem;
  border: 1px solid rgba(229, 182, 79, 0.32);
  border-radius: var(--radius-lg);
  background: rgba(8, 12, 10, 0.84);
  padding: 1rem;
  box-shadow: var(--shadow-soft);
}

.simulator-result.is-calculating > *:not(.form-status):not(.simulation-loading) {
  opacity: 0.54;
}

.simulation-loading {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  overflow: hidden;
  border: 1px solid rgba(43, 199, 125, 0.48);
  border-radius: var(--radius-sm);
  background: linear-gradient(120deg, rgba(43, 199, 125, 0.16), rgba(8, 14, 12, 0.92));
  padding: 0.8rem;
  box-shadow: inset 0 0 24px rgba(43, 199, 125, 0.06);
}

.simulation-loading[hidden] {
  display: none;
}

.simulation-loading-cards {
  position: relative;
  flex: 0 0 3.7rem;
  width: 3.7rem;
  height: 2.8rem;
}

.simulation-loading-cards span {
  position: absolute;
  top: 0.2rem;
  left: 1.35rem;
  width: 1.75rem;
  height: 2.35rem;
  border: 2px solid #eee8db;
  border-radius: 5px;
  background:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 0 2px, transparent 2px 5px),
    var(--felt);
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.28);
  transform-origin: 50% 120%;
  animation: holdem-loading-deal 1.15s ease-in-out infinite;
}

.simulation-loading-cards span:nth-child(1) {
  animation-delay: -0.28s;
}

.simulation-loading-cards span:nth-child(2) {
  animation-delay: -0.14s;
}

.simulation-loading-copy {
  min-width: 0;
  display: grid;
  gap: 0.24rem;
  flex: 1;
}

.simulation-loading-copy strong {
  color: #eafff3;
  font-size: 0.88rem;
}

.simulation-loading-copy > span:not(.simulation-loading-track) {
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.35;
}

.simulation-loading-track {
  display: block;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(244, 240, 231, 0.1);
}

.simulation-loading-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand), #8bf0bd);
  box-shadow: 0 0 12px rgba(43, 199, 125, 0.58);
  transition: width 0.16s ease-out;
}

@keyframes holdem-loading-deal {
  0%, 100% { transform: translateX(-0.9rem) rotate(-15deg); opacity: 0.55; }
  50% { transform: translateX(0.9rem) rotate(15deg); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .simulation-loading-cards span {
    animation: none;
  }

  .simulation-loading-cards span:nth-child(1) { transform: translateX(-0.7rem) rotate(-12deg); }
  .simulation-loading-cards span:nth-child(3) { transform: translateX(0.7rem) rotate(12deg); }
}

.equity-meter {
  position: relative;
  width: 174px;
  height: 174px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  border-radius: 50%;
  background: #0b100d;
}

.equity-meter svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.equity-meter circle {
  fill: none;
  stroke-width: 13;
}

.equity-meter-track {
  stroke: rgba(244, 240, 231, 0.1);
}

.equity-meter-value {
  stroke: var(--brand);
  stroke-linecap: butt;
  transition: stroke-dasharray 0.28s ease;
}

.equity-meter > div {
  z-index: 1;
  display: grid;
  text-align: center;
}

.equity-meter span,
.simulator-metrics span,
.recommendation-panel > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.equity-meter strong {
  color: #f4fff8;
  font-size: 2rem;
  font-variant-numeric: tabular-nums;
}

.simulator-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
}

.simulator-metrics > div {
  display: grid;
  align-content: start;
  min-width: 0;
  border-top: 1px solid var(--line);
  padding-top: 0.55rem;
}

.simulator-metrics strong {
  font-size: 1.1rem;
  font-variant-numeric: tabular-nums;
}

.simulator-metrics small {
  color: var(--muted);
  font-size: 0.7rem;
}

.recommendation-panel {
  display: grid;
  gap: 0.28rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(244, 240, 231, 0.04);
  padding: 0.85rem;
}

.recommendation-panel > strong {
  color: var(--muted);
  font-size: 1.45rem;
  line-height: 1;
}

.recommendation-panel > strong[data-recommendation='keep'] {
  color: #72e8aa;
}

.recommendation-panel > strong[data-recommendation='fold'] {
  color: #ff8b84;
}

.recommendation-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.45;
}

.simulator-result .form-status {
  font-size: 0.78rem;
  line-height: 1.45;
}

.form-status.is-pending {
  border-color: rgba(229, 182, 79, 0.5);
  background: rgba(229, 182, 79, 0.1);
  color: #f5dfa5;
}

.simulator-disclaimer {
  margin: 0;
  color: var(--muted);
  font-size: 0.73rem;
  line-height: 1.5;
}

.simulator-disclaimer strong {
  color: #e8eee9;
}

.strategy-leak-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 185px), 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.strategy-leak-list li {
  border-top: 1px solid var(--line);
  padding: 0.9rem 1rem 0.2rem 0;
  color: var(--muted);
}

.strategy-leak-list strong {
  display: block;
  color: var(--text);
}

.strategy-section-term-help {
  margin-top: 0.7rem;
}

.strategy-sources p {
  color: var(--muted);
}

.strategy-sources a {
  color: #b7f6d5;
  font-weight: 700;
}

@media (max-width: 980px) {
  .strategy-hero-grid,
  .pot-odds-explainer,
  .simulator-layout {
    grid-template-columns: 1fr;
  }

  .strategy-hero-hand {
    width: min(540px, 100%);
    justify-self: center;
  }

  .street-plan-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .street-card:nth-child(3) {
    border-left: 0;
  }

  .street-card:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .simulator-result {
    position: static;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
  }

  .simulator-result .form-status,
  .simulator-disclaimer {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .holdem-simulator-section {
    scroll-margin-top: 10rem;
    transform: none;
  }

  .simulator-result.is-calculating .simulation-loading {
    position: fixed;
    z-index: 60;
    right: max(0.8rem, env(safe-area-inset-right));
    bottom: max(0.8rem, env(safe-area-inset-bottom));
    left: max(0.8rem, env(safe-area-inset-left));
    pointer-events: none;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.58), inset 0 0 24px rgba(43, 199, 125, 0.08);
  }

  .holdem-strategy-hero h1 {
    font-size: 2.2rem;
  }

  .strategy-hero-felt {
    min-height: 230px;
  }

  .strategy-tip-grid,
  .simulator-settings-grid,
  .later-streets-grid {
    grid-template-columns: 1fr;
  }

  .street-plan-grid {
    grid-template-columns: 1fr;
  }

  .street-card + .street-card,
  .street-card:nth-child(3) {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .simulator-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .simulator-section-heading h2 {
    font-size: 1.8rem;
  }

  .simulator-heading-actions {
    justify-content: flex-start;
  }

  .simulator-table-wrap {
    margin-bottom: 1.8rem;
    padding: 2.25rem 2.4rem;
  }

  .simulator-table {
    min-height: 220px;
    border-width: 8px;
  }

  .player-seat {
    width: 56px;
    font-size: 0.59rem;
  }

  .player-avatar {
    width: 34px;
    height: 34px;
  }

  .player-avatar::before {
    top: 5px;
    width: 11px;
    height: 11px;
  }

  .player-avatar::after {
    width: 24px;
    height: 20px;
  }

  .card-street,
  .later-streets-grid .card-street {
    grid-template-columns: 1fr;
  }

  .card-slot-row {
    padding-left: 2.55rem;
  }

  .later-streets-grid .card-slot-row {
    padding-left: 0;
  }

  .deck-picker-heading {
    display: block;
  }

  .deck-card-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .simulator-result {
    grid-template-columns: 1fr;
  }

  .simulator-result .form-status,
  .simulator-disclaimer {
    grid-column: auto;
  }
}

@media (max-width: 360px) {
  .strategy-hero-card {
    width: 82px;
  }

  .strategy-hero-felt {
    min-height: 210px;
  }

  .simulator-pot-fields {
    grid-template-columns: 1fr;
  }

  .simulator-table-wrap {
    padding-inline: 1.8rem;
  }

  .simulator-table {
    min-height: 205px;
  }

  .simulator-table-center strong {
    font-size: 0.8rem;
  }

  .deck-card-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .simulator-metrics {
    grid-template-columns: 1fr;
  }
}

/* Home revamp */
.home-page {
  color: #f4f0e7;
  background:
    radial-gradient(ellipse at 42% -12%, rgba(29, 124, 76, 0.44), transparent 42rem),
    radial-gradient(ellipse at 92% 18%, rgba(216, 172, 70, 0.1), transparent 28rem),
    linear-gradient(180deg, #050706 0%, #08110d 38%, #070807 100%);
  overflow-x: hidden;
}

.home-page .site-header {
  border-bottom: 1px solid rgba(240, 212, 138, 0.16);
  background: rgba(5, 8, 7, 0.9);
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.26);
  backdrop-filter: blur(14px);
}

.home-page .brand-name {
  color: #f7f4eb;
  font-size: 1.08rem;
  font-weight: 600;
}

.home-page .nav a {
  color: rgba(244, 240, 231, 0.68);
}

.home-page .nav a:hover {
  color: #ffffff;
}

.home-page .main {
  width: 100%;
  max-width: none;
  padding: 0;
}

.home-hero {
  position: relative;
  min-height: 660px;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  align-items: center;
  background:
    radial-gradient(ellipse at 54% 34%, rgba(43, 176, 103, 0.74) 0%, rgba(19, 112, 70, 0.48) 31%, rgba(7, 35, 24, 0.9) 68%, #030504 100%),
    radial-gradient(ellipse at 18% 78%, rgba(8, 78, 50, 0.72), transparent 52%),
    radial-gradient(ellipse at 92% 16%, rgba(216, 172, 70, 0.22), transparent 42%),
    #07120d;
  color: #f8f8f3;
}

.felt-hero {
  box-shadow:
    inset 0 28px 70px rgba(0, 0, 0, 0.36),
    inset 0 -42px 90px rgba(0, 0, 0, 0.46);
}

.felt-hero::selection {
  background: rgba(43, 199, 125, 0.38);
}

.home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(3, 5, 4, 0.98) 0%, rgba(3, 5, 4, 0.88) 33%, rgba(3, 5, 4, 0.42) 68%, rgba(3, 5, 4, 0.58) 100%),
    radial-gradient(ellipse at 50% 36%, rgba(58, 215, 135, 0.16), transparent 36%),
    radial-gradient(ellipse at 34% 20%, rgba(255, 255, 255, 0.055), transparent 32%),
    repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.034) 0 1px, transparent 1px 5px);
  mix-blend-mode: normal;
}

.home-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(4, 7, 5, 0.15), rgba(4, 7, 5, 0.78)),
    radial-gradient(ellipse at 50% 50%, transparent 0%, transparent 55%, rgba(0, 0, 0, 0.45) 100%);
  pointer-events: none;
}

.hero-shot-fan {
  position: absolute;
  top: 5.4rem;
  right: max(2rem, calc((100vw - 1160px) / 2));
  z-index: 0;
  width: min(670px, 52vw);
  height: 470px;
  pointer-events: none;
}

.hero-shot {
  position: absolute;
  display: block;
  border: 1px solid rgba(248, 248, 243, 0.18);
  border-radius: 8px;
  background: #080b0a;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
}

.hero-shot--back {
  width: 74%;
  top: 2.4rem;
  right: 8%;
  opacity: 0.28;
  transform: rotate(7deg) translateY(10px);
  filter: saturate(0.9) blur(0.2px);
}

.hero-shot--front {
  width: 82%;
  top: 6.5rem;
  right: 6%;
  opacity: 0.9;
  transform: rotate(-3deg);
}

.hero-shot--phone {
  width: 23%;
  top: 12.2rem;
  right: 0;
  opacity: 0.62;
  transform: rotate(8deg);
}

.home-hero__inner {
  position: relative;
  z-index: 1;
  width: min(1160px, 94vw);
  margin: 0 auto;
  padding: 4.6rem 0 7.2rem;
}

.home-hero__copy {
  max-width: 630px;
}

.home-hero h1 {
  margin: 0;
  max-width: 620px;
  font-size: 4rem;
  font-weight: 800;
  line-height: 0.98;
}

.home-hero .lede {
  margin-top: 1.1rem;
  max-width: 600px;
  color: rgba(248, 248, 243, 0.82);
  font-size: 1.12rem;
  line-height: 1.65;
}

.home-page .kicker {
  border-color: rgba(216, 172, 70, 0.52);
  background: rgba(216, 172, 70, 0.13);
  color: #f0d48a;
}

.home-hero .btn-secondary {
  border-color: rgba(248, 248, 243, 0.32);
  background: rgba(248, 248, 243, 0.08);
  color: #f8f8f3;
}

.home-hero .store-badge {
  color: #f8f8f3;
}

.home-hero__bar {
  position: absolute;
  left: 50%;
  bottom: 1.2rem;
  width: min(1160px, 94vw);
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(248, 248, 243, 0.18);
  border-bottom: 1px solid rgba(248, 248, 243, 0.14);
  background: rgba(7, 10, 8, 0.44);
  backdrop-filter: blur(12px);
}

.home-hero__bar div {
  padding: 0.95rem 1rem;
  border-left: 1px solid rgba(248, 248, 243, 0.12);
}

.home-hero__bar div:first-child {
  border-left: 0;
}

.home-hero__bar strong,
.home-hero__bar span {
  display: block;
}

.home-hero__bar strong {
  font-size: 0.95rem;
}

.home-hero__bar span {
  margin-top: 0.15rem;
  color: rgba(248, 248, 243, 0.66);
  font-size: 0.82rem;
  line-height: 1.35;
}

.home-section,
.home-cta {
  width: min(1160px, 94vw);
  margin: 0 auto;
}

.home-section {
  position: relative;
  isolation: isolate;
  padding: 5rem 0;
}

.home-section--intro {
  padding-top: 5.5rem;
}

.home-section--intro::before {
  content: '';
  position: absolute;
  inset: 1.6rem max(-4vw, -2.5rem) 1.6rem;
  z-index: -1;
  border-top: 1px solid rgba(240, 212, 138, 0.13);
  border-bottom: 1px solid rgba(240, 212, 138, 0.1);
  background:
    radial-gradient(ellipse at 12% 38%, rgba(43, 199, 125, 0.12), transparent 32rem),
    radial-gradient(ellipse at 88% 70%, rgba(216, 172, 70, 0.08), transparent 24rem);
}

.home-page .section-heading {
  max-width: 760px;
  margin-bottom: 1.8rem;
}

.home-page .section-heading h2,
.home-cta h2 {
  margin: 0;
  color: #f8f5ec;
  font-size: 2.7rem;
  font-weight: 800;
  line-height: 1.05;
}

.home-page .subtitle {
  color: rgba(244, 240, 231, 0.68);
  font-size: 1.02rem;
}

.display-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
  gap: 2rem;
  align-items: center;
  padding: 1.1rem;
  border: 1px solid rgba(240, 212, 138, 0.13);
  border-radius: 8px;
  background:
    radial-gradient(ellipse at 20% 40%, rgba(43, 199, 125, 0.18), transparent 34rem),
    linear-gradient(135deg, rgba(11, 43, 29, 0.86), rgba(8, 12, 10, 0.95));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.display-preview {
  overflow: hidden;
  max-width: 390px;
  border: 1px solid rgba(248, 248, 243, 0.16);
  border-radius: 8px;
  background: #0b0d0c;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.36);
}

.display-preview img {
  display: block;
  width: 100%;
  height: auto;
}

.display-points {
  border-top: 1px solid rgba(248, 248, 243, 0.13);
}

.display-points article,
.trust-grid article {
  padding: 1.2rem 0;
  border-bottom: 1px solid rgba(248, 248, 243, 0.11);
}

.display-points h3,
.market-card h3,
.workflow-list h3,
.trust-grid h3 {
  margin: 0;
  color: #f8f5ec;
  font-size: 1.2rem;
  font-weight: 800;
}

.display-points p,
.market-card p,
.workflow-list p,
.trust-grid p,
.business-note {
  margin: 0.45rem 0 0;
  color: rgba(244, 240, 231, 0.64);
}

.feature-carousel {
  overflow: hidden;
  border: 1px solid rgba(240, 212, 138, 0.13);
  border-radius: 8px;
  background:
    radial-gradient(ellipse at 20% 40%, rgba(43, 199, 125, 0.16), transparent 34rem),
    linear-gradient(135deg, rgba(11, 43, 29, 0.88), rgba(8, 12, 10, 0.96));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22);
}

.feature-carousel__viewport {
  position: relative;
}

.feature-slide {
  display: none;
  grid-template-columns: minmax(0, 1.42fr) minmax(300px, 0.58fr);
  gap: 2rem;
  align-items: center;
  min-height: 610px;
  padding: 1.1rem;
}

.feature-slide.is-active {
  display: grid;
}

.feature-slide__media {
  position: relative;
  min-height: 540px;
  padding: 0.6rem 2.6rem 2.4rem 0.3rem;
}

.feature-device {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(248, 248, 243, 0.16);
  border-radius: 8px;
  background: #0b0d0c;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.36);
}

.feature-device img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top left;
}

.feature-device--wide {
  width: min(790px, 94%);
  aspect-ratio: 16 / 10;
}

.feature-device--phone {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(220px, 28%);
  aspect-ratio: 390 / 844;
}

.feature-slide__copy {
  padding: 0 0.6rem 0 0;
}

.feature-slide__eyebrow {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.7rem;
  border: 1px solid rgba(43, 199, 125, 0.32);
  border-radius: 999px;
  padding: 0.35rem 0.65rem;
  color: #66e0ac;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
}

.feature-slide__copy h3 {
  margin: 0;
  color: #f8f5ec;
  font-size: clamp(1.55rem, 2.3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.1;
}

.feature-slide__copy p {
  margin: 0.8rem 0 0;
  color: rgba(244, 240, 231, 0.68);
  font-size: 1rem;
}

.feature-slide__copy ul {
  display: grid;
  gap: 0.7rem;
  margin: 1.2rem 0 0;
  padding: 0;
  list-style: none;
}

.feature-slide__copy li {
  border-top: 1px solid rgba(248, 248, 243, 0.1);
  padding-top: 0.7rem;
  color: rgba(244, 240, 231, 0.78);
}

.feature-carousel__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  border-top: 1px solid rgba(248, 248, 243, 0.11);
  padding: 0.9rem 1.1rem 1.1rem;
}

.feature-carousel__arrow,
.feature-carousel__tabs button {
  min-height: 2.5rem;
  border: 1px solid rgba(248, 248, 243, 0.2);
  border-radius: 8px;
  background: rgba(14, 18, 17, 0.76);
  color: rgba(244, 240, 231, 0.78);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.feature-carousel__arrow {
  width: 2.6rem;
  padding: 0;
  font-size: 1.75rem;
  line-height: 1;
}

.feature-carousel__tabs {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.55rem;
}

.feature-carousel__tabs button {
  padding: 0.55rem 0.9rem;
  font-size: 0.88rem;
}

.feature-carousel__arrow:hover,
.feature-carousel__arrow:focus-visible,
.feature-carousel__tabs button:hover,
.feature-carousel__tabs button:focus-visible {
  border-color: rgba(43, 199, 125, 0.58);
  color: #f8f5ec;
  outline: none;
}

.feature-carousel__tabs button.is-active {
  border-color: rgba(43, 199, 125, 0.7);
  background: rgba(5, 150, 105, 0.28);
  color: #f8f5ec;
}

.market-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.market-card {
  min-height: 15rem;
  padding: 1.1rem;
  border: 1px solid rgba(240, 212, 138, 0.12);
  border-top: 4px solid #2bc77d;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(244, 240, 231, 0.065), rgba(244, 240, 231, 0.025)),
    #0b100d;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2);
}

.market-card:nth-child(2) {
  border-top-color: #d8ac46;
}

.market-card:nth-child(3) {
  border-top-color: #d4493f;
}

.market-card > span {
  display: inline-block;
  margin-bottom: 3.8rem;
  color: rgba(244, 240, 231, 0.42);
  font-size: 0.82rem;
  font-weight: 800;
}

.workflow-section {
  border-top: 1px solid rgba(240, 212, 138, 0.12);
  border-bottom: 1px solid rgba(240, 212, 138, 0.1);
}

.workflow-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-left: 1px solid rgba(248, 248, 243, 0.12);
}

.workflow-list li {
  min-height: 16rem;
  padding: 1.1rem;
  border-right: 1px solid rgba(248, 248, 243, 0.12);
}

.workflow-list span {
  display: inline-flex;
  margin-bottom: 2.6rem;
  color: #44d796;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.3rem;
}

.business-note {
  margin-top: 1.2rem;
  font-size: 0.9rem;
}

.home-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 4rem;
  padding: 2rem;
  border-radius: 8px;
  border: 1px solid rgba(240, 212, 138, 0.16);
  background:
    radial-gradient(ellipse at 16% 30%, rgba(43, 199, 125, 0.22), transparent 30rem),
    radial-gradient(ellipse at 92% 20%, rgba(216, 172, 70, 0.14), transparent 26rem),
    linear-gradient(135deg, #0b140f 0%, #07100c 52%, #050706 100%);
  color: #f8f8f3;
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.28);
}

.home-cta h2 {
  color: #f8f8f3;
}

.home-cta .btn-secondary {
  border-color: rgba(248, 248, 243, 0.22);
  background: rgba(248, 248, 243, 0.08);
  color: #f8f8f3;
}

.home-cta .store-badge {
  color: #f8f8f3;
}

.home-cta__actions {
  min-width: 0;
}

.home-page .footer {
  margin-top: 0;
  border-top: 1px solid rgba(240, 212, 138, 0.12);
  background: #050706;
}

@media (max-width: 980px) {
  .home-hero {
    min-height: 620px;
  }

  .hero-shot-fan {
    top: 7.2rem;
    right: -6rem;
    width: min(690px, 78vw);
    opacity: 0.78;
  }

  .home-hero__inner {
    padding: 3.4rem 0 4.8rem;
  }

  .home-hero h1 {
    font-size: 3.1rem;
  }

  .home-hero__bar {
    display: none;
  }

  .display-layout,
  .feature-slide,
  .home-cta {
    grid-template-columns: 1fr;
  }

  .feature-slide {
    min-height: 0;
    gap: 1.35rem;
  }

  .feature-slide__media {
    min-height: 520px;
    padding-right: 2rem;
  }

  .feature-device--wide {
    width: 100%;
  }

  .feature-device--phone {
    width: min(205px, 32%);
  }

  .feature-slide__copy {
    padding: 0 0.3rem 0.3rem;
  }

  .market-grid,
  .workflow-list,
  .trust-grid {
    grid-template-columns: 1fr;
  }

  .workflow-list,
  .workflow-list li {
    border-left: 0;
    border-right: 0;
  }

  .workflow-list li {
    min-height: auto;
    border-top: 1px solid rgba(248, 248, 243, 0.12);
  }

  .workflow-list span,
  .market-card > span {
    margin-bottom: 1.2rem;
  }
}

@media (max-width: 700px) {
  .home-page .site-header {
    position: relative;
  }

  .home-page .header-inner {
    gap: 0.65rem;
    padding: 0.72rem 0;
  }

  .home-page .nav {
    width: 100%;
    flex-wrap: wrap;
    gap: 0.78rem;
  }

  .home-page .nav a {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 0.82rem;
  }

  .home-hero {
    min-height: 560px;
  }

  .hero-shot-fan {
    top: 5.8rem;
    right: -11.2rem;
    width: 620px;
    height: 390px;
    opacity: 0.42;
  }

  .hero-shot--front {
    width: 70%;
    top: 5.4rem;
  }

  .hero-shot--back {
    width: 64%;
  }

  .hero-shot--phone {
    width: 18%;
    top: 9.8rem;
  }

  .home-hero::before {
    background:
      linear-gradient(90deg, rgba(4, 7, 5, 0.96), rgba(4, 7, 5, 0.78)),
      radial-gradient(ellipse at 52% 28%, rgba(45, 160, 96, 0.18), transparent 46%),
      repeating-radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.028) 0 1px, transparent 1px 5px);
  }

  .home-hero__inner {
    padding: 2rem 0 1.5rem;
  }

  .home-hero h1 {
    font-size: 2.55rem;
    line-height: 1.03;
  }

  .home-hero .lede {
    font-size: 1rem;
    line-height: 1.56;
  }

  .home-hero .store-row,
  .home-cta .store-row {
    display: grid;
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr);
    align-items: center;
  }

  .store-badge {
    min-width: 0;
    justify-self: start;
  }

  .store-badge img {
    max-width: 100%;
  }

  .home-section {
    padding: 3.2rem 0;
  }

  .feature-carousel-section {
    width: 100%;
    padding-block: 0;
  }

  .feature-carousel-section::before {
    display: none;
  }

  .feature-carousel-section > .section-heading {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .feature-carousel-section .feature-carousel {
    border-inline: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .home-page .section-heading h2,
  .home-cta h2 {
    font-size: 2rem;
    line-height: 1.1;
  }

  .display-preview {
    max-width: 100%;
  }

  .feature-slide {
    padding: 0.8rem;
  }

  .feature-slide__media {
    min-height: clamp(300px, 88vw, 378px);
    padding: 0 1rem 1.25rem 0;
  }

  .feature-device--wide {
    width: 94%;
    aspect-ratio: 16 / 11;
  }

  .feature-device--phone {
    width: min(126px, 33%);
  }

  .feature-slide__copy h3 {
    font-size: 1.55rem;
  }

  .feature-carousel__controls {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, 1fr) 2.6rem;
    gap: 0.55rem;
    padding: 0.8rem;
  }

  .feature-carousel__tabs {
    justify-content: stretch;
  }

  .feature-carousel__tabs button {
    flex: 1 1 calc(50% - 0.55rem);
    padding-inline: 0.55rem;
  }

  .market-card {
    min-height: 0;
  }

  .home-cta {
    width: min(94vw, 1160px);
    padding: 1.2rem;
  }
}

.nav-toggle {
  display: none;
  min-width: 5.9rem;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: 0.62rem;
  border: 1px solid rgba(224, 211, 178, 0.28);
  border-radius: var(--radius-sm);
  background: rgba(23, 29, 25, 0.82);
  color: var(--text);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.nav-toggle:hover,
.nav-toggle[aria-expanded='true'] {
  border-color: rgba(43, 199, 125, 0.58);
  background: rgba(43, 199, 125, 0.12);
  color: #ffffff;
}

.nav-toggle:focus-visible {
  outline: 2px solid var(--chip);
  outline-offset: 2px;
}

.nav-toggle__icon {
  position: relative;
  width: 1.15rem;
  height: 0.9rem;
  flex: 0 0 auto;
}

.nav-toggle__line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: opacity 0.15s ease, transform 0.15s ease, top 0.15s ease;
}

.nav-toggle__line:nth-child(1) {
  top: 0;
}

.nav-toggle__line:nth-child(2) {
  top: 0.4rem;
}

.nav-toggle__line:nth-child(3) {
  top: 0.8rem;
}

.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(1) {
  top: 0.4rem;
  transform: rotate(45deg);
}

.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded='true'] .nav-toggle__line:nth-child(3) {
  top: 0.4rem;
  transform: rotate(-45deg);
}

@media (max-width: 900px) {
  html.bb-js .site-header.site-navigation-ready .header-inner {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    padding: 0.72rem 0;
  }

  html.bb-js .site-header.site-navigation-ready .brand {
    min-width: 0;
    flex: 1 1 auto;
  }

  html.bb-js .site-header.site-navigation-ready .nav-toggle {
    display: inline-flex;
    flex: 0 0 auto;
  }

  html.bb-js .site-header.site-navigation-ready .nav {
    order: 3;
    display: grid;
    width: 100%;
    max-height: calc(100vh - 5.25rem);
    max-height: calc(100svh - 5.25rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.32rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(224, 211, 178, 0.18);
    border-radius: var(--radius-lg);
    background: rgba(12, 16, 14, 0.98);
    box-shadow: var(--shadow-soft);
    padding: 0.52rem;
  }

  html.bb-js .site-header.site-navigation-ready .nav[hidden] {
    display: none;
  }

  html.bb-js .site-header.site-navigation-ready .nav a {
    display: flex;
    min-width: 0;
    min-height: 2.75rem;
    align-items: center;
    border-radius: var(--radius-sm);
    padding: 0.68rem 0.78rem;
    color: var(--muted);
    font-size: 0.86rem;
    line-height: 1.25;
  }

  html.bb-js .site-header.site-navigation-ready .nav a:hover,
  html.bb-js .site-header.site-navigation-ready .nav a:focus-visible {
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
  }

  html.bb-js .site-header.site-navigation-ready .nav a:focus-visible {
    outline: 2px solid var(--chip);
    outline-offset: -2px;
  }

  html.bb-js .site-header.site-navigation-ready .nav a[aria-current='page'] {
    background: rgba(43, 199, 125, 0.14);
    color: #d7f9e8;
  }
}

@media (max-width: 360px) {
  html.bb-js .site-header.site-navigation-ready .nav {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nav-toggle,
  .nav-toggle__line {
    transition: none;
  }
}
