:root{color-scheme:light;--bg: #f3f5f2;--surface: #ffffff;--surface-soft: #e9eeea;--text: #0a1714;--muted: #5d6b66;--line: rgba(10, 23, 20, .12);--accent: #087f63;--accent-strong: #05624d;--accent-soft: #caf9e8;--nav: rgba(243, 245, 242, .82);--shadow: 0 24px 70px rgba(31, 50, 43, .1)}.dark{color-scheme:dark;--bg: #07110f;--surface: #0c1815;--surface-soft: #101f1b;--text: #f2f6f3;--muted: #9caaa5;--line: rgba(235, 245, 240, .12);--accent: #72f2c7;--accent-strong: #9affdc;--accent-soft: #153b31;--nav: rgba(7, 17, 15, .8);--shadow: 0 30px 90px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-width:320px;background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--accent) 7%,transparent),transparent 28rem),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color .18s ease,color .18s ease}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::-moz-selection{background:var(--accent);color:#06110e}::selection{background:var(--accent);color:#06110e}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-shell{overflow:clip}.section-pad{position:relative;width:min(calc(100% - 40px),1320px);margin-inline:auto;padding:120px 72px;scroll-margin-top:92px}.section-surface{background:var(--surface);border:1px solid var(--line);border-radius:36px;box-shadow:var(--shadow)}.topbar{position:fixed;z-index:100;top:0;left:0;width:100%;border-bottom:1px solid var(--line);background:var(--nav);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav-wrap{width:min(calc(100% - 40px),1240px);height:76px;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:.92rem;font-weight:720;letter-spacing:-.02em;white-space:nowrap}.brand-mark{width:42px;height:42px;display:block;flex:none;filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--accent) 14%,transparent));transition:transform .18s ease,filter .18s ease}.brand:hover .brand-mark{filter:drop-shadow(0 10px 22px color-mix(in srgb,var(--accent) 22%,transparent));transform:translateY(-1px) rotate(-2deg)}.nav-panel,.nav-links,.nav-actions,.language-switch{display:flex;align-items:center}.nav-panel{gap:42px}.nav-links{gap:30px}.nav-links a{position:relative;color:var(--muted);font-size:.82rem;font-weight:650;transition:color .16s ease}.nav-links a:after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .18s ease}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{transform:scaleX(1);transform-origin:left}.nav-actions{gap:12px}.icon-button,.menu-button{display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}.icon-button{width:40px;height:40px;border-radius:50%}.language-switch{gap:7px;height:40px;padding:0 13px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:.7rem;font-weight:760}.language-switch button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.language-switch button.active{color:var(--accent)}.menu-button{display:none;width:42px;height:42px;border-radius:50%;font-size:1.25rem}.hero{min-height:100svh;padding-top:152px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.62fr);align-items:center;gap:clamp(56px,9vw,124px)}.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(2px)}.ambient-one{top:24%;right:-18%;width:580px;aspect-ratio:1;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 68%)}.eyebrow{margin:0 0 18px;color:var(--accent);font-size:.73rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase}.hero h1{max-width:760px;margin:0;font-size:clamp(3.4rem,6.8vw,7.2rem);font-weight:760;letter-spacing:-.075em;line-height:.9}.hero h1 span{display:block;margin-top:18px;color:var(--muted);font-size:.52em;font-weight:520;letter-spacing:-.045em;line-height:1.05}.hero-description{max-width:660px;margin:34px 0 0;color:var(--muted);font-size:clamp(1rem,1.4vw,1.18rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:10px;padding:0 23px;border:1px solid transparent;border-radius:99px;font-size:.82rem;font-weight:740;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:#06110e}.button-primary:hover{background:var(--accent-strong)}.button-ghost{border-color:var(--line);background:var(--surface);color:var(--text)}.social-row{display:flex;gap:9px;margin-top:38px}.social-row a,.footer-socials a{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--muted);font-size:1.1rem;transition:color .16s ease,border-color .16s ease,transform .16s ease}.social-row a:hover,.footer-socials a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.portrait-wrap{position:relative;width:min(100%,340px);justify-self:end}.portrait-frame{overflow:hidden;aspect-ratio:4 / 5;border:1px solid var(--line);border-radius:30px;background:var(--surface-soft);box-shadow:var(--shadow)}.portrait-frame img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 35%;object-position:50% 35%}.portrait-note{position:absolute;right:-28px;bottom:24px;display:flex;width:min(255px,82%);align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:.7rem;font-weight:690}.portrait-note svg{flex:none;color:var(--accent);font-size:1.25rem}.portrait-index{position:absolute;top:-18px;left:-18px;display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--muted);font-size:.72rem;font-weight:760}.section-heading h2,.contact-copy h2{margin:0;font-size:clamp(2.4rem,5vw,4.9rem);font-weight:700;letter-spacing:-.065em;line-height:1.02}.section-heading>p,.section-heading>div+p,.contact-copy>p:not(.eyebrow){color:var(--muted)}.about-layout{display:grid;grid-template-columns:minmax(220px,.48fr) minmax(0,1.35fr);align-items:center;gap:clamp(48px,8vw,110px)}.about-portrait{position:relative;overflow:hidden;width:min(100%,310px);aspect-ratio:4 / 5;border:1px solid var(--line);border-radius:24px;background:var(--surface-soft)}.about-portrait img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 35%;object-position:50% 35%}.about-portrait:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,#020c09c7);pointer-events:none}.about-portrait span{position:absolute;z-index:1;right:18px;bottom:16px;left:18px;color:#f4faf7;font-size:.72rem;font-weight:700;letter-spacing:.04em}.about-heading>p:last-child{max-width:760px;margin:28px 0 0;color:var(--muted);font-size:1.02rem}.split-heading,.project-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.7fr);align-items:end;gap:clamp(50px,10vw,140px)}.split-heading>p,.project-heading>p{margin:0 0 6px;font-size:1.03rem}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:84px}.strength-card{position:relative;min-height:270px;padding:30px;border:1px solid var(--line);border-radius:24px;background:var(--bg);transition:transform .18s ease,border-color .18s ease}.strength-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));transform:translateY(-5px)}.card-number{position:absolute;top:28px;right:28px;color:var(--muted);font-size:.7rem;font-weight:740}.strength-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:var(--accent-soft);color:var(--accent);font-size:1.3rem}.strength-card h3{margin:70px 0 8px;font-size:1.25rem;letter-spacing:-.03em}.strength-card p{margin:0;color:var(--muted);font-size:.85rem}.compact-heading{max-width:720px}.compact-heading>p:last-child{max-width:600px;margin:24px 0 0}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:64px}.skill-card{display:flex;min-height:110px;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 72%,transparent);transition:background-color .16s ease,transform .16s ease}.skill-card:hover{background:var(--surface);transform:translateY(-3px)}.skill-card img{width:50px;height:50px;flex:none;-o-object-fit:contain;object-fit:contain}.skill-card span{font-size:.88rem;font-weight:680}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:22px;margin-top:84px}.project-card{display:flex;height:100%;min-width:0;flex-direction:column;padding:12px;border:1px solid var(--line);border-radius:24px;background:var(--bg);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));box-shadow:0 20px 46px color-mix(in srgb,#000 14%,transparent);transform:translateY(-5px)}.project-media{position:relative;display:block;overflow:hidden;aspect-ratio:16 / 10;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.project-media img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:var(--surface-soft);transition:transform .5s cubic-bezier(.2,.8,.2,1)}a.project-media:hover img{transform:scale(1.025)}.project-open{position:absolute;top:12px;right:12px;display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--accent);color:#06110e;font-size:1.25rem;transition:transform .18s ease}.project-index{position:absolute;top:12px;left:12px;display:grid;min-width:38px;height:28px;place-items:center;padding:0 9px;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);border-radius:99px;background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.65rem;font-weight:780}a.project-media:hover .project-open{transform:rotate(45deg)}.project-meta{display:flex;min-height:92px;align-items:flex-start;padding:18px 8px 8px}.project-meta p{margin:0 0 5px;color:var(--accent);font-size:.69rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.project-meta h3{margin:0;font-size:clamp(1.15rem,2vw,1.55rem);letter-spacing:-.035em}.contact-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1fr);gap:clamp(60px,10vw,140px);align-items:start}.contact-copy>p:not(.eyebrow){max-width:520px;margin:26px 0 0}.mail-link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-top:42px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.mail-link>span:first-child{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.mail-link>span:nth-child(2){overflow:hidden;text-overflow:ellipsis;font-size:.88rem;font-weight:680}.mail-link small{display:block;color:var(--muted);font-size:.66rem;font-weight:600}.contact-form{padding:34px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.contact-form label{display:block;margin-bottom:20px}.contact-form label>span{display:block;margin-bottom:8px;font-size:.7rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:14px;background:var(--bg);color:var(--text);font-size:.88rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.contact-form input{height:50px;padding:0 15px}.contact-form textarea{min-height:142px;padding:14px 15px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.contact-form input::-moz-placeholder,.contact-form textarea::-moz-placeholder{color:var(--muted);opacity:.72}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.72}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-status{margin:0;color:var(--muted);font-size:.78rem}.form-status.success{color:var(--accent)}.form-status.error{color:#f06f6f}.contact-form button:disabled{cursor:wait;opacity:.65}.footer{width:min(calc(100% - 40px),1240px);margin:40px auto 0;padding:30px 0 38px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid var(--line)}.footer p{margin:0;color:var(--muted);font-size:.72rem}.footer-socials{display:flex;gap:8px}.footer-socials a{width:36px;height:36px;font-size:.95rem}.reveal{animation:reveal .65s cubic-bezier(.2,.8,.2,1) both}.reveal-delay{animation-delay:.12s}@keyframes reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1024px){.section-pad{padding:96px 46px}.nav-panel{gap:22px}.nav-links{gap:18px}.hero{grid-template-columns:1fr .55fr;gap:52px}.skills-grid{grid-template-columns:repeat(3,1fr)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-section{grid-template-columns:1fr 1.1fr;gap:54px}}@media(max-width:820px){.menu-button{display:grid}.nav-panel{position:absolute;top:76px;right:20px;left:20px;display:none;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.nav-panel.is-open{display:block}.nav-links{align-items:stretch;flex-direction:column;gap:0}.nav-links a{padding:13px 0;border-bottom:1px solid var(--line);font-size:.92rem}.nav-links a:after{display:none}.nav-actions{margin-top:20px;justify-content:space-between}.hero{grid-template-columns:1fr;padding-top:140px}.portrait-wrap{width:min(64vw,330px);justify-self:center}.portrait-note{right:-18px}.about-layout{grid-template-columns:minmax(190px,.45fr) 1fr;gap:42px}.split-heading,.project-heading,.contact-section,.strength-grid{grid-template-columns:1fr}.strength-card{min-height:220px}.strength-card h3{margin-top:48px}.skills-grid{grid-template-columns:repeat(2,1fr)}.contact-section{gap:52px}}@media(max-width:620px){.section-pad{width:min(calc(100% - 24px),1320px);padding:76px 22px}.section-surface{border-radius:26px}.nav-wrap,.footer{width:calc(100% - 32px)}.brand>span:last-child{display:none}.hero{min-height:auto;padding-top:128px;gap:58px}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}.hero-description{margin-top:26px}.hero-actions{align-items:stretch;flex-direction:column}.portrait-wrap{width:min(68vw,285px)}.portrait-note{right:-12px;bottom:18px}.portrait-index{left:-10px}.about-layout{grid-template-columns:1fr;gap:36px}.about-portrait{width:min(68vw,240px)}.split-heading,.project-heading{gap:28px}.strength-grid,.projects-grid{margin-top:54px}.skills-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:44px}.skill-card{min-height:96px;padding:15px;gap:12px}.skill-card img{width:40px;height:40px}.projects-grid{grid-template-columns:1fr;gap:42px}.project-media{border-radius:15px}.project-open{top:12px;right:12px;width:42px;height:42px}.contact-form{padding:22px;border-radius:22px}.form-row{grid-template-columns:1fr;gap:0}.form-footer{align-items:stretch;flex-direction:column}.form-footer .button{width:100%}.footer{align-items:flex-start;flex-direction:column}.footer .brand>span:last-child{display:inline}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
