/* Restrained, brand-led palettes: deep foundations with warm, low-saturation accents. */
:root,
:root[data-theme="midnight"] {
  color-scheme: dark;
  --navy: #171a1c;
  --navy-2: #22272b;
  --mint: #c6aa78;
  --mint-deep: #aa8957;
  --lime: #ead8b2;
  --ink: #f2eee7;
  --muted: #b8b2a9;
  --paper: #171a1c;
  --line: rgba(232, 220, 197, .14);
  --theme-bg: #171a1c;
  --theme-panel: #22272b;
  --theme-panel-raised: #2b3237;
  --theme-accent: #c6aa78;
  --theme-bright: #ead8b2;
  --theme-glow: rgba(155, 126, 78, .18);
  --theme-edge: rgba(232, 220, 197, .15);
  --theme-soft: rgba(198, 170, 120, .11);
}

:root[data-theme="ocean"] {
  --navy: #111b27;
  --navy-2: #1c2a39;
  --mint: #a5bac8;
  --mint-deep: #8098a9;
  --lime: #d9d4c8;
  --ink: #eef1f1;
  --muted: #b2bdc5;
  --paper: #111b27;
  --line: rgba(213, 225, 232, .14);
  --theme-bg: #111b27;
  --theme-panel: #1c2a39;
  --theme-panel-raised: #263746;
  --theme-accent: #a5bac8;
  --theme-bright: #d9d4c8;
  --theme-glow: rgba(91, 117, 138, .2);
  --theme-edge: rgba(213, 225, 232, .15);
  --theme-soft: rgba(165, 186, 200, .1);
}

:root[data-theme="violet"] {
  --navy: #17201b;
  --navy-2: #232d26;
  --mint: #b0c0a6;
  --mint-deep: #8fa28f;
  --lime: #d9cfb4;
  --ink: #f0f2ec;
  --muted: #b7c0b6;
  --paper: #17201b;
  --line: rgba(214, 228, 210, .14);
  --theme-bg: #17201b;
  --theme-panel: #232d26;
  --theme-panel-raised: #2d3930;
  --theme-accent: #b0c0a6;
  --theme-bright: #d9cfb4;
  --theme-glow: rgba(104, 132, 104, .2);
  --theme-edge: rgba(214, 228, 210, .15);
  --theme-soft: rgba(176, 192, 166, .11);
}

:root[data-theme="forest"] {
  --navy: #241b1c;
  --navy-2: #332628;
  --mint: #d0a28f;
  --mint-deep: #b57f70;
  --lime: #ead7c7;
  --ink: #f5eeea;
  --muted: #c9b9b1;
  --paper: #241b1c;
  --line: rgba(239, 215, 201, .14);
  --theme-bg: #241b1c;
  --theme-panel: #332628;
  --theme-panel-raised: #403033;
  --theme-accent: #d0a28f;
  --theme-bright: #ead7c7;
  --theme-glow: rgba(155, 94, 79, .19);
  --theme-edge: rgba(239, 215, 201, .15);
  --theme-soft: rgba(208, 162, 143, .11);
}

:root[data-theme="sunset"] {
  --navy: #131c25;
  --navy-2: #202d36;
  --mint: #c69d7b;
  --mint-deep: #a87d5f;
  --lime: #e5c7a7;
  --ink: #f2efea;
  --muted: #bcb7b0;
  --paper: #131c25;
  --line: rgba(229, 207, 184, .14);
  --theme-bg: #131c25;
  --theme-panel: #202d36;
  --theme-panel-raised: #2a3941;
  --theme-accent: #c69d7b;
  --theme-bright: #e5c7a7;
  --theme-glow: rgba(140, 105, 77, .19);
  --theme-edge: rgba(229, 207, 184, .15);
  --theme-soft: rgba(198, 157, 123, .11);
}

html,
body {
  background: var(--theme-bg);
  color: var(--ink);
}

body {
  background:
    radial-gradient(ellipse at 8% 43%, var(--theme-glow), transparent 37%),
    radial-gradient(ellipse at 92% 78%, var(--theme-soft), transparent 34%),
    linear-gradient(135deg, var(--theme-bg), var(--navy-2));
}

.site-header {
  position: relative;
  z-index: 30;
  background: linear-gradient(105deg, var(--theme-bg), var(--theme-panel));
  border-bottom-color: var(--theme-edge);
}

.hero.section-wrap {
  background:
    radial-gradient(ellipse at 72% 45%, var(--theme-glow), transparent 48%),
    linear-gradient(110deg, var(--theme-bg), var(--theme-panel), var(--theme-bg));
}

.hero-visual {
  background: radial-gradient(ellipse at 50% 48%, var(--theme-panel-raised), var(--theme-panel) 54%, var(--theme-bg));
  border-color: var(--theme-edge);
}

.method {
  background: linear-gradient(110deg, var(--theme-panel), var(--theme-panel-raised), var(--theme-panel));
  border-color: var(--theme-edge);
}

.service-card,
.contact-form {
  background: linear-gradient(145deg, var(--theme-panel-raised), var(--theme-panel));
  border-color: var(--theme-edge);
}

.service-card:hover,
.direct-whatsapp:hover {
  border-color: color-mix(in srgb, var(--theme-accent) 52%, transparent);
}

h1 em,
h2 em,
.proof h2 em,
.casebook-progress span,
.casebook-dot.is-active {
  color: var(--theme-accent);
}

.hero h1 em,
.section-heading h2 em,
.contact h2 em,
.proof h2 em {
  color: var(--theme-accent);
}

.eyebrow-dot,
.brand-mark span,
.casebook-live-dot {
  background-color: var(--theme-accent);
}

.caption-live {
  background: var(--theme-accent);
  box-shadow: 0 0 10px var(--theme-accent);
}

.button-primary {
  background: linear-gradient(120deg, var(--theme-bright), var(--theme-accent));
  color: #191a1a;
}

.button-primary:hover {
  background: linear-gradient(120deg, var(--theme-accent), var(--theme-bright));
}

.button-light,
.casebook-interest {
  background: linear-gradient(120deg, var(--theme-accent), var(--theme-bright));
  color: #191a1a;
}

.button-light:hover,
.casebook-interest:hover {
  background: linear-gradient(120deg, var(--theme-bright), var(--theme-accent));
}

.header-cta span:last-child,
.text-link span,
.step-no,
.step-mark,
.proof-stat b {
  color: var(--theme-accent);
}

.service-icon.icon-target,
.icon-content,
.icon-page {
  background: var(--theme-soft);
  color: var(--theme-accent);
}

.icon-target:before,
.icon-target:after,
.icon-target span {
  border-color: var(--theme-accent);
}

.icon-target span {
  background: var(--theme-accent);
}

.icon-content i {
  border-color: var(--theme-accent);
  background: color-mix(in srgb, var(--theme-panel) 72%, transparent);
}

.direct-whatsapp {
  border-color: var(--theme-edge);
  background: color-mix(in srgb, var(--theme-panel) 76%, transparent);
}

.direct-whatsapp strong {
  color: var(--ink);
}

.wa-icon {
  background: var(--theme-soft);
  color: var(--theme-accent);
}

.form-grid input,
.form-grid select,
.form-grid textarea {
  background: color-mix(in srgb, var(--theme-bg) 78%, var(--theme-panel));
  border-color: var(--theme-edge);
  color: var(--ink);
}

.form-grid select option {
  background: var(--theme-panel);
  color: var(--ink);
}

.form-grid input:focus,
.form-grid select:focus,
.form-grid textarea:focus {
  border-color: var(--theme-accent);
  box-shadow: 0 0 0 3px var(--theme-soft);
}

.casebook-dialog {
  background:
    radial-gradient(ellipse at 10% 0%, var(--theme-glow), transparent 38%),
    linear-gradient(145deg, var(--theme-panel), var(--theme-bg) 80%);
  border-color: var(--theme-edge);
}

.casebook-cover {
  background:
    radial-gradient(circle at 88% 12%, var(--theme-soft), transparent 34%),
    linear-gradient(130deg, var(--theme-panel-raised), var(--theme-bg) 78%);
  border-color: var(--theme-edge);
}

.casebook-open-button {
  background: linear-gradient(115deg, var(--theme-panel-raised), var(--theme-panel));
  border-color: var(--theme-edge);
}

.casebook-open-button:hover,
.casebook-reveal:hover,
.casebook-index-tab.is-active {
  border-color: var(--theme-accent);
}

.casebook-reveal,
.casebook-index-tab.is-active {
  background: var(--theme-soft);
  color: var(--theme-accent);
}

.casebook-progress span {
  background: linear-gradient(90deg, var(--theme-accent), var(--theme-bright));
}

.casebook-dot.is-active {
  background: var(--theme-accent);
}

.proof-lightbox {
  background: var(--theme-bg);
  border-color: var(--theme-edge);
}

.proof-lightbox-close:hover {
  background: var(--theme-soft);
}

.mobile-wa {
  background: linear-gradient(120deg, var(--theme-panel-raised), var(--theme-panel));
  border: 1px solid var(--theme-edge);
}

.theme-picker {
  position: relative;
  flex: 0 0 auto;
  direction: rtl;
  z-index: 12;
}

.theme-picker-toggle {
  min-height: 41px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid var(--theme-edge);
  border-radius: 9px;
  background: color-mix(in srgb, var(--theme-panel) 85%, transparent);
  color: #edf5f3;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .22s, background .22s, transform .22s;
}

.theme-picker-toggle:hover,
.theme-picker-toggle[aria-expanded="true"] {
  background: var(--theme-panel-raised);
  border-color: var(--theme-accent);
  transform: translateY(-1px);
}

.theme-picker-icon {
  width: 17px;
  height: 17px;
  color: var(--theme-accent);
}

.theme-picker-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-picker-current {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--theme-bg), var(--theme-accent), var(--theme-bright));
  box-shadow: 0 0 12px var(--theme-soft);
}

.theme-picker-chevron {
  margin-top: -4px;
  color: #a9bbc0;
  font-size: 16px;
  transition: transform .22s;
}

.theme-picker-toggle[aria-expanded="true"] .theme-picker-chevron {
  transform: rotate(180deg);
}

.theme-picker-menu {
  position: absolute;
  top: calc(100% + 11px);
  inset-inline-start: 0;
  width: 236px;
  padding: 14px;
  border: 1px solid var(--theme-edge);
  border-radius: 14px;
  background: linear-gradient(145deg, var(--theme-panel-raised), var(--theme-bg));
  box-shadow: 0 20px 52px rgba(0,0,0,.38);
  animation: theme-menu-in .2s ease both;
}

.theme-picker-menu[hidden] {
  display: none;
}

.theme-picker-menu > p {
  margin: 0 0 10px;
  color: #c5d5d5;
  font-size: 10px;
  font-weight: 700;
}

.theme-picker-options {
  display: grid;
  gap: 5px;
}

.theme-option {
  width: 100%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 7px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #edf5f3;
  text-align: right;
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}

.theme-option:hover {
  background: rgba(255,255,255,.055);
  transform: translateX(-2px);
}

.theme-option[aria-pressed="true"] {
  border-color: var(--theme-accent);
  background: var(--theme-soft);
}

.theme-option-gradient {
  width: 38px;
  height: 34px;
  flex: 0 0 auto;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 8px;
  background: linear-gradient(135deg, #171a1c 0 40%, #c6aa78 73%, #ead8b2);
}

.theme-option[data-theme-option="ocean"] .theme-option-gradient {
  background: linear-gradient(135deg, #111b27 0 40%, #a5bac8 73%, #d9d4c8);
}

.theme-option[data-theme-option="violet"] .theme-option-gradient {
  background: linear-gradient(135deg, #17201b 0 40%, #b0c0a6 73%, #d9cfb4);
}

.theme-option[data-theme-option="forest"] .theme-option-gradient {
  background: linear-gradient(135deg, #241b1c 0 40%, #d0a28f 73%, #ead7c7);
}

.theme-option[data-theme-option="sunset"] .theme-option-gradient {
  background: linear-gradient(135deg, #131c25 0 40%, #c69d7b 73%, #e5c7a7);
}

.theme-option-copy {
  display: grid;
  flex: 1;
  gap: 1px;
}

.theme-option-copy strong {
  font-size: 10px;
  font-weight: 700;
}

.theme-option-copy small {
  color: #9fb2b6;
  font-size: 8px;
}

.theme-option-check {
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--theme-accent);
  color: var(--theme-bg);
  font-size: 10px;
  opacity: 0;
  transform: scale(.7);
  transition: opacity .18s, transform .18s;
}

.theme-option[aria-pressed="true"] .theme-option-check {
  opacity: 1;
  transform: scale(1);
}

.theme-picker-toggle:focus-visible,
.theme-option:focus-visible {
  outline: 2px solid var(--theme-bright);
  outline-offset: 3px;
}

@keyframes theme-menu-in {
  from { opacity: 0; transform: translateY(-5px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 950px) {
  .theme-picker-toggle { gap: 6px; padding-inline: 9px; }
  .theme-picker-menu { inset-inline-start: auto; inset-inline-end: 0; }
}

@media (max-width: 700px) {
  .site-header { gap: 8px; }
  .theme-picker-toggle { min-height: 38px; font-size: 9px; }
  .theme-picker-menu { top: calc(100% + 9px); }
}

@media (max-width: 380px) {
  .theme-picker-label,
  .theme-picker-chevron { display: none; }
  .theme-picker-toggle { min-width: 39px; min-height: 37px; justify-content: center; padding-inline: 8px; }
  .theme-picker-current { width: 16px; height: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .theme-picker *,
  .theme-picker-menu { animation: none !important; transition: none !important; }
}


/* Cleaner editorial labels and restrained interaction markers. */
.eyebrow { gap: 11px; color: #d6d0c6; letter-spacing: .15px; }
.eyebrow-dark { color: #b7b2a9; }
.eyebrow-dot { width: 17px; height: 1px; border-radius: 0; box-shadow: none; background: var(--theme-accent); }
.scene-caption { border-radius: 7px; background: rgba(15, 23, 29, .62); }
.proof-audience > span,
.proof-audience > span:first-child { display: inline; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: #c8c1b5; }
.proof-audience > span + span::before { content: "/"; display: inline-block; margin-inline: 9px; color: var(--theme-accent); opacity: .72; }
.casebook-industry-mark { margin-top: 11px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--theme-accent); font-size: 9px; }
.casebook-cover-outcome { padding: 0 10px; border-right: 1px solid var(--theme-edge); border-radius: 0; background: none; color: var(--theme-bright); }
.casebook-index-tab { border-radius: 8px; }
.casebook-open-button { border-radius: 10px; }

.arrow-glyph { display: block; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.arrow-glyph-wrap { display: grid; place-items: center; color: var(--theme-accent); }
.button-arrow .arrow-glyph { width: 13px; height: 13px; }
.direct-arrow { display: grid; place-items: center; }

@media (prefers-reduced-motion: reduce) {
  .theme-picker *, .theme-picker-menu { animation: none !important; transition: none !important; }
}
