@layer components{.hero-location-dot{background:radial-gradient(circle,#00ffffe6,#00ffff1a);border-radius:9999px;width:.45rem;height:.45rem;box-shadow:0 0 10px #0ffc,0 0 18px #0ff6}.hero-photo-frame{border-radius:9999px;width:clamp(18rem,28vw,28rem);height:clamp(24rem,38vw,38rem);position:relative;overflow:hidden}.hero-photo-frame:before{content:"";border-radius:inherit;pointer-events:none;z-index:2;background:radial-gradient(circle at 20% 0,#00ffff8c,#00ffff14 40%,#ffffff12 62%,#000 100%);border:1px solid #ffffff2e;position:absolute;inset:0;box-shadow:0 0 32px #00ffff40,0 20px 45px #000000d9}.hero-photo-glow{border-radius:inherit;pointer-events:none;filter:blur(40px);opacity:0;z-index:0;background:radial-gradient(circle at 20% 10%,#00ffff40,#0000 55%),radial-gradient(circle at 80% 90%,#00ffff2e,#0000 70%);position:absolute;inset:-20%}}
.about-cards{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;gap:2rem;display:grid}.about-card{aspect-ratio:3/4;perspective:1200px;cursor:pointer;background:0 0;border:none;width:100%;max-width:280px}.card-inner{width:100%;height:100%;transform-style:preserve-3d;position:relative}.card-face{backface-visibility:hidden;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff0f;border:1px solid #ffffff26;border-radius:24px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.card-front{letter-spacing:.1em;color:#ffffffb3;font-size:1.25rem}.card-back{text-align:center;padding:2rem;transform:rotateY(180deg)}.card-back h3{font-size:1.25rem}.about-modal-backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:80;background:radial-gradient(circle,#00000026,#00000040);place-items:center;display:grid;position:fixed;inset:0}.about-modal-backdrop[hidden]{display:none}.about-modal{-webkit-backdrop-filter:blur(26px)saturate(120%);backdrop-filter:blur(26px)saturate(120%);background:radial-gradient(circle at 20% 0,#00ffff24,#0000 70%),radial-gradient(circle at 80% 100%,#00ffff14,#0000 75%),#0a0a0ac7;border:1px solid #ffffff24;border-radius:28px;width:calc(100% - 3rem);max-width:760px;padding:3rem 3.25rem;position:relative;box-shadow:0 40px 100px #000000d9,0 0 30px #00ffff47}.about-modal h3{margin-bottom:1.25rem;font-size:clamp(1.6rem,3vw,2.1rem)}.about-modal-divider{background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:1px;margin-bottom:1.5rem}.about-modal p{color:#ffffffd1;line-height:1.65}.about-modal-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;place-items:center;width:38px;height:38px;display:grid;position:absolute;top:1.25rem;right:1.25rem}
@layer components{.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);align-items:stretch;gap:clamp(2.5rem,5vw,3.75rem);display:grid}@media (max-width:900px){.contact-grid{grid-template-columns:minmax(0,1fr)}}.contact-meta-link{cursor:pointer;text-decoration:none;position:relative}.contact-meta-link:after{content:"";opacity:.6;transform-origin:0;background:linear-gradient(90deg,#0ff9,#0ff0);height:1px;transition:transform .25s;position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.contact-meta-link:hover:after{transform:scaleX(1)}.contact-liquid{will-change:transform;opacity:.55;filter:blur(90px);mix-blend-mode:screen;pointer-events:none;z-index:0;background:radial-gradient(circle at 30% 20%,#00ffff8c,#0000 60%),radial-gradient(circle at 70% 80%,#00ffff59,#0000 75%);border-radius:9999px;width:180%;height:180%;position:absolute;inset:-20%;transform:translate(0,0)}.contact-shell{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);z-index:1;background:radial-gradient(circle at 15% 0,#00ffff1a,#0000 55%),#0a0a0abf;border:1px solid #ffffff24;border-radius:1.75rem;padding:clamp(1.75rem,2vw,2.25rem);position:relative;overflow:visible;box-shadow:0 24px 60px #000000d9,0 0 28px #00ffff2e}.contact-form{z-index:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem 1.25rem;display:grid;position:relative}@media (max-width:900px){.contact-form{grid-template-columns:minmax(0,1fr)}}.contact-field{flex-direction:column;gap:.45rem;display:flex}.contact-field--full{grid-column:1/-1}.contact-input,.contact-textarea{background:#08080899;border:1px solid #ffffff26;border-radius:.9rem;outline:none;width:100%;padding:.8rem .9rem;transition:border-color .25s,box-shadow .25s,background .25s,transform .2s}.contact-input:focus,.contact-textarea:focus{background:#080808b8;border-color:#00ffffa6;box-shadow:0 0 12px #00ffff40,0 0 2px #00ffff73}.contact-textarea{resize:vertical;min-height:140px;padding-top:.85rem}.contact-footer{flex-direction:column;grid-column:1/-1;align-items:flex-start;gap:.6rem;margin-top:.5rem;display:flex}.contact-submit{cursor:pointer;white-space:nowrap;background:radial-gradient(circle at 0 0,#00ffff40,#0000 55%),#000c;border:1px solid #00ffff73;border-radius:9999px;justify-content:center;align-items:center;gap:.55rem;padding-block:.75rem;padding-inline:1.6rem;display:inline-flex;position:relative;overflow:hidden}.contact-submit:disabled{opacity:.7;cursor:default}.contact-submit .btn-inner{align-items:center;gap:.55rem;display:inline-flex}.contact-submit--success{border-color:#00ff8cb3}.contact-submit--error{border-color:#ff5050cc}.contact-spinner{border:2px solid #0ff3;border-top-color:#00ffffe6;border-radius:9999px;width:1rem;height:1rem;animation:.75s linear infinite contact-spinner}@media (prefers-reduced-motion:reduce){.contact-spinner{opacity:.85;border-top-color:#00ffffe6;animation:none}}.contact-check{background:#00ff8c2e;border:1px solid #00ff8cb3;border-radius:9999px;justify-content:center;align-items:center;width:1.15rem;height:1.15rem;font-size:.8rem;display:inline-flex}@keyframes contact-spinner{to{transform:rotate(360deg)}}.contact-modal-backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle,#000000a6,#000000e6);position:absolute;inset:0}.contact-modal-content{z-index:2;text-align:center;-webkit-backdrop-filter:blur(26px);backdrop-filter:blur(26px);background:radial-gradient(circle at 20% 0,#00ffff26,#0000 55%),#0a0a0ab3;border:1px solid #ffffff26;border-radius:1.5rem;padding:2.5rem 3rem;position:relative;box-shadow:0 28px 70px #000000e6,0 0 26px #00ffff2e}.contact-modal-close{margin-top:1.5rem;padding:.75rem 1.3rem}.contact-tooltip{letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;background:#00ffff26;border:1px solid #00ffff40;border-radius:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:opacity .25s,transform .25s;position:absolute;bottom:130%;left:50%;transform:translate(-50%)translateY(6px);box-shadow:0 0 12px #00ffff40,0 4px 18px #0006}.contact-tooltip.visible{opacity:1;transform:translate(-50%)translateY(0)}}
@layer components{.exp-glow{opacity:0;filter:blur(24px);pointer-events:none;background:radial-gradient(circle at 30% 20%,#00ffff1f,#0000 60%)}}
@layer components{.projects-section{position:relative}.project-featured-card{flex-direction:column;gap:2.5rem;display:flex}@media (min-width:900px){.project-featured-card{grid-template-columns:1.3fr 1fr;align-items:center;gap:3rem;display:grid}}.project-featured-glow{pointer-events:none;z-index:3;border-radius:inherit;opacity:0;mix-blend-mode:screen;filter:blur(32px);background:radial-gradient(circle,#00ffff8c,#00ffff26 45%,#0000 80%);transition:opacity .3s;position:absolute;inset:0}.project-featured-vignette{z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 70%,#0000 0%,#0006 70%);position:absolute;inset:0}.project-title{font-family:var(--font-clash);font-size:2rem;font-weight:800}.project-desc{opacity:.85;max-width:40rem;font-size:1.1rem}@media (max-width:899px){.project-title{text-align:left;font-size:1.75rem}.project-desc{font-size:1rem}}.project-tech-list{flex-wrap:wrap;gap:.6rem;display:flex}.project-tech-list span{opacity:.9;border:1px solid #ffffff26;border-radius:.4rem;padding:.35rem .65rem;font-size:.85rem}.project-card-secondary{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff05;border-radius:1rem;padding:1.5rem;overflow:hidden}@media (max-width:899px){.project-card-secondary{padding:1.25rem}.secondary-img-wrap{height:12rem}}}
@layer components{.ts-glow{opacity:0;pointer-events:none;filter:blur(20px);z-index:1;background:radial-gradient(circle,#00ffff1f,#0000 70%);border-radius:50%;width:100px;height:100px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)translateZ(-20px)}}
