.theme-toggle {
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  transition: transform .25s, background .25s, border-color .25s;
}

.theme-toggle:hover { transform: rotate(16deg); border-color: #777; }
.theme-icon { font-size: 17px; line-height: 1; }

html[data-theme="light"] {
  --bg: #ffffff;
  --surface: #cde0ba82;
  --line: rgba(16, 20, 20, .14);
  --text: #111515;
  --muted: #606666;
  --lime: #244600;
  --blue: #315d9f;
}

html[data-theme="light"] body { background: var(--bg); color: var(--text); }
.site-header nav { color: #f3f1eb; }
html[data-theme="light"] .site-header nav { color: #111515; }
html[data-theme="light"] .noise { opacity: .018; }
html[data-theme="light"] .hero::before {
  background: linear-gradient(90deg, rgba(169,237,104,.08), rgba(248,255,241,.78)), repeating-linear-gradient(90deg, transparent 0, transparent calc(25% - 1px), rgba(0,0,0,.055) 25%);
}
html[data-theme="light"] .hero h1 em { -webkit-text-stroke-color: #747978; }
html[data-theme="light"] .hero-text,
html[data-theme="light"] .section-intro > p:last-child,
html[data-theme="light"] .contact-heading > p:last-child,
html[data-theme="light"] .card-content > p:not(.card-label) { color: #5f6665; }
html[data-theme="light"] .path-card { background: #e8f9d4; box-shadow: 0 20px 55px rgba(28,34,32,.08); }
html[data-theme="light"] .portfolio-card { background: #d9efc4; }
html[data-theme="light"] .screen-wrap { border-color: rgba(0,0,0,.14); }
html[data-theme="light"] .approach-line span:nth-child(2) { color: #747978; }
html[data-theme="light"] .contact-layout { background: #dff7c7; }
html[data-theme="light"] .contact-details span { color: #252a29; }
html[data-theme="light"] .form-field input,
html[data-theme="light"] .form-field textarea { color: #111515; border-color: #aeb3af; }
html[data-theme="light"] .language-switcher select option { background: #dff7c7; color: #111515; }
html[data-theme="light"] .callback-form button { background: #172015; color: #fff; }
html[data-theme="light"] .admin-link { color: #a9ada9; }
html[data-theme="light"] .work-card { background:#d9efc4; }
html[data-theme="light"] .work-card-live { background:#e8f9d4; }
html[data-theme="light"] .work-content > p,
html[data-theme="light"] .work-content ul { color:#424a43; }
html[data-theme="light"] .tourism-visual { background:radial-gradient(circle at 50% 45%,rgba(49,93,159,.18),transparent 60%); }

@media (max-width: 800px) {
  .theme-toggle { width: 35px; height: 35px; flex-basis: 35px; }
}

/* High-contrast supporting text in light mode */
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .kicker,
html[data-theme="light"] .hero-meta,
html[data-theme="light"] .section-intro > p:last-child,
html[data-theme="light"] .work-index,
html[data-theme="light"] .principles p,
html[data-theme="light"] .contact-heading > p:last-child,
html[data-theme="light"] .form-field label {
  color: #0b0e0d;
  font-weight: 600;
}

html[data-theme="light"] .eyebrow,
html[data-theme="light"] .kicker {
  font-size: 13px;
}

html[data-theme="light"] .hero-meta {
  font-size: 13px;
}

html[data-theme="light"] .section-intro > p:last-child,
html[data-theme="light"] .contact-heading > p:last-child {
  color: #111515;
  font-size: 16px;
}

html[data-theme="light"] .work-index {
  font-size: 12px;
}

html[data-theme="light"] .principles p {
  font-size: 14px;
}

html[data-theme="light"] .principles b {
  color: #111515;
}

html[data-theme="light"] .form-field label {
  font-size: 12px;
}

@media (max-width: 800px) {
  html[data-theme="light"] .eyebrow,
  html[data-theme="light"] .kicker { font-size: 12px; }
  html[data-theme="light"] .section-intro > p:last-child,
  html[data-theme="light"] .contact-heading > p:last-child { font-size: 15px; }
  html[data-theme="light"] .work-index { font-size: 11px; }
}
