/* Executive portfolio: restrained systems-inspired palette, with OS-native color mode. */
:root {
  color-scheme: light dark;
  --page: #f4f7fb;
  --surface: #fff;
  --ink: #172538;
  --muted: #53657a;
  --line: #d9e2ec;
  --accent: #087f8c;
  --accent-soft: #e4f4f4;
  --nav: #10243a;
}
@media (prefers-color-scheme: dark) {
  :root {
    --page: #0b1220;
    --surface: #111d2d;
    --ink: #e5edf6;
    --muted: #a5b5c8;
    --line: #29394d;
    --accent: #55d5d3;
    --accent-soft: #15333c;
    --nav: #080f1b;
  }
}
html { scroll-behavior: smooth; }
body {
  background: var(--page) !important;
  color: var(--ink) !important;
  font-family: Inter, "Segoe UI", system-ui, sans-serif !important;
  line-height: 1.72;
}
#sideNav { background: var(--nav) !important; box-shadow: 8px 0 30px #07111d22; }
#sideNav .navbar-brand { color: #fff; }
#sideNav .nav-link { color: #bdcad9 !important; font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }
#sideNav .nav-link:hover, #sideNav .nav-link.active { color: #fff !important; }
.img-profile { border: 3px solid #55d5d388; box-shadow: 0 0 0 8px #ffffff0a; }
.container-fluid { max-width: 1440px; }
section.resume-section { min-height: auto; padding: 6rem 3.5rem !important; border-bottom: 1px solid var(--line); }
section.resume-section:first-child { min-height: 100vh; display: flex; align-items: center; }
.resume-section-content { max-width: 950px; }
h1, h2, h3 { color: var(--ink) !important; font-family: inherit !important; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 7vw, 5.6rem) !important; line-height: 1.05; }
h2 { font-size: clamp(2rem, 4vw, 3rem) !important; margin-bottom: 2.5rem !important; }
h3 { font-size: 1.35rem !important; font-weight: 700; }
.text-primary, .subheading { color: var(--accent) !important; }
.subheading { font-size: 1rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.lead { max-width: 760px; color: var(--muted); font-size: 1.25rem; }
p, li { color: var(--muted); }
#experience .d-flex.flex-column { position: relative; margin-bottom: 1.5rem !important; padding: 1.7rem 1.8rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: 0 8px 24px #10243a08; gap: .8rem; }
#experience .d-flex.flex-column:hover { border-color: var(--accent); transform: translateY(-2px); transition: .2s ease; }
.social-icons { display: flex; gap: .75rem; }
.social-icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 10px; color: var(--accent) !important; background: var(--surface); text-decoration: none; }
.social-icon:hover { background: var(--accent-soft); }
hr { border-color: var(--line) !important; opacity: 1; }
#skills .dev-icons { display: flex; flex-wrap: wrap; gap: .7rem; }
#skills .list-inline-item { display: inline-flex; align-items: center; justify-content: center; min-width: 50px; min-height: 48px; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); font-size: 1.8rem; }
#education .d-flex { padding: 1.3rem 0; border-bottom: 1px solid var(--line); gap: .5rem; }
@media (max-width: 991px) {
  section.resume-section { padding: 3.5rem 1.4rem !important; }
  section.resume-section:first-child { min-height: auto; padding-top: 6rem !important; }
  #sideNav .navbar-brand .img-profile { width: 48px; height: 48px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } }
