@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap";:root{--bg: #e3f2fd;--bg-alt: #bbdefb;--surface: #ffffff;--surface-soft: #e3f2fd;--text: #0d47a1;--text-muted: #1565c0;--accent: #2196f3;--accent-strong: #1976d2;--accent-soft: #90caf9;--border: #bbdefb;--shadow: 0 12px 30px rgba(13, 71, 161, .16);--radius-lg: 18px;--radius-md: 12px;--radius-sm: 8px;--space-xs: .5rem;--space-sm: .875rem;--space-md: 1.25rem;--space-lg: 2rem;--space-xl: 3rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Manrope,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}h1,h2,h3,h4{margin:0;font-family:Sora,sans-serif;line-height:1.2}p{margin:0}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}ul{margin:0;padding:0;list-style:none}button,input,textarea{font:inherit}:focus-visible{outline:3px solid rgba(33,150,243,.35);outline-offset:3px}.modal-open{overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}.site-header{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(33,150,243,.2);background:#e3f2fde6}.navbar,.main-content{width:min(1120px,calc(100% - 2.5rem));margin-inline:auto}.main-content{--main-block-pad: clamp(1.25rem, 3vw, 2.25rem);padding-block:var(--main-block-pad);display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.main-content.home-main-content{padding-block:0}.section-wrapper{scroll-margin-top:6.5rem}.section-heading{margin-bottom:var(--space-md)}.section-kicker{text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--accent);font-size:.8rem;margin-bottom:.35rem}.section-title{font-size:clamp(1.4rem,2vw,2rem);color:var(--text)}.home-section{min-height:calc(100dvh - 5.5rem);display:grid;align-items:center}.logo-btn{border:none;background:transparent;font-family:Sora,sans-serif;font-size:clamp(1.2rem,2.2vw,1.9rem);font-weight:700;color:var(--text);cursor:pointer}.navbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0}.nav-list{display:flex;flex-wrap:wrap;gap:.65rem}.nav-link{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);padding:.5rem .9rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .2s ease}.nav-link:hover{border-color:var(--accent);color:var(--accent);background:#2196f314}.nav-link-active{color:#fff;background:var(--accent)}.hero-grid{position:relative;display:grid;gap:1.2rem;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:stretch}.hero-copy{max-width:680px;display:grid;align-content:start;gap:.85rem}.hero-kicker-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.hero-kicker{width:fit-content;color:var(--accent-strong);font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;border:1px solid rgba(33,150,243,.35);background:#ffffffb8;border-radius:999px;padding:.22rem .58rem}.hero-availability{font-size:.74rem;font-weight:700;color:#0d47a1;border-radius:999px;border:1px solid rgba(25,118,210,.28);background:#2196f324;padding:.22rem .54rem}.hero-title{font-size:clamp(1.6rem,3.9vw,3.2rem);line-height:1.16;white-space:normal;overflow-wrap:anywhere}.hero-intro{color:var(--text-muted);line-height:1.7;max-width:62ch}.hero-value-list{display:flex;flex-wrap:wrap;gap:.55rem}.hero-value-item{display:inline-flex;align-items:center;gap:.34rem;padding:.28rem .52rem;border-radius:999px;border:1px solid rgba(33,150,243,.3);background:#2196f31f;color:var(--accent-strong);font-size:.76rem;font-weight:700}.social-list{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.2rem}.social-link{width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid var(--border);border-radius:999px;color:var(--accent-strong);background:var(--surface);transition:transform .2s ease,border-color .2s ease,background .2s ease}.social-link:hover{transform:translateY(-2px);border-color:var(--accent);background:var(--accent-soft)}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.3rem}.hero-resume-btn{width:100%;max-width:440px;justify-content:center;font-size:1rem;padding-block:.75rem;text-align:center}.primary-btn,.secondary-btn,.certificate-btn,.project-link,.submit-btn{border-radius:var(--radius-sm);border:1px solid transparent;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.primary-btn,.submit-btn{background:var(--accent);color:#fff;padding:.65rem 1rem}.primary-btn:hover,.submit-btn:hover{background:var(--accent-strong);transform:translateY(-1px)}.secondary-btn{background:transparent;border-color:var(--accent);color:var(--accent);padding:.65rem 1rem}.secondary-btn:hover{background:#2196f31f}.hero-image-wrap{width:min(420px,100%);justify-self:end;display:grid;gap:.75rem;align-content:start}.hero-image-frame{position:relative;border-radius:24px;overflow:hidden;border:3px solid rgba(33,150,243,.35);box-shadow:0 14px 30px #0d47a12e}.hero-image{width:100%;aspect-ratio:.96;object-fit:cover;object-position:top center}.hero-image-badge{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;text-align:center;font-size:.72rem;font-weight:700;color:#fff;background:#022c5bb8;border:1px solid rgba(255,255,255,.36);border-radius:999px;padding:.24rem .5rem}.hero-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.hero-stat-card{border:1px solid var(--border);border-radius:var(--radius-md);background:#ffffffe6;padding:.55rem .6rem;display:grid;gap:.1rem}.hero-stat-label{color:var(--text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.hero-stat-value{color:var(--accent-strong);font-size:1.12rem}.hero-stat-value-text{font-size:.9rem;line-height:1.35;color:var(--text)}.about-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);align-items:start;gap:1.05rem;padding:1.4rem}.about-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,#2196f3,#42a5f5 55%,#1e88e5);pointer-events:none}.about-card:after{content:"";position:absolute;right:-80px;top:-90px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at center,#1976d238,#2196f300);pointer-events:none}.about-visual{display:grid;gap:.75rem;align-content:start;min-width:0;max-width:500px;width:100%;justify-self:start}.about-image-wrap{position:relative;align-self:start;perspective:1200px;width:100%}.about-flip-card{position:relative;width:100%;height:clamp(320px,34vw,430px);aspect-ratio:auto;border-radius:20px;outline:none;min-width:0}.about-flip-card:focus-visible{outline:3px solid rgba(33,150,243,.35);outline-offset:4px}.about-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s ease}.about-image-wrap:hover .about-flip-inner,.about-flip-card:focus-visible .about-flip-inner,.about-flip-card:focus-within .about-flip-inner{transform:rotateY(180deg)}.about-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;overflow:hidden;border:3px solid rgba(33,150,243,.35);box-shadow:0 12px 26px #0d47a12e;backface-visibility:hidden;-webkit-backface-visibility:hidden}.about-face-front{position:relative;background:#dbeeff}.about-face-back{transform:rotateY(180deg);background:linear-gradient(180deg,#f7fbff,#e7f3ff);padding:.62rem;overflow:auto;display:grid;align-content:start;justify-items:stretch}.about-lead{color:var(--text);font-weight:800;font-size:clamp(1.12rem,1.6vw,1.45rem);line-height:1.3}.about-kicker{width:fit-content;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--accent-strong);border:1px solid rgba(33,150,243,.35);background:#ffffffad;border-radius:999px;padding:.2rem .6rem}.about-image{width:100%;height:100%;object-fit:cover;object-position:top center;aspect-ratio:auto;border:none;border-radius:0;box-shadow:none}.about-image-badge{position:absolute;left:.7rem;right:.7rem;bottom:.7rem;text-align:center;font-size:.72rem;font-weight:700;color:#fff;background:#022c5bb8;border:1px solid rgba(255,255,255,.36);border-radius:999px;padding:.24rem .5rem}.about-metrics{display:grid;grid-template-columns:1fr;gap:.35rem;padding-top:.5rem}.about-metric{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#f5faff);padding:.65rem;display:grid;gap:.22rem}.about-metric-label{color:var(--text-muted);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.about-metric-value{font-size:.83rem;line-height:1.35;color:var(--text);overflow-wrap:anywhere}.about-paragraph{color:var(--text-muted);line-height:1.72}.about-paragraphs{display:grid;gap:.75rem}.about-detail-section{border:1px solid var(--border);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,#f5faff);padding:.75rem}.about-detail-title{color:var(--accent-strong);font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.6rem}.about-detail-title-back{margin-bottom:.5rem}.about-detail-grid{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.about-detail-grid-back{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.about-detail-item{border:1px solid rgba(33,150,243,.25);border-radius:10px;background:#2196f314;padding:.5rem .55rem;min-width:0}.about-detail-item-back{background:#ffffffc7;display:grid;gap:.1rem;padding:.42rem .5rem}.about-detail-key,.about-detail-value{margin:0}.about-detail-key{color:var(--text-muted);font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:.18rem}.about-detail-value{color:var(--text);font-size:.82rem;line-height:1.35;font-weight:700;overflow-wrap:anywhere}.about-highlight-list{display:flex;flex-wrap:wrap;gap:.55rem}.about-highlight-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .52rem;border-radius:999px;border:1px solid rgba(33,150,243,.3);background:#2196f31f;color:var(--accent-strong);font-size:.76rem;font-weight:700}.skills-shell{display:grid;gap:1rem}.skills-overview{position:relative;overflow:hidden;border:1px solid rgba(33,150,243,.26);border-radius:var(--radius-lg);background:linear-gradient(125deg,#f3faff,#dff1ff 48%,#eef7ff);box-shadow:var(--shadow);padding:1rem}.skills-overview:after{content:"";position:absolute;width:240px;height:240px;border-radius:999px;right:-110px;top:-120px;background:radial-gradient(circle at center,#2196f347,#2196f300);pointer-events:none}.skills-overview-eyebrow{width:fit-content;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--accent-strong);border:1px solid rgba(33,150,243,.35);background:#ffffffad;border-radius:999px;padding:.2rem .6rem;margin-bottom:.65rem}.skills-overview-title{max-width:44ch;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.35;margin-bottom:.85rem}.skills-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.skills-overview-card{display:flex;align-items:center;gap:.6rem;border:1px solid rgba(33,150,243,.24);border-radius:var(--radius-md);background:#ffffffd1;padding:.65rem .75rem}.skills-overview-icon{width:1.95rem;height:1.95rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-strong);border:1px solid rgba(33,150,243,.28);background:#2196f31f;flex-shrink:0}.skills-overview-copy{display:grid;gap:.08rem}.skills-overview-label{color:var(--text-muted);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.skills-overview-value{font-size:clamp(1rem,1.55vw,1.35rem);color:var(--accent-strong)}.skills-showcase{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:1rem;align-items:stretch}.skills-column{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.2rem}.skills-column:before{content:"";position:absolute;top:0;left:0;right:0;height:4px}.skills-column-tech{background:#fff}.skills-column-tech:before{background:var(--accent)}.skills-column-pro{background:var(--surface-soft)}.skills-column-pro:before{background:var(--accent-strong)}.skills-column-header{margin-bottom:1rem}.skills-title{font-size:1.15rem;font-weight:800;letter-spacing:.01em}.skills-subtitle{margin-top:.4rem;color:var(--text-muted);font-size:.9rem;line-height:1.55}.technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.skill-card{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:.9rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:0 8px 22px #0d47a114;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.skill-card:hover{transform:translateY(-2px);border-color:#2196f373;box-shadow:0 12px 28px #0d47a124}.skill-card-top{display:flex;align-items:center;justify-content:space-between;gap:.55rem}.skill-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:10px;color:var(--accent-strong);background:var(--accent-soft);border:1px solid rgba(33,150,243,.22);font-size:1.15rem}.skill-percent-chip{padding:.22rem .48rem;border-radius:999px;background:#2196f329;color:var(--accent-strong);font-size:.78rem;font-weight:700}.skill-card-name{font-size:.96rem;font-weight:700}.skill-meter,.pro-track{height:9px;border-radius:999px;background:#2196f32b;overflow:hidden}.skill-meter-fill,.pro-fill{display:block;height:100%;background:var(--accent);transition:width .8s ease}.pro-list{display:grid;gap:.85rem}.pro-item{display:grid;gap:.52rem;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:.8rem;box-shadow:0 8px 20px #0d47a114}.pro-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.pro-label{font-size:.92rem;font-weight:700}.pro-score{color:var(--accent-strong);font-size:.86rem;font-weight:700}.pro-band{justify-self:end;color:#0d47a1;font-size:.74rem;font-weight:700;letter-spacing:.01em;text-transform:uppercase;background:#2196f324;border:1px solid rgba(33,150,243,.22);border-radius:999px;padding:.15rem .48rem}.cert-groups{display:grid;gap:1rem;min-width:0;max-width:100%}.cert-overview{position:relative;overflow:hidden;border:1px solid rgba(33,150,243,.26);border-radius:var(--radius-lg);background:linear-gradient(125deg,#f3faff,#dff1ff 48%,#eef7ff);box-shadow:var(--shadow);padding:1rem}.cert-overview:after{content:"";position:absolute;width:240px;height:240px;border-radius:999px;right:-110px;top:-120px;background:radial-gradient(circle at center,#2196f347,#2196f300);pointer-events:none}.cert-overview-eyebrow{width:fit-content;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--accent-strong);border:1px solid rgba(33,150,243,.35);background:#ffffffad;border-radius:999px;padding:.2rem .6rem;margin-bottom:.65rem}.cert-overview-title{max-width:44ch;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.35;margin-bottom:.85rem}.cert-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.cert-overview-card{border:1px solid rgba(33,150,243,.24);border-radius:var(--radius-md);background:#ffffffd1;padding:.65rem .75rem;display:grid;gap:.18rem}.cert-overview-label{color:var(--text-muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.cert-overview-value{font-size:clamp(1.1rem,1.7vw,1.45rem);color:var(--accent-strong)}.cert-group{position:relative;isolation:isolate;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:.95rem;min-width:0;max-width:100%;overflow:hidden}.cert-group:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.cert-group-header,.cert-group-heading{display:flex;align-items:center}.cert-group-header{justify-content:space-between;gap:.8rem;margin-bottom:.85rem}.cert-group-heading{gap:.7rem;min-width:0}.cert-group-icon{width:2rem;height:2rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-strong);border:1px solid rgba(33,150,243,.28);background:#2196f31f;flex-shrink:0}.cert-group-copy{min-width:0}.cert-group-title{font-size:1.02rem;color:var(--accent);margin-bottom:.2rem}.cert-group-subtitle{color:var(--text-muted);font-size:.82rem;line-height:1.45}.cert-group-count{font-size:.78rem;color:var(--accent-strong);border:1px solid rgba(33,150,243,.3);background:#2196f31f;border-radius:999px;padding:.22rem .52rem;font-weight:700;white-space:nowrap}.cert-carousel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem}.cert-nav-btn{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--accent-strong);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.cert-nav-btn:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.cert-scroll{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (.8rem * 3)) / 4);gap:.8rem;overflow-x:auto;padding:.1rem .15rem .35rem;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;width:100%;max-width:100%;min-width:0;overscroll-behavior-x:contain}.cert-empty{border:1px dashed rgba(33,150,243,.35);border-radius:var(--radius-md);background:#2196f30f;color:var(--text-muted);padding:.85rem}.cert-scroll::-webkit-scrollbar{height:8px}.cert-scroll::-webkit-scrollbar-thumb{background:var(--accent);border-radius:999px}.cert-scroll::-webkit-scrollbar-track{background:transparent}.certificate-card{position:relative;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(180deg,#fff,#f7fbff);display:flex;flex-direction:column;min-height:100%;scroll-snap-align:start;box-shadow:0 10px 24px #0d47a124;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.certificate-card:hover{transform:translateY(-2px);box-shadow:0 15px 30px #0d47a133;border-color:#2196f36b}.certificate-image-wrap{position:relative}.certificate-image{width:100%;height:160px;object-fit:cover}.certificate-index{position:absolute;top:.5rem;right:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#fff;border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:.2rem .45rem;background:#04244c8c}.certificate-body{padding:.8rem;display:flex;flex-direction:column;gap:.45rem;min-width:0;flex:1}.certificate-eyebrow{width:fit-content;padding:.17rem .45rem;border-radius:999px;border:1px solid rgba(33,150,243,.28);background:#2196f31c;color:var(--accent-strong);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.certificate-title{font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}.certificate-tech{font-size:.82rem;line-height:1.45;color:var(--text-muted);min-height:2.4rem;overflow-wrap:anywhere}.certificate-btn{background:transparent;color:var(--accent-strong);border:1px solid rgba(33,150,243,.45);padding:.45rem .7rem;width:100%;display:inline-flex;justify-content:center;margin-top:auto}.certificate-btn:hover{background:#2196f329;border-color:var(--accent);color:var(--accent)}.projects-showcase{display:grid;gap:1rem}.project-overview{position:relative;overflow:hidden;border:1px solid rgba(33,150,243,.26);border-radius:var(--radius-lg);background:linear-gradient(130deg,#f5fbff,#e2f2ff 47%,#f2f8ff);box-shadow:var(--shadow);padding:1rem}.project-overview:after{content:"";position:absolute;right:-55px;top:-80px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle at center,#1976d23d,#2196f300);pointer-events:none}.project-overview-eyebrow{width:fit-content;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800;color:var(--accent-strong);border:1px solid rgba(33,150,243,.35);background:#ffffffad;border-radius:999px;padding:.2rem .6rem;margin-bottom:.65rem}.project-overview-title{max-width:52ch;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.4;margin-bottom:.85rem}.project-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.project-overview-card{display:flex;align-items:center;gap:.55rem;border:1px solid rgba(33,150,243,.24);border-radius:var(--radius-md);background:#ffffffd6;padding:.65rem .75rem}.project-overview-icon{width:1.95rem;height:1.95rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-strong);border:1px solid rgba(33,150,243,.28);background:#2196f31f;flex-shrink:0}.project-overview-copy{display:grid;gap:.1rem}.project-overview-label{color:var(--text-muted);font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.project-overview-value{font-size:clamp(1rem,1.55vw,1.35rem);color:var(--accent-strong)}.project-group{position:relative;isolation:isolate;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:.95rem;min-width:0;max-width:100%;overflow:hidden}.project-group:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.project-group-header,.project-group-heading{display:flex;align-items:center}.project-group-header{justify-content:space-between;gap:.8rem;margin-bottom:.85rem}.project-group-heading{gap:.7rem;min-width:0}.project-group-icon{width:2rem;height:2rem;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-strong);border:1px solid rgba(33,150,243,.28);background:#2196f31f;flex-shrink:0}.project-group-copy{min-width:0}.project-group-title{font-size:1.02rem;color:var(--accent);margin-bottom:.2rem}.project-group-subtitle{color:var(--text-muted);font-size:.82rem;line-height:1.45}.project-group-count{font-size:.78rem;color:var(--accent-strong);border:1px solid rgba(33,150,243,.3);background:#2196f31f;border-radius:999px;padding:.22rem .52rem;font-weight:700;white-space:nowrap}.project-carousel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem}.project-nav-btn{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:999px;background:var(--surface-soft);color:var(--accent-strong);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}.project-nav-btn:hover{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}.project-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (1rem * 2)) / 3);gap:1rem;overflow-x:auto;padding:.1rem .15rem .35rem;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;width:100%;max-width:100%;min-width:0;overscroll-behavior-x:contain}.project-empty{border:1px dashed rgba(33,150,243,.35);border-radius:var(--radius-md);background:#2196f30f;color:var(--text-muted);padding:.85rem}.project-track::-webkit-scrollbar{height:8px}.project-track::-webkit-scrollbar-thumb{background:var(--accent);border-radius:999px}.project-track::-webkit-scrollbar-track{background:transparent}.project-card{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 12px 28px #0d47a129;background:linear-gradient(180deg,#fff,#f6fbff);display:flex;flex-direction:column;scroll-snap-align:start;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px #0d47a133;border-color:#2196f36b}.project-image-wrap{position:relative}.project-image{width:100%;aspect-ratio:16 / 9;object-fit:cover}.project-index,.project-status{position:absolute;top:.6rem;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;border-radius:999px;padding:.2rem .46rem;border:1px solid rgba(255,255,255,.38)}.project-index{left:.6rem;background:#022c5b9e}.project-status{right:.6rem;background:#006648ad}.project-body{padding:1rem;display:flex;flex-direction:column;gap:.65rem;flex:1}.project-kicker{width:fit-content;padding:.17rem .45rem;border-radius:999px;border:1px solid rgba(33,150,243,.28);background:#2196f31c;color:var(--accent-strong);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.project-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem}.project-title{font-size:1.06rem;line-height:1.3}.project-stack-chip{font-size:.72rem;font-weight:700;color:var(--accent-strong);border:1px solid rgba(33,150,243,.32);border-radius:999px;background:#2196f31f;padding:.2rem .44rem;white-space:nowrap}.project-description{color:var(--text-muted);line-height:1.62;font-size:.91rem;min-height:5.9rem}.project-tag-list{display:flex;flex-wrap:wrap;gap:.45rem}.project-tag{padding:.24rem .5rem;border-radius:999px;border:1px solid rgba(33,150,243,.28);background:#2196f321;color:var(--accent-strong);font-size:.74rem;font-weight:700}.project-link{width:100%;display:inline-flex;justify-content:center;align-items:center;gap:.4rem;background:var(--accent);color:#fff;border:1px solid transparent;padding:.55rem .75rem;margin-top:auto}.project-link:hover{background:var(--accent-strong)}.contact-grid{display:grid;gap:1.1rem;grid-template-columns:1fr 1fr;align-items:start}.contact-card{align-self:start;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.15rem}.contact-card-info{display:grid;gap:1rem;align-content:start}.contact-eyebrow{width:fit-content;padding:.25rem .6rem;border-radius:999px;border:1px solid rgba(33,150,243,.3);background:#2196f31c;color:var(--accent-strong);font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.contact-headline{font-size:clamp(1.15rem,2.2vw,1.5rem);line-height:1.3}.contact-copy{color:var(--text-muted);line-height:1.7}.contact-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.contact-metric{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-soft);padding:.62rem;display:grid;gap:.2rem}.contact-metric-label{color:var(--text-muted);font-size:.74rem;font-weight:600}.contact-metric-value{font-size:.82rem;color:var(--text);line-height:1.35}.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.contact-chip{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text);background:#fff;text-align:center;font-weight:600;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.contact-chip:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--surface-soft);transform:translateY(-1px)}.contact-chip-resume{grid-column:1 / -1;background:var(--accent);border-color:var(--accent);color:#fff}.contact-chip-resume:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.contact-form{display:grid;gap:.8rem;align-content:start}.contact-form-header{display:grid;gap:.28rem;margin-bottom:.1rem}.contact-form-title{font-size:1.1rem}.contact-form-subtitle{color:var(--text-muted);font-size:.9rem}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.input-control,.textarea-control{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem .78rem;background:#fff;color:var(--text);transition:border-color .2s ease,box-shadow .2s ease}.input-control::placeholder,.textarea-control::placeholder{color:#1565c0b8}.input-control:focus,.textarea-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #2196f324}.textarea-control{resize:vertical;min-height:140px}.contact-submit-btn{width:100%;margin-top:.65rem;padding-block:.75rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#02061799;padding:1rem;z-index:100}.modal-card{width:min(840px,100%);background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);padding:1rem;position:relative}.modal-close{border:none;background:transparent;color:var(--text-muted);position:absolute;top:.35rem;right:.7rem;font-size:1.75rem;cursor:pointer}.modal-title{margin-bottom:.7rem;padding-right:1.8rem;font-size:1rem}.modal-image{width:100%;max-height:75vh;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border)}.about-content{display:grid;align-content:start;gap:.85rem;min-width:0;justify-items:start}.about-linkedin-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.25rem;background:var(--accent);color:#fff;border:1px solid transparent;border-radius:var(--radius-sm);padding:.68rem .9rem;font-weight:700;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.about-linkedin-btn:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 10px 22px #0d47a133}@media (max-width: 1024px) and (orientation: portrait),(max-width: 786px){.site-header{display:none}}@media (max-width: 1024px){.navbar,.main-content{width:min(1120px,calc(100% - 1.6rem))}.navbar{align-items:flex-start;flex-direction:column;gap:.7rem;padding-block:.85rem}.nav-list{width:100%;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:.2rem;scrollbar-width:thin}.nav-list li{flex:0 0 auto}.section-wrapper{scroll-margin-top:8.4rem}.hero-grid{grid-template-columns:1fr;gap:1.5rem}.hero-image-wrap{order:-1;justify-self:center;width:min(440px,88%)}.hero-copy{max-width:100%;justify-self:center;text-align:center}.hero-intro{margin-inline:auto}.hero-kicker-row,.hero-value-list,.hero-stat-grid,.social-list,.hero-actions{justify-content:center}.about-card,.skills-showcase,.contact-grid{grid-template-columns:1fr}.about-card{gap:.9rem}.about-visual{display:none}.skills-showcase{gap:.85rem}.skills-overview-grid,.project-overview-grid,.cert-overview-grid,.technical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-track{grid-auto-columns:calc((100% - 1rem)/2)}.cert-scroll{grid-auto-columns:calc((100% - .8rem)/2)}}@media (max-width: 786px){.navbar,.main-content{width:min(1120px,calc(100% - 1.1rem))}.nav-list{gap:.5rem}.nav-link{font-size:.84rem;padding:.4rem .72rem}.main-content{padding-block:1.4rem;gap:1.8rem}.section-wrapper{scroll-margin-top:8.6rem}.home-section{min-height:auto}.main-content.home-main-content{padding-block:.4rem}.hero-actions{width:100%}.hero-kicker-row,.hero-value-list{justify-content:center}.primary-btn,.secondary-btn,.submit-btn,.project-link{width:100%;text-align:center;justify-content:center}.contact-links,.contact-metrics,.contact-row,.about-metrics,.about-detail-grid,.cert-overview-grid,.project-overview-grid,.hero-stat-grid,.skills-overview-grid,.technical-grid{grid-template-columns:1fr}.about-image-wrap{perspective:none}.about-flip-card{height:auto;aspect-ratio:auto}.about-flip-inner{display:grid;gap:.65rem;height:auto;transform:none!important}.about-face{position:relative;inset:auto;transform:none;backface-visibility:visible;-webkit-backface-visibility:visible}.about-face-front .about-image{height:auto;aspect-ratio:1}.cert-carousel,.project-carousel{grid-template-columns:auto 1fr auto;gap:.35rem}.cert-group-header,.project-group-header,.project-head{align-items:flex-start;flex-direction:column}.cert-group-count,.project-group-count{align-self:flex-start}.project-head{gap:.45rem}.project-track,.cert-scroll{grid-auto-columns:100%}.skills-column{padding:1rem}}@media (max-width: 560px){.hero-title{font-size:1.8rem}.home-section{min-height:auto}.main-content.home-main-content{padding-block:.25rem}.about-card,.panel,.cert-group,.project-body,.contact-card,.contact-links,.contact-form{padding:.85rem}.about-highlight-chip{width:100%;justify-content:center}.about-image-badge,.hero-image-badge{left:.5rem;right:.5rem;bottom:.5rem;font-size:.68rem}.modal-card{padding:.75rem}.cert-nav-btn,.project-nav-btn{width:1.7rem;height:1.7rem}.cert-overview-title,.project-overview-title,.skills-overview-title{font-size:.95rem}.cert-overview-card,.project-overview-card,.skills-overview-card{padding:.6rem}.certificate-image{height:130px}.project-description{min-height:auto}.skills-title{font-size:1.02rem}.skills-subtitle{font-size:.85rem}}@media (max-width: 420px){.navbar,.main-content{width:min(1120px,calc(100% - .8rem))}.logo-btn{font-size:1.1rem}.nav-link{font-size:.78rem;padding:.35rem .62rem}.hero-title{font-size:1.58rem}}
