@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../assets/fonts/plus-jakarta-sans-regular.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../assets/fonts/plus-jakarta-sans-semibold.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/plus-jakarta-sans-bold.woff2") format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:800;font-display:swap;src:url("../assets/fonts/plus-jakarta-sans-extrabold.woff2") format("woff2")}
html[data-theme="dark"]{--bg-paper:#161a22;--ink-dark:#fff;--ink-border-color:#242a36;--desk-gold:#e2a857;--jacket-blue:#2e4960;--book-green:#597c67;--panel-bg:#1f2633;--inner-card-bg:#181d27;--text-main:#e2e8f0}
html[data-theme="light"]{--bg-paper:#f2e2c9;--ink-dark:#242a36;--ink-border-color:#242a36;--desk-gold:#d59c4b;--jacket-blue:#2e4960;--book-green:#496554;--panel-bg:#fbf5eb;--inner-card-bg:#fff;--text-main:#242a36}
:root{--comic-border:3px solid var(--ink-border-color);--transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .2s ease,box-shadow .2s ease}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{font-family:"Plus Jakarta Sans",system-ui,sans-serif;background:var(--bg-paper);color:var(--text-main);padding:80px 20px 50px;display:flex;justify-content:center;position:relative;min-height:100vh;width:100%;overflow-x:clip}
body,.theme-toggle-btn,.comic-card,.hero-panel,.hero-link,.reveal,.spec-cell,.cert-panel{transition:var(--transition)}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:1.1em;height:1.1em;display:inline-block;vertical-align:-.15em;flex-shrink:0;color:var(--desk-gold)}
.theme-toggle-btn{position:fixed;top:16px;right:16px;z-index:10000;background:var(--desk-gold);color:#242a36;border:3px solid #242a36;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:800;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px;box-shadow:4px 4px 0 #242a36}
.theme-toggle-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #242a36}
.theme-toggle-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 #242a36}
.theme-toggle-btn:focus-visible,.hero-link:focus-visible,.project-links a:focus-visible{outline:3px solid var(--desk-gold);outline-offset:2px}
.comic-layout,.content-stack{max-width:860px;width:100%;display:flex;flex-direction:column;gap:32px}
.hero-panel{background:var(--panel-bg);border:var(--comic-border);border-radius:12px;padding:48px 40px;box-shadow:8px 8px 0 var(--ink-border-color);text-align:center;position:relative;overflow:hidden}
.hero-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,var(--jacket-blue) 0%,var(--desk-gold) 50%,var(--book-green) 100%)}
.hero-eyebrow{font-size:.82rem;font-weight:800;color:var(--desk-gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:16px}
html[data-theme="light"] .hero-eyebrow{color:var(--jacket-blue)}
.hero-name{font-size:clamp(2rem,6vw,3rem);font-weight:800;color:#fff;background:var(--jacket-blue);border:var(--comic-border);padding:14px 28px;border-radius:8px;display:inline-block;text-transform:uppercase;letter-spacing:-.5px;margin-bottom:20px;box-shadow:5px 5px 0 var(--ink-border-color);line-height:1.1}
.hero-tagline{max-width:560px;margin:0 auto 32px;font-size:1.05rem;font-weight:600;line-height:1.65;opacity:.92}
.hero-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.hero-link{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;color:var(--text-main);text-decoration:none;background:var(--inner-card-bg);border:var(--comic-border);border-radius:8px;box-shadow:3px 3px 0 var(--ink-border-color)}
.hero-link .icon{width:1.25rem;height:1.25rem}
html[data-theme="light"] .hero-link .icon{color:var(--jacket-blue)}
.hero-link:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink-border-color);background:var(--jacket-blue);color:#fff}
.hero-link:hover .icon{color:var(--desk-gold)}
.comic-card{background:var(--panel-bg);border:var(--comic-border);border-radius:12px;padding:36px;box-shadow:8px 8px 0 var(--ink-border-color)}
.profile-summary-text{font-size:1.05rem;font-weight:600;line-height:1.7}
h2{font-size:1.3rem;font-weight:800;color:#fff;background:var(--jacket-blue);border:var(--comic-border);padding:8px 16px;border-radius:6px;display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:24px;box-shadow:4px 4px 0 var(--ink-border-color)}
h2 .icon{color:var(--desk-gold)}
.block-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.block-title{font-size:1.25rem;font-weight:800;color:var(--desk-gold)}
html[data-theme="light"] .block-title{color:var(--jacket-blue)}
.badge-capsule{background:var(--desk-gold);color:#242a36;border:var(--comic-border);padding:2px 12px;border-radius:4px;font-size:.8rem;font-weight:700}
.sub-tagline{font-size:.95rem;color:var(--book-green);font-weight:700;margin-top:-8px;margin-bottom:16px;text-transform:uppercase}
.schedule-margin{margin-bottom:24px}
.bullet-engine{list-style:none}
.bullet-engine li{position:relative;padding-left:24px;margin-bottom:14px;font-size:.98rem;font-weight:500;line-height:1.6}
.bullet-engine li::before{content:"";position:absolute;left:4px;top:6px;width:8px;height:8px;background:var(--desk-gold);border:2px solid var(--ink-border-color);transform:rotate(45deg)}
.bullet-engine strong{color:var(--desk-gold);font-weight:700}
html[data-theme="light"] .bullet-engine strong{color:var(--jacket-blue)}
.panel-divider{height:3px;background:var(--ink-border-color);margin:32px 0;border-radius:2px}
.project-unit{padding:4px 0}
.pill-box{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.pill{background:var(--inner-card-bg);border:2px solid var(--ink-border-color);padding:2px 10px;font-size:.78rem;font-weight:700;border-radius:4px;color:var(--text-main)}
.project-links{display:flex;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.project-links a{font-size:.85rem;color:var(--desk-gold);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:6px}
html[data-theme="light"] .project-links a{color:var(--jacket-blue)}
.project-links a:hover{text-decoration:underline;opacity:.9}
.specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.spec-cell{border:var(--comic-border);background:var(--inner-card-bg);padding:16px;border-radius:8px;box-shadow:4px 4px 0 var(--ink-border-color)}
.spec-cell.wide{grid-column:span 2}
.spec-label{font-weight:800;color:var(--desk-gold);font-size:.88rem;text-transform:uppercase;margin-bottom:4px;letter-spacing:.5px}
html[data-theme="light"] .spec-label{color:var(--jacket-blue)}
.spec-data{font-size:.98rem;font-weight:600}
.cert-title-label{font-weight:800;text-transform:uppercase;font-size:.85rem;color:var(--book-green);letter-spacing:.5px;margin-bottom:8px}
.cert-stack{display:grid;grid-template-columns:1fr;gap:12px;margin-top:16px}
.cert-panel{background:var(--inner-card-bg);border:var(--comic-border);padding:14px;border-radius:6px;box-shadow:3px 3px 0 var(--ink-border-color)}
.cert-desc{opacity:.85}
.reveal{opacity:0;transform:translateY(12px);transition:opacity .35s ease-out,transform .35s ease-out}
.reveal.active{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.theme-toggle-btn:hover,.hero-link:hover{transform:none}}
@media (max-width:768px){body{padding:80px 12px 24px}.theme-toggle-btn{top:12px;right:12px;padding:8px 10px;font-size:.75rem}.theme-toggle-btn span{display:none}.hero-link{width:48px;height:48px}.comic-card,.hero-panel{padding:24px}.hero-name{font-size:1.75rem;padding:12px 20px}.specs-grid{grid-template-columns:1fr}.spec-cell.wide{grid-column:span 1}.block-header{flex-direction:column;align-items:flex-start;gap:6px}}
