/* Light is the default; the existing dark palette remains available. */
:root[data-theme="light"] {
  color-scheme: light;
  --bg: #f6f8fa;
  --panel: #fff;
  --ink: #172c32;
  --muted: #566970;
  --line: #d4dfe2;
  --accent: #396c3c;
  --cyan: #226b7a;
}
body { background: var(--bg); color: var(--ink); }
.theme-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 0;
  width: 44px; min-width: 44px; min-height: 44px; padding: 10px;
  border: 1px solid var(--line); background: var(--panel); color: var(--ink);
  font-size: 13px; border-radius: 3px; flex-shrink: 0;
}
.theme-toggle:hover { border-color: var(--accent); color: var(--accent); }
.theme-icon-sun { display: none; }
[data-theme="dark"] .theme-icon-sun { display: block; }
[data-theme="dark"] .theme-icon-moon { display: none; }
[data-theme="light"] .nav-contact { border-color: #b7c9ce; }
[data-theme="light"] .eyebrow,
[data-theme="light"] .hero-copy>p,
[data-theme="light"] .hero-disciplines,
[data-theme="light"] .hero-bottom { color: #526970; }
[data-theme="light"] .hero-disciplines i { background: #819a9f; }
[data-theme="light"] .primary { background: #d0ebad; color: #203b26; }
[data-theme="light"] .primary:hover { background: #bede98; }
[data-theme="light"] .text-link { text-decoration-color: #819d98; }
[data-theme="light"] .scene-shell:before {
  opacity: .3;
  background-image: linear-gradient(#92b0b9 1px,transparent 1px),linear-gradient(90deg,#92b0b9 1px,transparent 1px);
}
[data-theme="light"] .scene-topline,
[data-theme="light"] .scene-bottomline,
[data-theme="light"] .scene-coordinate,
[data-theme="light"] .scene-coordinate span { color: #536e77; }
[data-theme="light"] .motion-button,
[data-theme="light"] .reset-view { color: #35565e; border-color: #a9bfc5; background: #f6f8fad9; }
[data-theme="light"] .scene-label { color: #304f54; text-shadow: 0 1px 4px #fff,0 0 5px #fff; }
[data-theme="light"] .scene-label.cyan { color: var(--cyan); }
[data-theme="light"] .scene-label.green { color: var(--accent); }
[data-theme="light"] .scene-label span { border-color: #91a9aa; }
[data-theme="light"] .scroll-line { background: linear-gradient(var(--accent),#d2e0d5); }
[data-theme="light"] .project-image { border-color: #bdcdd1; }
[data-theme="light"] .project-open { color: #f0f1ec; }
[data-theme="light"] .project-meta { color: #526970; }
[data-theme="light"] .project-meta span:last-child { color: #426c42; }
[data-theme="light"] .approach-tags span { color: #50675d; }
[data-theme="light"] .process-symbol { color: #5a7e74; }
[data-theme="light"] .contact { background: #edf3ef; border-color: #c9d9ce; }
[data-theme="light"] .profile-letter>p { color: #4b645b; }
[data-theme="light"] .profile-letter>.profile-specialty { color: var(--accent); }
[data-theme="light"] .profile-signature { color: #294736; }
[data-theme="light"] .profile-signature>span,
[data-theme="light"] .profile-demo { color: #526c60; }
[data-theme="light"] .profile-contact,
[data-theme="light"] .contact-details>div { border-color: #c3d5c9; }
[data-theme="light"] .profile-section .section-kicker,
[data-theme="light"] .contact-channel { color: #4a695a; }
[data-theme="light"] .contact-value { color: #284d39; }
[data-theme="light"] footer>span,
[data-theme="light"] footer>a:last-child { color: #516c69; }
[data-theme="light"] dialog { background: #fff; border-color: #bccfca; }
[data-theme="light"] dialog::backdrop { background: #173c4a66; }
[data-theme="light"] .dialog-close { color: #426459; }
[data-theme="light"] dialog p { color: #4f665f; }
[data-theme="light"] .dialog-note { color: #526e63!important; }
@media (max-width:1100px) { .site-header nav { gap: 23px; } }
@media (max-width:760px) {
  .site-header nav { gap: 10px; }
  .theme-toggle { width: 44px; min-width: 44px; height: 44px; padding: 10px; }
  .theme-toggle>span { display: none; }
  .nav-contact { padding: 8px 9px; }
  .nav-contact .tiny-plus { display: none; }
}
@media (max-width:380px) { .site-header .nav-contact { display: none; } }

/* AC / Encuadre — chosen personal identity. */
.brand { gap: 0; }
.brand-logo { display: block; width: 68px; height: 68px; color: var(--accent); flex: none; }
footer .brand-logo { width: 60px; height: 60px; }
@media (max-width:760px) {
  .site-header .brand-logo { width: 54px; height: 54px; }
}

/* A gentle, continuous pulse draws attention to the theme control. */
.theme-toggle > svg { transform-origin: center; animation: theme-icon-pulse 3s ease-in-out infinite; }
@keyframes theme-icon-pulse { 0%,100% { transform: scale(1); filter: drop-shadow(0 0 0 transparent); } 50% { transform: scale(1.14); filter: drop-shadow(0 0 3px var(--accent)); } }
@media(prefers-reduced-motion:reduce) { .theme-toggle > svg { animation: none; } }
