:root{--bg: #0c0f14;--bg-elevated: #13171f;--bg-card: rgba(255, 255, 255, .03);--border: rgba(255, 255, 255, .08);--text: rgba(255, 255, 255, .92);--text-muted: rgba(255, 255, 255, .6);--accent: #f59e0b;--accent-soft: rgba(245, 158, 11, .15);--accent-hover: #fbbf24;--font-heading: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--radius: 12px;--radius-lg: 20px;--transition: .2s ease;--animate-duration: .5s;--animate-ease: cubic-bezier(.22, 1, .36, 1);--content-max: 1100px;--section-padding-x: 1.5rem;--section-padding-y: 5rem;--hero-padding-y: 4rem}html.theme-transition,html.theme-transition *{transition-property:background-color,color,border-color,box-shadow,fill,stroke,opacity!important;transition-duration:.32s!important;transition-timing-function:cubic-bezier(.22,1,.36,1)!important}@media (prefers-reduced-motion: reduce){html.theme-transition,html.theme-transition *{transition:none!important}}[data-theme=light]{--bg: #f8fafc;--bg-elevated: #f1f5f9;--bg-card: rgba(0, 0, 0, .04);--border: rgba(0, 0, 0, .1);--text: #0f172a;--text-muted: #475569;--accent: #ea580c;--accent-soft: rgba(234, 88, 12, .12);--accent-hover: #c2410c}[data-theme=light] .hero-blob{opacity:.25}.section-animate{opacity:0;transform:translateY(28px);transition:opacity var(--animate-duration) var(--animate-ease),transform var(--animate-duration) var(--animate-ease)}.section-animate.in-view{opacity:1;transform:translateY(0)}.section-animate .animate-stagger>*{opacity:0;transform:translateY(16px);transition:opacity var(--animate-duration) var(--animate-ease),transform var(--animate-duration) var(--animate-ease)}.section-animate.in-view .animate-stagger>*:nth-child(1){transition-delay:.05s}.section-animate.in-view .animate-stagger>*:nth-child(2){transition-delay:.1s}.section-animate.in-view .animate-stagger>*:nth-child(3){transition-delay:.15s}.section-animate.in-view .animate-stagger>*:nth-child(4){transition-delay:.2s}.section-animate.in-view .animate-stagger>*:nth-child(5){transition-delay:.25s}.section-animate.in-view .animate-stagger>*:nth-child(6){transition-delay:.3s}.section-animate.in-view .animate-stagger>*:nth-child(n){opacity:1;transform:translateY(0)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}.skip-link{position:absolute;top:-100px;left:1rem;z-index:9999;padding:.75rem 1.25rem;background:var(--accent);color:#0c0f14;font-weight:600;border-radius:var(--radius);transition:top var(--transition)}.skip-link:focus{top:1rem;outline:2px solid var(--accent-hover);outline-offset:2px}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;padding-top:72px;overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}.section{max-width:var(--content-max);margin:0 auto;padding:0 var(--section-padding-x);min-width:0}.section-title{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--text);text-align:center;margin-bottom:.5rem}.section-subtitle{text-align:center;font-size:1.05rem;color:var(--text-muted);margin-bottom:2.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:var(--font-body);font-size:.95rem;font-weight:600;border-radius:var(--radius);transition:all var(--transition);cursor:pointer;border:none}.btn-primary{background:var(--accent);color:#0c0f14}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.hero{position:relative;min-height:calc(100vh - 72px);display:flex;align-items:center;justify-content:center;padding:var(--hero-padding-y) var(--section-padding-x);overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,var(--accent-soft),transparent),radial-gradient(ellipse 60% 40% at 100% 50%,rgba(99,102,241,.08),transparent),radial-gradient(ellipse 50% 30% at 0% 80%,rgba(245,158,11,.06),transparent);pointer-events:none}.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;pointer-events:none;animation:blobFloat 18s ease-in-out infinite}.hero-blob-1{width:min(60vw,400px);height:min(60vw,400px);background:var(--accent);top:-10%;left:-10%;animation-delay:0s}.hero-blob-2{width:min(50vw,320px);height:min(50vw,320px);background:#6366f199;bottom:-5%;right:-5%;animation-delay:-6s}.hero-blob-3{width:min(40vw,260px);height:min(40vw,260px);background:var(--accent-hover);top:50%;left:50%;animation:blobFloatCenter 18s ease-in-out infinite;animation-delay:-12s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}@keyframes blobFloatCenter{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.hero-inner{position:relative;text-align:center;max-width:720px}.hero-label,.hero-title-line{animation:heroFadeUp .6s var(--animate-ease) both}.hero-title-line:nth-child(1){animation-delay:.08s}.hero-title-line:nth-child(2){animation-delay:.16s}.hero-tagline{animation:heroFadeUp .6s var(--animate-ease) both;animation-delay:.28s}.hero-cta{animation:heroFadeUp .6s var(--animate-ease) both;animation-delay:.38s}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-label{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin-bottom:1rem}.hero-title{font-family:var(--font-heading);font-weight:800;font-size:clamp(3rem,12vw,5.5rem);line-height:1.05;letter-spacing:-.03em;color:var(--text);margin-bottom:1.25rem}.hero-title-line{display:block}.hero-title-accent{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-tagline{font-size:clamp(1rem,2vw,1.2rem);color:var(--text-muted);max-width:480px;margin:0 auto 2rem;line-height:1.6}.hero-cta{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-metrics{margin-top:2.5rem;font-size:.9rem;color:var(--text-muted);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem}.hero-cta-pill{display:inline-block;padding:.35rem .75rem;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:.85rem;border-radius:999px;border:1px solid var(--accent);transition:background var(--transition),color var(--transition)}.hero-cta-pill:hover{background:var(--accent);color:#0c0f14}.hero-metrics-dot{opacity:.5;-webkit-user-select:none;user-select:none}.btn-glow{position:relative}.btn-glow:hover{box-shadow:0 0 24px #f59e0b59}.btn-secondary.btn-glow:hover{box-shadow:0 0 20px #f59e0b33}.section-divider{height:1px;max-width:var(--content-max);margin:2rem auto;padding:0 var(--section-padding-x);background:linear-gradient(90deg,transparent,var(--border),transparent);opacity:.5}.projectContainer{padding:var(--section-padding-y) var(--section-padding-x);min-width:0;overflow-x:hidden}.filter{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.filter label{font-size:.9rem;color:var(--text-muted)}.filter select{padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:.95rem;cursor:pointer}.filter-pills{display:flex;gap:.5rem;margin-bottom:2rem}.filter-pill{padding:.5rem 1rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition)}.filter-pill:hover{color:var(--text);border-color:#ffffff26}.filter-pill.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.projects-loading,.projects-empty{text-align:center;color:var(--text-muted);padding:3rem 1rem}.projectTools{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.projectTool{font-size:.75rem;padding:.25rem .5rem;background:var(--bg-elevated);border-radius:6px;color:var(--text-muted)}.projectsGrid{display:grid;gap:clamp(1rem,3vw,1.5rem);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.projectCard{position:relative;display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:0;overflow:hidden;will-change:transform;transform:translateZ(0);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease}.projectCard:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .22s ease;background:radial-gradient(1200px 500px at 20% -10%,rgba(245,158,11,.25),transparent 55%),radial-gradient(900px 450px at 110% 20%,rgba(99,102,241,.18),transparent 55%)}.projectFeaturedBadge{position:absolute;top:.75rem;right:.75rem;z-index:2;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;background:var(--accent);color:#0c0f14;border-radius:6px}.projectStatusBadge{position:absolute;top:.75rem;left:.75rem;z-index:2;font-size:.75rem;font-weight:700;padding:.25rem .55rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.projectStatusBadge.is-in-progress{background:#f59e0b24;border-color:#f59e0b47;color:var(--accent)}.projectCard:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 26px 70px #0000006b;border-color:#f59e0b4d}.projectCard:hover:before{opacity:1}.projectCard:focus-within{transform:translateY(-6px);box-shadow:0 24px 60px #0006;border-color:#f59e0b4d}.projectCard:focus-within:before{opacity:1}.projectCard h3{font-family:var(--font-heading);font-size:1.2rem;color:var(--text);margin-bottom:.5rem}.projectCard h3:hover{color:var(--accent)}.projectImageWrap{width:100%;min-width:0;aspect-ratio:16 / 10;background:var(--bg-elevated);overflow:hidden;flex-shrink:0;position:relative}.projectImageWrap:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .22s ease;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.08) 25%,transparent 50%),radial-gradient(900px 380px at 30% 20%,rgba(245,158,11,.18),transparent 60%)}.projectImage{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;max-width:100%;transform:scale(1.001);transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .32s ease}.projectCard:hover .projectImage{transform:scale(1.06);filter:saturate(1.05) contrast(1.02)}.projectCard:hover .projectImageWrap:after{opacity:1}.projectImagePlaceholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-soft) 0%,rgba(99,102,241,.1) 100%)}.projectImagePlaceholder span{font-family:var(--font-heading);font-size:3rem;font-weight:800;color:var(--accent);opacity:.9}.projectContent{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:0}.projectDate{font-size:.8rem;color:var(--text-muted)}.projectImpact{font-size:.85rem;color:var(--accent);margin:.25rem 0 0;font-weight:500}.projectCaseStudyWrap{margin-top:.75rem}.projectCaseStudyToggle{background:none;border:none;color:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer;padding:.25rem 0;text-align:left}.projectCaseStudyToggle:hover{text-decoration:underline}.projectCaseStudy{margin-top:.75rem;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.projectCaseStudyItem{margin-bottom:.75rem}.projectCaseStudyItem:last-child{margin-bottom:0}.projectCaseStudyItem strong{display:block;font-size:.8rem;color:var(--accent);margin-bottom:.25rem}.projectCaseStudyItem p{margin:0;font-size:.9rem;line-height:1.5;color:var(--text-muted)}.projectContent p{font-size:.95rem;color:var(--text-muted);line-height:1.5;flex:1}.projectLinks{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.projectLink{display:inline-block;padding:.4rem .75rem;font-size:.85rem;font-weight:600;border-radius:6px;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease,border-color .18s ease}.projectLinkPrimary{background:var(--accent);color:#0c0f14}.projectLinkPrimary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 10px 22px #f59e0b38}.projectLinkSecondary{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.projectLinkSecondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}@media (prefers-reduced-motion: reduce){.projectCard,.projectCard:before,.projectImage,.projectImageWrap:after,.projectLink{transition:none!important}.projectCard:hover,.projectCard:focus-within{transform:none}.projectCard:hover .projectImage{transform:none;filter:none}}.skills-section{padding:var(--section-padding-y) var(--section-padding-x);background:var(--bg-elevated)}.skills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:clamp(1rem,2.5vw,1.5rem);max-width:min(800px,100%);margin:0 auto;text-align:center}.skills-title{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--text);text-align:center;margin-bottom:2rem}.skill-card{background:var(--bg-card);border:1px solid var(--border);padding:1.25rem;border-radius:var(--radius);transition:transform var(--transition),border-color var(--transition)}.skill-card:hover{transform:translateY(-4px);border-color:#f59e0b40}.tooltip-container{position:relative;display:inline-block;cursor:default}.skill-icon{margin-bottom:.75rem;color:var(--accent)}.skill-name{font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--text)}.skill-level{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.tooltip-text{visibility:hidden;opacity:0;background:var(--bg-elevated);color:var(--text);padding:.4rem .6rem;border-radius:6px;position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-6px);white-space:nowrap;font-size:.75rem;z-index:10;transition:opacity var(--transition);border:1px solid var(--border)}.tooltip-container:hover .tooltip-text{visibility:visible;opacity:1}@media (max-width: 480px){:root{--section-padding-x: 1rem;--section-padding-y: 3.5rem;--hero-padding-y: 2.5rem}body{padding-top:56px}.hero-title{font-size:clamp(2.25rem,10vw,3rem)}.projectContent{padding:1rem}.projectLink,.filter-pill{min-height:44px;padding:.5rem 1rem}}@media (min-width: 768px){:root{--section-padding-y: 4.5rem}}@media (min-width: 1024px){:root{--content-max: 1280px;--section-padding-x: 2rem;--section-padding-y: 5.5rem;--hero-padding-y: 5rem}.projectsGrid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (min-width: 1280px){:root{--content-max: 1400px;--section-padding-x: 2.5rem;--section-padding-y: 6rem;--hero-padding-y: 5.5rem}.section-title{font-size:clamp(2rem,3vw,2.75rem)}.hero-tagline{font-size:1.2rem}}@media (hover: none) and (pointer: coarse){.btn,.projectLink,.filter-pill,.navbar-menu a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.navbar-menu a{padding:.5rem 1rem}}@media print{.skip-link,.navbar,.hero-cta,.hero-metrics,.hero-blob,.section-divider,.filter,.footer-coffee,.btn,.projectLinks{display:none!important}body{padding-top:0;background:#fff;color:#111}.section,.projectContainer,.about-container{max-width:100%}a[href^=http]:after{content:" (" attr(href) ")";font-size:.85em;color:#666}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0c0f14d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}[data-theme=light] .navbar{background:#f8fafce6}.navbar-container{max-width:var(--content-max, 1100px);margin:0 auto;padding:.75rem var(--section-padding-x, 1.5rem);display:flex;align-items:center;justify-content:space-between}.navbar-logo{font-family:var(--font-heading);font-weight:700;font-size:1.35rem;color:var(--text);text-decoration:none;letter-spacing:-.02em;transition:color var(--transition)}.navbar-logo:hover{color:var(--accent)}.navbar-toggle{display:none;flex-direction:column;justify-content:center;gap:6px;width:32px;height:32px;padding:0;background:none;border:none;cursor:pointer;color:var(--text)}.navbar-toggle span{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.navbar-toggle span:nth-child(1){transform:none}.navbar-toggle span:nth-child(2){opacity:1}.navbar-toggle span:nth-child(3){transform:none}.navbar-toggle span.open:nth-child(1){transform:translateY(8px) rotate(45deg)}.navbar-toggle span.open:nth-child(2){opacity:0}.navbar-toggle span.open:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.navbar-right{display:flex;align-items:center;gap:1.25rem}.navbar-theme-toggle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;padding:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:1.1rem;transition:border-color var(--transition),background var(--transition)}.navbar-theme-toggle:hover{border-color:var(--accent);background:var(--accent-soft)}.navbar-menu{list-style:none;display:flex;gap:2rem;margin:0;padding:0}.navbar-menu a{position:relative;font-weight:500;font-size:.95rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition)}.navbar-menu a:hover{color:var(--accent)}.navbar-menu a.active{color:var(--accent);font-weight:600}.navbar-menu a.active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--accent);border-radius:2px}@media (max-width: 768px){.navbar-toggle{display:flex}.navbar-menu{position:fixed;top:53px;left:0;right:0;bottom:0;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:2rem;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.navbar-menu.open{opacity:1;visibility:visible}.navbar-menu a{font-size:1.25rem}}.about{padding:var(--section-padding-y, 5rem) var(--section-padding-x, 1.5rem)}.about-container{display:grid;grid-template-columns:1fr auto;gap:clamp(2rem,4vw,3rem);align-items:start;max-width:min(1000px,100%);margin:0 auto}.about-container.no-photo{grid-template-columns:1fr}.about-text{min-width:0}.about-title{font-family:var(--font-heading);font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;color:var(--text);margin-bottom:.5rem}.about-career-focus{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:1rem}.about-description{font-size:1.05rem;line-height:1.7;color:var(--text-muted);margin-bottom:1rem}.about-description:last-of-type{margin-bottom:1.5rem}.about-what-i-do{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.about-bullets{margin:0 0 1rem 1.25rem;padding:0;font-size:1rem;line-height:1.7;color:var(--text-muted)}.about-bullets li{margin-bottom:.35rem}.cv-link{display:inline-block}.cv-button{display:inline-block;padding:.75rem 1.5rem;background:var(--accent);color:#0c0f14;font-weight:600;font-size:.95rem;border-radius:var(--radius);transition:background var(--transition),transform var(--transition)}.cv-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.about-visual{flex-shrink:0}.about-img-wrap{width:180px;height:180px;border-radius:50%;overflow:hidden;border:3px solid var(--border);background:var(--bg-elevated);box-shadow:0 12px 32px #0000004d;position:relative}.about-img{width:100%;height:100%;object-fit:cover;object-position:44% 46%;display:block;transform:scale(2.35);transform-origin:center}@media (max-width: 768px){.about-container{grid-template-columns:1fr;gap:2rem;text-align:center}.about-visual{order:-1;justify-self:center}.about-img-wrap{width:140px;height:140px}.cv-link{display:block;text-align:center}}.certs-section{padding:var(--section-padding-y, 5rem) var(--section-padding-x, 1.5rem);background:var(--bg-elevated)}.certs-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.95rem}.certs-empty code{background:var(--bg-card);padding:.2rem .5rem;border-radius:6px;font-size:.85em}.certs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:clamp(1rem,3vw,1.5rem);max-width:min(900px,100%);margin:0 auto}.cert-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.cert-card:hover{transform:translateY(-3px);border-color:#f59e0b33;box-shadow:0 12px 28px #0003}.cert-card--in-progress{border-color:#f59e0b40}.cert-image-wrap{aspect-ratio:16 / 10;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;padding:1rem}.cert-image{max-width:100%;max-height:100%;object-fit:contain}.cert-initial{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--accent);opacity:.9;display:none}.cert-initial.visible{display:block}.cert-content{padding:1.25rem}.cert-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.35rem}.cert-issuer{font-size:.9rem;color:var(--text-muted);margin-bottom:.5rem}.cert-progress-wrap{margin-top:.5rem}.cert-progress-bar-wrap{height:6px;background:var(--bg-elevated);border-radius:999px;overflow:hidden;margin-bottom:.35rem}.cert-progress-bar{height:100%;background:var(--accent);border-radius:999px;transition:width var(--transition)}.cert-progress-pct{font-size:.85rem;font-weight:500;color:var(--accent);margin-bottom:.2rem}.cert-estimated{font-size:.8rem;color:var(--text-muted);margin:0}.cert-date{font-size:.85rem;color:var(--text-muted);margin-bottom:.25rem}.cert-credential-id{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.cert-skills{font-size:.8rem;color:var(--text-muted);margin-bottom:.75rem}.cert-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.cert-link{font-size:.9rem;font-weight:500}#contact{padding:var(--section-padding-y, 5rem) var(--section-padding-x, 1.5rem);background:var(--bg-elevated)}.contact-container{max-width:min(520px,100%);margin:0 auto;background:var(--bg-card);border:1px solid var(--border);padding:clamp(1.5rem,4vw,2rem);border-radius:var(--radius-lg);box-shadow:0 20px 40px #0003}.contact-heading{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,1.75rem);font-weight:700;color:var(--text);text-align:center;margin-bottom:.75rem}.contact-intro{text-align:center;font-size:.95rem;color:var(--text-muted);margin-bottom:1.5rem;line-height:1.5}.contact-intro a{color:var(--accent);text-decoration:none}.contact-intro a:hover{text-decoration:underline}.contact-container form label{display:block;margin:1.25rem 0 .4rem;font-weight:500;font-size:.9rem;color:var(--text-muted)}.contact-container form input,.contact-container form textarea{width:100%;padding:.75rem 1rem;background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);transition:border-color var(--transition)}.contact-container form input:focus,.contact-container form textarea:focus{border-color:var(--accent);outline:none}.contact-container form textarea{resize:vertical;min-height:120px}.contact-container form button[type=submit]{width:100%;margin-top:1.5rem;padding:.85rem;background:var(--accent);color:#0c0f14;border:none;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:background var(--transition),transform var(--transition)}.contact-container form button[type=submit]:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.contact-container form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.success-message{text-align:center;padding:1.5rem}.success-message h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--accent);margin-bottom:.5rem}.success-message p{color:var(--text-muted);font-size:.95rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.contact-container{animation:fadeIn .4s ease-out}.footer{background:var(--bg);color:var(--text);padding:2.5rem var(--section-padding-x, 1.5rem);border-top:1px solid var(--border)}.footer-top{max-width:var(--content-max, 1100px);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.footer-left,.footer-right{flex:1 1 280px}.footer-left h3,.footer-right h3{font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.footer-left p{font-size:.95rem;color:var(--text-muted);line-height:1.6;max-width:320px}.footer-socials{display:flex;gap:1rem}.footer-socials a{color:var(--text-muted);font-size:1.35rem;transition:color var(--transition),transform var(--transition)}.footer-socials a:hover{color:var(--accent);transform:translateY(-2px)}.footer-coffee{display:inline-block;margin-top:1rem;font-size:.9rem;font-weight:500;color:var(--accent);text-decoration:none;transition:color var(--transition),transform var(--transition)}.footer-coffee:hover{color:var(--accent-hover);transform:translateY(-1px)}.footer-bottom{max-width:var(--content-max, 1100px);margin:0 auto;text-align:center;margin-top:1.5rem;font-size:.85rem;color:var(--text-muted)}.footer-bottom p+p{margin-top:.5rem}.footer-a11y{font-size:.8rem;opacity:.85}
