.site-header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#fbf9f5e0;border-bottom:1px solid var(--border-subtle);height:var(--header-height);left:0;position:fixed;top:0;transition:all .3s cubic-bezier(.16,1,.3,1);width:100%;z-index:1000}.site-header.header-scrolled{background-color:#fbf9f5f5;border-bottom-color:var(--border-medium);box-shadow:0 4px 24px #2b26210d}.header-container{align-items:center;display:flex;gap:24px;height:100%;justify-content:space-between}.header-brand{align-items:center;cursor:pointer;display:flex;gap:12px;text-decoration:none}.brand-name{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.2rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap}.status-pill{align-items:center;background-color:#2e7d3214;border:1px solid #2e7d3233;border-radius:999px;color:#2e7d32;display:inline-flex;font-family:var(--font-mono);font-size:.72rem;font-weight:500;gap:6px;padding:3px 10px;white-space:nowrap}.pulse-dot{animation:pulse-green 2s infinite;background-color:#2e7d32;border-radius:50%;box-shadow:0 0 0 0 #2e7d32b3;height:6px;width:6px}@keyframes pulse-green{0%{box-shadow:0 0 0 0 #2e7d32b3;transform:scale(.95)}70%{box-shadow:0 0 0 6px #2e7d3200;transform:scale(1)}to{box-shadow:0 0 0 0 #2e7d3200;transform:scale(.95)}}.desktop-nav{align-items:center;display:flex;gap:20px}.nav-link{background:#0000;border:none;color:var(--ink-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.88rem;font-weight:500;padding:6px 4px;position:relative;transition:color .2s ease}.nav-link:after{background-color:var(--accent-terracotta);bottom:0;content:"";height:1.5px;left:0;position:absolute;transition:width .25s cubic-bezier(.16,1,.3,1);width:0}.nav-link:hover{color:var(--accent-terracotta)}.nav-link:hover:after{width:100%}.header-actions{align-items:center;display:flex;gap:12px}.action-icon-btn{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--ink-secondary);display:inline-flex;height:38px;justify-content:center;text-decoration:none;transition:all .2s ease;width:38px}.action-icon-btn:hover{background-color:var(--bg-primary);border-color:var(--border-medium);color:var(--ink-primary);transform:translateY(-1px)}.btn-resume-header{align-items:center;background-color:initial;border:1px solid var(--border-medium);border-radius:6px;color:var(--ink-primary);display:inline-flex;font-family:var(--font-sans);font-size:.85rem;font-weight:600;gap:6px;padding:8px 14px;text-decoration:none;transition:all .2s ease}.btn-resume-header:hover{background-color:var(--bg-card);border-color:var(--accent-terracotta);color:var(--accent-terracotta);transform:translateY(-1px)}.btn-contact-header{align-items:center;background-color:var(--ink-primary);border:1px solid var(--ink-primary);border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.85rem;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s ease}.btn-contact-header:hover{background-color:var(--accent-terracotta);border-color:var(--accent-terracotta);transform:translateY(-1px)}.mobile-toggle{background:#0000;border:none;color:var(--ink-primary);cursor:pointer;display:none;padding:4px}.mobile-drawer{background-color:var(--bg-primary);border-bottom:1px solid var(--border-medium);box-shadow:var(--shadow-lg);display:none;left:0;opacity:0;padding:24px 20px 32px;pointer-events:none;position:fixed;top:var(--header-height);transform:translateY(-100%);transition:all .3s cubic-bezier(.16,1,.3,1);width:100%;z-index:999}.mobile-drawer.drawer-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav-links{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.mobile-nav-links button{background:#0000;border:none;border-bottom:1px solid var(--border-subtle);color:var(--ink-primary);cursor:pointer;font-family:var(--font-serif);font-size:1.25rem;padding:8px 0;text-align:left}.mobile-drawer-actions{display:flex;flex-direction:column;gap:10px}.mobile-btn{font-size:.9rem;padding:12px;width:100%}@media (max-width:1080px){.desktop-nav{display:none}.mobile-drawer,.mobile-toggle{display:block}}@media (max-width:640px){.btn-contact-header,.status-pill{display:none}}.hero-section{background-color:var(--bg-primary);padding:calc(var(--header-height) + 40px) 0 80px;position:relative}.hero-meta-bar{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:999px;flex-wrap:wrap;gap:12px;margin-bottom:36px;padding:8px 16px;width:fit-content}.hero-meta-bar,.meta-tag{align-items:center;display:flex}.meta-tag{color:var(--ink-secondary);font-family:var(--font-mono);font-size:.78rem;font-weight:500;gap:6px}.meta-icon{color:var(--accent-terracotta)}.meta-divider{color:var(--ink-light);font-size:.8rem}.hero-grid{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-columns:1.25fr .95fr}.hero-eyebrow{align-items:center;background-color:var(--bg-accent-subtle);border-radius:4px;color:var(--accent-terracotta);display:inline-flex;font-family:var(--font-mono);font-size:.82rem;font-weight:600;gap:8px;letter-spacing:.08em;margin-bottom:20px;padding:4px 12px;text-transform:uppercase}.hero-heading{color:var(--ink-primary);font-family:var(--font-serif);font-size:3.25rem;font-weight:400;letter-spacing:-.025em;line-height:1.12;margin-bottom:24px}.hero-heading em{color:var(--accent-terracotta);font-style:italic;font-weight:400}.hero-description{color:var(--ink-secondary);font-size:1.1rem;line-height:1.7;margin-bottom:36px;max-width:600px}.hero-description strong{color:var(--ink-primary);font-weight:600}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:48px}.hero-github-btn{align-items:center;color:var(--ink-secondary);display:inline-flex;font-weight:600;gap:8px;padding:12px 18px}.hero-github-btn:hover{color:var(--ink-primary)}.hero-metrics{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:24px;padding:20px 24px;width:fit-content}.metric-item{display:flex;flex-direction:column;gap:2px}.metric-number{color:var(--accent-terracotta);font-family:var(--font-serif);font-size:1.8rem;font-weight:600;line-height:1}.metric-label{color:var(--ink-muted);font-size:.76rem;font-weight:500;max-width:140px}.metric-divider{background-color:var(--border-medium);height:36px;width:1px}.hero-visual{display:flex;justify-content:center}.profile-frame{background-color:var(--bg-card);border:1px solid var(--border-medium);border-radius:16px;box-shadow:var(--shadow-lg);max-width:440px;padding:14px;position:relative;width:100%}.profile-image-container{background-color:var(--bg-secondary);border-radius:12px;height:480px;overflow:hidden;position:relative;width:100%}.profile-photo{height:100%;object-fit:cover;object-position:top center;transition:transform .5s cubic-bezier(.16,1,.3,1);width:100%}.profile-frame:hover .profile-photo{transform:scale(1.03)}.profile-badge-overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#1c1815e0;border:1px solid #ffffff26;border-radius:8px;bottom:14px;color:#fff;left:14px;padding:12px 16px;position:absolute;right:14px}.overlay-role{color:#fff;display:block;font-family:var(--font-sans);font-size:.92rem;font-weight:700}.overlay-sub{color:#d4cecb;display:block;font-family:var(--font-mono);font-size:.72rem;margin-top:2px}.profile-caption{align-items:center;display:flex;gap:10px;padding:12px 8px 4px}.caption-dot{background-color:var(--accent-terracotta);border-radius:50%;flex-shrink:0;height:7px;width:7px}.caption-text{color:var(--ink-secondary);font-size:.82rem;line-height:1.4}.caption-text strong{color:var(--ink-primary)}@media (max-width:1024px){.hero-grid{gap:48px;grid-template-columns:1fr}.hero-heading{font-size:2.75rem}.profile-frame{margin:0 auto;max-width:380px}.profile-image-container{height:420px}}@media (max-width:640px){.hero-heading{font-size:2.2rem}.hero-meta-bar{border-radius:12px;font-size:.75rem}.hero-metrics{align-items:flex-start;flex-direction:column;gap:16px;width:100%}.metric-divider{display:none}.profile-image-container{height:360px}}.projects-section{background-color:var(--bg-primary)}.projects-editorial-list{display:flex;flex-direction:column;gap:40px}.project-editorial-card{background-color:var(--bg-card);border:1px solid var(--border-medium);border-radius:16px;box-shadow:var(--shadow-sm);padding:36px;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.project-editorial-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-top-row{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.card-top-row,.project-meta-left{align-items:center;display:flex;gap:12px}.project-index{color:var(--accent-terracotta);font-size:.85rem;font-weight:700}.project-index,.project-org{font-family:var(--font-mono)}.project-org{color:var(--ink-muted);font-size:.8rem}.private-status-tag{background-color:var(--bg-tag);border:1px solid var(--border-subtle);border-radius:4px;color:var(--ink-secondary);font-family:var(--font-mono);font-size:.72rem;font-weight:500;gap:6px;padding:4px 10px}.private-status-tag,.public-link-tag{align-items:center;display:inline-flex}.public-link-tag{color:var(--accent-terracotta);font-family:var(--font-sans);font-size:.82rem;font-weight:600;gap:4px;text-decoration:none}.public-link-tag:hover{text-decoration:underline}.project-card-grid{grid-gap:36px;align-items:start;display:grid;gap:36px}.project-card-grid.has-image,.project-card-grid.no-image{grid-template-columns:1.25fr .95fr}.project-card-title{color:var(--ink-primary);font-family:var(--font-serif);font-size:2rem;font-weight:600;line-height:1.2;margin-bottom:6px}.project-card-subtitle{color:var(--accent-terracotta);font-family:var(--font-sans);font-size:1rem;font-weight:500;margin-bottom:20px}.project-bullet-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin-bottom:24px}.project-bullet-list li{align-items:flex-start;color:var(--ink-secondary);display:flex;font-size:.94rem;gap:10px;line-height:1.55}.bullet-check-icon{color:var(--accent-terracotta);flex-shrink:0;margin-top:3px}.system-specs-bar{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;padding:12px 16px}.spec-item{align-items:center;display:flex;font-family:var(--font-mono);font-size:.8rem;gap:6px}.spec-label{color:var(--ink-muted)}.spec-val{color:var(--ink-primary);font-weight:600}.project-tech-pills{display:flex;flex-wrap:wrap;gap:6px}.tech-pill{background-color:var(--bg-primary);border:1px solid var(--border-medium);border-radius:4px;color:var(--ink-secondary);font-family:var(--font-mono);font-size:.72rem;font-weight:500;padding:4px 10px}.project-image-column{display:flex;flex-direction:column}.project-img-frame{background-color:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;transition:transform .3s ease}.project-editorial-card:hover .project-img-frame{border-color:var(--border-accent);transform:translateY(-2px)}.project-screenshot{display:block;height:260px;object-fit:cover;object-position:top center;width:100%}.img-caption-bar{background-color:var(--bg-card);border-top:1px solid var(--border-subtle);color:var(--ink-muted);font-family:var(--font-mono);font-size:.72rem;padding:8px 14px;text-align:right}.infra-abstract-card{background-color:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:24px}.infra-header{align-items:center;border-bottom:1px solid var(--border-subtle);color:var(--ink-primary);display:flex;font-family:var(--font-mono);font-size:.8rem;font-weight:600;gap:8px;padding-bottom:10px}.infra-icon{color:var(--accent-terracotta)}.infra-diagram-content{align-items:center;display:flex;flex-direction:column;gap:6px}.infra-node{border:1px solid var(--border-medium);border-radius:6px;font-family:var(--font-mono);font-size:.78rem;font-weight:600;padding:10px 14px;text-align:center;width:100%}.infra-node.root{background-color:#fff;color:var(--ink-primary)}.infra-node.core{background-color:var(--bg-accent-subtle);border-color:var(--accent-border);color:var(--accent-terracotta)}.infra-node.success{background-color:#fff;color:var(--ink-primary)}.infra-arrow{color:var(--accent-terracotta);font-weight:700}.infra-note{border-top:1px solid var(--border-subtle);color:var(--ink-muted);font-size:.78rem;line-height:1.45;padding-top:10px}@media (max-width:1024px){.project-card-grid.has-image,.project-card-grid.no-image{grid-template-columns:1fr}.project-screenshot{height:240px}}@media (max-width:640px){.project-editorial-card{padding:24px 20px}.project-card-title{font-size:1.6rem}}.live-products-section{background-color:var(--bg-secondary)}.live-products-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(3,1fr)}.live-product-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;padding:28px;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.live-product-card:hover{background-color:var(--bg-card-hover);border-color:var(--accent-border);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.product-top-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.product-external-link{align-items:center;color:var(--accent-terracotta);display:inline-flex;font-family:var(--font-sans);font-size:.82rem;font-weight:600;gap:4px;text-decoration:none;transition:all .2s ease}.product-external-link:hover{color:var(--accent-terracotta-hover);transform:translateX(2px)}.product-identity-row{align-items:center;display:flex;gap:16px;margin-bottom:18px}.product-logo-box{align-items:center;background-color:#fff;border:1px solid var(--border-medium);border-radius:12px;box-shadow:0 2px 8px #2b26210a;display:flex;flex-shrink:0;height:64px;justify-content:center;padding:8px;width:64px}.product-logo-img{max-height:100%;max-width:100%;object-fit:contain}.product-identity-text{display:flex;flex-direction:column;gap:2px}.product-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;line-height:1.2}.product-name a{color:var(--ink-primary);text-decoration:none;transition:color .2s ease}.product-name a:hover{color:var(--accent-terracotta)}.product-category{color:var(--ink-muted);font-family:var(--font-mono);font-size:.75rem;font-weight:500}.product-tagline{color:var(--ink-primary);font-size:.95rem;font-weight:600;line-height:1.4;margin-bottom:10px}.product-desc{color:var(--ink-secondary);flex-grow:1;font-size:.88rem;line-height:1.55;margin-bottom:20px}.product-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}.tech-chip{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--ink-secondary);font-family:var(--font-mono);font-size:.72rem;padding:3px 8px}.product-footer{align-items:center;border-top:1px solid var(--border-subtle);display:flex;font-size:.78rem;justify-content:space-between;padding-top:16px}.product-url-preview{color:var(--ink-muted);font-family:var(--font-mono);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.url-protocol{color:var(--ink-light)}.view-action-indicator{align-items:center;color:var(--accent-terracotta);display:flex;font-weight:600;gap:4px}@media (max-width:1024px){.live-products-grid{gap:24px;grid-template-columns:1fr}}.experience-section{background-color:var(--bg-secondary)}.experience-timeline{display:flex;flex-direction:column;gap:32px}.experience-timeline-card{grid-gap:40px;background-color:var(--bg-card);border:1px solid var(--border-medium);border-radius:14px;box-shadow:var(--shadow-sm);display:grid;gap:40px;grid-template-columns:280px 1fr;padding:36px;position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.experience-timeline-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md);transform:translateY(-2px)}.exp-side-col{border-right:1px solid var(--border-subtle);gap:16px;padding-right:28px}.exp-badge-group,.exp-side-col{display:flex;flex-direction:column}.exp-badge-group{align-items:flex-start;gap:8px}.exp-company-block{align-items:center;display:flex;gap:8px;margin-top:6px}.exp-company-block .exp-icon{color:var(--accent-terracotta);flex-shrink:0}.exp-company-name{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.3}.exp-main-col{display:flex;flex-direction:column}.exp-role-title{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.75rem;font-weight:600;line-height:1.2;margin-bottom:8px}.exp-overview{color:var(--ink-secondary);font-size:.95rem;line-height:1.6;margin-bottom:20px}.exp-bullets-header{color:var(--accent-terracotta);font-family:var(--font-mono);font-size:.76rem;font-weight:600;letter-spacing:.06em;margin-bottom:12px;text-transform:uppercase}.exp-bullets{display:flex;flex-direction:column;gap:10px;list-style:none;margin-bottom:24px}.exp-bullets li{align-items:flex-start;color:var(--ink-secondary);display:flex;font-size:.92rem;gap:10px;line-height:1.55}.exp-check{color:var(--accent-terracotta);flex-shrink:0;margin-top:3px}.exp-skills-strip{border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:6px;padding-top:16px}.exp-skill-tag{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:4px;color:var(--ink-secondary);font-family:var(--font-mono);font-size:.72rem;padding:3px 8px}@media (max-width:1024px){.experience-timeline-card{gap:24px;grid-template-columns:1fr}.exp-side-col{align-items:center;border-bottom:1px solid var(--border-subtle);border-right:none;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding-bottom:16px;padding-right:0}}@media (max-width:640px){.experience-timeline-card{padding:24px 20px}.exp-role-title{font-size:1.4rem}}.capabilities-section{background-color:var(--bg-primary)}.capabilities-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(3,1fr)}.capability-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:32px 28px;transition:all .3s cubic-bezier(.16,1,.3,1)}.capability-card:hover{background-color:var(--bg-card-hover);border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-3px)}.cap-icon-box{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:10px;box-shadow:0 2px 6px #2b26210a;display:flex;height:48px;justify-content:center;margin-bottom:20px;width:48px}.cap-icon{color:var(--accent-terracotta)}.cap-title{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.35rem;font-weight:600;line-height:1.25;margin-bottom:12px}.cap-desc{color:var(--ink-secondary);flex-grow:1;font-size:.88rem;line-height:1.6;margin-bottom:20px}.cap-deliverables{border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px;padding-top:16px}.cap-deliverable-item{align-items:center;color:var(--ink-secondary);display:flex;font-family:var(--font-mono);font-size:.74rem;font-weight:500;gap:8px}.cap-deliv-check{color:var(--accent-terracotta);flex-shrink:0}@media (max-width:1024px){.capabilities-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.capabilities-grid{gap:20px;grid-template-columns:1fr}.capability-card{padding:24px 20px}}.skills-section{background-color:var(--bg-secondary)}.skills-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}.filter-tab{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--ink-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.82rem;font-weight:500;padding:7px 14px;transition:all .2s ease}.filter-tab:hover{border-color:var(--border-medium);color:var(--ink-primary)}.filter-tab.active{background-color:var(--ink-primary);border-color:var(--ink-primary);color:#fff}.skills-clusters-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.skill-cluster-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:24px;transition:all .3s cubic-bezier(.16,1,.3,1)}.skill-cluster-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cluster-header{align-items:center;border-bottom:1px solid var(--border-subtle);display:flex;gap:12px;margin-bottom:18px;padding-bottom:12px}.cluster-icon-wrap{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;display:flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.cluster-icon{color:var(--accent-terracotta)}.cluster-title{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.25}.cluster-tags-list{display:flex;flex-direction:column;gap:8px}.skill-item-tag{align-items:center;color:var(--ink-secondary);display:flex;font-family:var(--font-mono);font-size:.78rem;gap:8px;line-height:1.4}.skill-dot{background-color:var(--accent-terracotta);border-radius:50%;flex-shrink:0;height:5px;width:5px}.skill-name{color:var(--ink-primary);font-weight:500}@media (max-width:1100px){.skills-clusters-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.skills-clusters-grid{gap:16px;grid-template-columns:1fr}.skill-cluster-card{padding:20px}}.about-section{background-color:var(--bg-primary)}.about-editorial-grid{grid-gap:48px;align-items:start;display:grid;gap:48px;grid-template-columns:1.2fr .95fr}.editorial-lead-para{border-left:3px solid var(--accent-terracotta);color:var(--ink-primary);font-family:var(--font-serif);font-size:1.45rem;font-style:italic;line-height:1.45;margin-bottom:24px;padding-left:20px}.about-body-para{color:var(--ink-secondary);font-size:.96rem;line-height:1.7;margin-bottom:18px}.about-body-para strong{color:var(--ink-primary);font-weight:600}.about-principles-box{background-color:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:12px;margin-top:28px;padding:24px}.principles-title{color:var(--accent-terracotta);font-family:var(--font-mono);font-size:.8rem;font-weight:700;letter-spacing:.06em;margin-bottom:14px;text-transform:uppercase}.principles-list{display:flex;flex-direction:column;gap:12px;list-style:none}.principles-list li{align-items:flex-start;color:var(--ink-secondary);display:flex;font-size:.9rem;gap:10px;line-height:1.5}.principle-check{color:var(--accent-terracotta);flex-shrink:0;margin-top:3px}.developer-manifesto-card{background-color:#1c1815;border:1px solid #2b262133;border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden}.manifesto-top-bar{align-items:center;background-color:#14110f;border-bottom:1px solid #ffffff14;display:flex;justify-content:space-between;padding:12px 18px}.terminal-dots{display:flex;gap:6px}.dot{border-radius:50%;height:10px;width:10px}.dot-red{background-color:#e06c75}.dot-yellow{background-color:#e5c07b}.dot-green{background-color:#98c379}.manifesto-title{color:#a8a096;font-family:var(--font-mono);font-size:.75rem}.manifesto-code{overflow-x:auto;padding:20px}.manifesto-code pre{color:#e5e0da;font-family:var(--font-mono);font-size:.78rem;line-height:1.6}.manifesto-footer{background-color:#14110f;border-top:1px solid #ffffff14;color:var(--accent-terracotta);font-family:var(--font-mono);font-size:.72rem;padding:10px 18px}@media (max-width:1024px){.about-editorial-grid{gap:36px;grid-template-columns:1fr}}.education-section{background-color:var(--bg-secondary)}.edu-cert-grid{grid-gap:40px;align-items:start;display:grid;gap:40px;grid-template-columns:1.15fr .85fr}.sub-column-header{align-items:center;border-bottom:1px solid var(--border-medium);display:flex;gap:10px;margin-bottom:24px;padding-bottom:12px}.sub-header-icon{color:var(--accent-terracotta)}.sub-column-header h3{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.45rem;font-weight:600}.edu-cards-list{display:flex;flex-direction:column;gap:20px}.edu-card{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);padding:24px;transition:all .3s ease}.edu-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.edu-top-row{align-items:center;display:flex;gap:10px;margin-bottom:12px}.edu-degree{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.25rem;font-weight:600;line-height:1.3;margin-bottom:8px}.edu-institution{align-items:center;color:var(--ink-secondary);display:flex;font-size:.85rem;gap:6px;margin-bottom:12px}.inst-pin{color:var(--accent-terracotta)}.edu-highlights{border-top:1px solid var(--border-subtle);color:var(--ink-muted);font-size:.88rem;line-height:1.55;padding-top:10px}.cert-cards-list{display:flex;flex-direction:column;gap:14px}.cert-card{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;gap:16px;padding:18px 20px;transition:all .3s ease}.cert-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cert-icon-badge{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-medium);border-radius:10px;display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.cert-award-icon{color:var(--accent-terracotta)}.cert-info{display:flex;flex-direction:column;gap:2px}.cert-title{color:var(--ink-primary);font-family:var(--font-sans);font-size:.96rem;font-weight:700;line-height:1.3}.cert-issuer{color:var(--ink-secondary);font-size:.8rem}.cert-issuer strong{color:var(--ink-primary)}.cert-type-pill{color:var(--accent-terracotta);font-family:var(--font-mono);font-size:.68rem;margin-top:4px}@media (max-width:900px){.edu-cert-grid{gap:36px;grid-template-columns:1fr}}.resume-cta-section{background-color:var(--bg-primary);padding:40px 0 80px}.resume-cta-card{grid-gap:40px;align-items:center;background:linear-gradient(135deg,#fff 0,var(--bg-secondary) 100%);border:1.5px solid var(--border-medium);border-radius:16px;box-shadow:var(--shadow-md);display:grid;gap:40px;grid-template-columns:1.35fr .85fr;padding:48px;position:relative}.resume-cta-content{align-items:flex-start;display:flex;flex-direction:column}.resume-cta-title{color:var(--ink-primary);font-family:var(--font-serif);font-size:2.1rem;font-weight:600;line-height:1.25;margin:14px 0 12px}.resume-cta-title em{color:var(--accent-terracotta);font-style:italic}.resume-cta-description{color:var(--ink-secondary);font-size:.96rem;line-height:1.6;margin-bottom:20px;max-width:580px}.resume-cta-highlights{display:flex;flex-wrap:wrap;gap:16px}.resume-hl-item{align-items:center;color:var(--ink-secondary);display:flex;font-family:var(--font-mono);font-size:.74rem;font-weight:500;gap:6px}.hl-icon{color:var(--accent-terracotta)}.resume-cta-actions{display:flex;flex-direction:column;gap:12px;justify-content:center}.resume-download-main-btn{font-size:1rem;padding:16px 24px;width:100%}.resume-preview-btn{background-color:var(--bg-card);padding:12px 24px;width:100%}@media (max-width:1024px){.resume-cta-card{gap:28px;grid-template-columns:1fr;padding:32px 24px}}.contact-section{background-color:var(--bg-primary)}.contact-main-grid{grid-gap:36px;align-items:stretch;display:grid;gap:36px;grid-template-columns:1.2fr .95fr}.contact-hero-card{align-items:flex-start;background-color:var(--bg-card);border:1px solid var(--border-medium);border-radius:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:40px;transition:all .3s ease}.contact-hero-card:hover{border-color:var(--border-accent);box-shadow:var(--shadow-md)}.contact-icon-bubble{align-items:center;background-color:var(--bg-accent-subtle);border:1px solid var(--accent-border);border-radius:12px;display:flex;height:54px;justify-content:center;margin-bottom:20px;width:54px}.contact-card-eyebrow,.hero-mail-icon{color:var(--accent-terracotta)}.contact-card-eyebrow{font-family:var(--font-mono);font-size:.76rem;font-weight:600;letter-spacing:.08em;margin-bottom:8px;text-transform:uppercase}.contact-hero-headline{color:var(--ink-primary);font-family:var(--font-serif);font-size:1.9rem;font-weight:600;line-height:1.25;margin-bottom:14px;word-break:break-all}.contact-hero-text{color:var(--ink-secondary);flex-grow:1;font-size:.94rem;line-height:1.6;margin-bottom:32px}.contact-hero-actions{display:flex;flex-wrap:wrap;gap:12px;width:100%}.contact-send-btn{flex:1 1;min-width:160px}.copy-email-btn{background-color:var(--bg-primary)}.text-green{color:#2e7d32}.contact-channels-column{display:flex;flex-direction:column;gap:14px}.channel-card{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:var(--shadow-sm);color:var(--ink-primary);display:flex;gap:16px;padding:18px 22px;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1)}.channel-card:not(.location-static-card):hover{background-color:var(--bg-card-hover);border-color:var(--accent-border);box-shadow:var(--shadow-md);transform:translateX(4px)}.channel-icon-box{align-items:center;background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:8px;color:var(--accent-terracotta);display:flex;flex-shrink:0;height:42px;justify-content:center;width:42px}.channel-info{display:flex;flex-direction:column;flex-grow:1;gap:2px}.channel-label{color:var(--ink-muted);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.channel-value{color:var(--ink-primary);font-family:var(--font-sans);font-size:.95rem;font-weight:600}.channel-arrow{color:var(--ink-light);transition:transform .2s ease,color .2s ease}.channel-card:hover .channel-arrow{color:var(--accent-terracotta);transform:translate(2px,-2px)}.location-static-card{cursor:default}@media (max-width:900px){.contact-main-grid{gap:28px;grid-template-columns:1fr}}@media (max-width:640px){.contact-hero-card{padding:24px 20px}.contact-hero-headline{font-size:1.5rem}.contact-hero-actions{flex-direction:column}.contact-send-btn,.copy-email-btn{width:100%}}.site-footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-medium);padding:80px 0 40px;position:relative}.footer-top-row{grid-gap:48px;display:grid;gap:48px;grid-template-columns:1.5fr 1fr 1fr;margin-bottom:60px}.footer-brand-col{align-items:flex-start;display:flex;flex-direction:column}.footer-brand-name{color:var(--ink-primary);cursor:pointer;font-family:var(--font-serif);font-size:1.45rem;font-weight:600;margin-bottom:12px;transition:color .2s ease}.footer-brand-name:hover{color:var(--accent-terracotta)}.footer-tagline{color:var(--ink-secondary);font-size:.88rem;line-height:1.6;margin-bottom:16px;max-width:380px}.footer-location-tag{color:var(--ink-muted);font-family:var(--font-mono);font-size:.74rem}.footer-heading{color:var(--accent-terracotta);font-family:var(--font-mono);font-size:.78rem;font-weight:700;letter-spacing:.08em;margin-bottom:20px;text-transform:uppercase}.footer-links-grid{grid-gap:10px 16px;display:grid;gap:10px 16px;grid-template-columns:1fr 1fr}.footer-links-grid button{background:#0000;border:none;color:var(--ink-secondary);cursor:pointer;font-family:var(--font-sans);font-size:.85rem;padding:2px 0;text-align:left;transition:color .2s ease}.footer-links-grid button:hover{color:var(--accent-terracotta)}.footer-channel-links{display:flex;flex-direction:column;gap:12px}.footer-social-link{align-items:center;color:var(--ink-secondary);display:inline-flex;font-size:.85rem;gap:8px;text-decoration:none;transition:color .2s ease}.footer-social-link:hover{color:var(--accent-terracotta)}.footer-bottom-row{align-items:center;border-top:1px solid var(--border-subtle);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-top:32px}.footer-copyright{color:var(--ink-muted);font-family:var(--font-mono);font-size:.82rem}.btn-back-to-top{align-items:center;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;color:var(--ink-primary);cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.82rem;font-weight:600;gap:6px;padding:8px 14px;transition:all .2s ease}.btn-back-to-top:hover{background-color:var(--bg-primary);border-color:var(--border-medium);color:var(--accent-terracotta);transform:translateY(-2px)}@media (max-width:900px){.footer-top-row{gap:36px;grid-template-columns:1fr}}.portfolio-layout{background-color:var(--bg-primary);color:var(--ink-primary);display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;width:100%}.portfolio-main{flex:1 1;width:100%}.portfolio-main>section{position:relative;width:100%}.section-divider{margin:0 auto;max-width:var(--max-width);padding:0 28px;width:100%}.section-divider-line{background:linear-gradient(90deg,#0000 0,var(--border-subtle) 20%,var(--border-subtle) 80%,#0000 100%);height:1px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#fbf9f5;--bg-secondary:#f4efea;--bg-card:#fff;--bg-card-hover:#fcfaf7;--bg-tag:#efe9e1;--bg-accent-subtle:#c34a2612;--ink-primary:#1c1815;--ink-secondary:#544e47;--ink-muted:#827b73;--ink-light:#a8a096;--accent-terracotta:#c34a26;--accent-terracotta-hover:#a73a18;--accent-amber:#b8782e;--accent-border:#c34a2640;--border-subtle:#2b262114;--border-medium:#2b262124;--border-accent:#c34a2659;--shadow-sm:0 2px 8px #2b26210a;--shadow-md:0 6px 20px #2b26210f;--shadow-lg:0 16px 36px #2b262114;--shadow-hover:0 12px 30px #c34a261f;--font-serif:"DM Serif Display",Georgia,"Times New Roman",serif;--font-sans:"Plus Jakarta Sans","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono",monospace;--max-width:1240px;--header-height:76px}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;scroll-behavior:smooth}body{background-color:#fbf9f5;background-color:var(--bg-primary);color:#1c1815;color:var(--ink-primary);font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-sans);line-height:1.65;overflow-x:hidden;position:relative}body:before{background-image:radial-gradient(#2b262105 1px,#0000 0);background-size:24px 24px;content:"";height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:9999}#root{display:flex;flex-direction:column;min-height:100vh}.container{margin:0 auto;max-width:1240px;max-width:var(--max-width);padding:0 28px;width:100%}.section{padding:100px 0;position:relative}.section-secondary{background-color:#f4efea;background-color:var(--bg-secondary)}.eyebrow{align-items:center;color:#c34a26;color:var(--accent-terracotta);display:inline-flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:.8rem;font-weight:600;gap:8px;letter-spacing:.12em;margin-bottom:12px;text-transform:uppercase}.eyebrow:before{background-color:#c34a26;background-color:var(--accent-terracotta);content:"";display:inline-block;height:1.5px;width:18px}.section-header{margin-bottom:56px}.section-header.center{text-align:center}.section-header.center .eyebrow:before{display:none}.section-title{color:#1c1815;color:var(--ink-primary);font-family:"DM Serif Display",Georgia,Times New Roman,serif;font-family:var(--font-serif);font-size:2.75rem;font-weight:400;letter-spacing:-.02em;line-height:1.15}.section-title em{color:#c34a26;color:var(--accent-terracotta);font-style:italic}.section-subtitle{color:#544e47;color:var(--ink-secondary);font-size:1.125rem;line-height:1.6;margin-top:14px;max-width:680px}.section-header.center .section-subtitle{margin-left:auto;margin-right:auto}.btn{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:inline-flex;font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-family:var(--font-sans);font-size:.95rem;font-weight:600;gap:10px;justify-content:center;padding:14px 28px;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1)}.btn-primary{background-color:#1c1815;background-color:var(--ink-primary);border-color:#1c1815;border-color:var(--ink-primary);color:#fff}.btn-primary:hover{box-shadow:0 8px 24px #c34a2640;transform:translateY(-2px)}.btn-accent,.btn-primary:hover{background-color:#c34a26;background-color:var(--accent-terracotta);border-color:#c34a26;border-color:var(--accent-terracotta)}.btn-accent{color:#fff}.btn-accent:hover{background-color:#a73a18;background-color:var(--accent-terracotta-hover);border-color:#a73a18;border-color:var(--accent-terracotta-hover);box-shadow:0 8px 24px #c34a264d;transform:translateY(-2px)}.btn-outline{background-color:initial;border-color:#2b262124;border-color:var(--border-medium);color:#1c1815;color:var(--ink-primary)}.btn-outline:hover{background-color:#fff;background-color:var(--bg-card);border-color:#1c1815;border-color:var(--ink-primary);box-shadow:0 2px 8px #2b26210a;box-shadow:var(--shadow-sm);transform:translateY(-2px)}.btn-ghost{background-color:initial;color:#1c1815;color:var(--ink-primary);padding:10px 16px}.btn-ghost:hover{color:#c34a26;color:var(--accent-terracotta)}.badge{align-items:center;border-radius:4px;display:inline-flex;font-family:JetBrains Mono,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:600;gap:6px;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.badge-terracotta{background-color:#c34a2612;background-color:var(--bg-accent-subtle);border:1px solid #c34a2640;border:1px solid var(--accent-border);color:#c34a26;color:var(--accent-terracotta)}.badge-neutral{background-color:#efe9e1;background-color:var(--bg-tag);border:1px solid #2b262114;border:1px solid var(--border-subtle);color:#544e47;color:var(--ink-secondary)}.badge-live{background-color:#2e7d3214;border:1px solid #2e7d3233;color:#2e7d32}.badge-live:before{background-color:#2e7d32;border-radius:50%;content:"";display:inline-block;height:6px;width:6px}.editorial-card{background-color:#fff;background-color:var(--bg-card);border:1px solid #2b262114;border:1px solid var(--border-subtle);border-radius:12px;box-shadow:0 2px 8px #2b26210a;box-shadow:var(--shadow-sm);padding:32px;transition:all .3s cubic-bezier(.16,1,.3,1)}.editorial-card:hover{border-color:#2b262124;border-color:var(--border-medium);box-shadow:0 6px 20px #2b26210f;box-shadow:var(--shadow-md);transform:translateY(-3px)}.fade-in-section{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.fade-in-section.animate-in{opacity:1;transform:translateY(0)}@media (max-width:1024px){.section-title{font-size:2.35rem}.section{padding:80px 0}}@media (max-width:768px){.container{padding:0 20px}.section{padding:64px 0}.section-title{font-size:2rem}.section-subtitle{font-size:1rem}.section-header{margin-bottom:40px}}
/*# sourceMappingURL=main.0114ed15.css.map*/