:root{color:#e7fff8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#062c26;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}.site{min-height:100svh;overflow:hidden}.intro{min-height:100svh;transition:min-height .8s cubic-bezier(.22,1,.36,1);position:relative}.intro:before{content:"";background:radial-gradient(circle,#28deb733,#0000 68%);width:min(80vw,780px);height:min(80vw,780px);transition:opacity .45s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro__content{text-align:center;z-index:1;transition:left .8s cubic-bezier(.22,1,.36,1),top .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1),text-align .8s;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.intro__identity{flex-direction:column;align-items:center;gap:24px;display:flex}.intro__avatar{object-fit:cover;border:1px solid #b1fff06b;border-radius:50%;width:clamp(150px,19vw,270px);height:clamp(150px,19vw,270px);transition:border-width .5s,height .8s cubic-bezier(.22,1,.36,1),opacity .4s,transform .5s,width .8s cubic-bezier(.22,1,.36,1);box-shadow:0 18px 50px #00000038}.intro__eyebrow{color:#87c9bc;letter-spacing:.18em;text-transform:uppercase;margin:0 0 20px;font-size:clamp(.75rem,1.4vw,.95rem)}.intro h1{color:#e7fff8;letter-spacing:-.07em;margin:0;font-size:clamp(2.7rem,8vw,6.5rem);font-weight:600;line-height:.95;transition:font-size .8s cubic-bezier(.22,1,.36,1)}.intro__role{color:#afded3;margin:28px 0 0;font-size:clamp(1rem,2.2vw,1.5rem);line-height:1.35;transition:opacity .35s,transform .35s}.intro__actions{flex-direction:column;align-items:center;gap:10px;margin-top:40px;display:flex}.intro__action{color:#b9fff0;cursor:pointer;font:inherit;background:0 0;border:1px solid #5ce8cc;border-radius:999px;min-width:180px;margin:0;padding:14px 24px;font-size:clamp(.95rem,1.5vw,1.1rem);font-weight:600;transition:background-color .2s,transform .2s}.intro__action--secondary{background:0 0}.intro__action--active{color:#062720;background:#62e9ce}.intro__action:hover{color:#062720;background:#62e9ce;transform:translateY(-2px)}.intro__action:focus-visible,.project-card a:focus-visible,.code-sample:focus-visible{outline-offset:4px;outline:3px solid #b1fff0}.site--portfolio-open{overflow:visible}.site--portfolio-open .intro{min-height:0}.site--portfolio-open .intro:before{opacity:0}.site--portfolio-open .intro__content{text-align:left;top:32px;left:calc(100% - clamp(24px,5vw,72px));transform:translate(-100%)}.site--portfolio-open .intro__identity{align-items:flex-start;gap:10px}.site--portfolio-open .intro__avatar{opacity:1;width:52px;height:52px;transform:scale(1)}.site--portfolio-open .intro__eyebrow{margin-bottom:8px;font-size:.68rem}.site--portfolio-open .intro h1{font-size:clamp(1.45rem,2.7vw,2.4rem)}.site--portfolio-open .intro__role{opacity:0;pointer-events:none;height:0;margin:0;overflow:hidden;transform:translateY(-8px)}.site--portfolio-open .intro__actions{flex-direction:row;gap:8px;margin-top:14px}.site--portfolio-open .intro__action{min-width:0;padding:8px 12px;font-size:.78rem}.portfolio,.skills{max-width:810px;margin-left:clamp(24px,10vw,164px);padding:32px 24px 96px 0;animation:.65s both portfolio-reveal}.portfolio__section+.portfolio__section{margin-top:112px}.portfolio__intro{margin-bottom:56px}.portfolio h2{color:#e7fff8;letter-spacing:-.06em;white-space:pre-line;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:.98}.portfolio__intro>p:last-child{color:#afded3;max-width:590px;margin:24px 0 0;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.5}.portfolio__projects{gap:24px;display:grid}.project-card__image--placeholder{color:#d6fff5;letter-spacing:-.08em;background:linear-gradient(145deg,#1c8f79,#0b4b40 65%,#06332c);justify-content:center;align-items:center;font-size:clamp(2rem,5vw,4.5rem);font-weight:600;display:flex}.project-card__image--contain{object-fit:contain;background:#fff;padding:24px}.project-card--logo{grid-template-columns:1fr}.project-card--logo .project-card__image{width:100%;height:132px;min-height:132px}.project-card--logo .project-card__content{padding-left:8px}.project-card{background:#0b4b407a;border:1px solid #93ffe629;border-radius:24px;grid-template-columns:180px 1fr;gap:26px;padding:18px;animation:.7s cubic-bezier(.22,1,.36,1) both card-reveal;display:grid;overflow:hidden}.project-card__image{object-fit:cover;border-radius:14px;width:100%;height:100%;min-height:224px}.project-card__content{align-self:center;padding:8px 8px 8px 0}.project-card h3{color:#e7fff8;letter-spacing:-.04em;margin:0;font-size:clamp(1.35rem,2.5vw,1.9rem);font-weight:600;line-height:1.05}.project-card__subtitle{color:#61d8c0;margin:8px 0 0;font-size:.95rem}.project-card__stats{margin:16px 0 0}.project-card__stats div{align-items:baseline;gap:10px;display:flex}.project-card__stats dt{color:#87c9bc;letter-spacing:.08em;text-transform:uppercase;font-size:.74rem}.project-card__stats dd{color:#e7fff8;margin:0;font-size:1.05rem;font-weight:600}.project-card__description{color:#c6e7df;margin:18px 0;line-height:1.5}.project-card a{color:#b9fff0;text-underline-offset:4px;font-size:.9rem;font-weight:600;text-decoration-color:#b9fff06b}.skills__section+.skills__section{margin-top:112px}.skills__intro{margin-bottom:40px}.skills h2{color:#e7fff8;letter-spacing:-.06em;margin:0;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;line-height:.98}.skills__intro p{color:#afded3;max-width:590px;margin:24px 0 0;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.5}.code-samples,.skill-groups{gap:16px;display:grid}.code-sample{color:#e7fff8;background:#0b4b407a;border:1px solid #93ffe629;border-radius:18px;justify-content:space-between;align-items:center;padding:20px 22px;font-size:clamp(1rem,2vw,1.25rem);font-weight:600;text-decoration:none;transition:background-color .2s,transform .2s;display:flex}.code-sample:hover{background:#126858ad;transform:translateY(-2px)}.code-sample span:last-child{color:#61d8c0;font-size:1.35rem}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group{background:#0b4b407a;border:1px solid #93ffe629;border-radius:20px;padding:22px}.skill-group h3{color:#e7fff8;margin:0 0 16px;font-size:1.2rem}.skill-group ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-group li{color:#c6e7df;background:#61d8c01a;border:1px solid #61d8c033;border-radius:999px;padding:6px 10px;font-size:.86rem}.contact{border-top:1px solid #93ffe629;margin-top:112px;padding-top:40px}.contact p{color:#87c9bc;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem}.contact__links{flex-wrap:wrap;gap:16px 32px;display:flex}.contact a{color:#e7fff8;text-underline-offset:6px;font-size:clamp(1.4rem,3vw,2rem);font-weight:600;text-decoration-color:#b9fff06b}@keyframes portfolio-reveal{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes card-reveal{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.site--portfolio-open .intro{min-height:218px}.site--portfolio-open .intro__content{text-align:left;background:#062c26;border-bottom:1px solid #93ffe629;width:100%;padding:18px 24px;top:0;left:0;transform:none;box-shadow:0 12px 28px #0003}.intro__avatar{width:clamp(128px,42vw,190px);height:clamp(128px,42vw,190px)}.site--portfolio-open .intro__identity{align-items:flex-start}.portfolio,.skills{margin-left:24px;padding-right:24px}.portfolio__intro{margin-bottom:36px}.project-card{grid-template-columns:110px 1fr;gap:18px;padding:12px}.project-card__image{min-height:160px}.project-card--logo{grid-template-columns:1fr}.project-card--logo .project-card__image{height:112px;min-height:112px}.project-card__content{padding:4px 2px 4px 0}.project-card__description{margin:14px 0;font-size:.9rem}.project-card__stats div{flex-direction:column;align-items:flex-start;gap:4px}.skills__intro{margin-bottom:32px}.skill-groups{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.intro,.intro:before,.intro__content,.intro__avatar,.intro h1,.intro__role,.intro__action,.portfolio,.skills,.code-sample,.project-card{transition:none;animation:none}}
