:root{color:#e2e8f0;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary:#0f172a;--color-secondary:#1e293b;--color-accent:#0ea5e9;--color-text:#e2e8f0;--color-muted:#94a3b8;--color-border:#94a3b82e;--color-card:#0f172ad1;--shadow-soft:0 24px 80px #02061773;background:#0f172a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top left, #0ea5e92e, transparent 34rem), radial-gradient(circle at top right, #1e293bc7, transparent 30rem), var(--color-primary);min-width:320px;min-height:100vh;color:var(--color-text);margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}#root{min-height:100vh}.page-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172adb;position:sticky;top:0}.navbar{justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 32px);min-height:72px;margin:0 auto;display:flex}.brand{align-items:center;gap:12px;line-height:1.05;display:inline-flex}.brand__logo{object-fit:contain;filter:drop-shadow(0 0 18px #0ea5e938);border-radius:12px;flex:none;width:42px;height:42px}.brand__text{flex-direction:column;display:inline-flex}.brand__name{letter-spacing:-.04em;font-size:1.2rem;font-weight:800}.brand__tagline{color:var(--color-muted);margin-top:4px;font-size:.74rem}.navbar__links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.navbar__link{color:var(--color-muted);font-size:.92rem;transition:color .18s,transform .18s}.navbar__link:hover,.navbar__link.active{color:#fff}.navbar__action{color:#e0f2fe;background:#0ea5e91a;border:1px solid #0ea5e973;border-radius:999px;padding:8px 14px}.main-content{flex:1}.container{width:min(1120px,100% - 32px);margin:0 auto}.section{padding:88px 0}.section--compact{padding:56px 0}.eyebrow{color:#7dd3fc;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.82rem;font-weight:700}.page-title{color:#fff;letter-spacing:-.08em;max-width:780px;margin:0;font-size:clamp(2.4rem,7vw,3.5rem);line-height:.95}.page-description{max-width:720px;color:var(--color-muted);margin:24px 0 0;font-size:1.08rem;line-height:1.75}.hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:center;gap:48px;display:grid}.hero-card{border:1px solid var(--color-border);box-shadow:var(--shadow-soft);background:linear-gradient(145deg,#1e293beb,#0f172ab8),#0f172acc;border-radius:28px;padding:28px}.hero-card__title{color:#fff;margin:0 0 18px;font-size:1.15rem}.hero-card__list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.hero-card__list li{border-bottom:1px solid var(--color-border);color:var(--color-muted);justify-content:space-between;gap:20px;padding-bottom:12px;display:flex}.hero-card__list li:last-child{border-bottom:0;padding-bottom:0}.hero-card__list strong{color:#fff}.actions{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:12px 18px;font-weight:700;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button--primary{color:#082f49;background:#38bdf8}.button--secondary{border-color:var(--color-border);color:#e2e8f0;background:#0f172a66}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px;display:grid}.card{border:1px solid var(--color-border);background:linear-gradient(145deg,#0f172ac7,#0f172a85),#0f172a9e;border-radius:24px;padding:24px;transition:transform .22s,border-color .22s,box-shadow .22s,background .22s;position:relative;overflow:hidden}.card:before{content:"";pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle at 0 0,#0ea5e92e,#0000 34%),linear-gradient(135deg,#ffffff14,#0000 42%);transition:opacity .22s;position:absolute;inset:0}.card:hover{border-color:#0ea5e99e;transform:translateY(-4px);box-shadow:0 18px 48px #0206176b,0 0 0 1px #0ea5e92e,0 0 32px #0ea5e924}.card:hover:before{opacity:1}.card>*{z-index:1;position:relative}.card h3{color:#fff;margin:0 0 10px;transition:color .22s}.card:hover h3{color:#7dd3fc}.card h3{color:#fff;margin:0 0 10px}.card p{color:var(--color-muted);margin:0;line-height:1.65}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);background:#0f172ab8;padding:28px 0}.site-footer__inner{justify-content:space-between;gap:18px;width:min(1120px,100% - 32px);margin:0 auto;display:flex}.auth-page{place-items:center;min-height:calc(100vh - 72px);padding:56px 16px;display:grid}.auth-card{border:1px solid var(--color-border);width:min(420px,100%);box-shadow:var(--shadow-soft);background:#0f172adb;border-radius:28px;padding:32px}.auth-card h1{color:#fff;margin:0 0 10px}.auth-card p{color:var(--color-muted);margin:0 0 24px}.form-field{gap:8px;margin-bottom:16px;display:grid}.form-field label{color:#e2e8f0;font-weight:700}.form-field input{border:1px solid var(--color-border);color:#fff;background:#02061780;border-radius:14px;width:100%;padding:12px 14px}.form-error{color:#fecaca;background:#7f1d1d33;border:1px solid #f8717159;border-radius:14px;margin-bottom:16px;padding:12px}.admin-shell{background:#020617;grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--color-border);background:#0f172aeb;padding:28px 20px}.admin-sidebar__brand{margin-bottom:32px}.admin-nav{gap:8px;display:grid}.admin-nav a,.admin-nav button{width:100%;color:var(--color-muted);text-align:left;background:0 0;border:0;border-radius:14px;padding:12px 14px}.admin-nav a.active,.admin-nav a:hover,.admin-nav button:hover{color:#fff;background:#0ea5e91f}.admin-main{padding:36px}.admin-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.admin-title{color:#fff;letter-spacing:-.05em;margin:0;font-size:2rem}.admin-panel{border:1px solid var(--color-border);background:#0f172ab8;border-radius:24px;padding:24px}@media (width<=900px){.navbar{flex-direction:column;align-items:flex-start;padding:18px 0}.navbar__links{justify-content:flex-start}.hero-grid,.card-grid,.admin-shell{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--color-border)}.admin-main{padding:24px 16px}.site-footer__inner{flex-direction:column}}.projects-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:42px;display:grid}.project-card{flex-direction:column;gap:18px;min-height:360px;display:flex}.project-card__header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.project-card__slug{color:#7dd3fc;font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);letter-spacing:.04em;margin-bottom:8px;font-size:.78rem;display:inline-flex}.project-card h2{color:#fff;letter-spacing:-.05em;margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05;transition:color .22s}.project-card:hover h2{color:#7dd3fc}.project-card__badge{color:#bae6fd;background:#0ea5e91f;border:1px solid #0ea5e966;border-radius:999px;flex:none;padding:6px 10px;font-size:.76rem;font-weight:700}.project-card__summary{color:#e2e8f0;margin:0;font-size:1.02rem;font-weight:700;line-height:1.55}.project-card__description{color:var(--color-muted);margin:0;line-height:1.75}.project-card__stack{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px;display:flex}.tech-pill{color:#cbd5e1;background:#0f172ab8;border:1px solid #94a3b838;border-radius:999px;align-items:center;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.project-card:hover .tech-pill{color:#e0f2fe;background:#0ea5e91a;border-color:#0ea5e95c}.project-card__links{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.project-card__link{color:#e0f2fe;background:#0ea5e91a;border:1px solid #0ea5e961;border-radius:999px;justify-content:center;align-items:center;padding:8px 12px;font-size:.86rem;font-weight:700;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.project-card__link:hover{background:#0ea5e92e;border-color:#0ea5e9b8;transform:translateY(-1px)}@media (width<=900px){.projects-showcase{grid-template-columns:1fr}.project-card{min-height:auto}.project-card__header{flex-direction:column}}.about-profile-card__meta{border-top:1px solid var(--color-border);grid-template-columns:minmax(90px,auto) 1fr;align-items:baseline;gap:4px 18px;padding:14px 0;display:grid}.about-profile-card__meta:last-child{padding-bottom:0}.about-profile-card__meta span{color:var(--color-muted);white-space:nowrap}.about-profile-card__meta strong{color:#fff;text-align:left}@media (width<=900px){.about-profile-card__meta{grid-template-columns:1fr;row-gap:4px}.about-profile-card__meta strong{text-align:left}}.about-section{margin-top:88px}@media (width<=900px){.about-section{margin-top:64px}}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px;display:grid}@media (width<=900px){.about-grid{grid-template-columns:1fr;gap:18px}}.technologies-page{padding-top:72px}.technology-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:42px;display:grid}.technology-card{flex-direction:column;justify-content:space-between;gap:28px;min-height:300px;display:flex}.technology-card__label{color:#7dd3fc;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.76rem;font-weight:800;display:inline-flex}.technology-card h2{color:#fff;letter-spacing:-.045em;margin:0 0 12px;font-size:1.55rem;line-height:1.1;transition:color .22s}.technology-card:hover h2{color:#7dd3fc}.technology-card p{color:var(--color-muted);margin:0;line-height:1.75}.technology-card__items{flex-wrap:wrap;gap:8px;display:flex}.technology-strengths{grid-template-columns:minmax(0,.75fr) minmax(280px,1.25fr);align-items:start;gap:42px;margin-top:88px;display:grid}.technology-section-title{color:#fff;letter-spacing:-.06em;max-width:520px;margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.technology-strengths__grid{gap:18px;display:grid}.technology-strength-card h3{color:#fff;margin:0 0 10px;font-size:1.2rem}.technology-strength-card:hover h3{color:#7dd3fc}.technology-strength-card p{color:var(--color-muted);margin:0;line-height:1.7}@media (width<=900px){.technologies-page{padding-top:48px}.technology-groups,.technology-strengths{grid-template-columns:1fr}.technology-strengths{margin-top:64px}.technology-card{min-height:auto}}.services-page{padding-top:72px}.services-showcase{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:42px;display:grid}.service-card{flex-direction:column;gap:18px;min-height:360px;display:flex}.service-card__header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.service-card__category{color:#7dd3fc;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:800;display:inline-flex}.service-card h2{color:#fff;letter-spacing:-.05em;margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05;transition:color .22s}.service-card:hover h2{color:#7dd3fc}.service-card__summary{color:#e2e8f0;margin:0;font-size:1.02rem;font-weight:700;line-height:1.55}.service-card__description{color:var(--color-muted);margin:0;line-height:1.75}.service-card__tags{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px;display:flex}.service-card:hover .tech-pill{color:#e0f2fe;background:#0ea5e91a;border-color:#0ea5e95c}.services-cta{box-shadow:var(--shadow-soft);background:radial-gradient(circle at 100% 0,#0ea5e92e,#0000 32%),linear-gradient(145deg,#1e293bc7,#0f172ab8);border:1px solid #0ea5e947;border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:28px;margin-top:88px;padding:32px;display:grid}.services-cta__title{color:#fff;letter-spacing:-.06em;max-width:720px;margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.services-cta__description{max-width:760px;color:var(--color-muted);margin:18px 0 0;line-height:1.75}@media (width<=900px){.services-page{padding-top:48px}.services-showcase,.services-cta{grid-template-columns:1fr}.service-card{min-height:auto}.service-card__header{flex-direction:column}.services-cta{margin-top:64px}.services-cta .button{width:100%}}.experience-page{padding-top:72px}.experience-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px;display:grid}.experience-summary-card{min-height:140px}.experience-summary-card strong{color:#7dd3fc;letter-spacing:-.08em;font-size:clamp(2rem,5vw,3rem);line-height:1;display:block}.experience-summary-card span{color:var(--color-muted);margin-top:12px;font-weight:700;display:block}.experience-timeline{gap:22px;margin-top:72px;display:grid}.experience-card{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:24px;display:grid}.experience-card__index{color:#7dd3fc;width:54px;height:54px;font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace);background:#0ea5e91a;border:1px solid #0ea5e96b;border-radius:18px;place-items:center;font-weight:800;display:grid}.experience-card__label{color:#7dd3fc;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.76rem;font-weight:800;display:inline-flex}.experience-card__heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;display:grid}.experience-card__heading h2{color:#fff;letter-spacing:-.05em;margin:0;font-size:clamp(1.45rem,3vw,2rem);line-height:1.05;transition:color .22s}.experience-card:hover .experience-card__heading h2{color:#7dd3fc}.experience-card__heading p{color:var(--color-muted);margin:8px 0 0}.experience-card__heading strong{color:#e2e8f0;text-align:right}.experience-card__description{color:var(--color-muted);margin:18px 0 0;line-height:1.75}.experience-card__highlights{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.experience-card__highlights li{color:#cbd5e1;padding-left:22px;line-height:1.6;position:relative}.experience-card__highlights li:before{content:"";background:#38bdf8;border-radius:999px;width:8px;height:8px;position:absolute;top:.72em;left:0;box-shadow:0 0 16px #38bdf880}.experience-card__tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.experience-card:hover .tech-pill,.experience-achievement-card:hover .tech-pill{color:#e0f2fe;background:#0ea5e91a;border-color:#0ea5e95c}.experience-section{grid-template-columns:minmax(0,.72fr) minmax(280px,1.28fr);align-items:start;gap:42px;margin-top:88px;display:grid}.experience-section-title{color:#fff;letter-spacing:-.06em;max-width:560px;margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.experience-projects{border:1px solid var(--color-border);background:linear-gradient(145deg,#0f172ad1,#0f172a85),#0f172a9e;border-radius:26px;flex-wrap:wrap;gap:10px;padding:24px;display:flex}.experience-achievements{gap:18px;display:grid}.experience-achievement-card h3,.experience-education-card h3{color:#fff;margin:0 0 10px;font-size:1.2rem}.experience-achievement-card:hover h3,.experience-education-card:hover h3{color:#7dd3fc}.experience-achievement-card p,.experience-education-card p{color:var(--color-muted);margin:0;line-height:1.7}.experience-education-card p+p{margin-top:10px}@media (width<=900px){.experience-page{padding-top:48px}.experience-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-card,.experience-card__heading{grid-template-columns:1fr}.experience-card__heading strong{text-align:left}.experience-section{grid-template-columns:1fr;margin-top:64px}}@media (width<=560px){.experience-summary{grid-template-columns:1fr}}.contact-page{padding-top:72px}.contact-hero{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:stretch;gap:42px;display:grid}.contact-card{box-shadow:var(--shadow-soft);background:radial-gradient(circle at 100% 0,#0ea5e933,#0000 34%),linear-gradient(145deg,#1e293be0,#0f172ac7);border:1px solid #0ea5e947;border-radius:28px;padding:28px;position:relative;overflow:hidden}.contact-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff14,#0000 38%),radial-gradient(circle at 0 100%,#0ea5e929,#0000 32%);position:absolute;inset:0}.contact-card>*{z-index:1;position:relative}.contact-card__label{color:#bae6fd;letter-spacing:.08em;text-transform:uppercase;background:#0ea5e91f;border:1px solid #0ea5e961;border-radius:999px;margin-bottom:18px;padding:6px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.contact-card h2{color:#fff;letter-spacing:-.06em;margin:0;font-size:2rem;line-height:1}.contact-card p{color:var(--color-muted);margin:12px 0 24px;line-height:1.65}.contact-card__list{display:grid}.contact-card__item{border-top:1px solid var(--color-border);grid-template-columns:minmax(100px,auto) 1fr;align-items:baseline;column-gap:18px;padding:14px 0;display:grid}.contact-card__item:last-child{padding-bottom:0}.contact-card__item span{color:var(--color-muted);white-space:nowrap}.contact-card__item a,.contact-card__item strong{color:#fff;text-align:left;font-weight:800}.contact-card__item a{transition:color .18s}.contact-card__item a:hover{color:#7dd3fc}.contact-section{grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);align-items:start;gap:42px;margin-top:88px;display:grid}.contact-section-title{color:#fff;letter-spacing:-.06em;max-width:580px;margin:0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.05}.contact-section-description{max-width:620px;color:var(--color-muted);margin:22px 0 0;line-height:1.8}.contact-form{border:1px solid var(--color-border);background:linear-gradient(145deg,#0f172ad1,#0f172a85),#0f172a9e;border-radius:28px;padding:28px}.contact-form textarea{resize:vertical;border:1px solid var(--color-border);color:#fff;background:#02061780;border-radius:14px;width:100%;padding:12px 14px}.contact-form input:focus,.contact-form textarea:focus{outline-offset:2px;border-color:#0ea5e99e;outline:2px solid #0ea5e96b}.contact-form .button{width:100%;margin-top:8px}@media (width<=900px){.contact-page{padding-top:48px}.contact-hero,.contact-section{grid-template-columns:1fr}.contact-section{margin-top:64px}.contact-card__item{grid-template-columns:1fr;row-gap:4px}}.form-success{color:#bbf7d0;background:#14532d3d;border:1px solid #22c55e59;border-radius:14px;margin-bottom:16px;padding:12px}.hero-profile-card{box-shadow:var(--shadow-soft);background:radial-gradient(circle at top,#0ea5e938,#0000 36%),linear-gradient(145deg,#1e293beb,#0f172abd),#0f172acc;border:1px solid #0ea5e947;border-radius:32px;padding:30px;position:relative;overflow:hidden}.hero-profile-card:before{content:"";pointer-events:none;background:linear-gradient(135deg,#ffffff14,#0000 38%),radial-gradient(circle at 0 100%,#0ea5e924,#0000 32%);position:absolute;inset:0}.hero-profile-card>*{z-index:1;position:relative}.hero-profile-card__image-wrap{background:radial-gradient(circle,#0ea5e938,#0000 62%),#0206177a;border:1px solid #0ea5e95c;border-radius:999px;place-items:center;width:190px;height:190px;margin:0 auto 24px;display:grid;box-shadow:0 0 0 8px #0ea5e90a,0 24px 60px #0206175c}.hero-profile-card__image{object-fit:cover;object-position:center 38%;border-radius:999px;width:168px;height:168px}.hero-profile-card__identity{text-align:center;margin-bottom:26px}.hero-profile-card__label{color:#bae6fd;letter-spacing:.08em;text-transform:uppercase;background:#0ea5e91f;border:1px solid #0ea5e961;border-radius:999px;margin-bottom:14px;padding:6px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.hero-profile-card h2{color:#fff;letter-spacing:-.06em;margin:0;font-size:2rem;line-height:1}.hero-profile-card p{color:var(--color-muted);margin:10px 0 0;line-height:1.65}@media (width<=900px){.hero-profile-card{padding:26px}.hero-profile-card__image-wrap{width:154px;height:154px}.hero-profile-card__image{width:138px;height:138px}}.cv-download-card__meta{border-top:1px solid var(--color-border);grid-template-columns:minmax(90px,auto) 1fr;align-items:baseline;gap:4px 18px;padding:14px 0;display:grid}.cv-download-card__meta:last-child{padding-bottom:0}.cv-download-card__meta span{color:var(--color-muted);white-space:nowrap}.cv-download-card__meta strong{color:#fff;text-align:left}.cv-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:72px;display:grid}.cv-summary-card{min-height:140px}.cv-summary-card strong{color:#7dd3fc;letter-spacing:-.08em;font-size:clamp(2rem,5vw,3rem);line-height:1;display:block}.cv-summary-card span{color:var(--color-muted);margin-top:12px;font-weight:700;display:block}@media (width<=900px){.cv-download-card__meta{grid-template-columns:1fr;row-gap:4px}.cv-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:56px}}@media (width<=560px){.cv-summary{grid-template-columns:1fr}}.cv-section-grid{gap:18px;display:grid}.cv-info-card{min-height:150px}.cv-info-card h3{color:#fff;margin:0 0 10px;font-size:1.2rem;transition:color .22s}.cv-info-card:hover h3{color:#7dd3fc}.cv-info-card p{color:var(--color-muted);margin:0;line-height:1.7}
