.Hero-module__stQofG__hero{background:var(--color-bg);justify-content:flex-start;align-items:center;min-height:80vh;display:flex;position:relative;overflow:hidden}.Hero-module__stQofG__content{z-index:2;width:fit-content;max-width:100%;padding:16px 0 16px 16px;position:relative}.Hero-module__stQofG__title{width:fit-content;color:var(--color-text);letter-spacing:.5rem;margin:0 0 16px;font-size:clamp(3.4rem,5vw,6rem);font-weight:600;line-height:1.05}.Hero-module__stQofG__highlight{color:var(--color-accent);font-size:clamp(3.4rem,5vw,6rem)}.Hero-module__stQofG__subtitle{color:#ffffffd9;width:fit-content;margin:0 0 32px;font-size:clamp(1.6rem,1.8vw,2rem)}.Hero-module__stQofG__cta{color:#fff;border:1px solid var(--color-accent);background:0 0;border-radius:10px;padding:12px 24px;text-decoration:none;display:inline-block}.Hero-module__stQofG__cta:hover{box-shadow:0 0 0 3px #64a5ff33}.Hero-module__stQofG__bgGrid{z-index:0;pointer-events:auto;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(4,1fr);gap:3rem;padding:1rem;display:grid;position:absolute;inset:0}.Hero-module__stQofG__icon{color:#ffffff0d;filter:drop-shadow(0 0 #64a5ff00);place-self:center;font-size:4.8rem;transition:color .3s,filter .2s}.Hero-module__stQofG__icon:hover{color:var(--color-accent);filter:drop-shadow(0 0 16px #64a5ffcc)}.Hero-module__stQofG__shapes{z-index:1;pointer-events:none;position:absolute;inset:0}.Hero-module__stQofG__shape{opacity:.6;border:1px solid #ffffff0d;width:10px;height:10px;animation:7s ease-in-out infinite alternate Hero-module__stQofG__float;position:absolute;box-shadow:0 0 6px #ffffff0d}.Hero-module__stQofG__circle{border-radius:9999px}.Hero-module__stQofG__square{border-radius:4px}@keyframes Hero-module__stQofG__float{0%{transform:translate(0)}50%{transform:translate(2px,-6px)}to{transform:translate(-2px)}}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:first-child{animation-duration:8s;animation-delay:0s;top:12%;left:6%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(2){animation-duration:7s;animation-delay:.6s;top:22%;left:20%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(3){animation-duration:9s;animation-delay:.2s;top:8%;right:14%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(4){animation-duration:6.5s;animation-delay:.3s;top:36%;left:8%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(5){animation-duration:7.8s;animation-delay:.4s;top:48%;right:10%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(6){animation-duration:9.2s;animation-delay:.1s;top:58%;left:28%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(7){animation-duration:7.4s;animation-delay:.7s;bottom:22%;left:12%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(8){animation-duration:8.8s;animation-delay:.2s;bottom:14%;right:18%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(9){animation-duration:7.1s;animation-delay:.5s;top:30%;right:28%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(10){animation-duration:8.3s;animation-delay:.4s;bottom:28%;left:40%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(11){animation-duration:9.4s;animation-delay:.15s;top:18%;left:48%}.Hero-module__stQofG__shapes .Hero-module__stQofG__shape:nth-child(12){animation-duration:6.8s;animation-delay:.25s;bottom:10%;right:34%}
.Highlights-module__QBE5pq__highlights{background:var(--color-bg);padding:24px 16px 16px}.Highlights-module__QBE5pq__title{color:var(--color-text);margin:0 0 12px;font-size:clamp(2rem,3vw,3rem)}.Highlights-module__QBE5pq__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}@media (max-width:1100px){.Highlights-module__QBE5pq__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.Highlights-module__QBE5pq__grid{grid-template-columns:1fr}}.Highlights-module__QBE5pq__card{background:#ffffff08;border:1px solid #64a5ff1f;border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex;position:relative}.Highlights-module__QBE5pq__heart{color:#ffffff8c;filter:drop-shadow(0 0 2px #0006);pointer-events:none;font-size:1rem;transition:color .2s,filter .2s,transform .2s;position:absolute;top:10px;right:10px}.Highlights-module__QBE5pq__card:hover .Highlights-module__QBE5pq__heart{color:var(--color-accent);filter:drop-shadow(0 0 6px #64a5ffcc);transform:scale(1.06)}.Highlights-module__QBE5pq__icons{align-items:center;gap:10px;display:flex}.Highlights-module__QBE5pq__icon{color:#ffffffd9;font-size:1.6rem}.Highlights-module__QBE5pq__cardTitle{color:var(--color-text);margin:2px 0;font-size:1.2rem}.Highlights-module__QBE5pq__desc{color:#ffffffd9;margin:0;font-size:1rem}.Highlights-module__QBE5pq__grow{flex-grow:1}.Highlights-module__QBE5pq__cta{color:#fff;border:1px solid var(--color-accent);border-radius:10px;align-self:start;margin-top:6px;padding:6px 10px;text-decoration:none;transition:box-shadow .2s;display:inline-flex}.Highlights-module__QBE5pq__cta:hover{box-shadow:0 0 0 4px #64a5ff26}
.About-module__NLpJWq__about{background:var(--color-bg);align-items:center;gap:40px;padding:40px 16px 64px;display:flex}.About-module__NLpJWq__colText{flex:50%;min-width:0}.About-module__NLpJWq__colMedia{flex:50%;justify-content:center;align-items:center;min-width:0;display:flex}.About-module__NLpJWq__title{color:var(--color-text);margin:0 0 16px;font-size:clamp(2rem,3vw,3rem)}.About-module__NLpJWq__p{color:#ffffffd9;margin:0 0 12px;font-size:clamp(1.2rem,1.6vw,1.4rem)}.About-module__NLpJWq__illustration{filter:drop-shadow(0 0 10px #64a5ff26);width:100%;max-width:520px;height:auto;display:block}@media (max-width:900px){.About-module__NLpJWq__about{flex-direction:column-reverse;padding:32px 16px 56px}}
.Skills-module__qjADpq__skills{background:var(--color-bg);padding:24px 16px 64px}.Skills-module__qjADpq__title{color:var(--color-text);margin:0 0 16px;font-size:clamp(2rem,3vw,3rem)}.Skills-module__qjADpq__group{margin-top:20px}.Skills-module__qjADpq__groupTitle{color:#ffffff34;margin:0 0 12px;font-size:1.2rem;font-weight:600}.Skills-module__qjADpq__grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}@media (max-width:1100px){.Skills-module__qjADpq__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:720px){.Skills-module__qjADpq__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.Skills-module__qjADpq__item{background:#ffffff05;border:1px solid #64a5ff1f;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.Skills-module__qjADpq__iconWrap{color:#ffffffb3;justify-content:center;align-items:center;max-width:28px;height:28px;padding:2px;display:inline-flex}.Skills-module__qjADpq__icon{font-size:1.6rem;transition:color .2s,filter .2s}.Skills-module__qjADpq__label{color:#ffffffe6;font-size:1.4rem}.Skills-module__qjADpq__item:hover .Skills-module__qjADpq__icon{color:var(--color-accent);filter:drop-shadow(0 0 8px #64a5ff99)}
.Projects-module__ik6WbW__projects{background:var(--color-bg);padding:24px 16px 64px}.Projects-module__ik6WbW__title{color:var(--color-text);margin:0 0 16px;font-size:clamp(2rem,3vw,3rem)}.Projects-module__ik6WbW__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}@media (max-width:1100px){.Projects-module__ik6WbW__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.Projects-module__ik6WbW__grid{grid-template-columns:1fr}}.Projects-module__ik6WbW__card{background:#ffffff08;border:1px solid #64a5ff1f;border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex;position:relative;overflow:hidden}.Projects-module__ik6WbW__card>*{z-index:1;position:relative}.Projects-module__ik6WbW__card:before{content:"";-webkit-mask-composite:xor;pointer-events:none;transform-origin:100% 0;background:linear-gradient(135deg,#64a5fff2,#64a5ff00);border-radius:16px;padding:1px;transition:transform .5s ease-out;position:absolute;inset:0;transform:scale(0);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.Projects-module__ik6WbW__card:after{content:"";-webkit-mask-composite:xor;pointer-events:none;transform-origin:0 100%;background:linear-gradient(315deg,#64a5fff2,#64a5ff00);border-radius:16px;padding:1px;transition:transform .5s ease-out 30ms;position:absolute;inset:0;transform:scale(0);-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.Projects-module__ik6WbW__card:hover:before,.Projects-module__ik6WbW__card:hover:after{transform:scale(1)}.Projects-module__ik6WbW__heroIcon{background:#ffffff05;border:1px solid #64a5ff1f;border-radius:12px;justify-content:center;align-items:center;height:100px;display:flex;position:relative;overflow:hidden}.Projects-module__ik6WbW__heroIcon:before{content:"";opacity:.02;pointer-events:none;background-image:linear-gradient(#64a5ff 1px,#0000 1px),linear-gradient(90deg,#64a5ff 1px,#0000 1px);background-position:0 0;background-size:20% 25%;transition:background-image .3s,opacity .3s,box-shadow .3s;position:absolute;inset:0}.Projects-module__ik6WbW__card:hover .Projects-module__ik6WbW__heroIcon:before{opacity:.1;background-image:linear-gradient(#64a5ff 1px,#0000 1px),linear-gradient(90deg,#64a5ff 1px,#0000 1px);box-shadow:0 0 20px #64a5ff4d}.Projects-module__ik6WbW__icon{z-index:1;color:#fffc;font-size:3rem;position:relative}.Projects-module__ik6WbW__body{flex-direction:column;flex-grow:1;gap:8px;display:flex}.Projects-module__ik6WbW__cardTitle{color:var(--color-text);margin:0;font-size:1.3rem}.Projects-module__ik6WbW__blurb{color:#fffc;margin:0;font-size:1.1rem}.Projects-module__ik6WbW__techList{flex-wrap:wrap;gap:8px 10px;margin:4px 0 0;padding:0;list-style:none;display:flex}.Projects-module__ik6WbW__tech{color:#ffffffe6;background:#ffffff08;border:1px solid #64a5ff1f;border-radius:8px;align-items:center;gap:6px;padding:6px 8px;display:inline-flex}.Projects-module__ik6WbW__tech span{font-size:1.2rem}.Projects-module__ik6WbW__techIcon{font-size:1.1rem}.Projects-module__ik6WbW__cta{color:#fff;border:1px solid var(--color-accent);background:0 0;border-radius:10px;align-self:start;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;font-size:1.2rem;text-decoration:none;transition:box-shadow .2s,background .2s,opacity .2s;display:inline-flex}.Projects-module__ik6WbW__cta:hover{box-shadow:0 0 0 4px #64a5ff26}.Projects-module__ik6WbW__cta[disabled]{opacity:.6;pointer-events:none}
.Resume-module__MqMmga__resume{background:var(--color-bg);padding:24px 16px 64px}.Resume-module__MqMmga__title{color:var(--color-text);margin:0 0 16px;font-size:clamp(2rem,3vw,3rem)}.Resume-module__MqMmga__grid{flex-direction:column;gap:16px;display:flex}.Resume-module__MqMmga__group{background:#ffffff08;border:1px solid #64a5ff1f;border-radius:14px;padding:16px}.Resume-module__MqMmga__heading{color:#ffffff34;margin:0 0 10px;font-size:1.2rem;font-weight:600}.Resume-module__MqMmga__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.Resume-module__MqMmga__item{background:#ffffff05;border:1px solid #64a5ff1f;border-radius:12px;padding:10px 12px}.Resume-module__MqMmga__itemMain{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.Resume-module__MqMmga__itemTitle{color:var(--color-text);font-weight:600}.Resume-module__MqMmga__itemPeriod{color:#ffffffb3;font-size:.95rem}.Resume-module__MqMmga__meta{color:#ffffffd9;margin-top:4px;font-size:1.2rem}.Resume-module__MqMmga__details{color:#ffffffb3;margin-top:2px;font-size:1rem}
.PortfolioPage-module___B3yAa__page{background-color:var(--color-bg);flex-direction:column;flex-grow:1;align-items:center;width:100%;display:flex}.PortfolioPage-module___B3yAa__container{width:100%;max-width:1024px;margin-top:124px;padding:0 16px}
