@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--blue:#2563eb;--sky:#60a5fa;--background:#f8fafc;--card:#fff;--purple:#8b5cf6;--pink:#ec4899;--dark:#0f172a;--secondary:#475569;--line:#e2e8f0;--soft-blue:#eff6ff;--success:#14b8a6;--shadow:0 18px 50px #2563eb1a;--small-shadow:0 8px 26px #0f172a12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 9% 8%, #60a5fa38, transparent 27rem), radial-gradient(circle at 92% 18%, #8b5cf624, transparent 28rem), var(--background);min-width:320px;color:var(--dark);margin:0;font-family:Inter,Arial,sans-serif;font-size:15px}body.theme-dark{--background:#07111f;--card:#101c2f;--dark:#f8fafc;--secondary:#b8c4d6;--line:#26364f;--soft-blue:#13264a;--shadow:0 18px 55px #0000004d;--small-shadow:0 8px 30px #00000038}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.skip-link{z-index:100;background:var(--dark);color:var(--card);border-radius:.75rem;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.app-shell{background:color-mix(in srgb, var(--card) 78%, transparent);width:min(1540px,100% - 42px);min-height:calc(100dvh - 36px);box-shadow:none;border:0;border-radius:22px;flex-direction:column;margin:18px auto;display:flex;overflow:visible}.app-shell>main{flex:1 0 auto}.app-shell>[data-site-footer]{flex:none;margin-top:auto}[data-site-header]{z-index:50;position:sticky;top:0}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--card) 92%, transparent);z-index:1;border-radius:21px 21px 0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;min-height:72px;padding:0 clamp(1.1rem,3vw,3.25rem);display:grid;position:relative}.brand{grid-column:1;align-items:center;display:inline-flex}.brand-logo{object-fit:cover;border-radius:7px;width:78px;height:58px}.brand-logo-dark,.theme-dark .brand-logo-light{display:none}.theme-dark .brand-logo-dark{display:block}.site-nav{grid-column:2;justify-self:center;align-items:center;gap:clamp(1.2rem,3vw,3rem);display:flex}.site-nav a{color:var(--secondary);padding:1.7rem 0;font-size:.8rem;font-weight:600;position:relative}.site-nav a:hover,.site-nav a.active{color:var(--blue)}.site-nav a.active:after{content:"";background:linear-gradient(90deg, var(--blue), var(--sky));border-radius:4px;height:3px;position:absolute;bottom:.55rem;left:20%;right:20%}.menu-close,.nav-backdrop,.studio-nav-link{display:none}.header-actions{grid-column:3;justify-self:end;align-items:center;gap:.75rem;display:flex}.owner-link{background:var(--soft-blue);min-height:36px;color:var(--blue);border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.68rem;font-weight:800;display:inline-flex}.owner-link:before,.studio-nav-link:before,.footer-owner-link:before{content:"🔒";font-size:.78em;line-height:1}.icon-button,.menu-button{border:1px solid var(--line);background:var(--card);width:40px;height:40px;color:var(--dark);cursor:pointer;box-shadow:var(--small-shadow);border-radius:50%;place-items:center;display:grid}.menu-button{display:none}.button{border:1px solid var(--line);background:var(--card);min-height:42px;color:var(--dark);cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:.55rem;padding:.72rem 1.3rem;font-size:.78rem;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex}.button:hover{box-shadow:var(--small-shadow);transform:translateY(-2px)}.button.primary{color:#fff;background:linear-gradient(100deg, var(--blue), #0f6cf4);border-color:#0000;box-shadow:0 12px 25px #2563eb40}.button.compact{border-radius:999px;min-height:38px;padding:.55rem 1.05rem}.button.purple{color:#fff;background:linear-gradient(110deg, var(--sky), var(--purple));border-color:#0000}.resume-download{flex:none;display:inline-flex;position:relative}.resume-format-menu{z-index:90;border:1px solid var(--line);background:var(--card);width:210px;box-shadow:var(--shadow);border-radius:13px;padding:.45rem;display:none;position:absolute;top:calc(100% + .5rem);right:0}.resume-download.open .resume-format-menu{display:grid}.resume-format-option{color:var(--dark);border-radius:9px;justify-content:space-between;align-items:center;gap:.7rem;padding:.72rem .8rem;font-size:.72rem;font-weight:700;display:flex}.resume-format-option:hover,.resume-format-option:focus-visible{background:var(--soft-blue);outline:none}.resume-format-option small{color:var(--blue);letter-spacing:.08em;font-size:.58rem}.page-main{padding:clamp(1.5rem,3vw,3rem)}.page-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.6rem;display:flex}.page-heading>div{flex:auto;width:100%;min-width:0}.page-heading .eyebrow,.hero-eyebrow{color:var(--blue);margin:0 0 .55rem;font-size:.72rem;font-weight:700}.page-heading h1,.hero-copy h1{letter-spacing:-.045em;margin:0;line-height:1.02}.page-heading h1{text-wrap:pretty;max-width:none;font-size:clamp(2.1rem,4vw,3.8rem)}.page-heading p{color:var(--secondary);text-wrap:pretty;max-width:none;margin:.8rem 0 0;line-height:1.7}.accent-text{color:var(--blue)}.section-spaced{margin-top:1.2rem}.title-spaced{margin-top:1rem}.card{background:color-mix(in srgb, var(--card) 94%, transparent);border:1px solid var(--line);box-shadow:var(--small-shadow);border-radius:18px}.section-title{justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;display:flex}.section-title h2{margin:0;font-size:1.05rem}.section-title a{color:var(--blue);font-size:.72rem;font-weight:700}.home-main{padding:14px clamp(1rem,3vw,3rem) 24px}.hero-grid{grid-template-columns:minmax(0,.93fr) minmax(440px,1.07fr);align-items:stretch;gap:2rem;display:grid}.hero-copy{align-self:center;padding:clamp(1.2rem,2.4vw,2.2rem) clamp(.25rem,2vw,1.5rem)}.hero-chip{color:var(--sky);background:var(--soft-blue);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .8rem;font-size:.72rem;font-weight:600;display:inline-flex}.hero-chip:before{content:"✦"}.hero-copy h1{margin-top:1rem;font-size:clamp(3rem,5vw,5.25rem)}.hero-copy h1 span{color:var(--blue);letter-spacing:-.025em;margin-top:.15rem;font-size:.48em;line-height:1.25;display:block}.hero-copy>p{max-width:620px;color:var(--secondary);margin:1rem 0 0;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.45rem;display:flex}.social-row{gap:.65rem;margin-top:1.25rem;display:flex}.social-link{background:var(--card);border:1px solid var(--line);width:38px;height:38px;color:var(--blue);box-shadow:var(--small-shadow);border-radius:50%;place-items:center;font-weight:800;display:grid}.social-logo{object-fit:contain;width:19px;height:19px}.social-brand{background:var(--brand);width:19px;height:19px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;display:block}.social-brand-linkedin{--brand:#0a66c2;--icon:url(/assets/tech/linkedin.svg)}.theme-dark .github-logo{filter:invert()}.hero-visual{background:linear-gradient(125deg,#e0f2fe 0%,#dbeafe 40%,#f3e8ff 72%,#fce7f3 100%);border:1px solid #ffffffe6;border-radius:28px;min-height:360px;position:relative;overflow:hidden}.hero-visual:before,.hero-visual:after{content:"";filter:blur(1px);border-radius:50%;position:absolute}.hero-visual:before{background:linear-gradient(145deg,#60a5fa94,#8b5cf67a);width:360px;height:360px;top:9%;right:13%}.hero-visual:after{background:#ffffff7a;width:220px;height:220px;bottom:-5%;left:-5%}.portrait-gradient{z-index:2;background:linear-gradient(155deg,#ffffffeb,#60a5fab3,#8b5cf6bf);border-radius:130px 130px 22px 22px;width:min(44%,280px);padding:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 24px 44px #2563eb33}.portrait-gradient img{aspect-ratio:4/5;object-fit:cover;object-position:center 14%;border-radius:120px 120px 15px 15px;width:100%}.floating-stat{z-index:4;color:#0f172a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd1;border:1px solid #ffffffe6;border-radius:14px;align-items:center;gap:.75rem;min-width:0;padding:.75rem .9rem;font-size:.65rem;line-height:1.25;display:flex;position:absolute;box-shadow:0 14px 36px #2563eb1f}.floating-stat>span{overflow-wrap:anywhere;min-width:0}.floating-stat b{font-size:.82rem;line-height:1.15;display:block}.hero-stat-icon{background:var(--soft-blue);width:42px;height:42px;color:var(--blue);border-radius:12px;flex:0 0 42px;place-items:center;display:grid}.hero-stat-icon:before{content:"";width:25px;height:25px;-webkit-mask:var(--stat-icon) center / contain no-repeat;-webkit-mask:var(--stat-icon) center / contain no-repeat;mask:var(--stat-icon) center / contain no-repeat;background:currentColor}.icon-availability{--stat-icon:url(/assets/icons/check-circle.svg)}.icon-experience{--stat-icon:url(/assets/icons/briefcase-business.svg)}.icon-cloud{--stat-icon:url(/assets/icons/cloud.svg)}.icon-location{--stat-icon:url(/assets/icons/map-pin.svg)}.stat-one{top:14%;left:6%}.stat-two{top:15%;right:5%}.stat-three{bottom:14%;left:1.5%}.stat-four{bottom:13%;right:3%}.quick-grid{grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1rem;display:grid}.quick-card{grid-template-columns:42px 1fr;gap:.8rem;min-height:112px;padding:.85rem;display:grid}.quick-icon{color:#fff;background:linear-gradient(135deg, var(--blue), var(--sky));border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.quick-card:nth-child(2) .quick-icon{background:linear-gradient(135deg,#14b8a6,#2dd4bf)}.quick-card:nth-child(3) .quick-icon{background:linear-gradient(135deg, var(--purple), #6366f1)}.quick-card:nth-child(4) .quick-icon{background:linear-gradient(135deg,#fb923c,#fbbf24)}.quick-card:nth-child(5) .quick-icon{background:linear-gradient(135deg, var(--pink), #fb7185)}.quick-card h3{margin:.15rem 0 .45rem;font-size:.9rem}.quick-card p{color:var(--secondary);margin:0;font-size:.72rem;line-height:1.5}.quick-card a{color:var(--blue);margin-top:.55rem;font-size:.68rem;font-weight:700;display:inline-block}.theme-dark .hero-visual{border-color:var(--line);background:linear-gradient(125deg,#0b213b 0%,#13264a 44%,#2a1f4c 74%,#3a1736 100%)}.theme-dark .hero-visual:after{background:#0f172a6b}.theme-dark .portrait-gradient{background:linear-gradient(155deg,#223656,#2563ebc2,#8b5cf6cc)}.theme-dark .floating-stat{color:var(--dark);border-color:var(--line);background:#101c2fe0}.dashboard-lower{grid-template-columns:minmax(0,2fr) minmax(300px,.86fr);grid-template-areas:"projects stack""journey cta";align-items:stretch;gap:1rem;margin-top:1rem;display:grid}.projects-panel{grid-area:projects}.stack-panel{grid-area:stack}.journey-panel{grid-area:journey}.cta-panel{grid-area:cta}.projects-panel,.stack-panel,.journey-panel,.cta-panel{padding:1rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.project-card{overflow:hidden}.project-image{background:var(--soft-blue);height:190px;overflow:hidden}.project-image img{object-fit:cover;object-position:center;width:100%;height:100%}.project-content{padding:1rem}.project-title-row{justify-content:space-between;align-items:start;gap:1rem;display:flex}.project-title-row h3{margin:0;font-size:.92rem}.external{background:var(--soft-blue);width:30px;height:30px;color:var(--blue);border-radius:10px;place-items:center;font-weight:800;display:grid}.project-content p{color:var(--secondary);margin:.55rem 0 .8rem;font-size:.72rem;line-height:1.5}.project-card-compact .project-content p{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:3.2em;display:-webkit-box;overflow:hidden}.project-card-compact .project-content{flex-direction:column;display:flex}.project-card-compact .tags{margin-top:auto}.tags{flex-wrap:wrap;gap:.4rem;display:flex}.tag{background:var(--soft-blue);color:var(--secondary);border-radius:999px;padding:.35rem .6rem;font-size:.6rem;font-weight:600}.stack-grid{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.stack-item{border:1px solid var(--line);background:color-mix(in srgb, var(--card) 90%, var(--soft-blue));min-height:70px;color:var(--secondary);text-align:center;border-radius:14px;align-content:center;place-items:center;gap:.35rem;font-size:.6rem;display:grid}.stack-item b{background:var(--soft-blue);width:34px;height:34px;color:var(--blue);border-radius:10px;place-items:center;font-size:.72rem;display:grid}.tech-logo{background:var(--brand);width:30px;height:30px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;display:block}.tech-logo-dotnet{--brand:#512bd4;--icon:url(/assets/tech/dotnet.svg)}.tech-logo-csharp{--brand:#512bd4;--icon:url(/assets/tech/csharp.svg)}.tech-logo-microsoftazure{--brand:#0078d4;--icon:url(/assets/tech/microsoftazure.svg)}.tech-logo-postgresql{--brand:#4169e1;--icon:url(/assets/tech/postgresql.svg)}.tech-logo-microsoftsqlserver{--brand:#cc2927;--icon:url(/assets/tech/microsoftsqlserver.svg)}.tech-logo-docker{--brand:#2496ed;--icon:url(/assets/tech/docker.svg)}.tech-logo-git{--brand:#f05032;--icon:url(/assets/tech/git.svg)}.tech-logo-azuredevops{--brand:#0078d7;--icon:url(/assets/tech/azuredevops.svg)}.tech-logo-githubactions{--brand:#2088ff;--icon:url(/assets/tech/githubactions.svg)}.tech-logo-openai{--brand:#10a37f;--icon:url(/assets/tech/openai.svg)}.tech-logo-jenkins{--brand:#d24939;--icon:url(/assets/tech/jenkins.svg)}.tech-logo-api{--brand:#6ba539;--icon:url(/assets/tech/api.svg)}.tech-logo-javascript{--brand:#f7df1e;--icon:url(/assets/tech/javascript.svg)}.tech-logo-typescript{--brand:#3178c6;--icon:url(/assets/tech/typescript.svg)}.tech-logo-python{--brand:#3776ab;--icon:url(/assets/tech/python.svg)}.tech-logo-terraform{--brand:#844fba;--icon:url(/assets/tech/terraform.svg)}.tech-logo-kubernetes{--brand:#326ce5;--icon:url(/assets/tech/kubernetes.svg)}.tech-logo-image{object-fit:contain;width:48px;height:30px}.theme-dark .tech-logo-image{background:#fffffff0;border-radius:6px;padding:3px}.tech-logo-generic{background:var(--soft-blue);color:var(--blue);border-radius:9px;position:relative}.tech-logo-generic:before{content:"<>";place-items:center;font-size:.58rem;font-weight:800;display:grid;position:absolute;inset:0}.stack-more{color:var(--blue);font-weight:700}.cta-panel{color:#fff;background:linear-gradient(120deg, #38bdf8, var(--blue) 45%, var(--purple));flex-direction:column;justify-content:center;min-height:172px;display:flex;position:relative;overflow:hidden}.cta-panel:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:180px;height:180px;position:absolute;bottom:-90px;right:-30px}.cta-panel h2{margin:0;font-size:1.1rem}.cta-panel p{color:#ffffffdb;max-width:360px;margin:.55rem 0 1rem;font-size:.75rem;line-height:1.5}.journey-panel{margin-top:0}.journey-scroll{scrollbar-width:thin;scrollbar-color:var(--sky) transparent;max-width:100%;padding:.15rem 0 .4rem;overflow:auto hidden}.journey-line{grid-template-columns:repeat(var(--journey-count,5), minmax(135px, 1fr));width:min(100%, calc(var(--journey-count,5) * 190px));min-width:calc(var(--journey-count,5) * 135px);gap:0;display:grid;position:relative}.journey-line:before{content:"";top:11px;left:calc(50% / var(--journey-count,5));right:calc(50% / var(--journey-count,5));background:linear-gradient(90deg, var(--blue), #14b8a6, var(--purple), var(--pink));height:2px;position:absolute}.journey-line[data-count="1"]:before{display:none}.journey-stop{text-align:center;z-index:1;padding:0 .5rem;position:relative}.journey-stop i{border:4px solid var(--card);background:var(--blue);width:14px;height:14px;box-shadow:0 0 0 2px var(--blue);border-radius:50%;margin:5px auto .55rem;display:block}.journey-stop:nth-child(2) i{background:#14b8a6;box-shadow:0 0 0 2px #14b8a6}.journey-stop:nth-child(3) i{background:#6366f1;box-shadow:0 0 0 2px #6366f1}.journey-stop:nth-child(4) i{background:var(--purple);box-shadow:0 0 0 2px var(--purple)}.journey-stop:nth-child(5) i{background:var(--pink);box-shadow:0 0 0 2px var(--pink)}.journey-stop b{font-size:.68rem;display:block}.journey-stop span{color:var(--secondary);margin-top:.3rem;font-size:.61rem;line-height:1.4;display:block}.content-grid{grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:1.2rem;display:grid}.profile-panel,.facts-panel,.value-card,.skills-panel,.technology-panel,.experience-card,.education-card,.contact-panel,.contact-form{padding:clamp(1.2rem,2.4vw,2rem)}.profile-panel h2,.skills-panel h2{margin:0;font-size:clamp(1.6rem,3vw,2.4rem)}.profile-panel h2 span{color:var(--blue)}.profile-panel p{color:var(--secondary);line-height:1.8}.facts-list{gap:.8rem;display:grid}.fact{background:var(--soft-blue);border-radius:13px;padding:.9rem}.fact small{color:var(--secondary);margin-bottom:.25rem;display:block}.fact b{font-size:.8rem}.values-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.2rem;display:grid}.value-card{min-height:155px}.value-card i{width:42px;height:42px;color:var(--blue);background:var(--soft-blue);border-radius:13px;place-items:center;font-style:normal;display:grid}.value-card h3{margin:.9rem 0 .4rem;font-size:.86rem}.value-card p{color:var(--secondary);margin:0;font-size:.7rem;line-height:1.55}.about-credentials{border:1px solid var(--line);background:linear-gradient(140deg, color-mix(in srgb, var(--card) 96%, transparent), color-mix(in srgb, var(--soft-blue) 72%, var(--card)));box-shadow:var(--small-shadow);border-radius:20px;margin-top:1.2rem;padding:clamp(1.2rem,2.4vw,2rem);position:relative;overflow:hidden}.about-credentials:after{content:"";pointer-events:none;background:radial-gradient(circle,#8b5cf626,#0000 68%);border-radius:50%;width:340px;height:340px;position:absolute;top:-160px;right:-130px}.about-credentials .section-title{z-index:1;align-items:end;position:relative}.about-credentials .section-title .eyebrow{color:var(--blue);margin:0 0 .45rem;font-size:.65rem;font-weight:700}.about-credentials .section-title h2{font-size:clamp(1.15rem,2vw,1.55rem)}.about-education-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid;position:relative}.about-education-grid .education-card{min-height:118px}.credential-heading{margin-top:1.45rem}.skill-page-grid{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:1.2rem;display:grid}.skill-meter{margin:1.35rem 0}.skill-meter div{justify-content:space-between;gap:1rem;font-size:.72rem;font-weight:600;display:flex}.meter{background:var(--line);border-radius:999px;height:6px;margin-top:.55rem;overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg, var(--blue), var(--sky));height:100%;display:block}.meter-95{width:95%}.meter-94{width:94%}.meter-90{width:90%}.meter-86{width:86%}.meter-82{width:82%}.technology-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1rem;display:grid}.tool-row{flex-wrap:wrap;gap:.75rem;margin-top:1.2rem;display:flex}.tool{text-align:center;border:1px solid var(--line);background:var(--card);border-radius:13px;min-width:84px;padding:.8rem;font-size:.65rem;font-weight:600}.projects-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.projects-page-grid .project-image{height:clamp(230px,25vw,390px)}.projects-page-grid .project-content{padding:1.4rem}.projects-page-grid .project-title-row h3{font-size:1.15rem}.experience-list{gap:1rem;display:grid;position:relative}.experience-list:before{content:"";background:linear-gradient(var(--blue), var(--purple));width:2px;position:absolute;top:28px;bottom:28px;left:95px}.experience-row{grid-template-columns:72px 18px 1fr;align-items:start;gap:1rem;display:grid}.experience-year{color:var(--blue);text-align:right;padding-top:1.5rem;font-size:.65rem;font-weight:700}.experience-dot{border:4px solid var(--card);background:var(--blue);width:14px;height:14px;box-shadow:0 0 0 2px var(--blue);z-index:2;border-radius:50%;margin-top:1.55rem}.experience-card{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:1.2rem;display:grid}.experience-card h2{margin:0;font-size:1rem}.experience-card b{color:var(--blue);margin-top:.4rem;font-size:.7rem;display:block}.experience-card p{color:var(--secondary);margin:0;font-size:.73rem;line-height:1.6}.experience-card .evidence{color:var(--dark);margin-top:.55rem;font-weight:600}.education-layout{gap:1.2rem;display:grid}[data-education-list]{gap:1rem;display:grid}.education-card{justify-content:space-between;align-items:center;gap:2rem;display:flex}.education-card h2{margin:0 0 .4rem;font-size:1rem}.education-card p{color:var(--secondary);margin:0;font-size:.72rem}.education-card time{color:var(--blue);white-space:nowrap;font-size:.72rem;font-weight:700}.credential-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.credential-card{align-items:center;gap:1rem;padding:1.3rem;display:flex}.credential-card i{background-color:var(--soft-blue);width:42px;height:42px;color:var(--blue);border-radius:13px;flex:0 0 42px;place-items:center;font-style:normal;font-weight:800;display:grid}.credential-card .credential-icon:before{content:"";background:#0078d4;width:23px;height:23px;-webkit-mask:url(/assets/icons/award.svg) 50%/contain no-repeat;mask:url(/assets/icons/award.svg) 50%/contain no-repeat}.credential-card h3{margin:0;font-size:.8rem}.credential-card span{color:var(--secondary);margin-top:.35rem;font-size:.62rem;display:block}.contact-layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:1.2rem;display:grid}.contact-panel{background:linear-gradient(155deg, var(--soft-blue), color-mix(in srgb, var(--card) 85%, var(--purple)))}.contact-panel h2{margin:0;font-size:1.4rem}.contact-panel>p{color:var(--secondary);line-height:1.65}.contact-list{gap:.75rem;margin-top:1.4rem;display:grid}.contact-item{border:1px solid color-mix(in srgb, var(--sky) 16%, var(--line));background:color-mix(in srgb, var(--soft-blue) 72%, var(--card));border-radius:13px;align-items:center;gap:.8rem;padding:.8rem;display:flex}.contact-item i{background:var(--soft-blue);width:34px;height:34px;color:var(--blue);border-radius:10px;place-items:center;font-style:normal;display:grid}.contact-item small{color:var(--secondary);font-size:.6rem;display:block}.contact-item b{overflow-wrap:anywhere;font-size:.72rem}.form-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.contact-form label{gap:.45rem;font-size:.68rem;font-weight:700;display:grid}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea{border:1px solid var(--line);background:var(--background);width:100%;color:var(--dark);border-radius:11px;outline:none;padding:.8rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--sky);box-shadow:0 0 0 3px #60a5fa2e}.contact-form textarea{resize:vertical;min-height:120px}.contact-form .button{margin-top:1rem}.contact-trap{clip:rect(0 0 0 0);white-space:nowrap;opacity:0;pointer-events:none;overflow:hidden;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important}.contact-form-status{min-height:1.2rem;color:var(--secondary);margin:.65rem 0 0;font-size:.68rem}.contact-form-status.error{color:#dc2626}.contact-form-status.success{color:#0f9f77}.contact-showcase{border:1px solid var(--line);width:100%;min-height:clamp(690px,46vw,790px);box-shadow:var(--shadow);isolation:isolate;background:url(/assets/contact/contact-background-light.png) 50%/cover no-repeat;border-radius:22px;flex-direction:column;padding:clamp(1rem,2.4vw,2rem);display:flex;position:relative;overflow:hidden}.theme-dark .contact-showcase{background-image:url(/assets/contact/contact-background-dark.png)}.contact-showcase .contact-layout{z-index:2;flex:1;grid-template-columns:minmax(260px,.68fr) minmax(0,1.18fr);align-items:center;padding-right:clamp(10%,14vw,18%);position:relative}.contact-showcase .contact-panel,.contact-showcase .contact-form{background:color-mix(in srgb, var(--card) 91%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.contact-form h2{margin:0 0 1.2rem;font-size:1.05rem}.contact-item i.contact-icon{background-color:var(--soft-blue);border-radius:12px;flex:0 0 38px;width:38px;height:38px}.contact-icon:before{content:"";background:var(--icon-colour,var(--blue));width:20px;height:20px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.icon-mail{--icon:url(/assets/icons/mail.svg)}.icon-location{--icon:url(/assets/icons/map-pin.svg)}.icon-phone{--icon:url(/assets/icons/phone.svg)}.icon-linkedin{--icon:url(/assets/tech/linkedin.svg);--icon-colour:#0a66c2}.icon-github{--icon:url(/assets/tech/github.svg);--icon-colour:var(--dark)}.availability-strip{border:1px solid color-mix(in srgb, var(--sky) 35%, var(--line));background:color-mix(in srgb, var(--soft-blue) 78%, var(--card));z-index:2;border-radius:16px;justify-content:space-between;align-items:center;gap:1rem;min-height:82px;margin-top:1.2rem;padding:1rem 1.2rem;display:flex;position:relative}.availability-strip b,.availability-strip span{display:block}.availability-strip span{color:var(--secondary);margin-top:.3rem;font-size:.68rem}.availability-strip .resume-format-menu{display:none;top:auto;bottom:calc(100% + .5rem)}.availability-strip .resume-download.open .resume-format-menu{display:grid}.site-footer{border-top:1px solid var(--line);color:var(--secondary);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem clamp(1rem,3vw,3rem);font-size:.68rem;display:flex}.footer-owner-link{color:var(--blue);align-items:center;gap:.35rem;font-weight:700;display:inline-flex}@media (width<=1120px){.site-nav{gap:1.35rem}.quick-card:nth-child(4),.quick-card:nth-child(5){grid-column:span 1}body.nav-open{overflow:hidden}.app-shell{border-radius:17px;width:min(100% - 20px,1540px);margin:10px auto}.site-header{grid-template-columns:auto 1fr auto;gap:.8rem;min-height:66px}.menu-button{display:grid}.site-nav{border:0;border-left:1px solid var(--line);background:color-mix(in srgb, var(--card) 97%, transparent);visibility:hidden;z-index:71;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:22px 0 0 22px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.25rem;width:min(84vw,360px);padding:1.1rem;transition:transform .25s,visibility .25s;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(105%);box-shadow:-24px 0 60px #0f172a33}.site-nav.open{visibility:visible;transform:translate(0)}.site-nav a{border-radius:11px;padding:.9rem 1rem;font-size:.95rem}.site-nav a.active:after{display:none}.site-nav a.active{background:var(--soft-blue)}.menu-close{border:1px solid var(--line);background:var(--card);width:42px;height:42px;color:var(--dark);cursor:pointer;box-shadow:var(--small-shadow);border-radius:50%;place-items:center;margin:0 0 1rem auto;font-size:1.7rem;line-height:1;display:grid}.nav-backdrop{opacity:0;visibility:hidden;z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#07111f7a;border:0;width:100%;height:100%;transition:opacity .25s,visibility .25s;display:block;position:fixed;inset:0}.nav-backdrop.open{opacity:1;visibility:visible}.studio-nav-link{background:var(--soft-blue);align-items:center;gap:.45rem;margin-top:auto;display:flex;color:var(--blue)!important;font-weight:800!important}.owner-link{display:none}.hero-grid{grid-template-columns:1fr}.hero-copy{padding-bottom:1rem}.hero-visual{min-height:420px}.floating-stat{width:min(44%,250px)}.stat-one{top:8%;left:4%}.stat-two{top:8%;right:4%}.stat-three{bottom:8%;left:4%}.stat-four{bottom:8%;right:4%}.quick-grid{grid-template-columns:repeat(2,1fr)}.dashboard-lower{grid-template-columns:1fr;grid-template-areas:"projects""stack""journey""cta"}.content-grid,.skill-page-grid,.contact-layout,.contact-showcase .contact-layout{grid-template-columns:1fr}.contact-showcase .contact-layout{padding-right:0}.contact-showcase{background-position:50%;background-size:cover;min-height:0}.values-grid{grid-template-columns:repeat(2,1fr)}.experience-card{grid-template-columns:1fr}}@media (width<=650px){body{font-size:14px}.app-shell{border:0;border-radius:0;width:100%;min-height:100dvh;margin:0}.site-header{border-radius:0;padding:0 .85rem}.brand span:last-child{display:none}.header-actions .button{padding:.55rem .75rem}.header-actions .button span{display:none}.page-main,.home-main{padding:1rem}.hero-copy{padding:1.3rem .15rem}.hero-copy h1{font-size:clamp(2.7rem,14vw,4rem)}.hero-visual{min-height:440px}.portrait-gradient{width:min(54%,220px)}.floating-stat{gap:.45rem;width:calc(50% - 1.4rem);padding:.55rem;font-size:.58rem}.floating-stat b{font-size:.72rem}.hero-stat-icon{border-radius:9px;flex-basis:28px;width:28px;height:28px;display:grid}.hero-stat-icon:before{width:17px;height:17px}.stat-one{top:1rem;left:.8rem}.stat-two{top:1rem;right:.8rem}.stat-three{bottom:1rem;left:.8rem}.stat-four{bottom:1rem;right:.8rem}.quick-grid,.project-grid,.projects-page-grid,.credential-grid,.form-grid{grid-template-columns:1fr}.quick-card{min-height:auto}.stack-grid{grid-template-columns:repeat(3,1fr)}.journey-scroll{overflow:visible}.journey-line{grid-template-columns:1fr;gap:.8rem;width:100%;min-width:0}.journey-line:before{width:2px;height:auto;inset:12px auto 12px 7px}.journey-stop{text-align:left;padding-left:2rem}.journey-stop i{margin:5px 0 0;position:absolute;top:0;left:0}.values-grid,.about-education-grid{grid-template-columns:1fr}.technology-grid{grid-template-columns:repeat(3,1fr)}.experience-list:before{left:7px}.experience-row{grid-template-columns:14px 1fr;gap:.8rem}.experience-year{text-align:left;grid-column:2;padding:0}.experience-dot{grid-area:1/1/span 2;margin-top:.1rem}.experience-card{grid-column:2}.education-card{flex-direction:column;align-items:flex-start;gap:.8rem}.page-heading{flex-direction:column;align-items:flex-start}.site-footer{text-align:center;flex-direction:column}.contact-showcase{padding:.8rem}.availability-strip{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
