/* Palette and program gradients sampled from licenseandscale.com on 2026-10-23. */
:root {
  color-scheme: dark;
  --page-bg: #0B0A12;
  --text: #F7EEFF;
  --ink: #F7EEFF;
  --muted: #AAA5AD;
  --purple: #A610DF;
  --purple-lt: #AC58EB;
  --purple-dark: #AC58EB;
  --lilac: #F7EEFF;
  --gold: #F7D277;
  --green: #00B77B;
  --pale: #14111C;
  --line: #1D1D23;
  --dark: #0B0A12;
  --panel-gradient: linear-gradient(145deg, #14111C 0%, #0C0B12 48%, #100E16 100%);
  color: var(--text);
  background: var(--page-bg);
}
body, .site-header, footer { background: var(--page-bg); color: var(--text); }
::selection { background: var(--purple); color: var(--text); }
:focus-visible { outline-color: var(--purple-lt); }
h2 span, .hero h1 > span, .booking-hero h1 span { color: var(--purple-lt); }
.eyebrow, .small-check, .text-link:hover { color: var(--purple-lt); }
.status-dot { background: var(--purple); box-shadow: 0 0 0 4px #A610DF18, 0 0 16px #A610DF60; }
.button, .button-light, .button-lilac {
  color: var(--page-bg);
  background: var(--text);
  border-color: transparent;
  box-shadow: 0 0 24px #F7EEFF0A;
}
.button:hover, .button-light:hover, .button-lilac:hover {
  color: var(--page-bg);
  background: var(--text);
  box-shadow: 0 12px 30px -10px rgba(247,238,255,.45);
}
.button-outline { color: var(--text); background: rgba(247,238,255,.04); border-color: var(--line); box-shadow: none; }
.button-outline:hover { color: var(--text); background: rgba(172,88,235,.08); border-color: var(--purple-lt); box-shadow: 0 0 26px #AC58EB26; }
.skip-link { color: var(--page-bg); background: var(--text); }
.navigation nav a { color: var(--muted); }
.navigation nav a:hover { color: var(--text); }
.navigation nav.is-open { background: #14111C; border-color: #AC58EB45; box-shadow: 0 16px 42px #0009; }
.menu-button span { background: var(--text); }
.brand { position: relative; }
.brand img { opacity: 0; }
.brand::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--text);
  -webkit-mask: url('/assets/sublime-wordmark.png') center / contain no-repeat;
  mask: url('/assets/sublime-wordmark.png') center / contain no-repeat;
  pointer-events: none;
}
.hero-footnote, .principles > span, .principles > div { color: var(--muted); }
.hero-art { isolation: isolate; }
.hero-art::before { background: radial-gradient(ellipse, rgba(166,16,223,.16), transparent 70%); }
.photo-frame { background: var(--page-bg); border-color: #F7EEFF18; box-shadow: 0 24px 55px -32px #A610DF55; }
.photo-shade { background: linear-gradient(0deg, #0B0A12EB, transparent 67%); }
.frame-caption, .frame-caption > span { color: var(--text); }
.floating-note { color: var(--text); background: #14111C; border-color: #F7EEFF16; box-shadow: 0 18px 38px -19px #000B; }
.floating-note span { color: var(--muted); }
.note-icon { color: var(--purple-lt); background: #AC58EB16; }
.principles i { background: var(--purple-lt); }
.connection-map article { background: var(--panel-gradient); border-color: var(--line); box-shadow: 0 14px 30px -22px #000; }
.connection-map .center-stage { background: linear-gradient(145deg, #AC58EB13, transparent 80%), var(--panel-gradient); border-color: #AC58EB55; }
.stage-tag, .stage-detail, .approach-note { color: var(--muted); }
.stage-symbol, .center-stage .stage-symbol { color: var(--purple-lt); background: #AC58EB14; }
.stage-detail { border-color: #F7EEFF12; }
.connector { color: var(--purple-lt); }
.plan-section { color: var(--text); background: var(--panel-gradient); border: 1px solid var(--line); }
.plan-heading .eyebrow, .plan-heading h2 > span { color: var(--purple-lt); }
.plan-steps article, .plan-steps article:last-child { border-color: #F7EEFF16; }
.plan-steps article > span { color: var(--purple-lt); border-color: #AC58EB50; }
.plan-steps p { color: var(--muted); }
.founder-frame { background: var(--page-bg); box-shadow: 0 24px 50px -30px #000; }
.founder-frame > div { color: var(--text); background: #0B0A12B3; border-color: #F7EEFF22; }
.founder-frame span { color: var(--text); }
.faq-section { background: var(--page-bg); border-color: var(--line); }
.faq-list details { background: var(--panel-gradient); border-color: var(--line); }
.faq-list details:hover, .faq-list details[open] { border-color: #AC58EB88; }
.faq-list summary > span { color: var(--purple-lt); }
.closing-section { color: var(--text); background: radial-gradient(ellipse at 85% 30%, #A610DF26, transparent 70%), var(--panel-gradient); border: 1px solid #AC58EB55; }
.closing-section::after { border-color: #AC58EB20; }
.closing-section .eyebrow, .closing-section h2 > span { color: var(--purple-lt); }
.closing-section p, .call-outline > span, .call-outline b { color: var(--muted); }
.call-outline { border-color: #F7EEFF22; }
.call-outline li { border-color: #F7EEFF18; }
.footer-main p, .footer-main > div > span, .footer-main > div > a:not(.brand), .footer-bottom { color: var(--muted); }
.footer-main a:hover, .footer-bottom a:hover { color: var(--text); }
.booking-calendar { background: var(--page-bg); border-color: var(--line); box-shadow: 0 14px 50px -30px #AC58EB30; }
.booking-program-link { color: var(--purple-lt); }
body[data-program='hire-gain'] .booking-hero h1 span, body[data-program='hire-gain'] .booking-hero .eyebrow { color: var(--gold); }
body[data-program='seven-figure-engine'] .booking-hero h1 span, body[data-program='seven-figure-engine'] .booking-hero .eyebrow { color: var(--green); }

/* Each program owns its accent, glow, selected tab, and call-to-action color. */
.programs-section {
  --program-accent: var(--purple-lt);
  --program-fill: var(--text);
  --section-glow: rgba(172,88,235,.14);
  color: var(--text);
  background: radial-gradient(ellipse 55% 50% at 78% 42%, var(--section-glow) 0%, transparent 70%), var(--page-bg);
  transition: background .5s;
}
.programs-section[data-active='hire-gain'] {
  --program-accent: var(--gold);
  --program-fill: var(--gold);
  --section-glow: rgba(247,210,119,.12);
}
.programs-section[data-active='seven-figure-engine'] {
  --program-accent: var(--green);
  --program-fill: var(--green);
  --section-glow: rgba(0,183,123,.12);
}
.programs-intro .eyebrow { color: var(--text); }
.programs-intro .eyebrow > span { background: var(--purple); }
.programs-intro h2 > span { color: var(--purple-lt); }
.programs-intro > p, .programs-guide p { color: var(--muted); }
.programs-guide { border-color: #F7EEFF14; }
.programs-guide > div > span { color: var(--program-accent); transition: color .25s; }
.programs-guide strong { color: var(--text); }
.programs-help { color: var(--text); }
.programs-help:hover { color: var(--purple-lt); }
.program-tab { --tab-accent: var(--purple-lt); --tab-fill: var(--text); }
.program-tab[data-program='hire-gain'] { --tab-accent: var(--gold); --tab-fill: var(--gold); }
.program-tab[data-program='seven-figure-engine'] { --tab-accent: var(--green); --tab-fill: var(--green); }
.program-tab {
  color: var(--tab-accent);
  background: rgba(247,238,255,.04);
  border-color: color-mix(in srgb, var(--tab-accent) 45%, transparent);
  box-shadow: 0 0 18px color-mix(in srgb, var(--tab-accent) 10%, transparent);
  transition: background .25s, color .25s, border-color .25s, box-shadow .25s;
}
.program-tab:hover {
  color: var(--tab-accent);
  background: color-mix(in srgb, var(--tab-accent) 12%, var(--page-bg));
  border-color: var(--tab-accent);
  box-shadow: 0 0 28px color-mix(in srgb, var(--tab-accent) 32%, transparent);
}
.program-tab[aria-selected='true'] {
  color: var(--page-bg);
  background: var(--tab-fill);
  border-color: var(--tab-fill);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tab-fill) 20%, transparent), 0 0 30px color-mix(in srgb, var(--tab-accent) 28%, transparent);
}
.program-tab[aria-selected='true']:hover { box-shadow: 0 0 0 1px color-mix(in srgb, var(--tab-fill) 25%, transparent), 0 0 38px color-mix(in srgb, var(--tab-accent) 42%, transparent); }
.program-tab:focus-visible { outline-color: var(--tab-accent); }
.program-panel:focus-visible, .program-controls button:focus-visible { outline-color: var(--program-accent); }
.program-panels {
  position: relative;
  isolation: isolate;
  background: var(--panel-gradient);
  border: 1.5px dashed color-mix(in srgb, var(--program-accent) 55%, transparent);
  box-shadow: inset 0 0 0 1px rgba(247,238,255,.03);
  transition: border-color .35s, box-shadow .35s;
}
.program-panels::before {
  content: '';
  position: absolute;
  inset: -20% -35% -20% 20%;
  background: radial-gradient(ellipse 55% 70% at 88% 48%, color-mix(in srgb, var(--program-accent) 38%, transparent) 0%, color-mix(in srgb, var(--program-accent) 16%, transparent) 38%, transparent 68%);
  filter: blur(28px);
  opacity: .9;
  pointer-events: none;
  z-index: 0;
}
.program-panels::after {
  content: '';
  position: absolute;
  right: -18%;
  top: 8%;
  bottom: 8%;
  width: 58%;
  background: radial-gradient(ellipse 70% 85% at 70% 50%, color-mix(in srgb, var(--program-accent) 22%, rgba(247,238,255,.08)) 0%, transparent 62%);
  filter: blur(48px);
  opacity: .75;
  pointer-events: none;
  z-index: 0;
}
.program-panel { position: relative; z-index: 1; }
.program-kicker, .program-kicker > span:first-child { color: var(--text); }
.program-kicker > span:last-child { color: var(--muted); }
.program-kicker > span:first-child::before { background: var(--program-accent); }
.program-panel h3, .program-inclusions h4, .program-inclusions strong, .program-note strong { color: var(--text); }
.program-description, .program-inclusions p, .program-note, .program-count { color: var(--muted); }
.program-cta { color: var(--page-bg); background: var(--program-fill); box-shadow: 0 0 28px -8px color-mix(in srgb, var(--program-accent) 30%, transparent); }
.program-cta:hover { color: var(--page-bg); background: var(--program-fill); box-shadow: 0 12px 30px -10px color-mix(in srgb, var(--program-accent) 65%, transparent); }
.program-inclusions, .program-note { border-color: #F7EEFF1A; }
.feature-mark { color: var(--program-accent); }
.program-inclusions em { color: var(--gold); background: #F7D2770F; border-color: #F7D27733; }
.program-note a { color: var(--text); }
.program-progress > span { background: #1B1A23; }
.program-progress > span.is-active { background: var(--program-accent); }
.program-controls button { color: var(--text); background: #F7EEFF04; border-color: #1D1D23; }
.program-controls button:hover { color: var(--program-accent); background: color-mix(in srgb, var(--program-accent) 10%, transparent); border-color: var(--program-accent); box-shadow: 0 0 22px color-mix(in srgb, var(--program-accent) 18%, transparent); }

/* Keep the booking controls in the first view; supporting copy follows them. */
.booking-page .navigation { height: 72px; justify-content: space-between; }
.booking-back { display: inline-flex; align-items: center; gap: 9px; color: var(--muted); font-size: 12px; }
.booking-back:hover { color: var(--text); }
.booking-page .booking-hero { padding: 14px 0 22px; }
.booking-page .booking-hero .eyebrow { margin-bottom: 10px; font-size: 8px; }
.booking-page .booking-hero h1 { font-size: clamp(28px, 3.5vw, 40px); line-height: 1.12; letter-spacing: -1.1px; }
.booking-page .booking-hero .booking-instruction { margin: 12px auto 0; font-size: 13px; line-height: 1.5; }
.booking-page .booking-calendar { border-color: #AC58EB35; border-radius: 20px; margin-bottom: 22px; }
.booking-page .booking-calendar iframe {
  height: 680px;
  color-scheme: dark;
  /* Keep the inline scheduler visible while HighLevel initializes resizing. */
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  left: auto !important;
}
.booking-support { text-align: center; max-width: 680px; }
.booking-support > p[data-booking-description] { color: var(--muted); font-size: 13px; line-height: 1.7; }
.booking-support .booking-program-link { margin-top: 12px; }
.booking-support .booking-fallback { padding: 24px 0 40px; margin: 0; font-size: 11px; }
@media (max-width: 600px) {
  .booking-page .navigation { height: 62px; }
  .booking-back { font-size: 11px; }
  .booking-page .booking-hero { padding: 6px 0 17px; }
  .booking-page .booking-hero h1 { font-size: 28px; letter-spacing: -.8px; }
  .booking-page .booking-hero .booking-instruction { margin-top: 9px; font-size: 12px; }
  .booking-page .booking-calendar { width: calc(100% - 20px); border-radius: 16px; }
  .booking-page .booking-calendar iframe { height: 1050px; }
}

/* A quiet response to the mouse; touch and reduced-motion layouts stay still. */
.pointer-highlight { display: none; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .pointer-surface {
    --pointer-accent: var(--purple-lt);
    --pointer-lift: -3px;
    isolation: isolate;
    transform: perspective(1200px) translateY(0) rotateX(0deg) rotateY(0deg);
    transition: transform .5s cubic-bezier(.2,.65,.3,1), border-color .35s, box-shadow .35s;
  }
  .program-panels.pointer-surface { --pointer-accent: var(--program-accent); --pointer-lift: -2px; }
  .pointer-surface.is-pointer-active {
    transform: perspective(1200px) translateY(var(--pointer-lift)) rotateX(var(--pointer-rx, 0deg)) rotateY(var(--pointer-ry, 0deg));
    transition-duration: .2s, .35s, .35s;
  }
  .pointer-surface > .pointer-highlight {
    display: block;
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: radial-gradient(320px circle at var(--pointer-x, 50%) var(--pointer-y, 50%), color-mix(in srgb, var(--pointer-accent) 11%, transparent), transparent 75%);
    pointer-events: none;
    opacity: 0;
    transition: opacity .4s ease;
    z-index: 0;
  }
  .pointer-surface.is-pointer-active > .pointer-highlight { opacity: 1; }
  .connection-map article > :not(.pointer-highlight) { position: relative; z-index: 1; }
  .connection-map article.is-pointer-active {
    border-color: #AC58EB88;
    box-shadow: 0 20px 38px -25px #000, 0 0 24px -8px #AC58EB20;
  }
  .program-panels.is-pointer-active {
    border-color: color-mix(in srgb, var(--program-accent) 78%, transparent);
    box-shadow: inset 0 0 0 1px #F7EEFF08, 0 18px 40px -30px color-mix(in srgb, var(--program-accent) 30%, transparent);
  }
  .program-tab {
    transition: transform .3s cubic-bezier(.2,.65,.3,1), background .25s, color .25s, border-color .25s, box-shadow .25s;
  }
  .program-tab:hover { transform: translateY(-2px); }
}
