/* Extracted verbatim from the original index.html <style> block. */
:root {
  color-scheme: dark;
  --theme-bg: #050914;
  --theme-bg-secondary: #080e19;
  --theme-surface: #0d1523;
  --theme-surface-raised: #111b2c;
  --theme-surface-glass: rgba(13, 21, 35, 0.72);
  --theme-text: #eaf8fb;
  --theme-copy: #9baac1;
  --theme-muted: #71819a;
  --theme-cyan: #39d5f4;
  --theme-cyan-soft: #a5edf8;
  --theme-violet: #a68cff;
  --theme-border: rgba(165, 237, 248, 0.12);
  --theme-border-strong: rgba(57, 213, 244, 0.28);
  --theme-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  --theme-shadow-hover: 0 28px 80px rgba(20, 190, 230, 0.12);
  --theme-radius-sm: 0.75rem;
  --theme-radius-md: 1.25rem;
  --theme-radius-lg: 2rem;
  --theme-content: 73.75rem;
  --font-interface: "Instrument Sans", "Segoe UI", sans-serif;
  --font-editorial: "Playfair Display", Georgia, serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; overflow-x: clip; }
body, button, input, textarea, select { font-family: var(--font-interface); }
body { margin: 0; max-width: 100%; overflow-x: clip; color: var(--theme-text); background: radial-gradient(circle at 12% 8%, rgba(57, 213, 244, 0.12), transparent 32rem), radial-gradient(circle at 88% 32%, rgba(166, 140, 255, 0.11), transparent 34rem), linear-gradient(180deg, rgba(5,9,20,0.98), rgba(8,14,25,1)); min-height: 100vh; }
a { color: inherit; }
a:focus-visible, button:focus-visible { outline: 3px solid rgba(57, 213, 244, .65); outline-offset: 4px; }
.section-shell { width: min(var(--theme-content), calc(100% - 2rem)); margin-inline: auto; }
.text-copy { color: var(--theme-copy); }
.text-muted-soft { color: var(--theme-muted); }
.type-accent { color: var(--theme-cyan); font-family: var(--font-editorial); font-style: italic; font-weight: 500; letter-spacing: -0.025em; }
.type-accent--violet { color: var(--theme-violet); }

.site-nav { position: fixed; z-index: 1000; top: 1rem; left: 50%; transform: translateX(-50%); width: min(var(--theme-content), calc(100% - 2rem)); border: 1px solid rgba(165, 237, 248, 0.09); border-radius: 999px; background: rgba(5, 9, 20, .52); backdrop-filter: blur(18px); box-shadow: 0 18px 60px rgba(0,0,0,.18); transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.site-nav.scrolled { background: rgba(8, 14, 25, .86); border-color: var(--theme-border-strong); }
.navbar-brand { color: var(--theme-text) !important; font-weight: 800; letter-spacing: -.04em; }
.navbar-brand:hover, .navbar-brand:focus-visible { color: var(--theme-cyan) !important; }
.brand-mark { width: 2.35rem; height: 2.35rem; display: inline-grid; place-items: center; border-radius: 50%; color: #041017; font-weight: 900; background: linear-gradient(135deg, var(--theme-cyan), var(--theme-violet)); box-shadow: 0 0 30px rgba(57, 213, 244, .25); }
.nav-link { color: var(--theme-copy); font-weight: 650; font-size: .94rem; }
.nav-link:hover, .nav-link.active { color: var(--theme-cyan); }
.navbar-toggler { border: 0; color: var(--theme-text); }

.hero { min-height: 100vh; padding: 9.5rem 0 5rem; display: grid; align-items: center; position: relative; overflow: hidden; }
#particles-js { position: absolute; inset: 0; pointer-events: none; opacity: .42; }
.hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .65fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.eyebrow { display: inline-flex; gap: .6rem; align-items: center; padding: .55rem .85rem; border: 1px solid var(--theme-border); border-radius: 999px; background: rgba(255,255,255,.04); color: var(--theme-copy); font-size: .9rem; font-weight: 700; }
.display-title { max-width: 13ch; margin: 1.15rem 0 1rem; font-size: clamp(3rem, 7vw, 6.65rem); line-height: .94; letter-spacing: -.065em; font-weight: 800; }
.hero-lead { max-width: 66ch; color: var(--theme-copy); font-size: clamp(1.02rem, 1.5vw, 1.18rem); line-height: 1.85; }
.cta-row { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 2rem; }
.btn-theme { min-height: 3.05rem; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; padding: .86rem 1.2rem; border-radius: 999px; font-weight: 800; text-decoration: none; border: 1px solid transparent; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.btn-primary-theme { color: #041017; background: linear-gradient(135deg, var(--theme-cyan), var(--theme-violet)); box-shadow: 0 20px 50px rgba(57, 213, 244, .16); }
.btn-secondary-theme { color: var(--theme-text); background: rgba(255,255,255,.055); border-color: var(--theme-border); }
.btn-theme:hover { transform: translateY(-3px); box-shadow: var(--theme-shadow-hover); }
.hero-card { border: 1px solid var(--theme-border); border-radius: var(--theme-radius-lg); padding: clamp(1.25rem, 3vw, 2rem); background: linear-gradient(145deg, rgba(17, 27, 44, 0.9), rgba(8, 14, 25, 0.74)); box-shadow: var(--theme-shadow); position: relative; overflow: hidden; }
.hero-card::before { content: ""; position: absolute; inset: -30% -10% auto auto; width: 15rem; aspect-ratio: 1; border-radius: 50%; background: rgba(57,213,244,.12); filter: blur(22px); }
.avatar { width: 7.5rem; height: 7.5rem; border-radius: 2rem; display: grid; place-items: center; margin-bottom: 1.2rem; color: #06101e; font-size: 2.7rem; font-weight: 900; background: linear-gradient(135deg, var(--theme-cyan), var(--theme-violet)); }
.metric-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: .9rem; margin-top: 1.3rem; }
.metric { border: 1px solid var(--theme-border); border-radius: 1rem; padding: 1rem; background: rgba(255,255,255,.035); }
.metric strong { display: block; font-size: 1.55rem; line-height: 1; color: var(--theme-text); }
.metric span { color: var(--theme-muted); font-size: .82rem; }

section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.section-heading { max-width: 45rem; margin-bottom: 2rem; }
.section-heading .kicker { display: inline-block; color: var(--theme-cyan); font-size: .83rem; text-transform: uppercase; letter-spacing: .16em; font-weight: 800; margin-bottom: .6rem; }
.section-heading h2 { margin: 0; font-size: clamp(2.1rem, 4.5vw, 4.2rem); line-height: 1; letter-spacing: -.055em; font-weight: 800; }
.section-heading p { margin: 1rem 0 0; color: var(--theme-copy); line-height: 1.8; }
.theme-card { height: 100%; border: 1px solid var(--theme-border); border-radius: var(--theme-radius-md); background: linear-gradient(145deg, rgba(17, 27, 44, 0.88), rgba(8, 14, 25, 0.72)); box-shadow: var(--theme-shadow); transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; overflow: hidden; }
.theme-card:hover { transform: translateY(-4px); border-color: var(--theme-border-strong); box-shadow: var(--theme-shadow-hover); }
.icon-box { width: 3.15rem; height: 3.15rem; display: grid; place-items: center; border-radius: 1rem; color: var(--theme-cyan); background: rgba(57,213,244,.1); border: 1px solid rgba(57,213,244,.16); }
.pill { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .75rem; border-radius: 999px; border: 1px solid var(--theme-border); background: rgba(255,255,255,.04); color: var(--theme-copy); font-size: .88rem; font-weight: 650; }
.timeline { position: relative; display: grid; gap: 1rem; }
.timeline::before { content: ""; position: absolute; top: 1rem; bottom: 1rem; left: 1.35rem; width: 1px; background: linear-gradient(var(--theme-cyan), var(--theme-violet)); opacity: .55; }
.timeline-item { position: relative; padding-left: 3.65rem; }
.timeline-dot { position: absolute; top: 1.1rem; left: .83rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--theme-cyan); box-shadow: 0 0 0 .45rem rgba(57,213,244,.11); }
.timeline .theme-card { padding: 1.35rem; }
.bullet-list { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .7rem; }
.bullet-list li { position: relative; padding-left: 1.35rem; color: var(--theme-copy); line-height: 1.7; }
.bullet-list li::before { content: ""; position: absolute; left: 0; top: .72rem; width: .45rem; height: .45rem; border-radius: 50%; background: var(--theme-cyan); box-shadow: 0 0 12px rgba(57,213,244,.4); }
.project-card .stack { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: .9rem; }
.project-card h3 { font-size: 1.22rem; letter-spacing: -.02em; }
.swiper { padding: .5rem .25rem 3rem; overflow: hidden; }
.swiper-wrapper { display: flex; }
.swiper-slide { height: auto; flex-shrink: 0; }
.swiper-pagination-bullet { background: var(--theme-muted); opacity: .7; }
.swiper-pagination-bullet-active { background: var(--theme-cyan); }
.skill-cloud { display: flex; flex-wrap: wrap; gap: .65rem; }
.skill-cloud span { border: 1px solid var(--theme-border); background: rgba(255,255,255,.04); border-radius: 999px; padding: .65rem .85rem; color: var(--theme-copy); font-weight: 650; }
.contact-card a { text-decoration: none; color: var(--theme-copy); }
.contact-card a:hover { color: var(--theme-cyan); }
.contact-form .form-control { min-height: 3.05rem; border: 1px solid var(--theme-border); border-radius: .85rem; color: var(--theme-text); background: rgba(255,255,255,.045); }
.contact-form textarea.form-control { min-height: 8rem; resize: vertical; }
.contact-form .form-control::placeholder { color: var(--theme-muted); }
.contact-form .form-control:focus { color: var(--theme-text); border-color: var(--theme-border-strong); background: rgba(255,255,255,.07); box-shadow: 0 0 0 .2rem rgba(57,213,244,.1); }
.contact-form button:disabled { cursor: wait; opacity: .7; }
.contact-form-status { min-height: 1.5rem; font-size: .9rem; }
.footer { margin: 0; padding: 0; color: var(--theme-copy); background: transparent; }
.footer-top, .copyright { width: min(var(--theme-content), calc(100% - 2rem)); margin-inline: auto; }
.footer-top { margin-top: 2.5rem; padding: clamp(1.875rem, 4vw, 3.125rem); border: 1px solid var(--theme-border); border-radius: clamp(1.25rem, 4vw, 3.125rem); background: var(--theme-bg-secondary); box-shadow: var(--theme-shadow); }
.footer-layout { display: grid; grid-template-columns: minmax(16rem, 1.5fr) minmax(9rem, 0.65fr) minmax(9rem, 0.65fr) minmax(13rem, 0.9fr); gap: 1.5rem; }
.footer h4 { color: var(--theme-text); font-size: 1rem; margin-bottom: 1rem; }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .65rem; }
.footer a { color: var(--theme-copy); text-decoration: none; }
.footer a:hover { color: var(--theme-cyan); }
.footer .logo { display: inline-flex; align-items: center; gap: .65rem; color: var(--theme-text); font-weight: 800; margin-bottom: 1rem; }
.social-links { display: flex; gap: .65rem; flex-wrap: wrap; margin-top: 1rem; }
.social-links a { width: 2.65rem; height: 2.65rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--theme-border); background: rgba(255,255,255,.04); }
.copyright { min-height: 4.625rem; margin-top: 1.5rem; margin-bottom: 1.25rem; padding-inline: 1.5rem; display: flex; align-items: center; justify-content: center; border-radius: 999px; color: var(--theme-muted); background: color-mix(in srgb, var(--theme-surface) 86%, transparent); text-align: center; }
.copyright a { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 0.2rem; color: inherit; text-decoration: none; }
.copyright a:hover, .copyright a:focus-visible { color: var(--theme-cyan); outline: none; }
.copyright .sitename { color: var(--theme-text); font-family: "Dancing Script", cursive; font-size: 1.55rem; font-style: normal; font-weight: 700; letter-spacing: 0.01em; }
.back-to-top { position: fixed; right: 1rem; bottom: 1rem; z-index: 999; width: 3rem; height: 3rem; border-radius: 50%; border: 1px solid var(--theme-border); background: rgba(13,21,35,.8); color: var(--theme-cyan); display: grid; place-items: center; opacity: 0; pointer-events: none; transform: translateY(.7rem); transition: .22s ease; backdrop-filter: blur(14px); }
.back-to-top.show { opacity: 1; pointer-events: auto; transform: translateY(0); }
@media (max-width: 991px) { .site-nav { border-radius: 1.4rem; } .navbar-collapse { padding: 1rem .4rem .35rem; } .hero-grid { grid-template-columns: 1fr; } .display-title { max-width: 11ch; } .footer-layout { grid-template-columns: 1fr 1fr; } .footer-about, .footer-contact { grid-column: 1 / -1; } }
@media (max-width: 640px) { .hero { padding-top: 8.25rem; } .display-title { font-size: clamp(2.6rem, 17vw, 4rem); } .metric-grid { grid-template-columns: 1fr; } .timeline::before { left: .8rem; } .timeline-item { padding-left: 2.35rem; } .timeline-dot { left: .28rem; } .footer-layout { grid-template-columns: 1fr; } .footer-about, .footer-contact { grid-column: auto; } .footer-top, .copyright { border-radius: 1.25rem; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } }

/* Enhancement pass: premium motion, depth, and product-engineering visuals */
body::before { content: ""; position: fixed; inset: 0; z-index: -2; pointer-events: none; background-image: linear-gradient(rgba(57,213,244,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(166,140,255,.04) 1px, transparent 1px); background-size: 72px 72px; mask-image: radial-gradient(circle at 50% 12%, black, transparent 72%); animation: gridDrift 28s linear infinite; }
body::after { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .18; background: repeating-radial-gradient(circle at 14% 26%, rgba(255,255,255,.18) 0 1px, transparent 1px 6px), linear-gradient(135deg, transparent, rgba(57,213,244,.04), transparent 58%, rgba(166,140,255,.035)); mix-blend-mode: screen; }
@keyframes gridDrift { from { background-position: 0 0, 0 0; } to { background-position: 72px 72px, 72px 72px; } }
.preloader { position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; background: radial-gradient(circle at 50% 38%, rgba(57,213,244,.12), transparent 26rem), #030711; transition: opacity .55s ease, visibility .55s ease; }
.preloader.hide { opacity: 0; visibility: hidden; }
.loader-core { width: 6.5rem; aspect-ratio: 1; border-radius: 50%; position: relative; border: 1px solid rgba(57,213,244,.28); box-shadow: 0 0 55px rgba(57,213,244,.22), inset 0 0 40px rgba(166,140,255,.12); animation: pulseCore 1.4s ease-in-out infinite alternate; }
.loader-core::before, .loader-core::after { content: ""; position: absolute; inset: .75rem; border-radius: 50%; border: 2px solid transparent; border-top-color: var(--theme-cyan); animation: spin 1.1s linear infinite; }
.loader-core::after { inset: 1.55rem; border-top-color: var(--theme-violet); animation-direction: reverse; animation-duration: 1.7s; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulseCore { to { transform: scale(1.06); filter: brightness(1.2); } }
.cursor-aura { position: fixed; left: 0; top: 0; width: 20rem; height: 20rem; border-radius: 50%; pointer-events: none; z-index: 2; opacity: .26; transform: translate3d(-50%, -50%, 0); background: radial-gradient(circle, rgba(57,213,244,.20), rgba(166,140,255,.12) 38%, transparent 68%); filter: blur(10px); mix-blend-mode: screen; transition: opacity .25s ease; }
.orbital-card { position: relative; min-height: 16rem; display: grid; place-items: center; isolation: isolate; }
.orbit-ring { position: absolute; inset: 1.15rem; border: 1px solid rgba(165,237,248,.13); border-radius: 50%; animation: spin 18s linear infinite; }
.orbit-ring:nth-child(2) { inset: 2.35rem; border-color: rgba(166,140,255,.16); animation-duration: 24s; animation-direction: reverse; }
.orbit-node { position: absolute; width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; color: var(--theme-cyan); background: rgba(17,27,44,.92); border: 1px solid var(--theme-border); box-shadow: 0 12px 35px rgba(0,0,0,.22); }
.orbit-node.n1 { top: 0; left: 50%; transform: translateX(-50%); } .orbit-node.n2 { right: 0; top: 52%; transform: translateY(-50%); color: var(--theme-violet); } .orbit-node.n3 { bottom: 0; left: 50%; transform: translateX(-50%); } .orbit-node.n4 { left: 0; top: 52%; transform: translateY(-50%); color: var(--theme-violet); }
.orbit-core { width: 7.5rem; height: 7.5rem; border-radius: 2rem; display: grid; place-items: center; text-align: center; color: #041017; font-weight: 900; background: linear-gradient(135deg, var(--theme-cyan), var(--theme-violet)); box-shadow: 0 0 70px rgba(57,213,244,.26); }
.code-window { margin-top: 1.35rem; border: 1px solid rgba(165,237,248,.13); border-radius: 1.2rem; overflow: hidden; background: rgba(3,7,17,.58); box-shadow: inset 0 1px 0 rgba(255,255,255,.05); }
.code-titlebar { display: flex; align-items: center; gap: .45rem; padding: .72rem .9rem; border-bottom: 1px solid rgba(165,237,248,.1); background: rgba(255,255,255,.035); }
.code-dot { width: .65rem; height: .65rem; border-radius: 50%; background: #ff5f57; } .code-dot:nth-child(2) { background: #ffbd2e; } .code-dot:nth-child(3) { background: #28c840; }
.code-window pre { margin: 0; padding: 1rem; color: #cfe8f1; font: 500 .83rem/1.65 "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; white-space: pre-wrap; }
.code-window .code-key { color: var(--theme-cyan); } .code-window .code-str { color: var(--theme-violet); }
.tech-marquee { width: 100%; overflow: hidden; border-block: 1px solid var(--theme-border); background: rgba(255,255,255,.025); }
.marquee-track { display: flex; width: max-content; animation: marquee 34s linear infinite; }
.marquee-track span { display: inline-flex; align-items: center; gap: .55rem; padding: 1rem 1.35rem; color: var(--theme-copy); font-weight: 750; white-space: nowrap; }
.marquee-track i { color: var(--theme-cyan); }
@keyframes marquee { to { transform: translateX(-50%); } }
.control-room { position: relative; overflow: hidden; border-radius: var(--theme-radius-lg); border: 1px solid var(--theme-border); background: linear-gradient(145deg, rgba(17, 27, 44, 0.74), rgba(5, 9, 20, 0.92)); box-shadow: var(--theme-shadow); }
.control-room::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at var(--mx, 50%) var(--my, 0%), rgba(57,213,244,.16), transparent 24rem); opacity: .85; pointer-events: none; }
.terminal-panel { position: relative; border: 1px solid rgba(255,255,255,.08); border-radius: 1.25rem; background: rgba(0,0,0,.28); overflow: hidden; }
.terminal-lines { padding: 1.1rem; display: grid; gap: .65rem; font: 500 .88rem/1.55 "JetBrains Mono", ui-monospace, monospace; color: #d5eef6; }
.terminal-lines div { display: flex; gap: .6rem; align-items: flex-start; } .prompt { color: var(--theme-cyan); } .ok { color: #43f2a3; }
.flow-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .85rem; position: relative; }
.flow-step { border: 1px solid var(--theme-border); border-radius: 1rem; padding: 1rem; background: rgba(255,255,255,.035); min-height: 8rem; position: relative; overflow: hidden; }
.flow-step::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(90deg, var(--theme-cyan), var(--theme-violet)); transform: scaleX(0); transform-origin: left; animation: scanLine 3.2s ease-in-out infinite; }
.flow-step:nth-child(2)::after { animation-delay: .4s; } .flow-step:nth-child(3)::after { animation-delay: .8s; } .flow-step:nth-child(4)::after { animation-delay: 1.2s; }
@keyframes scanLine { 0%, 20% { transform: scaleX(0); } 55%, 100% { transform: scaleX(1); } }
.theme-card, .btn-theme, .flow-step, .metric, .project-card { will-change: transform; }
.tilt-card { transform-style: preserve-3d; }
.tilt-card:hover .icon-box, .tilt-card:hover .brand-mark { transform: translateZ(22px); }
.metric strong { background: linear-gradient(135deg, #fff, var(--theme-cyan), var(--theme-violet)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.achievement-ribbon { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.achievement { padding: 1.25rem; border: 1px solid var(--theme-border); border-radius: 1.15rem; background: rgba(255,255,255,.035); }
.achievement b { display: block; font-size: clamp(1.8rem, 4vw, 3.2rem); line-height: 1; letter-spacing: -.06em; color: var(--theme-text); }
.achievement span { color: var(--theme-copy); font-weight: 650; }
@media (max-width: 991px) { .flow-grid, .achievement-ribbon { grid-template-columns: repeat(2, 1fr); } .cursor-aura { display: none; } }
@media (max-width: 640px) { .flow-grid, .achievement-ribbon { grid-template-columns: 1fr; } .orbital-card { min-height: 13.5rem; } .orbit-core { width: 6.3rem; height: 6.3rem; } }

/* Portfolio experience pass: clearer hierarchy, project overview, and theme control. */
:root {
  --theme-bg: #071018;
  --theme-bg-secondary: #0b1821;
  --theme-surface: #10212a;
  --theme-surface-raised: #162d36;
  --theme-text: #eef6f3;
  --theme-copy: #a9bcb8;
  --theme-muted: #78908c;
  --theme-cyan: #65d8c1;
  --theme-cyan-soft: #b7f1df;
  --theme-violet: #e3b66f;
  --theme-border: rgba(185, 239, 222, .14);
  --theme-border-strong: rgba(101, 216, 193, .38);
  --theme-shadow: 0 24px 70px rgba(0, 0, 0, .24);
  --theme-shadow-hover: 0 30px 70px rgba(31, 196, 160, .12);
}
body { background: radial-gradient(circle at 8% 4%, rgba(101,216,193,.1), transparent 30rem), radial-gradient(circle at 92% 28%, rgba(227,182,111,.08), transparent 32rem), linear-gradient(180deg, #071018, #0b1821 60%, #071018); }
body.light-theme { --theme-bg: #f4f2ed; --theme-bg-secondary: #ebe8e0; --theme-surface: #fffdf8; --theme-surface-raised: #f8f5ee; --theme-text: #18312e; --theme-copy: #536b66; --theme-muted: #70827d; --theme-cyan: #147d6c; --theme-cyan-soft: #24584e; --theme-violet: #a06425; --theme-border: rgba(24,49,46,.13); --theme-border-strong: rgba(20,125,108,.36); --theme-shadow: 0 20px 55px rgba(49,64,58,.1); --theme-shadow-hover: 0 26px 60px rgba(20,125,108,.14); background: radial-gradient(circle at 8% 4%, rgba(20,125,108,.09), transparent 30rem), radial-gradient(circle at 92% 28%, rgba(160,100,37,.08), transparent 32rem), #f4f2ed; }
body.light-theme::before { opacity: .26; }
body.light-theme .site-nav { background: rgba(255,253,248,.78); }
body.light-theme .site-nav.scrolled { background: rgba(255,253,248,.94); }
body.light-theme .btn-primary-theme, body.light-theme .brand-mark { color: #fffdf8; }
body.light-theme .theme-card, body.light-theme .hero-card, body.light-theme .control-room { background: linear-gradient(145deg, rgba(255,253,248,.98), rgba(247,244,236,.92)); }
body.light-theme .code-window, body.light-theme .terminal-panel { background: #e9eee9; }
body.light-theme .code-window pre, body.light-theme .terminal-lines { color: #284843; }

.theme-toggle { width: 2.55rem; height: 2.55rem; display: grid; place-items: center; border: 1px solid var(--theme-border); border-radius: 50%; color: var(--theme-cyan); background: color-mix(in srgb, var(--theme-surface) 82%, transparent); transition: transform .2s ease, background .2s ease, color .2s ease; }
.theme-toggle:hover { color: var(--theme-violet); background: var(--theme-surface-raised); transform: rotate(-12deg); }
.site-nav .nav-link { transition: color .2s ease; }
.site-nav .nav-link.active { color: var(--theme-text); position: relative; }
.site-nav .nav-link.active::after { content: ""; position: absolute; right: .75rem; bottom: .15rem; left: .75rem; height: 2px; border-radius: 2px; background: var(--theme-cyan); }
.hero { min-height: 92vh; }
.hero .eyebrow { border-color: var(--theme-border-strong); color: var(--theme-cyan-soft); }
.display-title { max-width: 12ch; }
.section-heading { position: relative; }
.section-heading::after { content: ""; display: block; width: 4.5rem; height: 3px; margin-top: 1.25rem; background: var(--theme-violet); }
.section-heading p { max-width: 62ch; }
section:nth-of-type(even) { background: color-mix(in srgb, var(--theme-bg-secondary) 48%, transparent); }
.theme-card { background: linear-gradient(145deg, rgba(16,33,42,.9), rgba(8,22,29,.84)); }
.theme-card:hover { transform: translateY(-7px); }
.theme-card .icon-box { color: var(--theme-cyan); }
.achievement-ribbon { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.achievement { border-radius: .75rem; background: color-mix(in srgb, var(--theme-surface) 70%, transparent); }
.achievement b { color: var(--theme-cyan); }
.metric strong { background: none; -webkit-background-clip: initial; background-clip: initial; color: var(--theme-cyan); }
.projectSwiper { padding: .5rem 0 0; overflow: visible; }
.projectSwiper .swiper-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; width: auto; transform: none !important; }
.projectSwiper .swiper-slide { width: auto !important; height: auto; }
.project-card { position: relative; display: flex; flex-direction: column; min-height: 18rem; padding: clamp(1.25rem, 2.3vw, 1.8rem) !important; border-radius: 1rem; }
.project-card::before { content: ""; width: 2.5rem; height: .2rem; margin-bottom: 1.35rem; background: var(--theme-violet); }
.project-card h3 { max-width: 22ch; margin-bottom: .8rem; font-size: clamp(1.12rem, 1.8vw, 1.45rem); }
.project-card p { margin-top: auto; line-height: 1.75; }
.project-card .stack { gap: .4rem; }
.project-card .pill { padding: .4rem .6rem; font-size: .78rem; }
.swiper-pagination { display: none; }
.projects-note { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-top: 1.5rem; padding: .95rem 1.1rem; border-block: 1px solid var(--theme-border); color: var(--theme-copy); font-size: .92rem; }
.projects-note > i { color: var(--theme-cyan); }
.projects-note a { margin-left: auto; color: var(--theme-cyan); font-weight: 700; text-decoration: none; }
.projects-note a:hover { color: var(--theme-violet); }
#experience .timeline .theme-card { border-left: 2px solid var(--theme-cyan); }
#experience .timeline-item:nth-child(2) .theme-card { border-left-color: var(--theme-violet); }
#education .theme-card { position: relative; }
#education .theme-card::after { content: ""; position: absolute; top: 1.3rem; right: 1.3rem; width: .65rem; height: .65rem; border-radius: 50%; background: var(--theme-cyan); box-shadow: 0 0 0 .35rem color-mix(in srgb, var(--theme-cyan) 16%, transparent); }
#certifications .text-copy { line-height: 1.85; }
.contact-card { border-color: var(--theme-border-strong); }
.contact-card > .row > .col-lg-7 { padding-right: clamp(1rem, 4vw, 4rem); }
.contact-form-status { color: var(--theme-cyan); }
.footer-top { background: color-mix(in srgb, var(--theme-bg-secondary) 82%, transparent); }

@media (max-width: 991px) {
  .site-nav .nav-link.active::after { display: none; }
  .projectSwiper .swiper-wrapper { grid-template-columns: 1fr 1fr; }
  .projects-note a { margin-left: 0; width: 100%; }
}
@media (max-width: 640px) {
  .hero { min-height: auto; }
  .projectSwiper .swiper-wrapper { grid-template-columns: 1fr; }
  .project-card { min-height: 0; }
  .projects-note { align-items: flex-start; }
  .projects-note span { flex: 1; }
  .achievement-ribbon { grid-template-columns: 1fr 1fr; }
}

/* Monochrome refinement: black, white, and deliberate shades of gray. */
:root {
  --theme-bg: #090909;
  --theme-bg-secondary: #111111;
  --theme-surface: #171717;
  --theme-surface-raised: #202020;
  --theme-text: #f5f5f2;
  --theme-copy: #b8b8b3;
  --theme-muted: #81817d;
  --theme-cyan: #f5f5f2;
  --theme-cyan-soft: #deded9;
  --theme-violet: #a9a9a4;
  --theme-border: rgba(245,245,242,.14);
  --theme-border-strong: rgba(245,245,242,.38);
  --theme-shadow: 0 24px 70px rgba(0,0,0,.42);
  --theme-shadow-hover: 0 28px 70px rgba(255,255,255,.08);
}
body, body.light-theme { color: var(--theme-text); background: radial-gradient(circle at 12% 0%, rgba(255,255,255,.075), transparent 30rem), linear-gradient(180deg, #090909, #111 58%, #090909); }
body.light-theme { --theme-bg: #f4f4f1; --theme-bg-secondary: #e8e8e4; --theme-surface: #ffffff; --theme-surface-raised: #ededeb; --theme-text: #111; --theme-copy: #4f4f4b; --theme-muted: #767672; --theme-cyan: #111; --theme-cyan-soft: #31312f; --theme-violet: #555552; --theme-border: rgba(17,17,17,.14); --theme-border-strong: rgba(17,17,17,.36); --theme-shadow: 0 24px 65px rgba(0,0,0,.1); --theme-shadow-hover: 0 28px 70px rgba(0,0,0,.14); background: radial-gradient(circle at 12% 0%, rgba(0,0,0,.055), transparent 30rem), linear-gradient(180deg, #f4f4f1, #e8e8e4 58%, #f4f4f1); }
body::before { background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); }
body::after { opacity: .08; background: repeating-radial-gradient(circle at 14% 26%, rgba(255,255,255,.18) 0 1px, transparent 1px 6px), linear-gradient(135deg, transparent, rgba(255,255,255,.04), transparent 58%); }
body.light-theme::before { background-image: linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.04) 1px, transparent 1px); }
.btn-primary-theme { color: #090909; background: linear-gradient(135deg, #fafaf7, #bdbdb8); box-shadow: 0 18px 45px rgba(255,255,255,.1); }
.btn-secondary-theme { border-color: var(--theme-border); background: rgba(255,255,255,.055); }
body.light-theme .btn-primary-theme { color: #f5f5f2; background: #111; }
.type-accent, .type-accent--violet, .section-heading .kicker, .form-kicker { color: var(--theme-cyan); }
.theme-card, .hero-card, .control-room { background: linear-gradient(145deg, rgba(28,28,28,.94), rgba(14,14,14,.9)); }
body.light-theme .theme-card, body.light-theme .hero-card, body.light-theme .control-room { background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(238,238,235,.94)); }
.brand-mark { color: #111; background: linear-gradient(135deg, #fafaf7, #a9a9a4); box-shadow: 0 0 30px rgba(255,255,255,.12); }
.hero .eyebrow { color: var(--theme-copy); border-color: var(--theme-border); }
.icon-box, .skill-icon { color: var(--theme-text); background: rgba(255,255,255,.07); border-color: var(--theme-border); }
.pill, .skill-list span { color: var(--theme-copy); background: rgba(255,255,255,.045); border-color: var(--theme-border); }
.pill i, .contact-card a:hover, .footer a:hover, .projects-note a:hover { color: var(--theme-text); }
.achievement b, .metric strong { color: var(--theme-text); }
.achievement { background: rgba(255,255,255,.035); }
.section-heading::after { background: var(--theme-text); }
.skills-panel { display: grid; gap: .8rem; }
.skill-group { padding: 1.15rem 1.2rem; border: 1px solid var(--theme-border); border-radius: 1rem; background: color-mix(in srgb, var(--theme-surface) 88%, transparent); transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.skill-group:hover { transform: translateX(5px); border-color: var(--theme-border-strong); background: var(--theme-surface-raised); }
.skill-group-heading { display: flex; align-items: center; gap: .8rem; margin-bottom: .8rem; }
.skill-icon { flex: 0 0 2.7rem; width: 2.7rem; height: 2.7rem; display: grid; place-items: center; border: 1px solid var(--theme-border); border-radius: .7rem; }
.skill-group-label { display: block; color: var(--theme-text); font-weight: 800; letter-spacing: -.01em; }
.skill-group-heading p { margin: .15rem 0 0; color: var(--theme-muted); font-size: .82rem; }
.skill-list { display: flex; flex-wrap: wrap; gap: .45rem; margin-left: 3.5rem; }
.skill-list span { padding: .42rem .65rem; border-radius: .55rem; font-size: .8rem; font-weight: 650; }
.contact-card { background: linear-gradient(145deg, #191919, #101010); }
body.light-theme .contact-card { background: linear-gradient(145deg, #fff, #e9e9e6); }
.form-intro { margin-bottom: 1.4rem; padding-bottom: 1rem; border-bottom: 1px solid var(--theme-border); }
.form-kicker { display: block; margin-bottom: .4rem; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.form-intro p { max-width: 36rem; margin: 0; color: var(--theme-copy); line-height: 1.65; }
.contact-form label { display: block; margin: 0 0 .42rem; color: var(--theme-copy); font-size: .78rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.contact-form .form-control { min-height: 3.2rem; color: var(--theme-text); border: 1px solid var(--theme-border); border-radius: .55rem; background: rgba(255,255,255,.06); }
.contact-form textarea.form-control { min-height: 9rem; }
.contact-form .form-control::placeholder { color: var(--theme-muted); }
.contact-form .form-control:focus { color: var(--theme-text); border-color: var(--theme-border-strong); background: rgba(255,255,255,.1); box-shadow: 0 0 0 .2rem rgba(255,255,255,.08); }
body.light-theme .contact-form .form-control { background: rgba(0,0,0,.035); }
.contact-form-status { color: var(--theme-text); }
@media (max-width: 640px) { .skill-list { margin-left: 0; } .skill-group:hover { transform: none; } }

/* Editorial + Orbit hero mixed into the complete main portfolio. */
.editorial-hero { width:min(76rem,calc(100% - 3rem)); min-height:42rem; margin-inline:auto; display:grid; grid-template-columns:1fr .8fr; align-items:center; gap:4rem; padding:9rem 0 4.5rem; }
.editorial-hero .hero-copy .eyebrow { display:flex; align-items:center; gap:.55rem; padding:0; border:0; background:transparent; font:500 .72rem "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
.editorial-hero .eyebrow-dot { width:.45rem; height:.45rem; display:inline-block; border-radius:50%; background:var(--theme-text); }
.editorial-hero .option-label { margin-top:3rem; color:var(--theme-copy); font:500 .72rem "DM Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }.editorial-hero .option-label strong { color:var(--theme-text); font-weight:500; }
.editorial-hero .hero-copy h1 { max-width:11ch; margin:.7rem 0 1.2rem; color:var(--theme-text); font:600 clamp(3.8rem,8vw,7.8rem)/.88 "Space Grotesk",sans-serif; letter-spacing:-.085em; }.editorial-hero .hero-copy h1 em { color:var(--theme-text); font-family:Georgia,serif; font-style:italic; font-weight:400; letter-spacing:-.06em; }
.editorial-hero .hero-description { max-width:34rem; color:var(--theme-copy); font-size:1rem; line-height:1.75; }.editorial-hero .hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.8rem; }.editorial-hero .action { display:inline-flex; align-items:center; gap:.75rem; padding:.85rem 1.05rem; border:1px solid var(--theme-border); border-radius:999px; font-weight:700; font-size:.82rem; transition:.25s ease; }.editorial-hero .action-solid { color:var(--theme-bg); border-color:var(--theme-text); background:var(--theme-text); }.editorial-hero .action-quiet { color:var(--theme-text); }.editorial-hero .action:hover { transform:translateY(-3px); box-shadow:0 1rem 2.5rem rgba(0,0,0,.14); }.editorial-hero .hero-proof { display:flex; flex-wrap:wrap; gap:1.35rem; margin-top:2.5rem; color:var(--theme-copy); font:500 .68rem "DM Mono",monospace; text-transform:uppercase; }.editorial-hero .hero-proof span::before { content:"/"; margin-right:.4rem; color:var(--theme-text); }
.editorial-hero .hero-portrait { position:relative; min-height:34rem; display:grid; place-items:center; }.editorial-hero .portrait-rings span { position:absolute; width:24rem; aspect-ratio:1; border:1px solid var(--theme-border); border-radius:50%; transform:rotate(-18deg); }.editorial-hero .portrait-rings span:nth-child(2) { width:30rem; border-color:var(--theme-border-strong); transform:rotate(38deg) scaleY(.44); }.editorial-hero .portrait-rings span:nth-child(3) { width:25rem; border-color:var(--theme-border); transform:rotate(-48deg) scaleY(.44); }.editorial-hero .portrait-frame { position:relative; z-index:1; width:min(20rem,75vw); aspect-ratio:.82; overflow:hidden; border:1px solid var(--theme-border); border-radius:10rem 10rem 1rem 1rem; background:var(--theme-surface-raised); box-shadow:2rem 2rem 0 var(--theme-text); }.editorial-hero .portrait-frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; filter:grayscale(1) contrast(1.1); }.editorial-hero .portrait-tag { position:absolute; z-index:2; right:0; bottom:8%; display:flex; align-items:center; gap:.55rem; color:var(--theme-copy); font:500 .62rem "DM Mono",monospace; transform:rotate(-90deg) translateX(50%); transform-origin:right bottom; }.editorial-hero .tag-line { width:3rem; height:1px; background:var(--theme-text); }.editorial-hero .portrait-name { position:absolute; z-index:2; bottom:3%; left:0; color:var(--theme-text); font:600 1rem "Space Grotesk",sans-serif; letter-spacing:.15em; line-height:.92; }.editorial-hero .portrait-name strong { color:var(--theme-text); }
@media (max-width:991px) { .editorial-hero { grid-template-columns:1fr; gap:2rem; }.editorial-hero .hero-portrait { min-height:30rem; } }
@media (max-width:640px) { .editorial-hero { width:calc(100% - 2rem); padding:7rem 0 3rem; }.editorial-hero .hero-copy h1 { font-size:clamp(3.2rem,16vw,5.6rem); }.editorial-hero .hero-proof { flex-direction:column; gap:.7rem; }.editorial-hero .hero-portrait { min-height:26rem; }.editorial-hero .portrait-rings span { width:19rem; }.editorial-hero .portrait-rings span:nth-child(2) { width:24rem; }.editorial-hero .portrait-rings span:nth-child(3) { width:20rem; }.editorial-hero .portrait-tag { display:none; } }
.editorial-hero .hero-data-panel { position:absolute; z-index:3; right:-1.2rem; bottom:8%; display:grid; grid-template-columns:1fr 1fr; gap:.55rem; width:12rem; padding:.85rem; border:1px solid var(--theme-border); border-radius:.7rem; color:var(--theme-text); background:color-mix(in srgb,var(--theme-surface) 92%,transparent); box-shadow:0 1.2rem 3rem rgba(0,0,0,.12); backdrop-filter:blur(12px); }.editorial-hero .hero-data-panel > span,.editorial-hero .hero-data-panel > strong { grid-column:1 / -1; }.editorial-hero .hero-data-panel > span { color:var(--theme-muted); font:500 .58rem "DM Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.editorial-hero .hero-data-panel > strong { padding-bottom:.55rem; border-bottom:1px solid var(--theme-border); font-size:.78rem; }.editorial-hero .hero-data-panel div { display:grid; gap:.1rem; }.editorial-hero .hero-data-panel b { font:700 1.25rem "Space Grotesk",sans-serif; }.editorial-hero .hero-data-panel small { color:var(--theme-copy); font-size:.62rem; line-height:1.2; }.editorial-hero .hero-data-panel b { color:var(--theme-text); }
@media (max-width:640px) { .editorial-hero .hero-data-panel { right:-.4rem; bottom:4%; width:10rem; } }

/* Main portfolio hybrid palette and upgraded portrait frame. */
body { --theme-bg:#050505; --theme-bg-secondary:#111111; --theme-surface:#151b29; --theme-surface-raised:#202a3d; --theme-text:#f4f7ff; --theme-copy:#a5b1c5; --theme-muted:#77849a; --theme-cyan:#6d8fff; --theme-cyan-soft:#b9c8ff; --theme-violet:#3d67d5; --theme-border:rgba(164,184,232,.19); --theme-border-strong:rgba(109,143,255,.55); background:#050505; }
body.light-theme { --theme-bg:#ffffff; --theme-bg-secondary:#f1f3f7; --theme-surface:#edf2f9; --theme-surface-raised:#e1e8f3; --theme-text:#111827; --theme-copy:#526078; --theme-muted:#7b879a; --theme-cyan:#2f5bd3; --theme-cyan-soft:#2448a6; --theme-violet:#6d8fff; --theme-border:rgba(39,72,132,.16); --theme-border-strong:rgba(47,91,211,.48); background:#ffffff; }
body::before { background-image:linear-gradient(rgba(109,143,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(109,143,255,.035) 1px,transparent 1px); }
body.light-theme::before { background-image:linear-gradient(rgba(17,24,39,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,39,.045) 1px,transparent 1px); }
.editorial-hero .portrait-frame { border:0; border-radius:11rem 11rem 1.25rem 1.25rem; background:var(--theme-surface-raised); box-shadow:1.65rem 1.65rem 0 var(--theme-cyan),0 1.8rem 4rem rgba(0,0,0,.26); isolation:isolate; }
.editorial-hero .portrait-frame::before { content:""; position:absolute; inset:.55rem; z-index:1; border:1px solid color-mix(in srgb,var(--theme-text) 32%,transparent); border-radius:10.5rem 10.5rem .8rem .8rem; pointer-events:none; }
.editorial-hero .portrait-frame::after { content:""; position:absolute; right:-1.7rem; top:2.6rem; width:5rem; height:5rem; z-index:2; border-top:1px solid var(--theme-cyan); border-right:1px solid var(--theme-cyan); border-radius:50%; opacity:.8; }
.editorial-hero .portrait-frame img { position:relative; z-index:0; filter:none; }
.editorial-hero .portrait-rings span:nth-child(2) { border-color:color-mix(in srgb,var(--theme-cyan) 62%,transparent); }
.editorial-hero .portrait-tag .tag-line { background:var(--theme-cyan); }.editorial-hero .portrait-name strong { color:var(--theme-cyan); }
.editorial-hero .action-solid { color:#fff; background:var(--theme-cyan); border-color:var(--theme-cyan); box-shadow:0 1rem 2.5rem color-mix(in srgb,var(--theme-cyan) 24%,transparent); }
body.light-theme .editorial-hero .action-solid { color:#fff; }
.editorial-hero .action-quiet { color:var(--theme-text); border-color:var(--theme-border); }
.editorial-hero .hero-data-panel { border-color:var(--theme-border); background:color-mix(in srgb,var(--theme-surface) 92%,transparent); }.editorial-hero .hero-data-panel b { color:var(--theme-cyan); }

/* Identity, education, and credential presentation. */
.orbit-core { overflow: hidden; position: relative; border: .45rem solid rgba(255,255,255,.35); background: #f5f5f2; }
.orbit-core::after { content: ""; position: absolute; inset: .35rem; border: 1px solid rgba(0,0,0,.25); border-radius: 1.45rem; pointer-events: none; }
.orbit-core img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; filter: grayscale(1) contrast(1.05); }
.hero-nameplate { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.hero-label { display: block; margin-bottom: .2rem; color: var(--theme-muted); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.availability { display: inline-flex; align-items: center; gap: .4rem; padding: .42rem .65rem; border: 1px solid var(--theme-border); border-radius: 999px; color: var(--theme-copy); font-size: .72rem; font-weight: 750; white-space: nowrap; }
.availability i { color: var(--theme-text); font-size: .48rem; }
.education-card, .certifications-panel { border: 1px solid var(--theme-border); border-radius: 1rem; background: linear-gradient(145deg, rgba(28,28,28,.94), rgba(14,14,14,.9)); box-shadow: var(--theme-shadow); }
body.light-theme .education-card, body.light-theme .certifications-panel { background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(238,238,235,.94)); }
.education-card { display: flex; flex-direction: column; padding: clamp(1.35rem, 3vw, 2rem); }
.section-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.status-chip, .certificate-count { display: inline-flex; align-items: center; padding: .45rem .68rem; border: 1px solid var(--theme-border-strong); border-radius: 999px; color: var(--theme-copy); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.education-card .kicker, .certifications-panel .kicker { margin-bottom: .65rem; color: var(--theme-cyan); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.education-degree { margin: .6rem 0 1.3rem; color: var(--theme-copy); font-size: 1.05rem; line-height: 1.65; }
.education-meta { display: grid; gap: .65rem; margin-top: auto; padding-top: 1.2rem; border-top: 1px solid var(--theme-border); color: var(--theme-copy); font-size: .88rem; }
.education-meta span { display: flex; align-items: center; gap: .55rem; }
.education-meta i { width: 1rem; color: var(--theme-text); text-align: center; }
.education-focus { display: grid; gap: .25rem; margin-top: 1.3rem; padding: .9rem 1rem; border-left: 2px solid var(--theme-text); background: rgba(255,255,255,.045); }
.education-focus span { color: var(--theme-muted); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.education-focus strong { color: var(--theme-copy); font-size: .86rem; line-height: 1.55; }
.certifications-panel { padding: clamp(1.35rem, 3vw, 2rem); }
.certificate-count { display: grid; gap: .05rem; min-width: 4.8rem; border-radius: .65rem; color: var(--theme-text); font-size: 1.25rem; letter-spacing: -.03em; text-align: center; }
.certificate-count small { color: var(--theme-muted); font-size: .58rem; letter-spacing: .08em; }
.certificate-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.certificate-item { display: grid; grid-template-columns: 2.1rem 1fr auto; gap: .7rem; align-items: center; min-width: 0; padding: .75rem; border: 1px solid transparent; border-radius: .65rem; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.certificate-item:hover { transform: translateY(-2px); border-color: var(--theme-border); background: rgba(255,255,255,.045); }
.certificate-icon { width: 2.1rem; height: 2.1rem; display: grid; place-items: center; border: 1px solid var(--theme-border); border-radius: .55rem; color: var(--theme-text); font-size: .82rem; }
.certificate-item div { min-width: 0; }
.certificate-item strong, .certificate-item span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.certificate-item strong { color: var(--theme-text); font-size: .83rem; }
.certificate-item div > span { margin-top: .18rem; color: var(--theme-muted); font-size: .7rem; }
.certificate-item em { color: var(--theme-muted); font-size: .64rem; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
@media (max-width: 991px) { .certificate-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .hero-nameplate { flex-direction: column; gap: .55rem; } .certificate-list { grid-template-columns: 1fr; } .certificate-item em { display: none; } }
