@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{--bg:#f5efe6;--bg-strong:#e7dccb;--ink:#101828;--muted:#556070;--shadow-soft:0 24px 60px #0f172a24;color:var(--ink);background:radial-gradient(circle at top left, #fbbf2433, transparent 28%), radial-gradient(circle at bottom right, #14b8a633, transparent 28%), linear-gradient(180deg, var(--bg), #fffaf4 56%, var(--bg-strong));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(#10182805 1px,#0000 1px),linear-gradient(90deg,#10182805 1px,#0000 1px);background-size:36px 36px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#00000047,#0000 80%);mask-image:linear-gradient(#00000047,#0000 80%)}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}#root{min-height:100vh}h1,h2,h3,p{margin-top:0}::selection{color:#0f172a;background:#fbbf2459}.portfolio-page{color:#f8fafc;min-height:100vh;padding:32px;position:relative;overflow:hidden}.portfolio-page:before,.portfolio-page:after{content:"";pointer-events:none;filter:blur(12px);opacity:.8;border-radius:999px;position:absolute;inset:auto}.portfolio-page:before{background:radial-gradient(circle,#facc152e,#0000 68%);width:340px;height:340px;top:28px;right:-120px}.portfolio-page:after{background:radial-gradient(circle,#ffffff14,#0000 70%);width:420px;height:420px;bottom:80px;left:-160px}.portfolio-hero,.portfolio-sections{z-index:1;width:min(1180px,100%);margin:0 auto;position:relative}.portfolio-hero{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);align-items:stretch;gap:28px;padding:28px 0 22px;display:grid}.hero-panel,.hero-media-card,.section-card,.contact-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffff14;box-shadow:0 24px 80px #00000047}.hero-panel,.hero-media-card{background:linear-gradient(#171717f0,#0f0f0feb);border-radius:30px}.hero-panel{flex-direction:column;justify-content:center;padding:clamp(28px,4vw,54px);display:flex}.section-kicker{color:#facc15;letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:10px;width:fit-content;margin-bottom:16px;font-size:.8rem;font-weight:800;display:inline-flex}.section-kicker:before{content:"";background:linear-gradient(90deg,#facc15,#facc1500);border-radius:999px;width:36px;height:2px}.section-kicker--light{color:#ffe16a}.hero-panel h1,.section-header h2,.contact-card h2{color:#fff;letter-spacing:-.04em;margin:0;font-weight:800;line-height:.98}.hero-panel h1{max-width:12ch;font-size:clamp(3rem,7vw,5.6rem)}.intro-text,.contact-card__text,.education-timeline__card p,.certificate-item p,.certificate-item span{color:#f8fafcbd;font-size:1.02rem;line-height:1.75}.intro-text{max-width:64ch;margin:24px 0 0}.hero-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.hero-highlights div,.skill-group,.certificate-item,.education-timeline__card{background:linear-gradient(#ffffff08,#ffffff04);border:1px solid #ffffff14;border-radius:22px}.hero-highlights div{padding:18px 18px 16px}.hero-highlights strong,.skill-group h3,.certificate-item h3,.education-timeline__card h3{color:#fff;font-weight:700;display:block}.hero-highlights strong{margin-bottom:8px;font-size:.98rem}.hero-highlights span,.skill-group__row,.education-timeline__year{color:#f8fafcad;font-size:.95rem}.hero-media-card{align-items:stretch;padding:18px;display:flex}.portrait-frame{background:linear-gradient(145deg,#facc1529,#181818f2),linear-gradient(#ffffff0a,#0000 60%);border:1px solid #facc1529;border-radius:24px;width:100%;min-height:100%;overflow:hidden}.portrait-image{object-fit:cover;aspect-ratio:4/5;filter:saturate(.95)contrast(1.04)brightness(.96);width:100%;height:100%}.portfolio-sections{gap:22px;padding:10px 0 24px;display:grid}.section-card{background:linear-gradient(#181818eb,#0e0e0ef0);border-radius:30px;padding:clamp(24px,3.5vw,40px)}.section-card--light{background:linear-gradient(#1e1e1ef0,#121212f2)}.section-card--dark{background:linear-gradient(#0e0e0efa,#171717eb)}.section-header{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.section-header h2{font-size:clamp(1.8rem,4vw,2.8rem)}.education-timeline,.workstations-grid{gap:16px;display:grid}.workstation-item{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:14px;display:grid}.workstation-item__meta{flex-direction:column;gap:6px;display:flex}.workstation-item__period{color:#facc15;letter-spacing:.06em;text-transform:uppercase;font-weight:700}.workstation-item__desc p{color:#f8fafcbd;margin:0;line-height:1.6}.education-timeline__item{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:14px;display:grid}.education-timeline__dot{background:#facc15;border-radius:50%;width:14px;height:14px;margin-top:18px;box-shadow:0 0 0 6px #facc1524}.education-timeline__card{padding:20px 22px}.education-timeline__year{color:#facc15;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-weight:700}.education-timeline__card h3,.certificate-item h3,.skill-group h3{margin-bottom:10px;font-size:1.08rem}.workstations-grid{gap:18px;display:grid}.workstation-item{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;display:grid;position:relative}.workstation-item__meta{background:linear-gradient(#ffffff08,#ffffff04);border:1px solid #ffffff0f;border-radius:18px;grid-column:2/-1;padding:18px 22px;position:relative}.workstation-item__period{color:#facc15;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-weight:700}.workstation-item__company{color:#fff;margin:0 0 6px;font-size:1.02rem;font-weight:700}.workstation-item__role{color:#f8fafcb8;margin:0 0 10px;font-size:.95rem;font-weight:600}.workstation-item__desc{color:#f8fafcd1;grid-column:2/-1;padding:12px 22px 18px;line-height:1.75}.skills-grid,.certificate-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;display:grid}.projects-grid{grid-template-columns:1fr;gap:18px;display:grid}.project-card{background:linear-gradient(#ffffff0a,#ffffff04);border:1px solid #ffffff14;border-radius:24px;flex-direction:column;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;overflow:hidden;box-shadow:0 20px 44px #00000038}.project-card:hover{border-color:#facc153d;transform:translateY(-4px);box-shadow:0 24px 54px #0000004d}.project-card__media{aspect-ratio:16/9;background:linear-gradient(135deg,#facc151f,#222222f2);justify-content:center;align-items:center;padding:14px;display:flex;position:relative;overflow:hidden}.project-card__media:after{content:"";pointer-events:none;background:linear-gradient(#0000 48%,#00000047);position:absolute;inset:0}.project-card__image{object-fit:contain;object-position:center;filter:saturate(.95)contrast(1.03);width:100%;height:100%;transition:transform .26s}.project-card:hover .project-card__image{transform:none}.project-card__content{gap:14px;padding:22px;display:grid}.project-card__content h3{color:#fff;letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:700}.project-card__content p{color:#f8fafcbd;margin:0;font-size:.98rem;line-height:1.7}.project-card__tech-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.project-card__tech{color:#ffe16a;background:#facc151a;border:1px solid #facc152e;border-radius:999px;align-items:center;padding:.56rem .82rem;font-size:.86rem;font-weight:600;line-height:1;display:inline-flex}.skill-group,.certificate-item{padding:20px}.skill-group h3{align-items:center;gap:10px;display:flex}.skill-group__icon{color:#ffe16a;background:#facc151f;border-radius:12px;place-items:center;width:34px;height:34px;display:inline-grid}.skill-group__list{flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none;display:flex}.skill-group__item{flex:none;max-width:100%}.skill-group__row{color:#f8fafc;letter-spacing:.01em;background:linear-gradient(#facc151f,#ffffff0a);border:1px solid #facc152e;border-radius:999px;align-items:center;padding:.7rem .95rem;font-size:.96rem;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 10px 24px #00000029}.certificate-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.certificate-item__icon{background:#facc151f;border-radius:16px;place-items:center;width:48px;height:48px;margin-bottom:16px;font-size:1.2rem;display:inline-grid}.certificate-item span{color:#facc15;margin-top:8px;font-size:.92rem;font-weight:600;display:inline-block}.contact-card{background:linear-gradient(145deg,#222222fa,#0e0e0efa),linear-gradient(90deg,#facc1514,#0000 44%);border-radius:30px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:clamp(24px,3.5vw,40px);display:flex}.contact-card h2{margin-bottom:14px;font-size:clamp(1.8rem,4vw,2.6rem)}.contact-card__text{max-width:58ch;margin-bottom:0}.cta-button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:.95rem 1.4rem;font-weight:700;text-decoration:none;transition:transform .18s,border-color .18s,background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.cta-button--primary{color:#111;background:linear-gradient(135deg,#facc15,#f59e0b);box-shadow:0 14px 34px #facc1538}.cta-button:hover{transform:translateY(-2px)}.cta-button--primary:hover{color:#111;box-shadow:0 18px 42px #facc1552}.cta-button:focus-visible{outline-offset:3px;outline:3px solid #facc1559}@media (width<=960px){.portfolio-page{padding:20px}.portfolio-hero{grid-template-columns:1fr}.hero-media-card{min-height:360px}.portrait-frame,.portrait-image{min-height:100%}}@media (width<=640px){.portfolio-page{padding:14px}.hero-panel,.hero-media-card,.section-card,.contact-card{border-radius:24px}.hero-panel h1{font-size:clamp(2.4rem,14vw,3.4rem)}.hero-highlights,.skills-grid,.certificate-grid,.projects-grid{grid-template-columns:1fr}.contact-card{align-items:stretch}.contact-card__link{width:100%}}
