:root{--paper:#e3e3e3;--brand:#0d52ff;--brand-light:#7ea6ff;--bg-deep:#0b1220;--bg-card:#fff3;--line:#ffffff59;--text:#0f172a;--muted:#374151;--shadow:0 24px 60px #0d52ff2e;--glass:#ffffff2e;--secondary:#1f7cff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:linear-gradient(135deg, var(--paper) 0%, #dce8ff 30%, #7ca8ff 60%, var(--brand) 100%);color:var(--text);min-height:100vh;font-family:Inter,sans-serif;position:relative;overflow-x:hidden}:focus-visible{outline-offset:3px;outline:3px solid #0d52ffcc}.skip-link{background:var(--text);color:#fff;z-index:100;border-radius:.8rem;padding:.8rem 1.2rem;position:absolute;top:1rem;left:-9999px}.skip-link:focus{left:1rem}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(1180px,100% - 2rem);margin:0 auto}.aurora{filter:blur(70px);opacity:.4;pointer-events:none;z-index:0;border-radius:50%;width:28rem;height:28rem;position:fixed}.aurora-1{background:#fff6;top:4rem;left:-4rem}.aurora-2{background:#0d52ff73;top:18rem;right:-3rem}.aurora-3{background:#7ca8ff80;bottom:3rem;left:30%}.topbar,.hero,.section,.page-shell,.footer{z-index:1;position:relative}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);z-index:50;background:#ffffff24;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:1rem;min-height:4.75rem;display:flex}.brand{letter-spacing:.02em;color:var(--text);align-items:center;gap:.7rem;font-weight:800;display:inline-flex}.brand strong{color:var(--brand)}.brand__dot{background:linear-gradient(135deg, var(--brand), var(--brand-light));border-radius:50%;width:.72rem;height:.72rem;box-shadow:0 0 22px #0d52ffcc}.nav__links{color:var(--text);align-items:center;gap:1.2rem;font-size:.96rem;display:flex}.nav__links a{border-radius:999px;padding:.5rem .7rem;transition:background .2s,color .2s}.nav__links a:hover,.nav__links a:focus-visible{color:var(--brand);background:#ffffff1f}.nav-toggle{border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:14px;flex-direction:column;gap:.28rem;width:2.75rem;height:2.75rem;padding:.7rem;display:none}.nav-toggle span{background:var(--text);border-radius:999px;width:100%;height:2px;display:block}.button{background:linear-gradient(135deg, var(--brand), #3d83ff);color:#fff;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:2.9rem;padding:.8rem 1.35rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 14px 28px #0d52ff38}.button:hover,.button:focus-visible{transform:translateY(-2px);box-shadow:0 18px 35px #0d52ff47}.button--ghost{border-color:var(--line);box-shadow:none;color:var(--text);background:#ffffff14}.hero{grid-template-columns:1.2fr .8fr;align-items:center;gap:2.5rem;min-height:calc(100vh - 4.8rem);padding:3.5rem 0 2rem;display:grid}.hero__content{flex-direction:column;gap:1.1rem;display:flex}.eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800}.hero h1,.section-heading h2,.page-card h1,.contact-card h2{letter-spacing:-.06em;font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.04}.hero h1 span{color:var(--brand)}.hero__text{max-width:38rem;color:var(--muted);font-size:1.08rem;line-height:1.7}.hero__actions{flex-wrap:wrap;gap:1rem;display:flex}.hero__socials{gap:1rem;margin-top:.5rem;display:flex}.hero__socials a{border:1px solid var(--line);background:#ffffff24;border-radius:50%;place-items:center;width:2.85rem;height:2.85rem;transition:transform .2s,border-color .2s;display:grid}.hero__socials a:hover,.hero__socials a:focus-visible{border-color:#0d52ff80;transform:translateY(-2px)}.hero__socials img{filter:brightness(1.1);width:1.28rem}.hero__visual{justify-content:center;align-items:center;display:flex}.glass-card{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);background:#ffffff2e;border-radius:30px}.glass-card--large{width:min(24rem,100%);padding:1.15rem}.profile-ring{aspect-ratio:1;background:linear-gradient(135deg,#0d52ffcc,#7ca8ffb3);border-radius:30px;width:100%;padding:.6rem;position:relative;box-shadow:0 20px 32px #0d52ff47}.profile-ring img{object-fit:cover;border-radius:24px;width:100%;height:100%}.glass-card__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.glass-card__stats div{border:1px solid var(--line);background:#ffffff0d;border-radius:18px;flex-direction:column;gap:.3rem;padding:1rem;display:flex}.glass-card__stats strong{color:var(--brand);font-size:1.65rem}.glass-card__stats span{color:var(--muted);font-size:.9rem}.section{padding:2rem 0 4rem}.section-heading{margin-bottom:1.8rem}.section-heading--inline{justify-content:space-between;align-items:end;gap:1rem;display:flex}.section-heading h2{letter-spacing:-.06em;font-size:clamp(2.05rem,4vw,2.8rem)}.about-grid{grid-template-columns:1.3fr .7fr;gap:1.5rem;display:grid}.about-grid .glass-card,.contact-card,.project-card,.certificate-card,.page-card{padding:1.5rem}.about-grid p+p{margin-top:1rem}.about-grid p,.about-layout__text p,.project-card p,.certificate-card p,.resume-aside p,.resume-content span,.resume-list,.timeline span{color:var(--muted);line-height:1.7}.glass-card--compact h3,.resume-aside h3,.resume-content h3{margin-bottom:1rem;font-size:1.1rem}.chips,.resume-list--tags{flex-wrap:wrap;gap:.7rem;display:flex}.chips span,.resume-list--tags li{border:1px solid var(--line);background:#ffffff14;border-radius:999px;padding:.55rem .8rem;list-style:none}.projects-grid,.certificates-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;display:grid}.project-card{perspective:1000px;padding:0;transition:transform .25s,box-shadow .25s;overflow:hidden}.project-card:hover,.project-card:focus-within{transform:translateY(-6px)rotateX(4deg);box-shadow:0 26px 48px #0d52ff2e}.project-card__visual{background-position:50%;background-size:cover;height:180px}.gradient-1{background:linear-gradient(135deg,#0d52ffcc,#7ca8ffcc)}.gradient-2{background:linear-gradient(135deg,#4f46e5cc,#3b82f6cc)}.gradient-3{background:linear-gradient(135deg,#3b82f6cc,#0ea5e9cc)}.project-card__content{padding:1.25rem}.badge{color:var(--brand);background:#0d52ff1a;border-radius:999px;margin-bottom:.85rem;padding:.4rem .72rem;font-size:.72rem;font-weight:800;display:inline-flex}.project-card h3,.certificate-card h3{margin-bottom:.6rem;font-size:1.4rem}.project-card__meta{flex-wrap:wrap;gap:.55rem;margin:1rem 0;display:flex}.project-card__meta span{color:var(--brand);background:#0d52ff12;border:1px solid #0d52ff33;border-radius:999px;padding:.4rem .7rem;font-size:.73rem;font-weight:700}.project-card__actions{justify-content:space-between;gap:.7rem;display:flex}.project-card a,.certificate-card a,.detail-card__actions a{color:var(--brand);font-weight:700}.certificate-card{flex-direction:column;gap:1rem;display:flex}.certificate-card__icon{width:3rem;height:3rem;color:var(--brand);background:linear-gradient(135deg,#0d52ff1f,#7ca8ff2e);border:1px solid #0d52ff33;border-radius:16px;place-items:center;font-weight:800;display:grid}.contact-card{justify-content:space-between;align-items:center;gap:1rem;display:flex}.contact-card__actions{flex-wrap:wrap;gap:1rem;display:flex}.footer{border-top:1px solid var(--line);background:#ffffff14;padding:1.2rem 0}.footer__inner{color:var(--text);justify-content:space-between;align-items:center;gap:1rem;font-size:.92rem;display:flex}.page-shell{padding:3.5rem 0 4rem}.page-card{min-height:32rem}.page-card__intro{margin-bottom:2rem}.page-card__intro h1,.resume-header h1,.detail-card h1{letter-spacing:-.06em;margin-top:.6rem;font-size:clamp(2.2rem,4vw,3.4rem)}.about-layout{grid-template-columns:1.25fr .75fr;align-items:center;gap:1.6rem;display:grid}.about-layout__text{flex-direction:column;gap:1rem;display:flex}.about-layout__media{flex-direction:column;align-items:center;gap:1.2rem;display:flex}.profile-ring--small{width:min(17rem,100%)}.mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:100%;display:grid}.mini-metrics div{border:1px solid var(--line);background:#ffffff0f;border-radius:18px;flex-direction:column;gap:.3rem;padding:1rem;display:flex}.mini-metrics strong{color:var(--brand);font-size:1.5rem}.resume-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.resume-grid{grid-template-columns:.8fr 1.2fr;gap:1.5rem;display:grid}.resume-aside,.resume-content{flex-direction:column;gap:1.5rem;display:flex}.resume-list{flex-direction:column;gap:.45rem;list-style:none;display:flex}.resume-list--tags{flex-flow:wrap;display:flex}.timeline{flex-direction:column;gap:1rem;list-style:none;display:flex}.timeline li{border-left:2px solid #0d52ffb3;flex-direction:column;gap:.35rem;padding-left:1rem;display:flex}.timeline strong{color:var(--text)}.resume-toolbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.resume-sheet{color:#17233d;background:#fff;border:1px solid #0d52ff24;border-radius:26px;overflow:hidden;box-shadow:0 28px 70px #102a6033}.resume-cover{color:#fff;background:linear-gradient(115deg,#0d52ff 0%,#3d7cff 68%,#75a1ff 100%);justify-content:space-between;align-items:center;gap:2rem;min-height:15rem;padding:2.5rem 3rem;display:flex}.resume-cover__kicker{color:#e3e3e3;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem;font-size:.76rem;font-weight:800}.resume-cover h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.05}.resume-cover__role{color:#edf3ff;margin-top:.8rem;font-size:1.02rem}.resume-cover__photo{object-fit:cover;border:4px solid #ffffffb8;border-radius:50%;flex:0 0 8rem;width:8rem;height:8rem;box-shadow:0 10px 30px #09256933}.resume-sheet__body{grid-template-columns:minmax(15rem,.78fr) minmax(0,1.45fr);display:grid}.resume-sidebar,.resume-main{flex-direction:column;gap:1.5rem;padding:2rem 2.2rem;display:flex}.resume-sidebar{background:#f0f3fa;border-right:1px solid #e2e8f3}.resume-section h2{color:#0d52ff;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.8rem;font-size:.95rem}.resume-section h3{color:#17233d;margin-bottom:.3rem;font-size:1rem;line-height:1.5}.resume-section p,.resume-contact,.resume-strengths{color:#45536b;font-size:.9rem;line-height:1.7}.resume-contact{flex-direction:column;gap:.65rem;list-style:none;display:flex}.resume-contact li{overflow-wrap:anywhere;flex-direction:column;display:flex}.resume-contact li>span:first-child{color:#68758b;text-transform:uppercase;font-size:.72rem;font-weight:700}.resume-contact a{color:#1749bf}.resume-tags{flex-wrap:wrap;gap:.45rem;list-style:none;display:flex}.resume-tags li{color:#1749bf;background:#fff;border:1px solid #d5e0f7;border-radius:999px;padding:.4rem .65rem;font-size:.78rem;font-weight:700}.resume-entry{border-bottom:1px solid #e7ebf2;grid-template-columns:9rem minmax(0,1fr);gap:1rem;padding:.25rem 0 1.15rem;display:grid}.resume-entry+.resume-entry{padding-top:1.15rem}.resume-entry__date{color:#1749bf;font-size:.78rem;font-weight:800;line-height:1.6}.resume-note{margin-top:.8rem;font-style:italic;color:#68758b!important;font-size:.78rem!important}.resume-strengths{padding-left:1.2rem}.certificate-maker{background:#e3e3e394;border:1px solid #0d52ff2e;border-radius:22px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.5rem;margin-top:2.5rem;padding:1.5rem;display:grid}.certificate-maker__intro h2{margin:.55rem 0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.2}.certificate-maker__intro>p:last-child,.certificate-maker__help,.certificate-maker__status{color:#45536b;font-size:.88rem;line-height:1.65}.certificate-maker__form,.certificate-maker__fields{gap:.9rem;display:grid}.upload-control{cursor:pointer;background:#ffffffad;border:1px dashed #0d52ff;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1.1rem;display:flex}.upload-control:focus-within{outline-offset:3px;outline:3px solid #0d52ff59}.upload-control input{color:#263650;width:100%;margin-top:.35rem}.upload-control__icon{color:#0d52ff;font-size:1.5rem;line-height:1}.upload-control__title{color:#17233d;font-weight:800}.upload-control__hint{color:#59677d;font-size:.8rem}.certificate-maker__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.certificate-maker__fields label{color:#263650;gap:.4rem;font-size:.82rem;font-weight:700;display:grid}.certificate-maker__fields input{color:#17233d;width:100%;min-height:2.8rem;font:inherit;background:#fff;border:1px solid #c8d3e7;border-radius:10px;padding:.65rem .75rem}.certificate-maker__fields input:focus-visible{border-color:#0d52ff;outline:3px solid #0d52ff47}.certificate-maker__preview{background:linear-gradient(145deg,#f1f5fc,#fff);border:1px solid #d8e1f1;border-radius:18px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) 15rem;align-items:center;gap:1.2rem;margin-top:1.2rem;padding:1rem;display:grid;box-shadow:0 16px 34px #102a6014}.certificate-maker__preview[hidden]{display:none}.certificate-maker__preview img{object-fit:contain;background:#e3e3e3;border:1px solid #d3dceb;border-radius:12px;width:100%;max-height:36rem;box-shadow:0 12px 28px #0d285f24}.certificate-maker__preview div{color:#263650;overflow-wrap:anywhere;gap:.3rem;min-width:0;display:grid}.certificate-maker__preview span{color:#59677d;font-size:.8rem}.certificate-maker__preview .certificate-maker__preview-label{color:#0d52ff;letter-spacing:.08em;font-size:.68rem;font-weight:800}.certificate-maker__preview strong{color:#17233d;overflow-wrap:anywhere}.certificate-maker__actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.9rem;display:flex}.certificate-maker__actions .button:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.55;transform:none}.certificate-maker__status{min-height:1.5em}.list-grid,.detail-card__body,.detail-meta,.detail-content{gap:1rem;display:grid}.detail-card{padding:1.8rem}.detail-card__body{grid-template-columns:1.1fr .9fr;align-items:start}.detail-visual{border:1px solid var(--line);background:linear-gradient(135deg,#0d52ffcc,#7ca8ffe6);border-radius:24px;min-height:16rem}.detail-meta{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-meta div,.detail-content section,.list-card{border:1px solid var(--line);background:#ffffff0f;border-radius:18px;padding:1rem}.detail-content{margin-top:1rem}.list-card{flex-direction:column;gap:.6rem;display:flex}.list-card ul{color:var(--muted);margin-left:1.2rem;line-height:1.8}@media (width<=980px){.hero,.about-grid,.projects-grid,.certificates-grid,.resume-grid,.about-layout,.detail-card__body,.contact-card{grid-template-columns:1fr;display:grid}.contact-card{justify-content:flex-start}.certificate-maker,.certificate-maker__preview{grid-template-columns:1fr}.certificate-maker__preview img{max-height:24rem}}@media (width<=760px){.nav{flex-wrap:wrap;padding:.8rem 0;position:relative}.nav-toggle{margin-left:auto;display:flex}.nav__links{flex-direction:column;align-items:flex-start;width:100%;padding:1rem 0 .2rem;display:none}.nav__links.is-open{display:flex}.nav__links a{width:100%}.button--ghost{display:none}.hero{min-height:auto;padding-top:2rem}.section-heading--inline,.resume-header,.footer__inner{text-align:left;flex-direction:column;align-items:flex-start}.hero__actions,.contact-card__actions,.project-card__actions{flex-direction:column;width:100%}.button{width:100%}.resume-toolbar,.resume-cover{flex-direction:column-reverse;align-items:flex-start}.resume-toolbar{flex-direction:column}.resume-cover{padding:1.5rem}.resume-cover__photo{flex-basis:6.5rem;width:6.5rem;height:6.5rem}.resume-sidebar,.resume-main{padding:1.4rem}.resume-entry,.certificate-maker__fields{grid-template-columns:1fr;gap:.35rem}.certificate-maker{padding:1rem}.certificate-maker__actions{flex-direction:column;align-items:stretch}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@media print{@page{size:A4;margin:12mm}body{color:#17233d;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;min-height:auto}.topbar,.aurora,.resume-toolbar,.footer,.skip-link{display:none!important}.container,.page-shell{width:100%;max-width:none;margin:0;padding:0}.resume-sheet{box-shadow:none;border:0;border-radius:0;overflow:visible}.resume-cover{break-inside:avoid;min-height:0;padding:18mm 15mm}.resume-cover h1{font-size:30pt}.resume-cover__photo{flex-basis:28mm;width:28mm;height:28mm}.resume-sheet__body{grid-template-columns:.78fr 1.45fr}.resume-sidebar,.resume-main{gap:7mm;padding:10mm}.resume-section,.resume-entry{break-inside:avoid}a{color:inherit;text-decoration:none}}
