@charset "UTF-8";.siteHeader{background:#2a2b2a;padding:8px 0;position:sticky;top:0;z-index:100}.headerInner{display:flex;align-items:center}.logo{color:#f8fafc;font-weight:600;text-decoration:none;font-size:20px;padding:10px}.navPill{margin-left:auto;display:flex;gap:24px;padding:10px}.navPill a{color:#e8edf4;text-decoration:none;font-weight:400;transition:.2s}.navPill a:hover{color:#acdfd1}.container{max-width:1400px;margin:0 auto;padding:0 16px}.hero{padding:60px 0 80px;background:#f3f3f3}.hero-inner{display:grid;grid-template-columns:500px 1fr;align-items:center;gap:40px;max-width:1200px;margin:0 auto;padding:48px 56px;background:#f8f8f8;border-radius:32px;box-shadow:0 8px 24px #0000000a}.hero-image{padding:0}.hero-image img{width:100%;height:500px;object-fit:cover;display:block;border-radius:32px}.hero-content{display:flex;flex-direction:column;justify-content:center}.hero-title{font-size:clamp(48px,6vw,82px);line-height:.95;margin-bottom:24px;max-width:700px}.hero-subtitle{max-width:520px;line-height:1.8;margin-bottom:32px}.hero-actions{display:flex;gap:16px;margin-top:8px}.section{padding:30px 0}.section#me{padding:60px 0 40px}.section#projects{padding-top:40px;margin-top:0}.section#skills,.section#contact{padding-top:60px;padding-bottom:80px}.section-title{margin:0 0 24px;font-size:30px;letter-spacing:-.02em}.section-title:after{content:"";display:block;width:100px;height:3px;background:#1e7c63;margin-top:12px}.section-text{max-width:85ch;line-height:1.8;margin-bottom:16px}.projects-main-title{font-size:30px;margin-bottom:30px;position:relative}.projects-main-title:after{content:"";display:block;width:120px;height:3px;background:#1e7c63;margin-top:12px}.projects-category{font-size:22px;margin-bottom:20px;opacity:.9}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:24px 0 0}.project-card{display:flex;flex-direction:column;gap:10px;max-width:100%;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:24px;box-shadow:0 6px 18px #0000000a;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.project-card:hover{transform:translateY(-6px);border-color:#15ab833d;box-shadow:0 16px 32px #0f172a1a}.project-card-meta{display:flex;gap:10px;flex-wrap:wrap}.project-kind-badge{background:#15ab831f;color:#146e56}.project-card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:8px}.badge{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;margin-bottom:6px;background:#0f172a14}.tech{margin:0;font-size:14px;opacity:.8}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:550;padding:10px 16px;border-radius:12px}.btn-primary{background:#15ab83;color:#fff}.btn-primary:visited,.btn-primary:hover,.btn-primary:active,.btn-primary:focus{color:#fff}.btn-primary:hover{filter:brightness(.95)}.btn-ghost{background:transparent;border:1px solid rgba(15,23,42,.16);color:#0f172a}.btn-ghost:hover{background:#ffffff40}.skills-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:24px}.skill-card{background:#fff;padding:20px;border-radius:16px;border:1px solid rgba(0,0,0,.06);box-shadow:0 6px 16px #0000000a;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.skill-card:hover{transform:translateY(-6px);border-color:#15ab8352;box-shadow:0 14px 30px #15ab831f}.skill-card h3{margin-bottom:10px}@media(max-width:900px){.projects-grid{grid-template-columns:1fr}.project-card-actions{flex-direction:column;align-items:stretch}}.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:72px;align-items:start}.about-content{max-width:720px}.about-content .section-title{margin-bottom:20px}.about-content .section-text{max-width:75ch;line-height:2;margin-bottom:22px}.about-card{position:relative;background:#fff;padding:32px;border-radius:20px;border:1px solid rgba(0,0,0,.06);box-shadow:0 12px 30px #00000014;margin-top:24px}.about-card:before{content:"";position:absolute;top:0;left:24px;width:48px;height:4px;background:#15ab83;border-radius:0 0 6px 6px}.about-card h3{font-size:22px;margin-bottom:20px}.about-card ul{list-style:none;padding:0;margin:0}.about-card li{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:15px;line-height:1.5}#contact .section-text{max-width:65ch;margin-bottom:24px}#contact .btn{margin-bottom:16px}.contact-email{margin-top:8px;font-size:14px;opacity:.75}.btn-cv{border:1px solid rgba(0,0,0,.1);background:#fff}.btn-cv:hover{transform:translateY(-2px);transition:.2s ease}.contact-link a{color:#15ab83;text-decoration:none;font-weight:500}.contact-link a:hover{text-decoration:underline}.footer{margin-top:80px;padding:20px 0;border-top:1px solid rgba(0,0,0,.08);background:#f9faf9}.footer-inner{display:flex;justify-content:center;align-items:center;font-size:14px;color:#6b7280;text-align:center}.footer p{margin:0;opacity:.8}.project-image{width:50%;height:100%;overflow:hidden;border-radius:12px}.project-image img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:900px){.hero-inner{grid-template-columns:1fr;padding:32px}.hero-image img{height:360px}.projects-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:32px}.about-content{max-width:100%}.about-card{padding:24px;margin-top:0}.section{padding:56px 0}.section#contact{padding-bottom:72px}.footer-inner{flex-direction:column;gap:8px;text-align:center}}:root{--page-bg: #fffdf8;--surface-bg: #ffffff;--surface-soft: #f8f8f8;--section-bg: #f3f3f3;--header-bg: #2a2b2a;--text-color: #101828;--muted-text: #475467;--border-soft: rgba(15, 23, 42, .08);--border-strong: rgba(15, 23, 42, .16);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .04);--shadow-card: 0 6px 18px rgba(0, 0, 0, .04);--accent: rgb(21, 171, 131);--accent-soft: rgba(21, 171, 131, .12);--accent-text: rgb(20, 110, 86)}:root[data-theme=dark]{--page-bg: #101514;--surface-bg: #161d1c;--surface-soft: #1b2423;--section-bg: #121918;--header-bg: #0c1110;--text-color: #ffffff;--muted-text: #ffffff;--border-soft: rgba(230, 238, 234, .1);--border-strong: rgba(230, 238, 234, .18);--shadow-soft: 0 14px 34px rgba(0, 0, 0, .26);--shadow-card: 0 12px 28px rgba(0, 0, 0, .22);--accent: rgb(61, 202, 165);--accent-soft: rgba(61, 202, 165, .14);--accent-text: rgb(159, 245, 221)}html,body,#root{min-height:100%}body{background:var(--page-bg);color:var(--text-color);transition:background-color .25s ease,color .25s ease}.layout,.siteMain{background:var(--page-bg);color:var(--text-color)}.siteHeader{background:var(--header-bg);border-bottom:1px solid var(--border-soft)}.logo,.navPill a{color:#f8fafc}.themeToggle{margin-left:16px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);background:#ffffff0f;color:#f8fafc;padding:0;border-radius:999px;font-size:1.35rem;line-height:1;transition:transform .2s ease,background-color .2s ease,border-color .2s ease}.themeToggle:hover{transform:translateY(-1px);border-color:#ffffff59;background:#ffffff1f}.hero{background:var(--section-bg)}.hero-inner,.project-card,.skill-card,.about-card{background:var(--surface-bg);border-color:var(--border-soft);box-shadow:var(--shadow-card)}.hero-inner{background:var(--surface-soft);box-shadow:var(--shadow-soft)}.section-title,.projects-main-title,.projects-category,.project-card h3,.skill-card h3,.about-card h3,.project-hero h1,.project-subsection-card h3,#contact h2{color:var(--text-color)}.section-text,.hero-subtitle,.tech,.project-card p,.skill-card p,.about-card li,.project-hero .subtitle,.project-subsection-card p,figcaption,.footer-inner{color:var(--muted-text)}.project-kind-badge{background:var(--accent-soft);color:var(--accent-text)}.badge{background:#94a3b829;color:var(--text-color)}.btn-primary{background:var(--accent)}.btn-ghost{border-color:var(--border-strong);color:var(--text-color)}:root[data-theme=dark] .btn-ghost:hover{background:#ffffff0f}.footer{background:var(--section-bg);border-top-color:var(--border-soft)}:root[data-theme=dark] .hero-image img,:root[data-theme=dark] .project-image,:root[data-theme=dark] .project-image-card img{box-shadow:0 12px 28px #00000038}@media(max-width:900px){.headerInner{flex-wrap:wrap;gap:12px}.navPill{order:3;width:100%;justify-content:center;margin-left:0;flex-wrap:wrap;gap:16px}.themeToggle{margin-left:auto}}
