:root {
  --brand-yellow: #facc15;
  --brand-yellow-bright: #fde047;
  --brand-yellow-light: #fef08a;
  --brand-yellow-dark: #ca8a04;
  --brand-black: #050505;
  --brand-charcoal: #0c0c0c;
  --brand-slate: #1a1a1a;
  --brand-ink: #f9fafb;
  --accent-bg: var(--brand-yellow);
  --accent-bg-hover: var(--brand-yellow-bright);
  --accent-text: var(--brand-black);
}

.text-brand-black {
  color: var(--brand-black) !important;
}

body {
  background-color: var(--brand-black);
  color: var(--brand-ink);
  line-height: 1.7;
}

section[data-hero] {
  position: relative;
  background: radial-gradient(circle at 20% -10%, rgba(250, 204, 21, 0.4), rgba(12, 12, 12, 0.96) 55%, rgba(5, 5, 5, 0.98) 100%);
  border: 1px solid rgba(250, 204, 21, 0.35);
  border-radius: 2rem;
  color: var(--brand-ink);
  box-shadow: 0 35px 80px rgba(0, 0, 0, 0.6);
}

[data-hero][data-tone="dark"] {
  background: radial-gradient(circle at 20% -10%, rgba(250, 204, 21, 0.45), rgba(5, 5, 5, 0.98) 60%, rgba(5, 5, 5, 1) 100%);
  border: 1px solid rgba(250, 204, 21, 0.45);
  color: var(--brand-ink);
  box-shadow: 0 45px 95px rgba(0, 0, 0, 0.65);
}

section[data-hero]::after,
[data-hero][data-tone="dark"]::after {
  content: "";
  position: absolute;
  inset: 2rem;
  border-radius: 1.5rem;
  pointer-events: none;
  background: linear-gradient(120deg, rgba(250, 204, 21, 0.18), transparent 55%);
  mix-blend-mode: screen;
}

section[data-hero] > * {
  position: relative;
  z-index: 1;
}

[data-hero][data-tone="dark"] p,
[data-hero][data-tone="dark"] .text-amber-700,
[data-hero][data-tone="dark"] .text-amber-600 {
  color: var(--brand-yellow-light) !important;
}

section[data-hero] p {
  color: rgba(249, 250, 251, 0.8);
}

section[data-hero] .text-amber-700,
section[data-hero] .text-amber-600,
section[data-hero] .text-amber-500,
section[data-hero] .text-amber-400 {
  color: var(--brand-yellow-light) !important;
}

.bg-amber-900\/40,
.bg-amber-900\/50,
.bg-amber-900\/60,
.bg-amber-900\/80,
.bg-amber-900\/90,
.bg-amber-900,
.bg-amber-800,
.bg-amber-700,
.bg-amber-600,
.bg-amber-500,
.bg-amber-400,
.bg-amber-300,
.bg-amber-200,
.bg-amber-100 {
  background: linear-gradient(145deg, rgba(15, 15, 15, 0.98), rgba(37, 37, 37, 0.92));
  color: var(--brand-ink) !important;
  border-radius: 1.5rem;
  border: 1px solid rgba(250, 204, 21, 0.28);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.6);
}

.bg-amber-900\/40 p,
.bg-amber-900\/40 li,
.bg-amber-900\/40 small,
.bg-amber-900\/50 p,
.bg-amber-900\/50 li,
.bg-amber-900\/50 small,
.bg-amber-900\/60 p,
.bg-amber-900\/60 li,
.bg-amber-900\/60 small,
.bg-amber-900\/80 p,
.bg-amber-900\/80 li,
.bg-amber-900\/80 small,
.bg-amber-900\/90 p,
.bg-amber-900\/90 li,
.bg-amber-900\/90 small {
  color: rgba(249, 250, 251, 0.75) !important;
}

.bg-amber-900\/40 h1,
.bg-amber-900\/40 h2,
.bg-amber-900\/40 h3,
.bg-amber-900\/50 h1,
.bg-amber-900\/50 h2,
.bg-amber-900\/50 h3,
.bg-amber-900\/60 h1,
.bg-amber-900\/60 h2,
.bg-amber-900\/60 h3,
.bg-amber-900\/80 h1,
.bg-amber-900\/80 h2,
.bg-amber-900\/80 h3,
.bg-amber-900\/90 h1,
.bg-amber-900\/90 h2,
.bg-amber-900\/90 h3 {
  color: var(--brand-ink) !important;
}

.bg-amber-900\/40 a:not([class*="bg-accent"]):not([class*="bg-black"]),
.bg-amber-900\/50 a:not([class*="bg-accent"]):not([class*="bg-black"]),
.bg-amber-900\/60 a:not([class*="bg-accent"]):not([class*="bg-black"]),
.bg-amber-900\/80 a:not([class*="bg-accent"]):not([class*="bg-black"]),
.bg-amber-900\/90 a:not([class*="bg-accent"]):not([class*="bg-black"]) {
  color: var(--brand-yellow-bright) !important;
  text-decoration-color: rgba(250, 204, 21, 0.45);
}

.bg-amber-900\/40 a:not([class*="bg-accent"]):not([class*="bg-black"]):hover,
.bg-amber-900\/50 a:not([class*="bg-accent"]):not([class*="bg-black"]):hover,
.bg-amber-900\/60 a:not([class*="bg-accent"]):not([class*="bg-black"]):hover,
.bg-amber-900\/80 a:not([class*="bg-accent"]):not([class*="bg-black"]):hover,
.bg-amber-900\/90 a:not([class*="bg-accent"]):not([class*="bg-black"]):hover {
  color: var(--brand-yellow-light) !important;
}

.bg-amber-900\/40 .text-white,
.bg-amber-900\/50 .text-white,
.bg-amber-900\/60 .text-white,
.bg-amber-900\/80 .text-white,
.bg-amber-900\/90 .text-white {
  color: var(--brand-ink) !important;
}

.bg-amber-900\/40 .text-amber-900,
.bg-amber-900\/40 .text-amber-800,
.bg-amber-900\/50 .text-amber-900,
.bg-amber-900\/50 .text-amber-800,
.bg-amber-900\/60 .text-amber-900,
.bg-amber-900\/60 .text-amber-800,
.bg-amber-900\/80 .text-amber-900,
.bg-amber-900\/80 .text-amber-800,
.bg-amber-900\/90 .text-amber-900,
.bg-amber-900\/90 .text-amber-800 {
  color: var(--brand-yellow-dark) !important;
}

.bg-amber-900\/40 .text-amber-700,
.bg-amber-900\/40 .text-amber-600,
.bg-amber-900\/50 .text-amber-700,
.bg-amber-900\/50 .text-amber-600,
.bg-amber-900\/60 .text-amber-700,
.bg-amber-900\/60 .text-amber-600,
.bg-amber-900\/80 .text-amber-700,
.bg-amber-900\/80 .text-amber-600,
.bg-amber-900\/90 .text-amber-700,
.bg-amber-900\/90 .text-amber-600 {
  color: var(--brand-yellow) !important;
}

.bg-amber-900\/40 .text-amber-500,
.bg-amber-900\/40 .text-amber-400,
.bg-amber-900\/40 .text-amber-300,
.bg-amber-900\/40 .text-amber-200,
.bg-amber-900\/40 .text-amber-100,
.bg-amber-900\/50 .text-amber-500,
.bg-amber-900\/50 .text-amber-400,
.bg-amber-900\/50 .text-amber-300,
.bg-amber-900\/50 .text-amber-200,
.bg-amber-900\/50 .text-amber-100,
.bg-amber-900\/60 .text-amber-500,
.bg-amber-900\/60 .text-amber-400,
.bg-amber-900\/60 .text-amber-300,
.bg-amber-900\/60 .text-amber-200,
.bg-amber-900\/60 .text-amber-100,
.bg-amber-900\/80 .text-amber-500,
.bg-amber-900\/80 .text-amber-400,
.bg-amber-900\/80 .text-amber-300,
.bg-amber-900\/80 .text-amber-200,
.bg-amber-900\/80 .text-amber-100,
.bg-amber-900\/90 .text-amber-500,
.bg-amber-900\/90 .text-amber-400,
.bg-amber-900\/90 .text-amber-300,
.bg-amber-900\/90 .text-amber-200,
.bg-amber-900\/90 .text-amber-100 {
  color: var(--brand-yellow-light) !important;
}

.border-amber-900,
.border-amber-800,
.border-amber-700,
.border-amber-700\/80,
.border-amber-600,
.border-amber-500,
.border-amber-400,
.border-amber-300,
.border-amber-200,
.border-amber-100,
.border-amber-50 {
  border-color: rgba(250, 204, 21, 0.45) !important;
}

.text-amber-900,
.text-amber-800 {
  color: var(--brand-yellow-dark) !important;
}

.text-amber-700,
.text-amber-600,
.text-amber-500 {
  color: var(--brand-yellow) !important;
}

.text-amber-400,
.text-amber-300,
.text-amber-200,
.text-amber-100,
.text-amber-50 {
  color: var(--brand-yellow-bright) !important;
}

.hover\:bg-amber-200:hover,
.hover\:bg-amber-100:hover {
  background-color: var(--brand-yellow-bright) !important;
  color: var(--brand-black) !important;
}

.hover\:bg-amber-900:hover {
  background-color: var(--brand-yellow-dark) !important;
  color: var(--brand-black) !important;
}

header .text-white {
  color: var(--brand-ink) !important;
}

header [class*="text-amber-"] {
  color: var(--brand-yellow-bright) !important;
}

.trust-badge {
  position: relative;
  display: inline-flex;
  align-items: center;
  border-radius: 9999px;
  border: 1px solid rgba(250, 204, 21, 0.38);
  background: linear-gradient(140deg, #141417 0%, #1d1d21 45%, #0d0d10 100%);
  padding: 0.75rem 1.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--brand-yellow-bright);
  box-shadow:
    0 22px 48px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    inset 0 0 0 1px rgba(255, 255, 255, 0.05),
    inset 0 18px 36px rgba(250, 204, 21, 0.12);
  overflow: hidden;
}

section[data-trust-signals] {
  position: relative;
  padding-top: clamp(2.5rem, 6vw, 4rem);
  isolation: isolate;
}

section[data-trust-signals]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: min(36rem, 100%);
  height: clamp(10rem, 22vw, 14rem);
  background: radial-gradient(circle at center, rgba(250, 204, 21, 0.28), rgba(12, 12, 12, 0) 70%);
  filter: blur(2px);
  opacity: 0.85;
  pointer-events: none;
  z-index: 0;
}

[data-trust-signals] .trust-badge {
  position: relative;
  z-index: 1;
}


header a:hover,
header a:focus {
  color: var(--brand-yellow-bright) !important;
}

header [data-nav-toggle] {
  background-color: var(--accent-bg);
  border-color: var(--accent-bg);
  color: var(--accent-text);
  box-shadow: 0 16px 40px rgba(250, 204, 21, 0.22);
}

header [data-nav-toggle]:hover,
header [data-nav-toggle]:focus-visible {
  background-color: var(--accent-bg-hover);
  border-color: var(--accent-bg-hover);
  color: var(--accent-text);
}

header [data-nav] a {
  color: var(--brand-ink);
}

header [data-nav] a:hover,
header [data-nav] a:focus-visible {
  color: var(--brand-yellow-bright);
}

header [data-nav] a[aria-current="page"] {
  border-color: var(--brand-yellow-bright);
  color: var(--brand-yellow-bright);
}

header [data-cta="book"] {
  color: var(--accent-text) !important;
}

footer,
footer .text-amber-600,
footer .text-amber-700,
footer .text-amber-500,
footer .text-amber-200,
footer .text-amber-100,
footer .text-amber-300,
footer .text-amber-400 {
  color: rgba(249, 250, 251, 0.8) !important;
}

footer a {
  color: var(--brand-yellow-bright) !important;
}

footer a:hover,
footer a:focus {
  color: var(--brand-yellow-light) !important;
}

.bg-accent {
  background-color: var(--accent-bg) !important;
  color: var(--accent-text) !important;
}

.bg-accent:hover {
  background-color: var(--accent-bg-hover) !important;
  color: var(--accent-text) !important;
}

.text-accent {
  color: var(--brand-yellow) !important;
  text-decoration: underline;
  text-decoration-color: rgba(250, 204, 21, 0.45);
}

.text-accent:hover {
  color: var(--brand-yellow-bright) !important;
}

.border-accent {
  border-color: rgba(250, 204, 21, 0.55) !important;
}

.shadow-accent\/30 {
  box-shadow: 0 24px 65px rgba(250, 204, 21, 0.28) !important;
}

.bg-black\/60 .text-amber-200,
.bg-black\/80 .text-amber-200,
.bg-black\/90 .text-amber-200,
.bg-black\/60 .text-amber-300,
.bg-black\/80 .text-amber-300,
.bg-black\/90 .text-amber-300 {
  color: var(--brand-yellow-light) !important;
}

.bg-black\/60 .text-amber-700,
.bg-black\/80 .text-amber-700,
.bg-black\/90 .text-amber-700 {
  color: var(--brand-yellow) !important;
}

button,
.cta-button {
  color: var(--brand-black) !important;
  background: linear-gradient(120deg, var(--brand-yellow), var(--brand-yellow-bright));
  border-radius: 999px;
  box-shadow: 0 15px 35px rgba(250, 204, 21, 0.35);
}

button.bg-black,
.cta-button.bg-black {
  background: var(--brand-black) !important;
  color: var(--brand-yellow-light) !important;
  box-shadow: 0 15px 35px rgba(5, 5, 5, 0.45);
}

button.bg-black:hover,
.cta-button.bg-black:hover {
  background: var(--brand-charcoal) !important;
  color: var(--brand-yellow-bright) !important;
}

button:hover,
.cta-button:hover {
  box-shadow: 0 18px 40px rgba(250, 204, 21, 0.45);
}

[data-size-selector] [data-size-option] {
  color: var(--brand-yellow-light) !important;
  border-color: rgba(250, 204, 21, 0.32) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
  transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

[data-size-selector] [data-size-option]:hover,
[data-size-selector] [data-size-option]:focus-visible {
  color: var(--brand-yellow-bright) !important;
  border-color: rgba(250, 204, 21, 0.45) !important;
  box-shadow: 0 18px 48px rgba(250, 204, 21, 0.2);
}

[data-size-selector] [data-size-option].size-option--active {
  background: var(--accent-bg) !important;
  color: var(--accent-text) !important;
  border-color: rgba(250, 204, 21, 0.75) !important;
  box-shadow: 0 18px 45px rgba(250, 204, 21, 0.5) !important;
}

[data-size-selector] [data-size-option].size-option--active:hover {
  background: var(--accent-bg-hover) !important;
  color: var(--accent-text) !important;
}

[data-hero] .bg-black\/60 span,
[data-hero] .bg-black\/80 span,
[data-hero] .bg-black\/90 span {
  color: var(--brand-yellow-bright) !important;
}

.badge-outline {
  border: 1px solid rgba(250, 204, 21, 0.35);
  color: var(--brand-yellow-light);
  background-color: rgba(5, 5, 5, 0.65);
  letter-spacing: 0.3em;
}

.section-title {
  color: var(--brand-yellow);
  text-transform: uppercase;
  letter-spacing: 0.4em;
}
