/* Theme: light/dark tokens, layout additions, and redesign overrides */
.about-icons, .about-icons a { font-family: 'Muli', system-ui, sans-serif; text-transform: none; font-size: .95rem; color:#475569 !important; text-decoration:none; }
.about-icons a:hover { color:#2563eb !important; }
.headline { font-size: 1.5rem; font-weight: 700; color:#1e293b; margin: .5rem 0 .75rem; line-height:1.35; max-width: 46rem; }
p.lead { max-width: 46rem; }
.hero-ctas { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin: 1.25rem 0 2rem; }
.hero-ctas .social-icon { margin-right:0; width:44px; height:44px; }
.btn-cta { display:inline-flex; gap:.5rem; align-items:center; padding:.7rem 1.25rem; border-radius:.5rem; background:#2563eb; color:#fff; font-weight:700; text-decoration:none; border:2px solid #2563eb; transition:all .2s; }
.btn-cta:hover { background:#1e40af; border-color:#1e40af; color:#fff; transform:translateY(-2px); }
.btn-cta-outline { background:transparent; color:#2563eb; }
.btn-cta-outline:hover { background:#eff6ff; color:#1e40af; }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:1rem; max-width:52rem; }
.stat { background:#fff; border-radius:12px; padding:1rem 1.25rem; box-shadow:var(--card-shadow); border-top:4px solid #2563eb; }
.stat-num { display:block; font-size:1.75rem; font-weight:800; color:#1e293b; line-height:1.1; font-variant-numeric: tabular-nums; }
.stat-label { color:#64748b; font-size:.9rem; }
.work-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem; }
.work-card { background:#fff; border-radius:12px; padding:1.4rem; box-shadow:var(--card-shadow); transition:all .25s; }
.work-card:hover { transform:translateY(-4px); box-shadow:var(--card-shadow-hover); }
.work-card h3 { font-size:1.15rem; font-weight:800; color:#1e293b; margin:.25rem 0 .9rem; font-family:'Muli',system-ui,sans-serif; text-transform:none; }
.work-card p { color:#475569; font-size:.95rem; margin:0 0 1rem; }
.work-tag { font-size:.75rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#0891b2; }
.flow { display:flex; flex-wrap:wrap; align-items:center; gap:.4rem; margin-bottom:.9rem; font-size:.8rem; }
.flow span { background:#eff6ff; color:#1e40af; border:1px solid #bfdbfe; border-radius:6px; padding:.2rem .55rem; font-weight:700; }
.flow i { color:#94a3b8; font-size:.7rem; }
.chips { display:flex; flex-wrap:wrap; gap:.4rem; }
.chips span { font-size:.75rem; background:#f1f5f9; color:#334155; border-radius:999px; padding:.2rem .65rem; }
.highlights { margin:0 0 .5rem; padding-left:1.1rem; color:#1e293b; }
.highlights li { margin-bottom:.25rem; }
.job-details summary { cursor:pointer; color:#2563eb; font-weight:700; font-size:.9rem; margin:.25rem 0; }
.job-details[open] summary { margin-bottom:.75rem; }
:root{--bg:#fafafa;--card:#ffffff;--text:#0f172a;--muted:#475569;--border:#e2e8f0;--chip:#f1f5f9;--accent:#2563eb;--on-accent:#fff;--side:#0f172a;--side-border:#1e293b;--side-link:#94a3b8;--side-link-hover:#fff;}:root[data-theme="dark"]{--bg:#0b1120;--card:#111827;--text:#e5e7eb;--muted:#94a3b8;--border:#1f2937;--chip:#0f172a;--accent:#22d3ee;--on-accent:#06202a;--side:#020617;--side-border:#1e293b;--side-link:#64748b;--side-link-hover:#e5e7eb;color-scheme:dark;}
body,.stat,.work-card,.skill-card,#sideNav{transition:background-color .25s ease,border-color .25s ease,color .25s ease;}
.theme-toggle{position:fixed;top:1rem;right:1.25rem;z-index:1040;display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .8rem;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--text);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.8rem;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.06);}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent);}
.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.theme-toggle .icon-sun{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:inline;}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:none;}
@media (max-width:991.98px){.theme-toggle{top:.6rem;right:4.75rem;padding:.4rem .6rem;}.theme-toggle .label{display:none;}}
body{font-family:'Inter',system-ui,sans-serif !important;background:var(--bg) !important;color:var(--muted) !important;}
h1,h2,h3,h4,.subheading{font-family:'Inter',system-ui,sans-serif !important;text-transform:none !important;letter-spacing:-.02em;}
h1{font-size:clamp(2.5rem,5vw,4rem) !important;font-weight:800 !important;color:var(--text) !important;}
h1 .text-primary{background:none !important;-webkit-text-fill-color:var(--accent) !important;color:var(--accent) !important;}
.resume-section-content h2{color:var(--text) !important;font-size:1.6rem !important;}
.resume-section-content h2::after{background:var(--accent) !important;width:40px !important;height:3px !important;}
section.resume-section{background:transparent !important;}
hr{border-color:var(--border) !important;opacity:1;}
p,li,.lead,p.lead{color:var(--muted) !important;}
.headline{color:var(--text) !important;}
/* sidebar */
#sideNav,.navbar{background:var(--side) !important;box-shadow:none !important;border-right:1px solid var(--side-border);}
#sideNav .img-profile{border:3px solid var(--side-border) !important;}
#sideNav .nav-link{color:var(--side-link) !important;font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:500 !important;font-size:.85rem;letter-spacing:0 !important;text-transform:lowercase !important;}
#sideNav .nav-link::before{content:'~/ ';color:var(--accent);opacity:.7;}
#sideNav .nav-link:hover,#sideNav .nav-link.active{color:var(--side-link-hover) !important;transform:none !important;}
#sideNav .nav-link[href*="pdf"]{background:transparent !important;border:1px solid var(--accent);color:var(--accent) !important;border-radius:8px;margin:1rem 1.25rem !important;}
#sideNav .nav-link[href*="pdf"]::before{content:'';}
/* contact line & mono accents */
.about-icons,.about-icons a{font-family:'JetBrains Mono',ui-monospace,monospace !important;font-size:.85rem !important;color:var(--muted) !important;}
.about-icons i{color:var(--accent);}
.work-tag,.flow,.chips span,.stat-label,.text-primary,.job-details summary{font-family:'JetBrains Mono',ui-monospace,monospace !important;}
/* cards */
.stat,.work-card,.skill-card{background:var(--card) !important;box-shadow:none !important;border:1px solid var(--border) !important;}
.stat{border-top:1px solid var(--border) !important;}
.stat-num{color:var(--accent) !important;}
.stat-label{color:var(--muted) !important;font-size:.78rem !important;}
.work-card h3,.skill-card h3{color:var(--text) !important;font-family:'Inter',system-ui,sans-serif !important;}
.work-card:hover,.skill-card:hover{border-color:var(--accent) !important;transform:translateY(-2px) !important;}
.skill-card:hover ul li{color:var(--text) !important;}
.work-tag{color:var(--accent) !important;}
.flow span{background:var(--chip) !important;color:var(--text) !important;border-color:var(--border) !important;}
.chips span{background:var(--chip) !important;color:var(--muted) !important;}
/* experience */
.d-flex.flex-column.flex-md-row h3{color:var(--text) !important;font-size:1.15rem !important;}
.subheading{color:var(--accent) !important;font-size:.95rem !important;}
.text-primary{background:none !important;-webkit-text-fill-color:var(--muted) !important;color:var(--muted) !important;font-size:.85rem;font-weight:500 !important;}
.highlights li{color:var(--text) !important;}
.job-details summary{color:var(--accent) !important;font-size:.8rem !important;}
/* buttons */
.btn-cta{background:var(--accent) !important;border-color:var(--accent) !important;color:var(--on-accent) !important;}
.btn-cta-outline{background:transparent !important;color:var(--text) !important;border-color:var(--border) !important;}
.btn-cta-outline:hover{border-color:var(--accent) !important;}
.social-icon{background:var(--card) !important;border:1px solid var(--border);color:var(--text) !important;}
.social-icon:hover{border-color:var(--accent);box-shadow:none !important;}
h1 .text-primary{font-family:'Inter',system-ui,sans-serif !important;font-size:inherit !important;font-weight:800 !important;}
.stat-num{white-space:nowrap;font-size:clamp(1.35rem,4vw,1.75rem) !important;}
