.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.scroll-to-top[data-astro-cid-p774adf7]{z-index:99;background:linear-gradient(#00000080, #00000080), var(--accent-gradient);color:#fff;width:3rem;height:3rem;box-shadow:0 4px 14px var(--glow-color-strong);opacity:0;pointer-events:none;transition:opacity var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(20px)}.scroll-to-top[data-astro-cid-p774adf7].visible{opacity:1;pointer-events:auto;transform:translateY(0)}.scroll-to-top[data-astro-cid-p774adf7]:hover{box-shadow:0 6px 20px var(--glow-color-strong);transform:translateY(-4px)}.scroll-to-top[data-astro-cid-p774adf7]:active{transform:translateY(0)}@media (width<=1024px){.scroll-to-top[data-astro-cid-p774adf7]{bottom:2rem;right:1.5rem}}@media (width<=768px){.scroll-to-top[data-astro-cid-p774adf7]{width:2.5rem;height:2.5rem;bottom:1.5rem;right:1rem}}.main-bottom-design[data-astro-cid-ju4pidww]{justify-content:center;padding:2rem 0 1rem;display:none}@media (width<=768px){.main-bottom-design[data-astro-cid-ju4pidww]{display:flex}}.main-design-btn[data-astro-cid-ju4pidww]{border-radius:var(--radius-full,9999px);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.82rem;font-weight:500;display:flex}.main-design-btn[data-astro-cid-ju4pidww]:hover{color:var(--accent-text);background:var(--bg-card);border-color:var(--accent-text)}:root{color-scheme:dark;--bg-primary:#0a0a0f;--bg-primary-rgb:10, 10, 15;--bg-secondary:#12121a;--bg-card:#16161f;--bg-card-hover:#1c1c28;--bg-nav:#0a0a0fcc;--bg-nav-scrolled:#0a0a0ff2;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#84848d;--accent-start:#6366f1;--accent-end:#a855f7;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#818cf8;--glow-color:#6366f126;--glow-color-strong:#6366f159;--border-color:#27272a;--border-color-hover:#3f3f46;--nav-height:4rem;--section-padding:6rem 0;--container-width:1100px;--container-padding:0 1.5rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-display:var(--font-sans);--font-pixel:"Press Start 2P", ui-monospace, monospace;--status-success:#4ade80;--status-error:#fca5a5;--status-warning:#fde047;--status-info:#93c5fd;--status-online:var(--status-success);--shadow-card:0 1px 2px #0000000a;--shadow-card-hover:0 8px 30px #0003;--border-width:1px;--border-style:solid}html[data-theme=light]{color-scheme:light;--bg-primary:#f8fafc;--bg-primary-rgb:248, 250, 252;--bg-secondary:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-nav:#f8fafcd9;--bg-nav-scrolled:#f8fafcfa;--text-primary:#18181b;--text-secondary:#3f3f46;--text-muted:#52525b;--accent-start:#4f46e5;--accent-end:#9333ea;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#4f46e5;--glow-color:#4f46e526;--glow-color-strong:#4f46e559;--border-color:#e4e4e7;--border-color-hover:#d4d4d8;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-primary);font-size:1rem;line-height:1.7;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}h1,h2,h3,h4{color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,4rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}p{color:var(--text-secondary)}.container{max-width:var(--container-width);padding:var(--container-padding);margin:0 auto}.section{padding:var(--section-padding)}.section-label{letter-spacing:.08em;text-transform:uppercase;background:var(--accent-gradient);-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:inline-block}.section-title{margin-bottom:1rem}.section-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:3rem}@media (width<=768px){:root{--section-padding:4rem 0;--container-padding:0 1.25rem}}.gradient-text{background:var(--accent-gradient);-webkit-text-fill-color:transparent;background-clip:text}.reveal{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transition:opacity var(--transition-slow), transform var(--transition-slow);transform:translateY(20px)}.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}.reveal-stagger.visible>:first-child{transition-delay:0s}.reveal-stagger.visible>:nth-child(2){transition-delay:80ms}.reveal-stagger.visible>:nth-child(3){transition-delay:.16s}.reveal-stagger.visible>:nth-child(4){transition-delay:.24s}.reveal-stagger.visible>:nth-child(5){transition-delay:.32s}.reveal-stagger.visible>:nth-child(6){transition-delay:.4s}.reveal-stagger.visible>:nth-child(7){transition-delay:.48s}.reveal-stagger.visible>:nth-child(8){transition-delay:.56s}.reveal-stagger.visible>:nth-child(9){transition-delay:.64s}.reveal-stagger.visible>:nth-child(10){transition-delay:.72s}@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1!important;transition:none!important;transform:none!important}html{scroll-behavior:auto}}::selection{color:#fff;background:#6366f14d}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent-start);outline-offset:4px;border-radius:2px}.skip-to-content{background:var(--accent-gradient);color:#fff;z-index:9999;border-radius:var(--radius-md);opacity:0;transition:top var(--transition-fast), opacity var(--transition-fast);padding:.5rem 1rem;font-weight:600;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-to-content:focus{opacity:1;top:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}.demo-header-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.demo-header-github{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:all var(--transition-fast);align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.demo-header-github:hover{background:var(--bg-card-hover);border-color:var(--text-secondary);color:var(--text-primary);transform:translateY(-2px)}html[data-theme=dracula]{color-scheme:dark;--bg-primary:#282a36;--bg-primary-rgb:40, 42, 54;--bg-secondary:#21222c;--bg-card:#2d2f3d;--bg-card-hover:#343646;--bg-nav:#282a3699;--bg-nav-scrolled:#282a36d9;--text-primary:#f8f8f2;--text-secondary:#bfbfbf;--text-muted:#98a2c3;--accent-start:#bd93f9;--accent-end:#ff79c6;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#bd93f9;--glow-color:#bd93f926;--glow-color-strong:#bd93f959;--border-color:#44475a;--border-color-hover:#6272a4}html[data-theme=nord]{color-scheme:dark;--bg-primary:#2e3440;--bg-primary-rgb:46, 52, 64;--bg-secondary:#272c36;--bg-card:#3b4252;--bg-card-hover:#434c5e;--bg-nav:#2e344099;--bg-nav-scrolled:#2e3440d9;--text-primary:#eceff4;--text-secondary:#d8dee9;--text-muted:#aac0d6;--accent-start:#88c0d0;--accent-end:#5e81ac;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#93c6d4;--glow-color:#88c0d026;--glow-color-strong:#88c0d059;--border-color:#434c5e;--border-color-hover:#4c566a}html[data-theme=tokyo-night]{color-scheme:dark;--bg-primary:#1a1b26;--bg-primary-rgb:26, 27, 38;--bg-secondary:#16161e;--bg-card:#1f2335;--bg-card-hover:#292e42;--bg-nav:#1a1b2699;--bg-nav-scrolled:#1a1b26d9;--text-primary:#c0caf5;--text-secondary:#a9b1d6;--text-muted:#9098ba;--accent-start:#7aa2f7;--accent-end:#bb9af7;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#7aa2f7;--glow-color:#7aa2f726;--glow-color-strong:#7aa2f759;--border-color:#292e42;--border-color-hover:#3b4261}html[data-theme=catppuccin-mocha]{color-scheme:dark;--bg-primary:#1e1e2e;--bg-primary-rgb:30, 30, 46;--bg-secondary:#181825;--bg-card:#24243b;--bg-card-hover:#2a2a45;--bg-nav:#1e1e2e99;--bg-nav-scrolled:#1e1e2ed9;--text-primary:#cdd6f4;--text-secondary:#bac2de;--text-muted:#9094a6;--accent-start:#cba6f7;--accent-end:#f5c2e7;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#cba6f7;--glow-color:#cba6f726;--glow-color-strong:#cba6f759;--border-color:#313244;--border-color-hover:#45475a}html[data-theme=one-dark]{color-scheme:dark;--bg-primary:#282c34;--bg-primary-rgb:40, 44, 52;--bg-secondary:#21252b;--bg-card:#2c313a;--bg-card-hover:#333842;--bg-nav:#282c3499;--bg-nav-scrolled:#282c34d9;--text-primary:#abb2bf;--text-secondary:#9da5b4;--text-muted:#9ea5b0;--accent-start:#61afef;--accent-end:#c678dd;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#61afef;--glow-color:#61afef26;--glow-color-strong:#61afef59;--border-color:#3e4451;--border-color-hover:#4b5263}html[data-theme=nord-light]{color-scheme:light;--bg-primary:#eceff4;--bg-primary-rgb:236, 239, 244;--bg-secondary:#e5e9f0;--bg-card:#fff;--bg-card-hover:#e5e9f0;--bg-nav:#eceff499;--bg-nav-scrolled:#eceff4f2;--text-primary:#2e3440;--text-secondary:#3b4252;--text-muted:#59667e;--accent-start:#5e81ac;--accent-end:#81a1c1;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#49688e;--glow-color:#5e81ac26;--glow-color-strong:#5e81ac59;--border-color:#d8dee9;--border-color-hover:#c8ced9;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=catppuccin-latte]{color-scheme:light;--bg-primary:#eff1f5;--bg-primary-rgb:239, 241, 245;--bg-secondary:#e6e9ef;--bg-card:#fff;--bg-card-hover:#e6e9ef;--bg-nav:#eff1f599;--bg-nav-scrolled:#eff1f5f2;--text-primary:#4c4f69;--text-secondary:#5c5f77;--text-muted:#626577;--accent-start:#8839ef;--accent-end:#ea76cb;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#8230ee;--glow-color:#8839ef26;--glow-color-strong:#8839ef59;--border-color:#ccd0da;--border-color-hover:#bcc0cc;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=solarized-light]{color-scheme:light;--bg-primary:#fdf6e3;--bg-primary-rgb:253, 246, 227;--bg-secondary:#eee8d5;--bg-card:#fff;--bg-card-hover:#eee8d5;--bg-nav:#fdf6e399;--bg-nav-scrolled:#fdf6e3f2;--text-primary:#073642;--text-secondary:#4d6065;--text-muted:#5a6767;--accent-start:#b58900;--accent-end:#268bd2;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#826200;--glow-color:#b5890026;--glow-color-strong:#b5890059;--border-color:#d6ccb3;--border-color-hover:#c9bfa5;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=gruvbox-dark]{color-scheme:dark;--bg-primary:#1d2021;--bg-primary-rgb:29, 32, 33;--bg-secondary:#282828;--bg-card:#32302f;--bg-card-hover:#3c3836;--bg-nav:#1d202199;--bg-nav-scrolled:#1d2021d9;--text-primary:#ebdbb2;--text-secondary:#d5c4a1;--text-muted:#b2a491;--accent-start:#fe8019;--accent-end:#fb4934;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#fe8019;--glow-color:#fe80192e;--glow-color-strong:#fe801966;--border-color:#504945;--border-color-hover:#665c54}html[data-theme=synthwave]{color-scheme:dark;--bg-primary:#0b0221;--bg-primary-rgb:11, 2, 33;--bg-secondary:#150936;--bg-card:#1d1046;--bg-card-hover:#2a1866;--bg-nav:#0b022199;--bg-nav-scrolled:#0b0221e0;--text-primary:#f9f7ff;--text-secondary:#d0bdff;--text-muted:#9986d3;--accent-start:#ff2a6d;--accent-end:#0ff0fc;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#ff5087;--glow-color:#ff2a6d38;--glow-color-strong:#ff2a6d80;--border-color:#3a2780;--border-color-hover:#5a3dd6}html[data-theme=phosphor]{color-scheme:dark;--bg-primary:#0a140c;--bg-primary-rgb:10, 20, 12;--bg-secondary:#0d1b10;--bg-card:#112317;--bg-card-hover:#19331f;--bg-nav:#0a140c99;--bg-nav-scrolled:#0a140ce6;--text-primary:#9fffb4;--text-secondary:#6bd688;--text-muted:#4baa5f;--accent-start:#3f6;--accent-end:#0c4;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#3f6;--glow-color:#33ff6638;--glow-color-strong:#33ff6680;--border-color:#1e4a2b;--border-color-hover:#2d6b42}html[data-theme=amber-crt]{color-scheme:dark;--bg-primary:#140a00;--bg-primary-rgb:20, 10, 0;--bg-secondary:#1a0f02;--bg-card:#211703;--bg-card-hover:#302205;--bg-nav:#140a0099;--bg-nav-scrolled:#140a00e6;--text-primary:#ffd390;--text-secondary:#e5a64b;--text-muted:#bb8423;--accent-start:#ffb000;--accent-end:#ff8c00;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#ffb000;--glow-color:#ffb00038;--glow-color-strong:#ffb00080;--border-color:#4a3100;--border-color-hover:#6b4700}html[data-theme=sepia]{color-scheme:light;--bg-primary:#f4ecd8;--bg-primary-rgb:244, 236, 216;--bg-secondary:#ebe1c8;--bg-card:#faf4e3;--bg-card-hover:#ebe1c8;--bg-nav:#f4ecd899;--bg-nav-scrolled:#f4ecd8f2;--text-primary:#3d2b1f;--text-secondary:#5a3f2b;--text-muted:#775f45;--accent-start:#a85a2e;--accent-end:#7a4522;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#904d27;--glow-color:#a85a2e26;--glow-color-strong:#a85a2e59;--border-color:#d8c8a8;--border-color-hover:#c8b794;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=paper]{color-scheme:light;--bg-primary:#fafaf5;--bg-primary-rgb:250, 250, 245;--bg-secondary:#f0f0ea;--bg-card:#fff;--bg-card-hover:#f0f0ea;--bg-nav:#fafaf599;--bg-nav-scrolled:#fafaf5f2;--text-primary:#0f0f0f;--text-secondary:#3a3a3a;--text-muted:#6b6b6b;--accent-start:#cc4236;--accent-end:#2a2a2a;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#be3b30;--glow-color:#cc42361f;--glow-color-strong:#cc423647;--border-color:#e0e0dd;--border-color-hover:#c8c8c5;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-design=minimal]{--font-display:var(--font-sans);--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--border-width:1px;--shadow-card:0 1px 2px #0000000a}html[data-design=editorial]{--font-sans:"Crimson Pro", "Source Serif Pro", Georgia, serif;--font-display:"Playfair Display", Georgia, "Times New Roman", serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:5rem 0;--container-width:960px}html[data-design=editorial] body{letter-spacing:.005em;font-size:1.125rem;line-height:1.8}html[data-design=editorial] h1,html[data-design=editorial] h2,html[data-design=editorial] h3,html[data-design=editorial] h4{font-family:var(--font-display);letter-spacing:-.015em;font-weight:700}html[data-design=editorial] .hero-name{font-family:var(--font-display);letter-spacing:-.04em;font-style:italic;font-weight:900}html[data-design=editorial] .hero-greeting,html[data-design=editorial] .section-label{text-transform:none;letter-spacing:.02em;font-family:JetBrains Mono,ui-monospace,monospace;font-style:italic}html[data-design=editorial] .section-title{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1rem;font-size:clamp(2.25rem,5vw,3.5rem)}html[data-design=editorial] .about-text p:first-of-type:first-letter{float:left;font-family:var(--font-display);color:var(--accent-text);padding:.1em .1em 0 0;font-size:4.5em;font-weight:800;line-height:.85}html[data-design=editorial] .about-text{columns:2;column-rule:1px solid var(--border-color);column-gap:2.5rem}html[data-design=editorial] .about-text p,html[data-design=editorial] .about-text ul,html[data-design=editorial] .about-text .about-actions{break-inside:avoid}html[data-design=editorial] .card,html[data-design=editorial] .skill-group,html[data-design=editorial] .timeline-content,html[data-design=editorial] .work-card,html[data-design=editorial] .education-card,html[data-design=editorial] .certification-card,html[data-design=editorial] .demo-card,html[data-design=editorial] .contact-form{border:0;border-top:2px solid var(--text-primary);box-shadow:none;background:0 0;border-radius:0;padding-top:1.25rem}html[data-design=editorial] .skill-pill,html[data-design=editorial] .demo-tags li,html[data-design=editorial] .work-tags li{border-left:2px solid var(--accent-start);background:0 0;border-top:0;border-bottom:0;border-right:0;border-radius:0;padding:0 .5rem}html[data-design=editorial] .navbar{-webkit-backdrop-filter:none;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}html[data-design=editorial] .nav-logo{font-family:var(--font-display);font-style:italic}html[data-design=editorial] .nav-links{gap:1.25rem}html[data-design=editorial] .nav-link{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem}html[data-design=editorial] .hero-cta,html[data-design=editorial] .contact-submit{background:var(--text-primary);color:var(--bg-primary);letter-spacing:.1em;text-transform:uppercase;border-radius:0;font-family:JetBrains Mono,ui-monospace,monospace}html[data-design=editorial] .hero-grid,html[data-design=editorial] .hero-gradient{display:none}@media (width<=768px){html[data-design=editorial] .about-text{columns:1}}html[data-design=swiss]{--font-sans:"Inter Tight", Helvetica, Arial, "Helvetica Neue", sans-serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:7rem 0;--container-width:1180px;--swiss-accent:#e10600}html[data-design=swiss] body{letter-spacing:-.005em;font-size:1rem}html[data-design=swiss] h1,html[data-design=swiss] h2,html[data-design=swiss] h3,html[data-design=swiss] h4{letter-spacing:-.03em;text-transform:none;font-weight:700}html[data-design=swiss] .hero-name{letter-spacing:-.05em;font-size:clamp(4rem,12vw,8rem);font-weight:900;line-height:.9}html[data-design=swiss] .hero-greeting,html[data-design=swiss] .section-label,html[data-design=swiss] .nav-link{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600}html[data-design=swiss] .section{border-top:1px solid var(--text-primary);padding-top:4rem;position:relative}html[data-design=swiss] .section[data-num]:before{content:attr(data-num);color:var(--swiss-accent);letter-spacing:-.05em;font-variant-numeric:tabular-nums;pointer-events:none;font-size:clamp(3rem,8vw,7rem);font-weight:800;line-height:1;position:absolute;top:1rem;right:0}html[data-design=swiss] .section-title{letter-spacing:-.04em;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800}html[data-design=swiss] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:1px solid var(--text-primary)}html[data-design=swiss] .nav-link:after{background:var(--swiss-accent)}html[data-design=swiss] .card,html[data-design=swiss] .skill-group,html[data-design=swiss] .timeline-content,html[data-design=swiss] .work-card,html[data-design=swiss] .education-card,html[data-design=swiss] .certification-card,html[data-design=swiss] .demo-card,html[data-design=swiss] .contact-form{border:1px solid var(--text-primary);box-shadow:none;background:0 0;border-radius:0}html[data-design=swiss] .skill-pill,html[data-design=swiss] .demo-tags li,html[data-design=swiss] .work-tags li{border:1px solid var(--text-primary);background:0 0;border-radius:0;font-weight:500}html[data-design=swiss] .hero-cta,html[data-design=swiss] .contact-submit{background:var(--swiss-accent);color:#fff;text-transform:uppercase;letter-spacing:.15em;border:0;border-radius:0;font-weight:700}html[data-design=swiss] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--swiss-accent)}html[data-design=swiss] .hero-grid,html[data-design=swiss] .hero-gradient{display:none}html[data-design=pixel]{--font-sans:"Press Start 2P", ui-monospace, "Courier New", monospace;--font-mono:"Press Start 2P", ui-monospace, "Courier New", monospace;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:3px;--shadow-card:4px 4px 0 var(--text-primary);--section-padding:4rem 0;image-rendering:pixelated}html[data-design=pixel] body{letter-spacing:0;font-size:.8rem;line-height:1.9}html[data-design=pixel] p,html[data-design=pixel] li,html[data-design=pixel] span,html[data-design=pixel] label,html[data-design=pixel] input,html[data-design=pixel] textarea,html[data-design=pixel] button{font-size:.72rem}html[data-design=pixel] h1{font-size:clamp(1.4rem,3.5vw,2rem);line-height:1.4}html[data-design=pixel] h2{font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.4}html[data-design=pixel] h3{font-size:clamp(.9rem,1.5vw,1.05rem);line-height:1.4}html[data-design=pixel] .hero-name{letter-spacing:0;font-size:clamp(1.6rem,4.5vw,2.8rem);font-weight:400;line-height:1.3}html[data-design=pixel] .hero-tagline{font-size:clamp(.8rem,1.6vw,1rem);line-height:1.6}html[data-design=pixel] .hero-description{font-size:.75rem;line-height:2}html[data-design=pixel] .card,html[data-design=pixel] .skill-group,html[data-design=pixel] .timeline-content,html[data-design=pixel] .work-card,html[data-design=pixel] .education-card,html[data-design=pixel] .certification-card,html[data-design=pixel] .demo-card,html[data-design=pixel] .contact-form{background:var(--bg-card);border:3px solid var(--text-primary);box-shadow:6px 6px 0 var(--text-primary);border-radius:0}html[data-design=pixel] .card:hover,html[data-design=pixel] .skill-group:hover,html[data-design=pixel] .timeline-content:hover,html[data-design=pixel] .work-card:hover,html[data-design=pixel] .education-card:hover,html[data-design=pixel] .certification-card:hover,html[data-design=pixel] .demo-card:hover{box-shadow:8px 8px 0 var(--accent-start);transform:translate(-2px,-2px)}html[data-design=pixel] .skill-pill,html[data-design=pixel] .demo-tags li,html[data-design=pixel] .work-tags li{border:2px solid var(--text-primary);box-shadow:3px 3px 0 var(--text-primary);background:var(--bg-secondary);border-radius:0;padding:.4rem .7rem;font-size:.65rem}html[data-design=pixel] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:3px solid var(--text-primary)}html[data-design=pixel] .nav-links{gap:1rem}html[data-design=pixel] .nav-link{white-space:nowrap;font-size:.55rem}html[data-design=pixel] .hero-cta,html[data-design=pixel] .contact-submit{background:var(--accent-start);color:#000;border:3px solid var(--text-primary);box-shadow:5px 5px 0 var(--text-primary);border-radius:0;padding:.85rem 1.5rem;font-size:.75rem}html[data-design=pixel] .hero-cta:hover,html[data-design=pixel] .contact-submit:hover{box-shadow:7px 7px 0 var(--text-primary);transform:translate(-2px,-2px)}html[data-design=pixel] .hero-cta:active,html[data-design=pixel] .contact-submit:active{box-shadow:2px 2px 0 var(--text-primary);transform:translate(2px,2px)}html[data-design=pixel] .form-group input,html[data-design=pixel] .form-group textarea{border:3px solid var(--text-primary);background:var(--bg-primary);font-family:var(--font-sans);border-radius:0;font-size:.72rem}html[data-design=pixel] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text)}html[data-design=pixel] .hero-grid,html[data-design=pixel] .hero-gradient{display:none}html[data-design=pixel] .hero-greeting:after{content:"_";color:var(--accent-text);margin-left:.25rem;display:inline-block}@media (prefers-reduced-motion:no-preference){html[data-design=pixel] .hero-greeting:after{animation:1s step-end infinite design-pixel-blink}@keyframes design-pixel-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}}html[data-design=terminal]{--font-sans:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:var(--font-sans);--font-mono:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--container-width:1100px}html[data-design=terminal] body{letter-spacing:0;font-size:.95rem;line-height:1.7;position:relative}html[data-design=terminal] body:after{content:"";pointer-events:none;z-index:1;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#0000000f 2px 3px),radial-gradient(#0000 55%,#00000040 100%);position:fixed;inset:0}html[data-design=terminal][data-theme=light] body:after,html[data-design=terminal][data-theme=nord-light] body:after,html[data-design=terminal][data-theme=catppuccin-latte] body:after,html[data-design=terminal][data-theme=solarized-light] body:after,html[data-design=terminal][data-theme=sepia] body:after,html[data-design=terminal][data-theme=paper] body:after{background:repeating-linear-gradient(#0000 0 2px,#0000000a 2px 3px),radial-gradient(#0000 60%,#0000001f 100%)}html[data-design=terminal] h1,html[data-design=terminal] h2,html[data-design=terminal] h3,html[data-design=terminal] h4{letter-spacing:-.01em;font-weight:600}html[data-design=terminal] .hero-name{letter-spacing:-.02em;font-size:clamp(2rem,5.5vw,3.5rem);font-weight:700}html[data-design=terminal] .hero-greeting:before{content:"$ ";color:var(--accent-text)}html[data-design=terminal] .hero-greeting:after{content:"_";color:var(--accent-text);margin-left:.25rem;display:inline-block}html[data-design=terminal] .section-label:before{content:"// ";color:var(--text-muted);opacity:.7}html[data-design=terminal] .section-title:before{content:"> ";color:var(--accent-text);opacity:.8}html[data-design=terminal] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text)}html[data-design=terminal] .card,html[data-design=terminal] .skill-group,html[data-design=terminal] .timeline-content,html[data-design=terminal] .work-card,html[data-design=terminal] .education-card,html[data-design=terminal] .certification-card,html[data-design=terminal] .demo-card,html[data-design=terminal] .contact-form{background:var(--bg-card);border:1px dashed var(--border-color-hover);box-shadow:none;border-radius:0;position:relative}html[data-design=terminal] .card:before,html[data-design=terminal] .skill-group:before,html[data-design=terminal] .timeline-content:before,html[data-design=terminal] .work-card:before,html[data-design=terminal] .education-card:before,html[data-design=terminal] .certification-card:before,html[data-design=terminal] .demo-card:before,html[data-design=terminal] .contact-form:before{content:"┌─";font-family:var(--font-mono);color:var(--accent-text);background:var(--bg-primary);opacity:.6;padding:0 .25rem;font-size:.75rem;line-height:1;position:absolute;top:-.1em;left:.5rem}html[data-design=terminal] .skill-pill,html[data-design=terminal] .demo-tags li,html[data-design=terminal] .work-tags li{border:1px solid var(--border-color-hover);font-family:var(--font-mono);background:0 0;border-radius:0;padding:.2rem .5rem}html[data-design=terminal] .skill-pill:before,html[data-design=terminal] .demo-tags li:before,html[data-design=terminal] .work-tags li:before{content:"[";color:var(--accent-text);margin-right:.15rem}html[data-design=terminal] .skill-pill:not(.has-tooltip):after,html[data-design=terminal] .demo-tags li:after,html[data-design=terminal] .work-tags li:after{content:"]";color:var(--accent-text);margin-left:.15rem}html[data-design=terminal] .skill-pill.has-tooltip .skill-bracket-close{color:var(--accent-text);margin-left:.15rem}.skill-bracket-close{display:none}html[data-design=terminal] .skill-bracket-close{display:inline}html[data-design=terminal] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:1px dashed var(--border-color-hover)}html[data-design=terminal] .nav-logo:before{content:"~/";color:var(--accent-text);opacity:.7}html[data-design=terminal] .nav-link{font-family:var(--font-mono);font-size:.85rem}html[data-design=terminal] .nav-link:before{content:"./";opacity:.5;margin-right:.1rem}html[data-design=terminal] .hero-cta,html[data-design=terminal] .contact-submit{color:var(--accent-text);border:1px solid var(--accent-start);font-family:var(--font-mono);letter-spacing:0;background:0 0;border-radius:0}html[data-design=terminal] .hero-cta:before,html[data-design=terminal] .contact-submit:before{content:"> "}html[data-design=terminal] .hero-cta:hover,html[data-design=terminal] .contact-submit:hover{background:var(--accent-start);color:var(--bg-primary)}html[data-design=terminal] .form-group input,html[data-design=terminal] .form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color-hover);font-family:var(--font-mono);border-radius:0}html[data-design=terminal] .hero-grid,html[data-design=terminal] .hero-gradient{display:none}@media (prefers-reduced-motion:no-preference){html[data-design=terminal] .hero-greeting:after{animation:1s step-end infinite design-terminal-blink}@keyframes design-terminal-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}}html[data-design=cyber]{--font-sans:"Inter Tight", "Inter", system-ui, sans-serif;--font-display:"Orbitron", "Inter Tight", sans-serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:0 0 20px color-mix(in oklab, var(--accent-start) 25%, transparent);--cyber-pink:#ff2e88;--cyber-cyan:#00f0ff}html[data-design=cyber] body{letter-spacing:.01em;background:linear-gradient(180deg, transparent 0%, transparent 60%, color-mix(in oklab, var(--accent-start) 10%, transparent) 100%), var(--bg-primary)}html[data-design=cyber] h1,html[data-design=cyber] h2,html[data-design=cyber] h3,html[data-design=cyber] h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-weight:800}html[data-design=cyber] .hero-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;text-shadow:-2px 0 0 var(--cyber-pink), 2px 0 0 var(--cyber-cyan), 0 0 30px color-mix(in oklab, var(--accent-start) 50%, transparent);font-size:clamp(3rem,9vw,6rem);font-weight:900;line-height:.95}html[data-design=cyber] .hero-greeting,html[data-design=cyber] .section-label,html[data-design=cyber] .nav-link{text-transform:uppercase;letter-spacing:.2em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem}html[data-design=cyber] .section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em}html[data-design=cyber] .gradient-text{background:linear-gradient(90deg, var(--cyber-pink), var(--cyber-cyan));-webkit-text-fill-color:transparent;background-clip:text}html[data-design=cyber] .card,html[data-design=cyber] .skill-group,html[data-design=cyber] .timeline-content,html[data-design=cyber] .work-card,html[data-design=cyber] .education-card,html[data-design=cyber] .certification-card,html[data-design=cyber] .demo-card,html[data-design=cyber] .contact-form{background:color-mix(in oklab, var(--bg-card) 85%, transparent);border:1px solid var(--accent-start);box-shadow:0 0 0 1px color-mix(in oklab, var(--accent-start) 25%, transparent), 0 0 30px color-mix(in oklab, var(--accent-start) 18%, transparent), inset 0 0 20px color-mix(in oklab, var(--accent-start) 6%, transparent);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));border-radius:0}html[data-design=cyber] .card:hover,html[data-design=cyber] .skill-group:hover,html[data-design=cyber] .work-card:hover,html[data-design=cyber] .demo-card:hover,html[data-design=cyber] .education-card:hover,html[data-design=cyber] .certification-card:hover{box-shadow:0 0 0 1px var(--accent-start), 0 0 40px color-mix(in oklab, var(--accent-start) 35%, transparent), inset 0 0 30px color-mix(in oklab, var(--accent-start) 10%, transparent)}html[data-design=cyber] .skill-pill,html[data-design=cyber] .demo-tags li,html[data-design=cyber] .work-tags li{border:1px solid var(--accent-start);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);background:0 0;border-radius:0;padding:.3rem .6rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.65rem}html[data-design=cyber] .navbar{background:color-mix(in oklab, var(--bg-primary) 85%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--accent-start);box-shadow:0 0 20px color-mix(in oklab, var(--accent-start) 20%, transparent)}html[data-design=cyber] .nav-logo{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em}html[data-design=cyber] .hero-cta,html[data-design=cyber] .contact-submit{background:linear-gradient(90deg, var(--cyber-pink), var(--accent-start));color:#fff;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em;box-shadow:0 0 20px color-mix(in oklab, var(--cyber-pink) 40%, transparent), 0 0 40px color-mix(in oklab, var(--accent-start) 25%, transparent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));border:0;border-radius:0;font-weight:700}html[data-design=cyber] .hero-cta:hover,html[data-design=cyber] .contact-submit:hover{box-shadow:0 0 30px color-mix(in oklab, var(--cyber-pink) 60%, transparent), 0 0 60px color-mix(in oklab, var(--accent-start) 40%, transparent)}html[data-design=cyber] .form-group input,html[data-design=cyber] .form-group textarea{background:color-mix(in oklab, var(--bg-secondary) 70%, transparent);border:1px solid var(--accent-start);border-radius:0;font-family:JetBrains Mono,ui-monospace,monospace}html[data-design=cyber] .form-group input:focus,html[data-design=cyber] .form-group textarea:focus{box-shadow:0 0 0 2px color-mix(in oklab, var(--accent-start) 40%, transparent)}html[data-design=cyber] .hero{position:relative;overflow:hidden}html[data-design=cyber] .hero:before{content:"";transform-origin:50% 0;background-image:linear-gradient(to right, color-mix(in oklab, var(--cyber-cyan) 55%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--cyber-pink) 45%, transparent) 1px, transparent 1px);opacity:.6;pointer-events:none;z-index:0;background-size:48px 48px;width:200%;height:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%)perspective(600px)rotateX(65deg);mask-image:linear-gradient(#0000 15%,#000 100%)}html[data-design=cyber] .hero>*{z-index:1;position:relative}html[data-design=cyber] .hero-grid,html[data-design=cyber] .hero-gradient{display:none}@media (prefers-reduced-motion:no-preference){html[data-design=cyber] .hero:before{animation:18s linear infinite design-cyber-grid}@keyframes design-cyber-grid{0%{background-position:0 0,0 0}to{background-position:0 48px,48px 0}}}html[data-design=notebook]{--font-display:"Caveat", "Bradley Hand", "Comic Sans MS", cursive;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--border-width:1.5px;--shadow-card:2px 3px 0 #0000001f, 4px 8px 16px #00000014;--nb-ink:var(--text-primary);--nb-highlight:color-mix(in oklab, var(--accent-start) 35%, #fff58a);--nb-line:color-mix(in oklab, var(--text-primary) 14%, transparent)}html[data-design=notebook] body{background-image:linear-gradient(to right, var(--nb-line) 1px, transparent 1px), linear-gradient(to bottom, var(--nb-line) 1px, transparent 1px);background-size:28px 28px,28px 28px;background-attachment:fixed;line-height:1.75}html[data-design=notebook] h1,html[data-design=notebook] h2,html[data-design=notebook] h3,html[data-design=notebook] h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700;line-height:1.1}html[data-design=notebook] .hero-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(3.5rem,10vw,6.5rem);font-weight:700;line-height:1;display:inline-block;position:relative;transform:rotate(-1deg)}html[data-design=notebook] .hero-name:after{content:"";background:var(--nb-highlight);mix-blend-mode:multiply;opacity:.55;z-index:-1;pointer-events:none;height:.35em;position:absolute;bottom:.05em;left:-.2em;right:-.2em;transform:skewY(-1deg)}html[data-design=notebook] .hero-greeting,html[data-design=notebook] .section-label{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--text-muted);font-size:1.25rem}html[data-design=notebook] .hero-greeting:before{content:"PS: ";color:var(--accent-text);font-style:italic}html[data-design=notebook] .section-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.5rem,6vw,4rem)}html[data-design=notebook] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text);position:relative}html[data-design=notebook] .card,html[data-design=notebook] .skill-group,html[data-design=notebook] .timeline-content,html[data-design=notebook] .work-card,html[data-design=notebook] .education-card,html[data-design=notebook] .certification-card,html[data-design=notebook] .demo-card,html[data-design=notebook] .contact-form{background:var(--bg-card);border:1.5px solid var(--nb-ink);border-radius:var(--radius-md);transition:transform var(--transition-medium);position:relative;box-shadow:2px 3px #0000001f,4px 8px 16px #00000014}html[data-design=notebook] .card:nth-of-type(odd),html[data-design=notebook] .timeline-content:nth-of-type(odd),html[data-design=notebook] .work-card:nth-of-type(odd),html[data-design=notebook] .education-card:nth-of-type(odd),html[data-design=notebook] .certification-card:nth-of-type(odd),html[data-design=notebook] .demo-card:nth-of-type(odd){transform:rotate(-.4deg)}html[data-design=notebook] .card:nth-of-type(2n),html[data-design=notebook] .timeline-content:nth-of-type(2n),html[data-design=notebook] .work-card:nth-of-type(2n),html[data-design=notebook] .education-card:nth-of-type(2n),html[data-design=notebook] .certification-card:nth-of-type(2n),html[data-design=notebook] .demo-card:nth-of-type(2n){transform:rotate(.35deg)}html[data-design=notebook] .card:hover,html[data-design=notebook] .work-card:hover,html[data-design=notebook] .education-card:hover,html[data-design=notebook] .certification-card:hover,html[data-design=notebook] .demo-card:hover{transform:rotate(0)translateY(-2px);box-shadow:3px 4px #00000024,6px 12px 20px #0000001a}html[data-design=notebook] .card:before,html[data-design=notebook] .work-card:before,html[data-design=notebook] .demo-card:before,html[data-design=notebook] .education-card:before,html[data-design=notebook] .certification-card:before{content:"";background:color-mix(in oklab, var(--accent-start) 55%, #fff);opacity:.85;pointer-events:none;width:58px;height:18px;position:absolute;top:-10px;left:18px;transform:rotate(-3deg);box-shadow:0 2px 4px #0000001f}html[data-design=notebook] .skill-pill,html[data-design=notebook] .demo-tags li,html[data-design=notebook] .work-tags li{background:color-mix(in oklab, var(--accent-start) 18%, var(--bg-card));border:1px dashed var(--nb-ink);font-family:var(--font-display);border-radius:999px;padding:.2rem .8rem;font-size:1rem;transform:rotate(-1deg)}html[data-design=notebook] .skill-pill:nth-child(2n),html[data-design=notebook] .demo-tags li:nth-child(2n),html[data-design=notebook] .work-tags li:nth-child(2n){transform:rotate(1.2deg)}html[data-design=notebook] .navbar{background:color-mix(in oklab, var(--bg-nav) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1.5px dashed var(--nb-line)}html[data-design=notebook] .nav-logo{font-family:var(--font-display);font-size:1.6rem;font-weight:700}html[data-design=notebook] .nav-link{font-family:var(--font-display);letter-spacing:0;text-transform:none;font-size:1.15rem}html[data-design=notebook] .nav-link:hover{text-underline-offset:.25em;text-decoration:underline wavy}html[data-design=notebook] .hero-cta,html[data-design=notebook] .contact-submit{background:var(--bg-card);color:var(--nb-ink);border:2px solid var(--nb-ink);font-family:var(--font-display);letter-spacing:0;text-transform:none;box-shadow:3px 3px 0 var(--accent-start);border-radius:999px;padding:.75rem 1.75rem;font-size:1.25rem;font-weight:700}html[data-design=notebook] .hero-cta:hover,html[data-design=notebook] .contact-submit:hover{box-shadow:5px 5px 0 var(--accent-start);transform:translate(-1px,-1px)}html[data-design=notebook] .hero-cta:active,html[data-design=notebook] .contact-submit:active{box-shadow:1px 1px 0 var(--accent-start);transform:translate(2px,2px)}html[data-design=notebook] .form-group input,html[data-design=notebook] .form-group textarea{border:0;border-bottom:1.5px dashed var(--nb-ink);font-family:var(--font-sans);background:0 0;border-radius:0;padding:.5rem .25rem}html[data-design=notebook] .form-group input:focus,html[data-design=notebook] .form-group textarea:focus{border-bottom-style:solid;border-bottom-color:var(--accent-text);box-shadow:none;outline:0}html[data-design=notebook] .hero-grid,html[data-design=notebook] .hero-gradient{display:none}html[data-design=brutalist]{--font-sans:"Times New Roman", Times, Georgia, serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:3px;--shadow-card:none;--section-padding:4rem 0;--container-width:1080px;--br-yellow:#ffe000;--br-ink:var(--text-primary)}html[data-design=brutalist] body{letter-spacing:0;font-size:1.05rem;line-height:1.55}html[data-design=brutalist] h1,html[data-design=brutalist] h2,html[data-design=brutalist] h3,html[data-design=brutalist] h4{letter-spacing:-.01em;font-weight:900;line-height:1;font-family:var(--font-display)}html[data-design=brutalist] .hero-name{font-family:var(--font-display);letter-spacing:-.04em;background:var(--br-yellow);color:#000;border:4px solid var(--br-ink);box-shadow:8px 8px 0 var(--br-ink);padding:.05em .25em;font-size:clamp(3.5rem,11vw,7rem);font-weight:900;line-height:.9;display:inline-block;transform:rotate(-1deg)}html[data-design=brutalist] .hero-greeting,html[data-design=brutalist] .section-label{text-transform:uppercase;letter-spacing:0;background:var(--br-ink);color:var(--bg-primary);-webkit-text-fill-color:currentColor;-webkit-background-clip:border-box;background-clip:border-box;padding:.15rem .45rem;font-family:Arial Black,Arial,sans-serif;font-size:.85rem;font-weight:900;display:inline-block}html[data-design=brutalist] .section-title{letter-spacing:-.04em;text-underline-offset:.2em;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:900;text-decoration:underline 6px}html[data-design=brutalist] .section{border-top:4px solid var(--br-ink);padding-top:3rem}html[data-design=brutalist] .section:nth-of-type(2n){border-top-style:double;border-top-width:8px}html[data-design=brutalist] .gradient-text{background:var(--br-yellow);-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:#000;color:#000;padding:0 .15em}html[data-design=brutalist] .card,html[data-design=brutalist] .skill-group,html[data-design=brutalist] .timeline-content,html[data-design=brutalist] .work-card,html[data-design=brutalist] .education-card,html[data-design=brutalist] .certification-card,html[data-design=brutalist] .demo-card,html[data-design=brutalist] .contact-form{background:var(--bg-card);border:4px solid var(--br-ink);box-shadow:8px 8px 0 var(--br-ink);border-radius:0}html[data-design=brutalist] .card:hover,html[data-design=brutalist] .work-card:hover,html[data-design=brutalist] .education-card:hover,html[data-design=brutalist] .certification-card:hover,html[data-design=brutalist] .demo-card:hover,html[data-design=brutalist] .skill-group:hover,html[data-design=brutalist] .timeline-content:hover{background:var(--br-yellow);color:#000;box-shadow:10px 10px 0 var(--br-ink);transform:translate(-2px,-2px)}html[data-design=brutalist] .card:hover *,html[data-design=brutalist] .work-card:hover *,html[data-design=brutalist] .demo-card:hover *,html[data-design=brutalist] .timeline-content:hover *,html[data-design=brutalist] .education-card:hover *,html[data-design=brutalist] .certification-card:hover *,html[data-design=brutalist] .skill-group:hover *{color:#000!important;border-color:#000!important}html[data-design=brutalist] .skill-pill,html[data-design=brutalist] .demo-tags li,html[data-design=brutalist] .work-tags li{background:var(--bg-secondary);border:2px solid var(--br-ink);text-transform:uppercase;letter-spacing:.03em;border-radius:0;padding:.25rem .55rem;font-family:Arial,sans-serif;font-weight:700}html[data-design=brutalist] .card:hover .skill-pill,html[data-design=brutalist] .work-card:hover .skill-pill,html[data-design=brutalist] .demo-card:hover .skill-pill,html[data-design=brutalist] .timeline-content:hover .skill-pill,html[data-design=brutalist] .education-card:hover .skill-pill,html[data-design=brutalist] .certification-card:hover .skill-pill,html[data-design=brutalist] .skill-group:hover .skill-pill,html[data-design=brutalist] .card:hover .demo-tags li,html[data-design=brutalist] .work-card:hover .demo-tags li,html[data-design=brutalist] .demo-card:hover .demo-tags li,html[data-design=brutalist] .card:hover .work-tags li,html[data-design=brutalist] .work-card:hover .work-tags li,html[data-design=brutalist] .demo-card:hover .work-tags li{background:#fff!important}html[data-design=brutalist] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:4px solid var(--br-ink)}html[data-design=brutalist] .nav-logo{text-transform:uppercase;letter-spacing:-.02em;font-family:Arial Black,Arial,sans-serif;text-decoration:underline 3px}html[data-design=brutalist] .nav-link{font-family:var(--font-sans);text-underline-offset:.15em;font-size:1rem;font-style:italic;text-decoration:underline}html[data-design=brutalist] .nav-link:hover{background:var(--br-yellow);color:#000;text-decoration:none}html[data-design=brutalist] .hero-cta,html[data-design=brutalist] .contact-submit{background:var(--br-yellow);color:#000;border:4px solid var(--br-ink);text-transform:uppercase;letter-spacing:.02em;box-shadow:6px 6px 0 var(--br-ink);border-radius:0;padding:.85rem 1.75rem;font-family:Arial Black,Arial,sans-serif;font-weight:900}html[data-design=brutalist] .hero-cta:hover,html[data-design=brutalist] .contact-submit:hover{box-shadow:8px 8px 0 var(--br-ink);transform:translate(-2px,-2px)}html[data-design=brutalist] .hero-cta:active,html[data-design=brutalist] .contact-submit:active{box-shadow:2px 2px 0 var(--br-ink);transform:translate(3px,3px)}html[data-design=brutalist] .form-group input,html[data-design=brutalist] .form-group textarea{background:var(--bg-primary);border:3px solid var(--br-ink);border-radius:0;padding:.6rem .75rem;font-family:Arial,sans-serif}html[data-design=brutalist] .form-group input:focus,html[data-design=brutalist] .form-group textarea:focus{background:var(--br-yellow);color:#000;box-shadow:4px 4px 0 var(--br-ink);outline:0}html[data-design=brutalist] a{text-underline-offset:.15em;text-decoration:underline 2px}html[data-design=brutalist] .hero-grid,html[data-design=brutalist] .hero-gradient{display:none}html[data-design=blueprint]{--font-sans:"Inter Tight", "Inter", system-ui, sans-serif;--font-display:"JetBrains Mono", ui-monospace, monospace;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--bp-ink:color-mix(in oklab, #fff 92%, var(--accent-start));--bp-grid:color-mix(in oklab, var(--accent-start) 35%, transparent);--bp-grid-strong:color-mix(in oklab, var(--accent-start) 55%, transparent);--bp-tint:color-mix(in oklab, var(--bg-primary) 82%, var(--accent-start))}html[data-design=blueprint][data-theme=light],html[data-design=blueprint][data-theme=nord-light],html[data-design=blueprint][data-theme=catppuccin-latte],html[data-design=blueprint][data-theme=solarized-light],html[data-design=blueprint][data-theme=sepia],html[data-design=blueprint][data-theme=paper]{--bp-ink:color-mix(in oklab, var(--text-primary) 80%, transparent);--bp-grid:color-mix(in oklab, var(--accent-start) 30%, transparent);--bp-grid-strong:color-mix(in oklab, var(--accent-start) 50%, transparent);--bp-tint:color-mix(in oklab, var(--bg-primary) 88%, var(--accent-start))}html[data-design=blueprint] body{background-color:var(--bp-tint);background-image:linear-gradient(to right, var(--bp-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--bp-grid) 1px, transparent 1px), linear-gradient(to right, var(--bp-grid-strong) 1px, transparent 1px), linear-gradient(to bottom, var(--bp-grid-strong) 1px, transparent 1px);color:var(--bp-ink);letter-spacing:.005em;background-size:32px 32px,32px 32px,128px 128px,128px 128px;background-attachment:fixed}html[data-design=blueprint] h1,html[data-design=blueprint] h2,html[data-design=blueprint] h3,html[data-design=blueprint] h4{color:var(--bp-ink);letter-spacing:-.01em;font-weight:700}html[data-design=blueprint] .hero-name{font-family:var(--font-sans);letter-spacing:-.04em;color:var(--bp-ink);padding:0 .5em;font-size:clamp(3rem,9vw,5.5rem);font-weight:800;line-height:.95;display:inline-block;position:relative}html[data-design=blueprint] .hero-name:before,html[data-design=blueprint] .hero-name:after{content:"";border:1px solid var(--bp-ink);opacity:.7;width:.4em;height:1em;position:absolute;top:50%;transform:translateY(-50%)}html[data-design=blueprint] .hero-name:before{border-right:0;left:-.1em}html[data-design=blueprint] .hero-name:after{border-left:0;right:-.1em}html[data-design=blueprint] .hero-greeting,html[data-design=blueprint] .section-label,html[data-design=blueprint] .nav-link{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em;color:color-mix(in oklab, var(--bp-ink) 80%, transparent);font-size:.72rem}html[data-design=blueprint] .section-label:before{content:"SEC · ";opacity:.6}html[data-design=blueprint] .section-title{font-family:var(--font-sans);letter-spacing:-.03em;border-bottom:1px solid var(--bp-ink);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;position:relative}html[data-design=blueprint] .section-title:after{content:"—";font-family:var(--font-display);opacity:.6;margin-left:.5em;font-weight:400;display:inline-block}html[data-design=blueprint] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--bp-ink);text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:color-mix(in oklab, var(--bp-ink) 40%, transparent)}html[data-design=blueprint] .section[data-num]{position:relative}html[data-design=blueprint] .section[data-num]:before{content:"REV-" attr(data-num);font-family:var(--font-display);letter-spacing:.15em;color:color-mix(in oklab, var(--bp-ink) 60%, transparent);border:1px solid color-mix(in oklab, var(--bp-ink) 40%, transparent);pointer-events:none;padding:.15rem .4rem;font-size:.65rem;position:absolute;top:.75rem;right:.5rem}html[data-design=blueprint] .card,html[data-design=blueprint] .skill-group,html[data-design=blueprint] .timeline-content,html[data-design=blueprint] .work-card,html[data-design=blueprint] .education-card,html[data-design=blueprint] .certification-card,html[data-design=blueprint] .demo-card,html[data-design=blueprint] .contact-form{background:color-mix(in oklab, var(--bg-card) 50%, transparent);border:1px solid var(--bp-ink);box-shadow:none;border-radius:0;position:relative}html[data-design=blueprint] .card:before,html[data-design=blueprint] .card:after,html[data-design=blueprint] .work-card:before,html[data-design=blueprint] .work-card:after,html[data-design=blueprint] .education-card:before,html[data-design=blueprint] .education-card:after,html[data-design=blueprint] .certification-card:before,html[data-design=blueprint] .certification-card:after,html[data-design=blueprint] .demo-card:before,html[data-design=blueprint] .demo-card:after{content:"";border:2px solid var(--bp-ink);pointer-events:none;width:10px;height:10px;position:absolute}html[data-design=blueprint] .card:before,html[data-design=blueprint] .work-card:before,html[data-design=blueprint] .education-card:before,html[data-design=blueprint] .certification-card:before,html[data-design=blueprint] .demo-card:before{border-bottom:0;border-right:0;top:-5px;left:-5px}html[data-design=blueprint] .card:after,html[data-design=blueprint] .work-card:after,html[data-design=blueprint] .education-card:after,html[data-design=blueprint] .certification-card:after,html[data-design=blueprint] .demo-card:after{border-top:0;border-left:0;bottom:-5px;right:-5px}html[data-design=blueprint] .skill-pill,html[data-design=blueprint] .demo-tags li,html[data-design=blueprint] .work-tags li{border:1px solid var(--bp-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--bp-ink);background:0 0;border-radius:0;padding:.25rem .55rem;font-size:.68rem}html[data-design=blueprint] .navbar{background:color-mix(in oklab, var(--bp-tint) 90%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--bp-ink)}html[data-design=blueprint] .nav-logo{font-family:var(--font-display);letter-spacing:.05em;color:var(--bp-ink);font-size:.95rem}html[data-design=blueprint] .nav-logo:before{content:"⌗ ";opacity:.6}html[data-design=blueprint] .hero-cta,html[data-design=blueprint] .contact-submit{color:var(--bp-ink);border:1px solid var(--bp-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;background:0 0;border-radius:0;padding:.9rem 1.6rem;font-size:.8rem;position:relative}html[data-design=blueprint] .hero-cta:before,html[data-design=blueprint] .contact-submit:before{content:"[ ";opacity:.5}html[data-design=blueprint] .hero-cta:after,html[data-design=blueprint] .contact-submit:after{content:" ]";opacity:.5}html[data-design=blueprint] .hero-cta:hover,html[data-design=blueprint] .contact-submit:hover{background:color-mix(in oklab, var(--bp-ink) 12%, transparent);box-shadow:inset 0 0 0 1px var(--bp-ink)}html[data-design=blueprint] .form-group input,html[data-design=blueprint] .form-group textarea{border:1px solid var(--bp-ink);font-family:var(--font-display);color:var(--bp-ink);background:0 0;border-radius:0;font-size:.85rem}html[data-design=blueprint] .form-group input:focus,html[data-design=blueprint] .form-group textarea:focus{box-shadow:inset 0 0 0 1px var(--bp-ink);outline:0}html[data-design=blueprint] .hero-grid,html[data-design=blueprint] .hero-gradient{display:none}html[data-design=academic]{--font-sans:"EB Garamond", "Crimson Pro", "Source Serif Pro", Georgia, "Times New Roman", serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:5.5rem 0;--container-width:880px;counter-reset:acad-section}html[data-design=academic] body{letter-spacing:.005em;background:var(--bg-primary);font-size:1.15rem;line-height:1.75}html[data-design=academic] p{text-align:justify;text-justify:inter-word;hyphens:auto}html[data-design=academic] h1,html[data-design=academic] h2,html[data-design=academic] h3,html[data-design=academic] h4{font-family:var(--font-display);letter-spacing:0;font-weight:700}html[data-design=academic] .hero{text-align:center;min-height:auto;padding-top:calc(var(--nav-height) + 4.5rem);align-items:flex-start;padding-bottom:5rem}html[data-design=academic] .hero-inner,html[data-design=academic] .hero-content{text-align:center;margin:0 auto;padding-top:0}html[data-design=academic] .hero-name{font-family:var(--font-display);letter-spacing:-.005em;text-align:center;margin:0 auto .5rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1}html[data-design=academic] .hero-greeting{font-family:var(--font-display);text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:1rem;font-style:italic}html[data-design=academic] .hero-greeting:before{content:"Abstract. ";color:var(--text-primary);font-style:normal;font-weight:700}html[data-design=academic] .hero-tagline{font-size:1.25rem;font-style:italic}html[data-design=academic] .hero-description{text-align:center;hyphens:none;max-width:62ch;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.75}html[data-design=academic] .section{counter-increment:acad-section;border-top:1px solid color-mix(in oklab, var(--text-primary) 25%, transparent);padding-top:3.25rem}html[data-design=academic] .section-label{text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem}html[data-design=academic] .section-title{font-family:var(--font-display);letter-spacing:-.005em;hyphens:none;margin-top:.25rem;margin-bottom:1.75rem;font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:700;line-height:1.2}html[data-design=academic] .section-title:before{content:counter(acad-section, decimal-leading-zero) ".  ";font-family:var(--font-display);color:var(--accent-text);font-weight:700}html[data-design=academic] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--text-primary);font-style:italic}html[data-design=academic] .card,html[data-design=academic] .skill-group,html[data-design=academic] .timeline-content,html[data-design=academic] .work-card,html[data-design=academic] .education-card,html[data-design=academic] .certification-card,html[data-design=academic] .demo-card,html[data-design=academic] .contact-form{border:1px solid color-mix(in oklab, var(--text-primary) 25%, transparent);box-shadow:none;background:0 0;border-radius:0;padding:1.85rem 2.15rem}html[data-design=academic] .work-card h3:before,html[data-design=academic] .demo-card h3:before,html[data-design=academic] .education-card h3:before,html[data-design=academic] .certification-card h3:before{content:"§  ";font-family:var(--font-display);color:var(--accent-text);font-weight:400}html[data-design=academic] .skill-pill,html[data-design=academic] .demo-tags li,html[data-design=academic] .work-tags li{text-transform:none;letter-spacing:.04em;color:var(--accent-text);background:0 0;border:0;border-radius:0;padding:.1rem 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;font-weight:500}html[data-design=academic] .skill-pill:before,html[data-design=academic] .demo-tags li:before,html[data-design=academic] .work-tags li:before{content:"["}html[data-design=academic] .skill-pill:after,html[data-design=academic] .demo-tags li:after,html[data-design=academic] .work-tags li:after{content:"]"}html[data-design=academic] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:1px solid color-mix(in oklab, var(--text-primary) 20%, transparent)}html[data-design=academic] .nav-logo{font-family:var(--font-display);letter-spacing:0;white-space:nowrap;flex-shrink:0;font-size:1.15rem;font-style:italic;font-weight:700}html[data-design=academic] .nav-links{gap:1.25rem}html[data-design=academic] .nav-link{font-family:var(--font-display);font-variant:small-caps;text-transform:lowercase;letter-spacing:.04em;white-space:nowrap;hyphens:none;font-size:1rem}html[data-design=academic] .hero-cta,html[data-design=academic] .contact-submit{color:var(--accent-text);border:0;border-bottom:1px solid var(--accent-start);font-family:var(--font-display);text-transform:none;letter-spacing:0;box-shadow:none;background:0 0;border-radius:0;padding:.25rem .1rem;font-size:1.05rem;font-style:italic}html[data-design=academic] .hero-cta:after,html[data-design=academic] .contact-submit:after{content:" →";font-style:normal}html[data-design=academic] .hero-cta:hover,html[data-design=academic] .contact-submit:hover{color:var(--accent-text);border-bottom-color:var(--accent-text);box-shadow:none;background:0 0;transform:none}html[data-design=academic] .form-group input,html[data-design=academic] .form-group textarea{border:0;border-bottom:1px solid color-mix(in oklab, var(--text-primary) 40%, transparent);font-family:var(--font-display);background:0 0;border-radius:0;padding:.5rem 0;font-size:1.05rem}html[data-design=academic] .form-group input:focus,html[data-design=academic] .form-group textarea:focus{border-bottom-color:var(--accent-text);box-shadow:none;outline:0}html[data-design=academic] blockquote{border-left:2px solid var(--accent-start);padding-left:1rem;font-style:italic}html[data-design=academic] .hero-grid,html[data-design=academic] .hero-gradient{display:none}html[data-design=ide]{--font-sans:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:var(--font-sans);--font-mono:var(--font-sans);--radius-sm:.25rem;--radius-md:.25rem;--radius-lg:.25rem;--border-width:1px;--shadow-card:none;--ide-keyword:#c678dd;--ide-string:#98c379;--ide-func:#61afef;--ide-number:#d19a66;--ide-comment:color-mix(in oklab, var(--text-muted) 90%, transparent);--ide-gutter:color-mix(in oklab, var(--bg-secondary) 85%, transparent);--ide-line:color-mix(in oklab, var(--text-muted) 45%, transparent);--ide-tab-bg:color-mix(in oklab, var(--bg-secondary) 95%, transparent);--ide-tab-active:var(--bg-card)}html[data-design=ide][data-theme=light],html[data-design=ide][data-theme=nord-light],html[data-design=ide][data-theme=catppuccin-latte],html[data-design=ide][data-theme=solarized-light],html[data-design=ide][data-theme=sepia],html[data-design=ide][data-theme=paper]{--ide-keyword:#7c3aed;--ide-string:#166534;--ide-func:#1d4ed8;--ide-number:#b45309}html[data-design=ide] body{letter-spacing:0;padding-bottom:26px;font-size:.95rem;line-height:1.65}html[data-design=ide] body:after{content:"⎇ main    ✓ no problems    UTF-8    LF    TypeScript    Ln 42, Col 18";z-index:50;background:var(--accent-start);height:24px;color:var(--bg-primary);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;pointer-events:none;align-items:center;padding:0 1rem;font-size:.7rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}html[data-design=ide] h1,html[data-design=ide] h2,html[data-design=ide] h3,html[data-design=ide] h4{font-family:var(--font-display);letter-spacing:-.005em;font-weight:600}html[data-design=ide] .hero-name{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ide-string);font-size:clamp(2rem,5.5vw,3.5rem);font-weight:700}html[data-design=ide] .hero-name:before,html[data-design=ide] .hero-name:after{content:"\"";color:var(--ide-string);opacity:.8}html[data-design=ide] .hero-greeting{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--ide-comment);font-style:italic}html[data-design=ide] .hero-greeting:before{content:"// ";opacity:.75}html[data-design=ide] .hero-tagline{font-family:var(--font-mono)}html[data-design=ide] .section-label{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--ide-comment);font-style:italic}html[data-design=ide] .section-label:before{content:"// ";opacity:.75}html[data-design=ide] .section-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ide-func);font-weight:700}html[data-design=ide] .section-title:before{content:"▸ ";color:var(--text-muted);opacity:.7;font-weight:400}html[data-design=ide] .section-title:after{content:"()";color:var(--text-muted);opacity:.6;font-weight:400}html[data-design=ide] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--ide-keyword)}html[data-design=ide] .card,html[data-design=ide] .skill-group,html[data-design=ide] .timeline-content,html[data-design=ide] .work-card,html[data-design=ide] .education-card,html[data-design=ide] .certification-card,html[data-design=ide] .demo-card,html[data-design=ide] .contact-form{background:var(--ide-tab-active);border:1px solid var(--border-color-hover);box-shadow:none;border-radius:.25rem;padding:2.25rem 1.25rem 1.25rem 2.5rem;position:relative;overflow:hidden}html[data-design=ide] .card:before,html[data-design=ide] .work-card:before,html[data-design=ide] .education-card:before,html[data-design=ide] .certification-card:before,html[data-design=ide] .demo-card:before,html[data-design=ide] .contact-form:before{content:"● card.tsx  ×";background:var(--ide-tab-bg);border-bottom:1px solid var(--border-color);height:26px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;align-items:center;padding:0 .75rem;font-size:.7rem;display:flex;position:absolute;top:0;left:0;right:0}html[data-design=ide] .skill-group:before{content:"● skills.json  ×";background:var(--ide-tab-bg);border-bottom:1px solid var(--border-color);height:26px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;align-items:center;padding:0 .75rem;font-size:.7rem;display:flex;position:absolute;top:0;left:0;right:0}html[data-design=ide] .timeline-content:before{content:"● experience.log  ×";background:var(--ide-tab-bg);border-bottom:1px solid var(--border-color);height:26px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;align-items:center;padding:0 .75rem;font-size:.7rem;display:flex;position:absolute;top:0;left:0;right:0}html[data-design=ide] .card:after,html[data-design=ide] .skill-group:after,html[data-design=ide] .timeline-content:after,html[data-design=ide] .work-card:after,html[data-design=ide] .education-card:after,html[data-design=ide] .certification-card:after,html[data-design=ide] .demo-card:after,html[data-design=ide] .contact-form:after{content:"";background:linear-gradient(to right, var(--ide-gutter) 0, var(--ide-gutter) 31px, var(--ide-line) 31px, var(--ide-line) 32px);pointer-events:none;width:32px;position:absolute;top:26px;bottom:0;left:0}html[data-design=ide] .skill-pill,html[data-design=ide] .demo-tags li,html[data-design=ide] .work-tags li{background:color-mix(in oklab, var(--ide-keyword) 12%, transparent);border:1px solid color-mix(in oklab, var(--ide-keyword) 35%, transparent);font-family:var(--font-mono);letter-spacing:0;color:var(--ide-keyword);border-radius:.2rem;padding:.15rem .5rem;font-size:.72rem}html[data-design=ide] .skill-pill:before,html[data-design=ide] .demo-tags li:before,html[data-design=ide] .work-tags li:before{content:"#";opacity:.6;margin-right:.1rem}html[data-design=ide] .navbar{background:var(--bg-secondary);-webkit-backdrop-filter:none;border-bottom:1px solid var(--border-color-hover)}html[data-design=ide] .nav-logo{font-family:var(--font-mono);letter-spacing:0;color:var(--ide-func);font-size:.9rem;font-weight:600}html[data-design=ide] .nav-logo:before{content:"{ ";color:var(--text-muted);opacity:.6}html[data-design=ide] .nav-logo:after{content:" }";color:var(--text-muted);opacity:.6}html[data-design=ide] .nav-link{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--text-secondary);font-size:.82rem}html[data-design=ide] .nav-link:before{content:"▸ ";opacity:.5}html[data-design=ide] .hero-cta,html[data-design=ide] .contact-submit{background:var(--ide-func);color:var(--bg-primary);font-family:var(--font-mono);letter-spacing:0;text-transform:none;box-shadow:none;border:0;border-radius:.2rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600}html[data-design=ide] .hero-cta:before,html[data-design=ide] .contact-submit:before{content:"▶ ";font-size:.75rem}html[data-design=ide] .hero-cta:hover,html[data-design=ide] .contact-submit:hover{background:color-mix(in oklab, var(--ide-func) 85%, #fff);transform:none}html[data-design=ide] .form-group input,html[data-design=ide] .form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color-hover);font-family:var(--font-mono);color:var(--ide-string);border-radius:.2rem;font-size:.85rem}html[data-design=ide] .form-group input:focus,html[data-design=ide] .form-group textarea:focus{border-color:var(--ide-func);box-shadow:0 0 0 1px var(--ide-func);outline:0}html[data-design=ide] .hero-grid,html[data-design=ide] .hero-gradient{display:none}html[data-design=risograph]{--radius-sm:.15rem;--radius-md:.25rem;--radius-lg:.25rem;--border-width:2px;--shadow-card:4px 4px 0 color-mix(in oklab, var(--accent-start) 70%, var(--text-primary));--riso-pink:#ff5b88;--riso-cyan:#3ad3ff}html[data-design=risograph] body{letter-spacing:.005em;background:var(--bg-primary)}html[data-design=risograph] body:after{content:"";pointer-events:none;z-index:1;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}html[data-design=risograph] .section{position:relative}html[data-design=risograph] .section:nth-of-type(odd){background:color-mix(in oklab, var(--accent-start) 9%, var(--bg-primary))}html[data-design=risograph] .section:nth-of-type(2n){background:color-mix(in oklab, var(--accent-end) 9%, var(--bg-primary))}html[data-design=risograph] h1,html[data-design=risograph] h2,html[data-design=risograph] h3,html[data-design=risograph] h4{letter-spacing:-.01em;font-weight:800}html[data-design=risograph] .hero-name,html[data-design=risograph] .section-title{text-shadow:-1.5px 1.5px 0 color-mix(in oklab, var(--riso-pink) 65%, transparent), 1.5px -1.5px 0 color-mix(in oklab, var(--riso-cyan) 65%, transparent)}html[data-design=risograph] .hero-name{font-family:var(--font-sans);letter-spacing:-.03em;font-size:clamp(3rem,9vw,5.5rem);font-weight:900;line-height:.95}html[data-design=risograph] .hero-greeting,html[data-design=risograph] .section-label{background:var(--text-primary);color:var(--bg-primary);-webkit-text-fill-color:currentColor;letter-spacing:.1em;text-transform:uppercase;box-shadow:2px 2px 0 color-mix(in oklab, var(--accent-start) 80%, transparent);-webkit-background-clip:border-box;background-clip:border-box;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block;transform:rotate(-1.5deg)}html[data-design=risograph] .section-title{letter-spacing:-.03em;font-size:clamp(2rem,5vw,3.25rem);font-weight:900}html[data-design=risograph] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text);text-shadow:-1.5px 1.5px 0 color-mix(in oklab, var(--riso-pink) 70%, transparent), 1.5px -1.5px 0 color-mix(in oklab, var(--riso-cyan) 70%, transparent)}html[data-design=risograph] .card,html[data-design=risograph] .skill-group,html[data-design=risograph] .timeline-content,html[data-design=risograph] .work-card,html[data-design=risograph] .education-card,html[data-design=risograph] .certification-card,html[data-design=risograph] .demo-card,html[data-design=risograph] .contact-form{background-color:var(--bg-card);background-image:radial-gradient(color-mix(in oklab, var(--accent-start) 28%, transparent) 1.1px, transparent 1.4px);border:2px solid var(--text-primary);box-shadow:4px 4px 0 color-mix(in oklab, var(--accent-start) 75%, var(--text-primary));background-position:0 0;background-size:8px 8px;border-radius:.25rem}html[data-design=risograph] .section:nth-of-type(2n) .card,html[data-design=risograph] .section:nth-of-type(2n) .work-card,html[data-design=risograph] .section:nth-of-type(2n) .education-card,html[data-design=risograph] .section:nth-of-type(2n) .certification-card,html[data-design=risograph] .section:nth-of-type(2n) .demo-card,html[data-design=risograph] .section:nth-of-type(2n) .skill-group,html[data-design=risograph] .section:nth-of-type(2n) .timeline-content{background-image:radial-gradient(color-mix(in oklab, var(--accent-end) 28%, transparent) 1.1px, transparent 1.4px);box-shadow:4px 4px 0 color-mix(in oklab, var(--accent-end) 75%, var(--text-primary))}html[data-design=risograph] .card:hover,html[data-design=risograph] .work-card:hover,html[data-design=risograph] .education-card:hover,html[data-design=risograph] .certification-card:hover,html[data-design=risograph] .demo-card:hover{box-shadow:6px 6px 0 color-mix(in oklab, var(--accent-start) 85%, var(--text-primary));transform:translate(-2px,-2px)}html[data-design=risograph] .skill-pill,html[data-design=risograph] .demo-tags li,html[data-design=risograph] .work-tags li{background:var(--text-primary);color:var(--bg-primary);letter-spacing:.04em;text-transform:uppercase;box-shadow:2px 2px 0 color-mix(in oklab, var(--accent-start) 70%, transparent);border:0;border-radius:0;padding:.25rem .55rem;font-size:.65rem;font-weight:700}html[data-design=risograph] .skill-pill:nth-child(odd),html[data-design=risograph] .demo-tags li:nth-child(odd),html[data-design=risograph] .work-tags li:nth-child(odd){background:var(--accent-start);color:var(--bg-primary)}html[data-design=risograph] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:2px solid var(--text-primary)}html[data-design=risograph] .nav-logo{letter-spacing:-.02em;text-shadow:-1px 1px 0 color-mix(in oklab, var(--riso-pink) 60%, transparent), 1px -1px 0 color-mix(in oklab, var(--riso-cyan) 60%, transparent);font-weight:900}html[data-design=risograph] .nav-link{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}html[data-design=risograph] .hero-cta,html[data-design=risograph] .contact-submit{background:var(--accent-start);color:var(--bg-primary);border:2px solid var(--text-primary);letter-spacing:.08em;text-transform:uppercase;box-shadow:4px 4px 0 var(--text-primary);border-radius:.25rem;padding:.8rem 1.5rem;font-weight:800}html[data-design=risograph] .hero-cta:hover,html[data-design=risograph] .contact-submit:hover{box-shadow:6px 6px 0 var(--text-primary);transform:translate(-2px,-2px)}html[data-design=risograph] .hero-cta:active,html[data-design=risograph] .contact-submit:active{box-shadow:2px 2px 0 var(--text-primary);transform:translate(2px,2px)}html[data-design=risograph] .form-group input,html[data-design=risograph] .form-group textarea{background:var(--bg-primary);border:2px solid var(--text-primary);font-family:var(--font-sans);border-radius:.15rem;padding:.6rem .75rem}html[data-design=risograph] .form-group input:focus,html[data-design=risograph] .form-group textarea:focus{box-shadow:3px 3px 0 var(--accent-start);outline:0}html[data-design=risograph] .hero-grid,html[data-design=risograph] .hero-gradient{display:none}html[data-design=deco]{--font-sans:"Cormorant Garamond", "Playfair Display", Georgia, serif;--font-display:"Poiret One", "Playfair Display", "Cormorant Garamond", serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--deco-gold:#c9a961;--deco-gold-grad:linear-gradient(135deg, #e8cf89 0%, #b88d3a 45%, #e8cf89 100%);counter-reset:deco-section}html[data-design=deco][data-theme=light],html[data-design=deco][data-theme=nord-light],html[data-design=deco][data-theme=catppuccin-latte],html[data-design=deco][data-theme=solarized-light],html[data-design=deco][data-theme=sepia],html[data-design=deco][data-theme=paper]{--deco-gold:#886420;--deco-gold-grad:linear-gradient(135deg, #a8842a 0%, #6e4e12 45%, #a8842a 100%)}html[data-design=deco] body{background-image:radial-gradient(ellipse 120% 70% at 50% -20%, color-mix(in oklab, var(--deco-gold) 22%, transparent), transparent 60%), conic-gradient(from 90deg at 50% 0%, transparent 0deg, color-mix(in oklab, var(--deco-gold) 7%, transparent) 4deg, transparent 8deg, color-mix(in oklab, var(--deco-gold) 7%, transparent) 12deg, transparent 16deg, color-mix(in oklab, var(--deco-gold) 7%, transparent) 20deg, transparent 180deg);background-attachment:fixed;background-color:var(--bg-primary);letter-spacing:.015em}html[data-design=deco] h1,html[data-design=deco] h2,html[data-design=deco] h3,html[data-design=deco] h4{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-weight:400}html[data-design=deco] .hero-name{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:var(--deco-gold-grad);-webkit-text-fill-color:transparent;text-align:center;background-clip:text;font-size:clamp(3rem,9vw,6rem);font-weight:400;line-height:1;display:block;position:relative}html[data-design=deco] .hero-name:before,html[data-design=deco] .hero-name:after{content:"";border-top:1px solid var(--deco-gold);border-bottom:1px solid var(--deco-gold);width:min(360px,60%);height:6px;margin:.5rem auto;display:block}html[data-design=deco] .hero-greeting,html[data-design=deco] .section-label{font-family:var(--font-display);letter-spacing:.35em;text-transform:uppercase;color:var(--deco-gold);font-size:.75rem;font-weight:400}html[data-design=deco] .section{counter-increment:deco-section;border-top:1px solid var(--deco-gold);border-bottom:1px solid var(--deco-gold);padding:5rem 0;position:relative}html[data-design=deco] .section:before{content:"";border-top:1px solid color-mix(in oklab, var(--deco-gold) 60%, transparent);height:0;position:absolute;top:4px;left:0;right:0}html[data-design=deco] .section-title{font-family:var(--font-display);letter-spacing:.1em;text-align:center;text-transform:uppercase;margin-bottom:2rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:400}html[data-design=deco] .section-title:before{content:counter(deco-section, upper-roman) "  ·  ";color:var(--deco-gold);font-weight:400}html[data-design=deco] .gradient-text{background:var(--deco-gold-grad);-webkit-text-fill-color:transparent;background-clip:text}html[data-design=deco] .card,html[data-design=deco] .skill-group,html[data-design=deco] .timeline-content,html[data-design=deco] .work-card,html[data-design=deco] .education-card,html[data-design=deco] .certification-card,html[data-design=deco] .demo-card,html[data-design=deco] .contact-form{background:color-mix(in oklab, var(--bg-card) 80%, transparent);border:1px solid var(--deco-gold);box-shadow:inset 0 0 0 3px var(--bg-card), inset 0 0 0 4px var(--deco-gold);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);border-radius:0;padding:1.75rem}html[data-design=deco] .card h3,html[data-design=deco] .work-card h3,html[data-design=deco] .education-card h3,html[data-design=deco] .certification-card h3,html[data-design=deco] .demo-card h3{text-align:center;color:var(--deco-gold);letter-spacing:.15em;margin-bottom:1rem;font-size:1.1rem;position:relative}html[data-design=deco] .card h3:after,html[data-design=deco] .work-card h3:after,html[data-design=deco] .education-card h3:after,html[data-design=deco] .certification-card h3:after,html[data-design=deco] .demo-card h3:after{content:"◆";color:var(--deco-gold);margin:.4rem auto 0;font-size:.6rem;display:block}html[data-design=deco] .skill-pill,html[data-design=deco] .demo-tags li,html[data-design=deco] .work-tags li{border:1px solid var(--deco-gold);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;color:var(--deco-gold);background:0 0;border-radius:0;padding:.35rem .75rem;font-size:.7rem}html[data-design=deco] .navbar{background:color-mix(in oklab, var(--bg-primary) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--deco-gold);box-shadow:0 1px 0 var(--deco-gold)}html[data-design=deco] .nav-logo{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;background:var(--deco-gold-grad);-webkit-text-fill-color:transparent;background-clip:text;font-size:1.2rem}html[data-design=deco] .nav-link{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;font-size:.75rem;font-weight:400}html[data-design=deco] .hero-cta,html[data-design=deco] .contact-submit{background:var(--deco-gold-grad);color:var(--bg-primary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.3em;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);box-shadow:none;border:0;border-radius:0;padding:.9rem 2rem;font-size:.8rem;font-weight:400}html[data-design=deco] .hero-cta:hover,html[data-design=deco] .contact-submit:hover{filter:brightness(1.1);transform:none}html[data-design=deco] .form-group input,html[data-design=deco] .form-group textarea{border:1px solid var(--deco-gold);font-family:var(--font-sans);background:0 0;border-radius:0;padding:.75rem 1rem;font-size:1rem}html[data-design=deco] .form-group input:focus,html[data-design=deco] .form-group textarea:focus{box-shadow:inset 0 0 0 1px var(--deco-gold);outline:0}html[data-design=deco] .hero-grid{display:none}html[data-design=deco] .hero-gradient{background:radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--deco-gold) 35%, transparent), transparent 60%);opacity:.8}html[data-design=wabisabi]{--font-sans:"Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:9rem 0;--container-width:760px;--wabi-ink:color-mix(in oklab, var(--text-primary) 95%, transparent);--wabi-paper:color-mix(in oklab, var(--bg-primary) 90%, #f2ece1);--wabi-hair:color-mix(in oklab, var(--text-primary) 18%, transparent)}html[data-design=wabisabi] body{background:var(--wabi-paper);color:var(--wabi-ink);letter-spacing:.04em;font-size:1.05rem;line-height:2}html[data-design=wabisabi] h1,html[data-design=wabisabi] h2,html[data-design=wabisabi] h3,html[data-design=wabisabi] h4{font-family:var(--font-display);letter-spacing:.06em;font-weight:400;line-height:1.4}html[data-design=wabisabi] .hero{padding:8rem 0 10rem;position:relative}html[data-design=wabisabi] .hero-name{font-family:var(--font-display);letter-spacing:.02em;color:var(--wabi-ink);font-size:clamp(2.5rem,5.5vw,4rem);font-weight:400;line-height:1.5}html[data-design=wabisabi] .hero-greeting,html[data-design=wabisabi] .section-label{text-transform:lowercase;letter-spacing:.3em;color:color-mix(in oklab, var(--wabi-ink) 55%, transparent);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.65rem;font-weight:400}html[data-design=wabisabi] .hero-tagline{letter-spacing:.03em;font-style:italic;font-weight:400}html[data-design=wabisabi] .hero-description{max-width:48ch;color:color-mix(in oklab, var(--wabi-ink) 75%, transparent);font-size:1rem;line-height:2.1}html[data-design=wabisabi] .section{border:0;padding-left:2.5rem;position:relative}html[data-design=wabisabi] .section:before{content:"";background:var(--wabi-hair);width:1px;position:absolute;top:2rem;bottom:2rem;left:0}html[data-design=wabisabi] .section-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--wabi-ink);margin-bottom:3rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:400}html[data-design=wabisabi] .section-title:after{content:"";background:var(--wabi-hair);width:24px;height:1px;margin-top:1.25rem;display:block}html[data-design=wabisabi] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text);font-style:italic}html[data-design=wabisabi] .card,html[data-design=wabisabi] .skill-group,html[data-design=wabisabi] .timeline-content,html[data-design=wabisabi] .work-card,html[data-design=wabisabi] .education-card,html[data-design=wabisabi] .certification-card,html[data-design=wabisabi] .demo-card,html[data-design=wabisabi] .contact-form{border:0;border-top:1px solid var(--wabi-hair);box-shadow:none;background:0 0;border-radius:0;padding:2rem 0 2.5rem}html[data-design=wabisabi] .skill-pill,html[data-design=wabisabi] .demo-tags li,html[data-design=wabisabi] .work-tags li{letter-spacing:.15em;text-transform:lowercase;color:color-mix(in oklab, var(--wabi-ink) 65%, transparent);background:0 0;border:0;border-radius:0;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;font-weight:400}html[data-design=wabisabi] .skill-pill+.skill-pill:before,html[data-design=wabisabi] .demo-tags li+li:before,html[data-design=wabisabi] .work-tags li+li:before{content:"·";opacity:.5;margin:0 .6rem 0 -.2rem}html[data-design=wabisabi] .navbar{background:color-mix(in oklab, var(--wabi-paper) 95%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--wabi-hair)}html[data-design=wabisabi] .nav-logo{font-family:var(--font-display);letter-spacing:.15em;margin-right:2rem;font-size:1rem;font-weight:400}html[data-design=wabisabi] .nav-links{gap:1.15rem}html[data-design=wabisabi] .nav-link{letter-spacing:.12em;text-transform:lowercase;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.65rem;font-weight:400}html[data-design=wabisabi] .hero-cta,html[data-design=wabisabi] .contact-submit{color:var(--wabi-ink);border:0;border-bottom:1px solid var(--wabi-ink);font-family:var(--font-display);letter-spacing:.08em;text-transform:lowercase;box-shadow:none;background:0 0;border-radius:0;padding:.5rem .25rem;font-size:1rem;font-weight:400}html[data-design=wabisabi] .hero-cta:after,html[data-design=wabisabi] .contact-submit:after{content:" →";opacity:.6;transition:margin-left var(--transition-medium), opacity var(--transition-medium);margin-left:1.5rem}html[data-design=wabisabi] .hero-cta:hover,html[data-design=wabisabi] .contact-submit:hover{box-shadow:none;background:0 0;transform:none}html[data-design=wabisabi] .hero-cta:hover:after,html[data-design=wabisabi] .contact-submit:hover:after{opacity:1;margin-left:2rem}html[data-design=wabisabi] .form-group input,html[data-design=wabisabi] .form-group textarea{border:0;border-bottom:1px solid var(--wabi-hair);font-family:var(--font-sans);background:0 0;border-radius:0;padding:.5rem 0;font-size:1rem}html[data-design=wabisabi] .form-group input:focus,html[data-design=wabisabi] .form-group textarea:focus{border-bottom-color:var(--wabi-ink);box-shadow:none;outline:0}html[data-design=wabisabi] .hero-grid,html[data-design=wabisabi] .hero-gradient{display:none}html[data-design=zine]{--font-sans:"Times New Roman", Times, Georgia, serif;--font-display:"Arial Black", "Helvetica Neue", sans-serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:3px;--shadow-card:4px 4px 0 var(--text-primary);--zine-ink:var(--text-primary);--zine-paper:color-mix(in oklab, var(--bg-primary) 80%, #f4efe3);--zine-spot:var(--accent-start);--zine-tape:color-mix(in oklab, #ffd84d 55%, var(--bg-primary))}html[data-design=zine] body{background-color:var(--zine-paper);font-family:var(--font-sans);letter-spacing:0;color:var(--zine-ink);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.08 0'/></filter><rect width='220' height='220' filter='url(%23g)'/></svg>")}html[data-design=zine] h1,html[data-design=zine] h2,html[data-design=zine] h3,html[data-design=zine] h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;line-height:1.05}html[data-design=zine] .hero-name{text-transform:uppercase;filter:contrast(1.1);font-size:clamp(2.5rem,8vw,5rem);font-weight:900;line-height:.95;display:block;transform:rotate(-1.5deg)}html[data-design=zine] .hero-name:first-letter{background:var(--zine-ink);color:var(--zine-paper);margin-right:.1em;padding:0 .1em;font-family:"Press Start 2P",Courier New,monospace}html[data-design=zine] .hero-greeting,html[data-design=zine] .section-label{letter-spacing:.04em;background:var(--zine-ink);color:var(--zine-paper);-webkit-text-fill-color:currentColor;text-transform:uppercase;-webkit-background-clip:border-box;background-clip:border-box;padding:.2rem .5rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:700;display:inline-block;transform:rotate(-2deg)}html[data-design=zine] .hero-tagline{color:var(--zine-spot);font-family:Caveat,cursive;font-size:1.8rem;font-weight:700;transform:rotate(1deg)}html[data-design=zine] .section{border-top:3px solid var(--zine-ink);border-bottom:3px solid var(--zine-ink);padding:4.5rem 0;position:relative}html[data-design=zine] .section-title{font-family:var(--font-display);text-transform:uppercase;background:var(--zine-ink);color:var(--zine-paper);margin-bottom:2rem;padding:.3rem .8rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;display:inline-block;transform:rotate(-1deg)}html[data-design=zine] .section:nth-of-type(2n) .section-title{background:var(--zine-spot);color:var(--zine-paper);transform:rotate(1deg)}html[data-design=zine] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--zine-paper);background-color:var(--zine-spot);padding:0 .2em}html[data-design=zine] .card,html[data-design=zine] .skill-group,html[data-design=zine] .timeline-content,html[data-design=zine] .work-card,html[data-design=zine] .education-card,html[data-design=zine] .certification-card,html[data-design=zine] .demo-card,html[data-design=zine] .contact-form{background:var(--zine-paper);border:3px solid var(--zine-ink);box-shadow:5px 5px 0 var(--zine-ink);filter:contrast(1.05);border-radius:0;padding:1.5rem;position:relative}html[data-design=zine] .card:nth-of-type(odd),html[data-design=zine] .work-card:nth-of-type(odd),html[data-design=zine] .demo-card:nth-of-type(odd),html[data-design=zine] .education-card:nth-of-type(odd),html[data-design=zine] .certification-card:nth-of-type(odd){transform:rotate(-.6deg)}html[data-design=zine] .card:nth-of-type(2n),html[data-design=zine] .work-card:nth-of-type(2n),html[data-design=zine] .demo-card:nth-of-type(2n),html[data-design=zine] .education-card:nth-of-type(2n),html[data-design=zine] .certification-card:nth-of-type(2n){transform:rotate(.8deg)}html[data-design=zine] .card:before,html[data-design=zine] .work-card:before,html[data-design=zine] .demo-card:before,html[data-design=zine] .education-card:before,html[data-design=zine] .certification-card:before{content:"";background:var(--zine-tape);border:1px solid color-mix(in oklab, var(--zine-ink) 40%, transparent);opacity:.85;width:60px;height:18px;position:absolute;top:-10px;left:18px;transform:rotate(-8deg);box-shadow:1px 1px 2px #00000026}html[data-design=zine] .card:after,html[data-design=zine] .work-card:after,html[data-design=zine] .demo-card:after,html[data-design=zine] .education-card:after,html[data-design=zine] .certification-card:after{content:"";background:var(--zine-ink);width:14px;height:3px;box-shadow:0 4px 0 var(--zine-ink);position:absolute;top:10px;right:14px;transform:rotate(8deg)}html[data-design=zine] .card h3,html[data-design=zine] .work-card h3,html[data-design=zine] .demo-card h3,html[data-design=zine] .education-card h3,html[data-design=zine] .certification-card h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;margin-bottom:.5rem;font-size:1.2rem;font-weight:900}html[data-design=zine] .skill-pill,html[data-design=zine] .demo-tags li,html[data-design=zine] .work-tags li{background:var(--zine-paper);border:2px solid var(--zine-ink);letter-spacing:0;text-transform:uppercase;color:var(--zine-ink);border-radius:0;padding:.15rem .5rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:700}html[data-design=zine] .skill-pill:nth-child(3n){background:var(--zine-spot);color:var(--zine-paper);transform:rotate(-3deg)}html[data-design=zine] .skill-pill:nth-child(3n+1){font-family:"Press Start 2P",ui-monospace,monospace;font-size:.6rem;transform:rotate(2deg)}html[data-design=zine] .skill-pill:nth-child(3n+2){letter-spacing:.02em;text-transform:none;font-family:Caveat,cursive;font-size:1.05rem;font-weight:700;transform:rotate(-1deg)}html[data-design=zine] .navbar{background:var(--zine-ink);color:var(--zine-paper);border-bottom:4px solid var(--zine-spot);-webkit-backdrop-filter:none}html[data-design=zine] .nav-logo{font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;color:var(--zine-paper);background:var(--zine-spot);padding:0 .4rem;font-size:1.15rem;font-weight:900;display:inline-block;transform:rotate(-2deg)}html[data-design=zine] .nav-link{text-transform:uppercase;color:var(--zine-paper);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;font-weight:700}html[data-design=zine] .nav-link:hover{background:var(--zine-spot);color:var(--zine-paper)}html[data-design=zine] .hero-cta,html[data-design=zine] .contact-submit{background:var(--zine-ink);color:var(--zine-paper);border:3px solid var(--zine-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;box-shadow:5px 5px 0 var(--zine-spot);border-radius:0;padding:.75rem 1.5rem;font-size:1rem;font-weight:900;transform:rotate(-1deg)}html[data-design=zine] .hero-cta:hover,html[data-design=zine] .contact-submit:hover{box-shadow:3px 3px 0 var(--zine-spot);transform:rotate(-1deg)translate(2px,2px)}html[data-design=zine] .form-group input,html[data-design=zine] .form-group textarea{background:var(--zine-paper);border:3px solid var(--zine-ink);color:var(--zine-ink);border-radius:0;padding:.5rem .75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.95rem}html[data-design=zine] .form-group input:focus,html[data-design=zine] .form-group textarea:focus{background:var(--zine-tape);box-shadow:4px 4px 0 var(--zine-ink);outline:0}html[data-design=zine] .hero-grid,html[data-design=zine] .hero-gradient{display:none}html[data-design=comic]{--font-sans:"Inter", system-ui, sans-serif;--font-display:"Bangers", "Inter Tight", sans-serif;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--border-width:3px;--comic-ink:var(--text-primary);--comic-pop:var(--accent-start);--comic-pop2:var(--accent-end);--comic-paper:color-mix(in oklab, var(--bg-primary) 70%, #fffef2);--comic-panel:var(--bg-card);--shadow-card:4px 4px 0 var(--comic-ink)}html[data-design=comic] body{background-color:var(--comic-paper);background-image:radial-gradient(color-mix(in oklab, var(--comic-pop) 45%, transparent) 1.2px, transparent 1.6px);color:var(--comic-ink);font-family:var(--font-sans);background-size:8px 8px}html[data-design=comic] h1,html[data-design=comic] h2,html[data-design=comic] h3,html[data-design=comic] h4{font-family:var(--font-display);letter-spacing:.03em;color:var(--comic-ink);font-weight:400;line-height:1}html[data-design=comic] .hero{position:relative}html[data-design=comic] .hero-name{font-family:var(--font-display);letter-spacing:.02em;color:var(--comic-pop);text-shadow:-3px 0 0 var(--comic-ink), 3px 0 0 var(--comic-ink), 0 -3px 0 var(--comic-ink), 0 3px 0 var(--comic-ink), -3px -3px 0 var(--comic-ink), 3px 3px 0 var(--comic-ink), -3px 3px 0 var(--comic-ink), 3px -3px 0 var(--comic-ink), 6px 6px 0 var(--comic-ink);font-size:clamp(3rem,10vw,6.5rem);font-weight:400;line-height:.9;display:inline-block;transform:rotate(-2deg)}html[data-design=comic] .hero:after{content:"POW!";font-family:var(--font-display);color:var(--comic-pop2);clip-path:polygon(0% 10%,20% 0%,35% 15%,50% 0%,65% 15%,80% 0%,100% 10%,95% 30%,100% 50%,90% 65%,100% 85%,80% 95%,65% 85%,50% 100%,35% 85%,20% 100%,0% 85%,10% 65%,0% 50%,10% 30%);text-shadow:-2px 0 0 var(--comic-ink), 2px 0 0 var(--comic-ink), 0 -2px 0 var(--comic-ink), 0 2px 0 var(--comic-ink);pointer-events:none;background:#ffeb3b;padding:.5rem 1rem;font-size:clamp(1.5rem,3.5vw,2.5rem);position:absolute;top:14%;right:5%;transform:rotate(15deg)}html[data-design=comic] .hero-greeting{font-family:var(--font-display);letter-spacing:.05em;color:var(--comic-ink);background:var(--comic-panel);border:3px solid var(--comic-ink);box-shadow:3px 3px 0 var(--comic-ink);text-transform:uppercase;border-radius:999px;padding:.25rem .75rem;font-size:1.2rem;display:inline-block;transform:rotate(-1deg)}html[data-design=comic] .hero-tagline{font-family:var(--font-display);letter-spacing:.02em;color:var(--comic-ink);font-size:1.6rem;font-weight:400}html[data-design=comic] .section-label{font-family:var(--font-display);letter-spacing:.08em;color:var(--comic-pop2);text-transform:uppercase;font-size:1rem}html[data-design=comic] .section{border-top:3px solid var(--comic-ink);padding:4rem 0;position:relative}html[data-design=comic] .section-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--comic-pop);text-shadow:-2px 0 0 var(--comic-ink), 2px 0 0 var(--comic-ink), 0 -2px 0 var(--comic-ink), 0 2px 0 var(--comic-ink), 4px 4px 0 var(--comic-ink);margin-bottom:2rem;font-size:clamp(2.5rem,6vw,4rem)}html[data-design=comic] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--comic-pop2)}html[data-design=comic] .card,html[data-design=comic] .skill-group,html[data-design=comic] .timeline-content,html[data-design=comic] .work-card,html[data-design=comic] .education-card,html[data-design=comic] .certification-card,html[data-design=comic] .demo-card,html[data-design=comic] .contact-form{background:var(--comic-panel);border:3px solid var(--comic-ink);box-shadow:5px 5px 0 var(--comic-ink);border-radius:.75rem;padding:1.5rem;position:relative}html[data-design=comic] .card h3,html[data-design=comic] .work-card h3,html[data-design=comic] .demo-card h3,html[data-design=comic] .education-card h3,html[data-design=comic] .certification-card h3{font-family:var(--font-display);letter-spacing:.03em;color:var(--comic-pop);text-shadow:2px 2px 0 var(--comic-ink);margin-bottom:.5rem;font-size:1.6rem;font-weight:400}html[data-design=comic] .skill-pill,html[data-design=comic] .demo-tags li,html[data-design=comic] .work-tags li{background:var(--comic-panel);border:2px solid var(--comic-ink);font-family:var(--font-display);letter-spacing:.04em;color:var(--comic-ink);text-transform:uppercase;box-shadow:2px 2px 0 var(--comic-ink);border-radius:999px;padding:.2rem .75rem;font-size:.95rem;font-weight:400}html[data-design=comic] .skill-pill:nth-child(3n){background:#ffeb3b}html[data-design=comic] .skill-pill:nth-child(3n+1){background:color-mix(in oklab, var(--comic-pop) 25%, var(--comic-panel))}html[data-design=comic] .navbar{background:var(--comic-panel);-webkit-backdrop-filter:none;border-bottom:3px solid var(--comic-ink);box-shadow:0 3px 0 var(--comic-ink)}html[data-design=comic] .nav-logo{font-family:var(--font-display);letter-spacing:.04em;color:var(--comic-pop);text-shadow:2px 2px 0 var(--comic-ink);text-transform:uppercase;font-size:1.6rem;font-weight:400}html[data-design=comic] .nav-link{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--comic-ink);font-size:1rem;font-weight:400}html[data-design=comic] .hero-cta,html[data-design=comic] .contact-submit{background:var(--comic-pop2);color:var(--comic-ink);border:3px solid var(--comic-ink);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;box-shadow:4px 4px 0 var(--comic-ink);border-radius:999px;padding:.6rem 1.4rem;font-size:1.15rem;font-weight:400}html[data-design=comic] .hero-cta:hover,html[data-design=comic] .contact-submit:hover{box-shadow:3px 3px 0 var(--comic-ink);transform:translate(1px,1px)}html[data-design=comic] .form-group input,html[data-design=comic] .form-group textarea{background:var(--comic-panel);border:3px solid var(--comic-ink);font-family:var(--font-sans);box-shadow:2px 2px 0 var(--comic-ink);border-radius:.5rem;padding:.6rem .85rem;font-size:1rem}html[data-design=comic] .form-group input:focus,html[data-design=comic] .form-group textarea:focus{box-shadow:4px 4px 0 var(--comic-pop);outline:0}html[data-design=comic] .hero-grid{display:none}html[data-design=comic] .hero-gradient{opacity:.7;background:radial-gradient(circle at 70% 30%,oklab(92.8464% -.0390086 .175994/.55),#0000 60%)}html[data-design=newspaper]{--font-sans:"EB Garamond", "Crimson Pro", Georgia, serif;--font-display:"UnifrakturMaguntia", "Playfair Display", Georgia, serif;--font-subhead:"Playfair Display", Georgia, serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--news-paper:color-mix(in oklab, var(--bg-primary) 75%, #f4eedd);--news-ink:color-mix(in oklab, var(--text-primary) 98%, #1a1812);--news-muted:color-mix(in oklab, var(--news-ink) 55%, transparent);--news-hair:color-mix(in oklab, var(--news-ink) 30%, transparent);--shadow-card:none}html[data-design=newspaper] body{background:var(--news-paper);color:var(--news-ink);font-family:var(--font-sans);letter-spacing:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.05 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");font-size:1.02rem;line-height:1.55}html[data-design=newspaper] h1,html[data-design=newspaper] h2,html[data-design=newspaper] h3,html[data-design=newspaper] h4{font-family:var(--font-subhead);letter-spacing:.01em;font-weight:700;line-height:1.2}html[data-design=newspaper] .hero{border-top:4px double var(--news-ink);border-bottom:4px double var(--news-ink);text-align:center;padding:3rem 0 2.5rem}html[data-design=newspaper] .hero-name{font-family:var(--font-display);letter-spacing:.02em;color:var(--news-ink);text-align:center;margin:.25rem 0 .5rem;font-size:clamp(3rem,10vw,6rem);font-weight:400;line-height:1;display:block}html[data-design=newspaper] .hero-greeting{font-variant:small-caps;letter-spacing:.18em;color:var(--news-muted);text-align:center;border-bottom:1px solid var(--news-hair);margin-bottom:.75rem;padding-bottom:.5rem;font-family:EB Garamond,Georgia,serif;font-size:.85rem;font-weight:500;display:block}html[data-design=newspaper] .hero-greeting:before{content:"VOL. MMXXVI  ·  NO. III  ·  ";letter-spacing:.2em}html[data-design=newspaper] .hero-greeting:after{content:"  ·  PRICE: FREE";letter-spacing:.2em}html[data-design=newspaper] .hero-tagline{font-family:var(--font-subhead);color:var(--news-ink);max-width:60ch;margin:0 auto .5rem;font-size:1.25rem;font-style:italic;font-weight:400}html[data-design=newspaper] .hero-description{text-align:justify;text-align-last:center;hyphens:auto;max-width:60ch;color:var(--news-ink);margin:.75rem auto 1.25rem}html[data-design=newspaper] .section{border-top:1px solid var(--news-ink);padding:3rem 0;position:relative}html[data-design=newspaper] .section-label,html[data-design=newspaper] .section[data-num]:before{font-variant:small-caps;letter-spacing:.3em;color:var(--news-muted);margin-bottom:.75rem;font-family:EB Garamond,Georgia,serif;font-size:.8rem;font-weight:600;display:block}html[data-design=newspaper] .section[data-num]:before{content:"SECTION " attr(data-num);border-bottom:1px solid var(--news-hair);margin-bottom:1rem;padding-bottom:.35rem;position:static}html[data-design=newspaper] .section-title{font-family:var(--font-subhead);letter-spacing:-.005em;color:var(--news-ink);margin-bottom:.25rem;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;line-height:1.1}html[data-design=newspaper] .section-title:after{content:"";border-top:3px double var(--news-ink);width:100%;margin-top:.75rem;margin-bottom:1.5rem;display:block}html[data-design=newspaper] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--news-ink);font-style:italic}html[data-design=newspaper] .about-text{column-count:2;column-rule:1px solid var(--news-hair);text-align:justify;hyphens:auto;column-gap:2rem;font-size:1rem;line-height:1.6}html[data-design=newspaper] .about-text p:first-of-type:first-letter{font-family:var(--font-display);float:left;color:var(--news-ink);padding-top:.2rem;padding-right:.5rem;font-size:3.2em;line-height:.9}@media (width<=720px){html[data-design=newspaper] .about-text{column-count:1}}html[data-design=newspaper] .card,html[data-design=newspaper] .skill-group,html[data-design=newspaper] .timeline-content,html[data-design=newspaper] .work-card,html[data-design=newspaper] .education-card,html[data-design=newspaper] .certification-card,html[data-design=newspaper] .demo-card,html[data-design=newspaper] .contact-form{background:var(--news-paper);border:1px solid var(--news-ink);box-shadow:none;border-radius:0;padding:1.5rem;position:relative}html[data-design=newspaper] .work-card:before,html[data-design=newspaper] .demo-card:before,html[data-design=newspaper] .education-card:before,html[data-design=newspaper] .certification-card:before{content:"ADVERTISEMENT";font-variant:small-caps;letter-spacing:.25em;color:var(--news-muted);border-bottom:1px solid var(--news-hair);text-align:center;margin:-.5rem -.5rem .75rem;padding-bottom:.35rem;font-family:EB Garamond,Georgia,serif;font-size:.7rem;font-weight:600;display:block}html[data-design=newspaper] .education-card:before{content:"ACADEMIC RECORD"}html[data-design=newspaper] .certification-card:before{content:"CREDENTIAL ON FILE"}html[data-design=newspaper] .work-card:before{content:"EMPLOYMENT NOTICE"}html[data-design=newspaper] .demo-card:before{content:"FEATURED DEMO"}html[data-design=newspaper] .card h3,html[data-design=newspaper] .work-card h3,html[data-design=newspaper] .demo-card h3,html[data-design=newspaper] .education-card h3,html[data-design=newspaper] .certification-card h3{font-family:var(--font-subhead);letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.3rem;font-weight:800;line-height:1.15}html[data-design=newspaper] .skill-pill,html[data-design=newspaper] .demo-tags li,html[data-design=newspaper] .work-tags li{font-variant:small-caps;letter-spacing:.12em;color:var(--news-ink);text-transform:lowercase;background:0 0;border:0;border-radius:0;padding:0;font-family:EB Garamond,Georgia,serif;font-size:.78rem;font-weight:600}html[data-design=newspaper] .skill-pill:before,html[data-design=newspaper] .demo-tags li:before,html[data-design=newspaper] .work-tags li:before{content:"[ ";color:var(--news-muted)}html[data-design=newspaper] .skill-pill:after,html[data-design=newspaper] .demo-tags li:after,html[data-design=newspaper] .work-tags li:after{content:" ]";color:var(--news-muted)}html[data-design=newspaper] .navbar{background:var(--news-paper);-webkit-backdrop-filter:none;border-bottom:3px double var(--news-ink);box-shadow:none}html[data-design=newspaper] .nav-logo{font-family:var(--font-display);letter-spacing:.02em;color:var(--news-ink);font-size:1.6rem;font-weight:400}html[data-design=newspaper] .nav-link{font-variant:small-caps;letter-spacing:.15em;text-transform:lowercase;color:var(--news-ink);font-family:EB Garamond,Georgia,serif;font-size:.9rem;font-weight:600}html[data-design=newspaper] .hero-cta,html[data-design=newspaper] .contact-submit{background:var(--news-ink);color:var(--news-paper);border:1px solid var(--news-ink);font-variant:small-caps;letter-spacing:.15em;box-shadow:4px 4px 0 var(--news-ink), 4px 4px 0 1px var(--news-paper) inset;text-transform:lowercase;border-radius:0;padding:.65rem 1.25rem;font-family:EB Garamond,Georgia,serif;font-size:.95rem;font-weight:700}html[data-design=newspaper] .hero-cta:hover,html[data-design=newspaper] .contact-submit:hover{box-shadow:3px 3px 0 var(--news-ink);background:var(--news-ink);transform:translate(1px,1px)}html[data-design=newspaper] .form-group input,html[data-design=newspaper] .form-group textarea{background:var(--news-paper);border:0;border-bottom:1px solid var(--news-ink);font-family:var(--font-sans);border-radius:0;padding:.45rem 0;font-size:1rem}html[data-design=newspaper] .form-group input:focus,html[data-design=newspaper] .form-group textarea:focus{box-shadow:none;border-bottom-width:2px;outline:0}html[data-design=newspaper] .footer{border-top:3px double var(--news-ink);border-bottom:3px double var(--news-ink);text-align:center;font-variant:small-caps;letter-spacing:.15em;color:var(--news-muted);padding:2rem 0;font-family:EB Garamond,Georgia,serif}html[data-design=newspaper] .hero-grid,html[data-design=newspaper] .hero-gradient{display:none}
