:root[data-theme="light"] {
  color-scheme: light;
  --bg: #ffffff;
  --panel: #ffffff;
  --panel-2: #f2f2f2;
  --stage: #f4f4f4;
  --line: #e1e1e1;
  --line-2: #d0d0d0;
  --lime: #067631;
  --lime-hover: #14ce57;
  --lime-ink: #161616;
  --accent: #25e66c;
  --white: #161616;
  --ink: #161616;
  --text: #333333;
  --muted: #626262;
  --soft: #686868;
  --shadow: 0 16px 42px #0000000a;
}

body {
  background: var(--bg);
}

::selection {
  background: #25e66c66;
  color: var(--ink);
}

.button.primary,
.skip {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--lime-ink);
}

.button.primary:hover {
  background: var(--lime-hover);
  border-color: var(--lime-hover);
}

.button.secondary {
  background: var(--ink);
  color: #ffffff;
  border-color: var(--ink);
}

.button.secondary:hover {
  background: #333333;
  border-color: #333333;
}

.eyebrow { color: var(--muted); }
.service-heading em,
.approach em,
.questions em,
.contact-block em { color: inherit; }
.text-link { color: var(--ink); }
.text-link .ic { color: var(--lime); }

.service-shortcuts a:hover,
.service-shortcuts a:focus-visible,
.screen-tabs [aria-selected="true"] {
  background: var(--ink);
  border-color: var(--ink);
  color: #ffffff;
}

.signal {
  background: var(--lime);
  box-shadow: none;
}

.hero-showcase {
  background: #ffffff;
  border-color: var(--line-2);
  box-shadow: var(--shadow);
}

.showcase-caption,
.welcome-topline > span:first-child,
.welcome-signature {
  color: var(--muted);
}

.welcome-cover {
  background: var(--panel-2);
}

.welcome-signature {
  border-color: var(--line-2);
}

.welcome-pending {
  background: var(--panel-2);
}

.pathway {
  color: var(--text);
}

.pathway li span {
  color: var(--soft);
}

.service-shortcuts {
  background: #ffffffed;
  border-color: var(--line-2);
  box-shadow: 0 10px 28px #0000000a;
}

.service {
  background: var(--panel);
  box-shadow: var(--shadow);
}

.service:target {
  border-color: var(--ink);
}

.stage {
  border-color: var(--line-2);
}

.google-stage,
.website-stage,
.ads-stage,
.content-stage {
  background: var(--stage);
}

.stage-kicker,
.demo-label {
  color: var(--muted);
}

.screen-demo,
.analytics-preview,
.portfolio-card {
  background: #ffffff;
  border-color: var(--line-2);
  box-shadow: 0 18px 36px #00000010;
}

.screen-toolbar {
  color: var(--muted);
  background: var(--panel-2);
  border-color: var(--line);
}

.screen-toolbar .window-dots {
  color: var(--soft);
}

.screen-tabs button {
  color: var(--text);
  border-color: var(--line-2);
  background: #ffffff;
}

.screen-tabs [aria-selected="true"] {
  color: #ffffff;
}

.site-example {
  border-color: var(--line-2);
  box-shadow: 0 22px 42px #00000016;
}

.site-notes li {
  border-color: var(--line-2);
}

.portfolio-card:hover,
.portfolio-card:focus-within {
  border-color: var(--ink);
}

.media-frame {
  border-color: var(--line);
}

.cover-play {
  color: var(--accent);
}

.video-cover:hover .cover-play,
.video-cover:focus-visible .cover-play {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--lime-ink);
}

.format-tags span {
  color: var(--text);
  border-color: var(--line-2);
  background: #ffffff80;
}

.offer-box,
.package {
  box-shadow: inset 0 1px 0 #ffffff;
}

.is-placeholder {
  color: var(--lime);
}

.price [data-price] { color: var(--lime); }

body[data-preview] .is-placeholder::after {
  border-color: var(--lime);
}

.situation > span {
  background: #ffffff;
}

.situation > span::before {
  border-color: #888888;
  box-shadow: inset 0 0 0 4px #ffffff;
}

.situation:hover > span {
  border-color: var(--ink);
}

.situation input:checked + span,
.check:has(input:checked) {
  background: var(--ink);
  border-color: var(--ink);
  color: #ffffff;
}

.situation input:checked + span small,
.check:has(input:checked) small { color: #c9c9c9; }
.check input { accent-color: var(--accent); }

.situation input:checked + span::before {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: inset 0 0 0 4px var(--ink);
}

.split-row.fee {
  background: var(--ink);
  border-color: var(--ink);
  color: #ffffff;
}

.split-row.fee strong { color: var(--accent); }

.split-row.budget {
  border-color: var(--line-2);
}

.field select,
.fields input {
  background-color: #ffffff;
  border-color: #999999;
  color: var(--ink);
}

.fields input::placeholder {
  color: var(--soft);
}

.preview-note {
  background: var(--panel-2);
  color: var(--muted);
}

.sticky-cta {
  background: #fffffff2;
}

.toast,
dialog {
  background: #ffffff;
  border-color: var(--line-2);
  color: var(--ink);
  box-shadow: 0 18px 50px #00000024;
}

dialog::backdrop {
  background: #00000073;
}

.close {
  color: var(--muted);
}

.close:hover {
  background: var(--panel-2);
}

.fields input[aria-invalid="true"] {
  border-color: #b83d26;
}

.form-error,
.result-list li.missing,
.result-list li.missing .ic {
  color: #a33420;
}

.dashboard {
  background: var(--ink);
  border-color: var(--ink);
  box-shadow: 0 24px 60px #00000014;
}

.dashboard .dashboard-top,
.dashboard .metric-sub,
.dashboard figcaption { color: #c9c9c9; }
.dashboard .metric-number,
.dashboard .status::before { color: var(--accent); }
.dashboard .status::before { background: var(--accent); }
.dashboard .metric-label,
.dashboard .metric-sub strong { color: #ffffff; }

.case-frame {
  background: #ffffff;
}

.contact {
  background: #ffffff;
}

.investment { background: var(--panel-2); }

.contact input,
.contact select,
.contact textarea {
  background: #ffffff;
  border-color: #999999;
  color: var(--ink);
}

.contact input::placeholder,
.contact textarea::placeholder {
  color: var(--soft);
}
