.poppins-thin{font-family:Poppins,sans-serif;font-weight:100;font-style:normal}.poppins-extralight{font-family:Poppins,sans-serif;font-weight:200;font-style:normal}.poppins-light{font-family:Poppins,sans-serif;font-weight:300;font-style:normal}.poppins-regular{font-family:Poppins,sans-serif;font-weight:400;font-style:normal}.poppins-medium{font-family:Poppins,sans-serif;font-weight:500;font-style:normal}.poppins-semibold{font-family:Poppins,sans-serif;font-weight:600;font-style:normal}.poppins-bold{font-family:Poppins,sans-serif;font-weight:700;font-style:normal}.poppins-extrabold{font-family:Poppins,sans-serif;font-weight:800;font-style:normal}.poppins-black{font-family:Poppins,sans-serif;font-weight:900;font-style:normal}.poppins-thin-italic{font-family:Poppins,sans-serif;font-weight:100;font-style:italic}.poppins-extralight-italic{font-family:Poppins,sans-serif;font-weight:200;font-style:italic}.poppins-light-italic{font-family:Poppins,sans-serif;font-weight:300;font-style:italic}.poppins-regular-italic{font-family:Poppins,sans-serif;font-weight:400;font-style:italic}.poppins-medium-italic{font-family:Poppins,sans-serif;font-weight:500;font-style:italic}.poppins-semibold-italic{font-family:Poppins,sans-serif;font-weight:600;font-style:italic}.poppins-bold-italic{font-family:Poppins,sans-serif;font-weight:700;font-style:italic}.poppins-extrabold-italic{font-family:Poppins,sans-serif;font-weight:800;font-style:italic}.poppins-black-italic{font-family:Poppins,sans-serif;font-weight:900;font-style:italic}:root{font-family:Poppins,sans-serif;line-height:1.5;font-weight:400;color:#f5f5f5;background-color:#0c0b10;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:#0c0b10;background-image:linear-gradient(180deg,#0a090ef2,#0a090ecc),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px);background-size:cover,90px 90px,90px 90px;background-position:center,0 0,45px 45px}img{max-width:100%;display:block}button,input,textarea{font-family:inherit}#root{min-height:100vh}.page{position:relative;display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:0 60px 72px;color:#f5f5f5;overflow:hidden;background-image:url(/img/Brick-BG.png);background-size:fill;background-attachment:fixed}.page .lights{content:"";position:fixed;height:100vh;top:0;bottom:0;width:120px;background-size:200px;background-position:140px -60px;opacity:1;z-index:0}.lights.off{background-image:url(/img/Marquee-Lights-off.png);filter:brightness(.4)}.lights.on{opacity:0;background-image:url(/img/Marquee-Lights.png)}.lights.left{left:-10px}.lights.right{right:-10px;background-position:-20px -60px}.hero{position:relative;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;width:100%;padding:0 60px 60px;min-height:100vh}.spotlight{position:absolute;top:-100px;left:50%;width:700px;transform:translate(-50%) scale(1.3,1.5);opacity:.9}.hero-text{position:relative;display:flex;flex-direction:column;max-width:520px;justify-content:center;align-items:center}.kicker,.subhead,.cta-kicker{font-size:1.5rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin:0;margin-top:1.5rem}.kicker{margin-bottom:-1.5rem}.hero-title{font-size:clamp(3.8rem,12vw,7rem);margin:0;text-transform:uppercase;letter-spacing:.2em;font-weight:700;margin-block-start:0;margin-block-end:0}.divider{height:2px;width:clamp(120px,200vw,400px);background:#7d5bff}.mosaic{position:relative;width:clamp(300px,40vw,1000px);aspect-ratio:16 / 9;top:0;left:0;transform:translateY(-20%);--mosaic-w: clamp(300px, 90vw, 2500px);--mosaic-h: calc(var(--mosaic-w) * 9 / 16)}.tile{position:absolute;background:linear-gradient(145deg,#774fffcc,#36206d99);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);filter:sepia(1) hue-rotate(200deg) saturate(6);background-image:url(/img/IMG_3169.png);background-size:var(--mosaic-w) var(--mosaic-h);background-repeat:no-repeat;background-position:calc(100px + calc(var(--mosaic-w, 1024px) - var(--tile-size, 160px) - var(--bg-x, 0px)) * -1) calc(var(--bg-y, 0px) * -1);transform-style:preserve-3d;animation:tile-drift 18s ease-in-out infinite;will-change:transform;top:var(--bg-y, 0px);right:var(--bg-x, 0px);--dx: 0px;--dy: -0px;height:var(--tile-size);width:var(--tile-size)}.tile.lg{--tile-size: clamp(50px, 15vw, 416px)}.tile.md{--tile-size: clamp(27px, 8vw, 160px)}.tile.sm{--tile-size: clamp(20px, 6vw, 120px)}.tile-1{--bg-x: calc(var(--mosaic-w) / 4);--bg-y: calc(var(--mosaic-h) / 3);--rot: -1.4deg;height:calc(var(--tile-size) * 1.5);animation-delay:-3s}.tile-2{--bg-x: calc(var(--mosaic-w) / 25);--bg-y: 0px;--rot: 1.2deg;animation-delay:-8s}.tile-3{--bg-x: calc(var(--mosaic-w) / 4);--bg-y: calc(var(--mosaic-w) / 10);--rot: .8deg;animation-delay:-12s}.tile-4{--bg-x: calc(var(--mosaic-w) / 15);--bg-y: calc(var(--mosaic-w) / 3.5);--rot: -1deg;animation-delay:-6s}.tile-5{--bg-x: calc(var(--mosaic-w) / 30);--bg-y: calc(var(--mosaic-h) / 20);--rot: 1.4deg;animation-delay:-15s}.tile-6{--bg-x: calc(var(--mosaic-w) / 25);--bg-y: calc(var(--mosaic-w) / 3);--rot: -1.2deg;animation-delay:-10s}.tile-7{--bg-x: calc(var(--mosaic-w) / 3.5);--bg-y: 0px;--rot: 1deg;animation-delay:-4s}.tile-8{--bg-x: calc(var(--mosaic-w) / 80);--bg-y: calc(var(--mosaic-w) / 2.4);--rot: -.8deg;animation-delay:-14s}@media(prefers-reduced-motion:reduce){.tile{transform:none}}.intro{margin:80px 0 60px;text-transform:uppercase;font-weight:300;letter-spacing:.3em;text-align:center;font-size:1.5rem}.intro p{margin:0 0 16px}.skills{margin:60px auto;display:flex;justify-content:center;position:relative;z-index:10}.skills-grid{max-width:900px;display:flex;flex-wrap:wrap;gap:10px 14px;font-size:3rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;justify-content:center}.skill-item{display:inline-flex;align-items:center;gap:12px}.skill-text{background:transparent;border:none;padding:0;cursor:pointer;text-align:left;font-size:clamp(2.2rem,5vw,3rem);font-weight:700;transition:color .22s ease,text-shadow .22s ease;color:#f5f5f5}.skill-text.is-active{color:#f4b463;text-shadow:0 0 12px rgba(244,180,99,.35)}.skill-dot{width:15px;height:15px;border-radius:50%;background:#7d5bff}.projects{margin:20px auto 70px;display:flex;justify-content:center}.projects-button{background:transparent;border:1.5px solid #7d5bff;color:#f5f5f5;text-transform:uppercase;letter-spacing:.3em;padding:12px 28px;border-radius:999px;cursor:pointer;font-size:.85rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.projects-button:hover{background:#7d5bff33;border-color:#b497ff;box-shadow:0 0 18px #7d5bff59}.tagline{text-align:center;text-transform:uppercase;font-weight:300;letter-spacing:.2em;margin:40px auto 70px;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:1.2rem}.tagline p{max-width:760px}.cta{text-align:center;margin-bottom:50px}.cta-title{font-size:clamp(2.2rem,5vw,3.5rem);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0}.contact{display:flex;justify-content:center}.contact-form{width:min(50vw,100%);display:grid;gap:18px}.contact-form label{display:grid;gap:8px;text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:#f5f5f5b3}.contact-form input,.contact-form textarea{min-width:50vw;background:#0d0b13b3;border:1.5px solid rgba(125,91,255,.9);border-radius:10px;padding:12px 14px;color:#f5f5f5;font-size:1rem;outline:none;transition:box-shadow .2s ease,border-color .2s ease}.contact-form input:focus,.contact-form textarea:focus{border-color:#b497ff;box-shadow:0 0 18px #8d68ff73}.contact-button{margin-top:12px;background:transparent;border:1.5px solid #7d5bff;color:#f5f5f5;text-transform:uppercase;letter-spacing:.2em;padding:14px 18px;border-radius:999px;cursor:pointer;transition:background .2s ease,border-color .2s ease}.contact-button:hover{background:#7d5bff33;border-color:#b497ff}.modal-overlay{position:fixed;inset:0;background:#05050ad1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:20;padding:24px}.modal-overlay.gallery-overlay{display:flex;align-items:flex-start;overflow-y:auto}.modal-close{position:absolute;top:18px;right:18px;background:transparent;border:none;color:#f5f5f5;font-size:4rem;cursor:pointer}.modal-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:80vh;border-radius:22px;box-sizing:border-box;overflow:hidden}.modal-arrow{background:#ffffff1f;border:none;color:#f5f5f5;font-size:4rem;width:60px;height:60px;border-radius:50%;cursor:pointer;display:flex;justify-content:center;align-items:center;flex-shrink:0;transition:background .2s ease}.modal-arrow:hover{background:#ffffff40}.modal-media{height:50%;flex-shrink:1;flex-grow:1;width:100%;padding:0 24px;border-radius:32px;display:flex;justify-content:center;align-items:center}.modal-image{max-height:100%;max-width:100%;border-radius:32px;object-fit:contain;background:#08080ca6}.poster{width:70%;max-width:420px;aspect-ratio:3 / 4;background:#f9f9f9;border-radius:12px;display:grid;place-items:center;text-transform:uppercase;color:#2d1f59;padding:24px;text-align:center;box-shadow:0 18px 45px #0006;transform:rotate(-4deg)}.poster-title{font-size:clamp(1.4rem,3vw,2.2rem);font-weight:700}.poster-subtitle{margin-top:12px;font-size:.95rem;letter-spacing:.3em}.modal-footer{display:flex;justify-content:center;align-items:center;margin-top:18px;width:100%;gap:16px;flex-wrap:nowrap}.modal-footer-center{display:flex;justify-content:space-between;align-items:center;margin-top:18px;flex-shrink:1;gap:16px;flex-wrap:wrap}.modal-description{margin:0;max-width:70%;min-width:50vw;flex-shrink:1;font-size:.95rem;color:#f5f5f5cc}.modal-dots{display:flex;gap:6px}.modal-dots .dot{width:8px;height:8px;border-radius:50%;background:#ffffff59}.modal-dots .dot.active{background:#fff}.gallery-card{width:min(1100px,100%);margin:24px auto 60px;overflow:auto;justify-content:flex-start}.gallery-title{margin:0 0 20px;text-transform:uppercase;letter-spacing:.2em;font-size:3rem}.gallery-grid{display:flex;flex-wrap:wrap;gap:12px}.gallery-item{width:300px;position:relative;border-radius:14px;overflow:hidden;background:#0000004d;box-shadow:0 12px 24px #00000059;aspect-ratio:3 / 2;cursor:pointer}.gallery-item:focus-visible{outline:2px solid rgba(180,151,255,.8);outline-offset:4px}.gallery-media{width:100%;height:100%;object-fit:cover;display:block}.contact-status{text-align:center}.footer{padding:3rem 2rem 0;margin-top:3rem}.flex{display:flex;justify-content:space-around;font-size:small;color:#888;padding-bottom:2rem}.flex>div{text-align:center}.bottom{display:flex;justify-content:center;gap:1rem;font-size:small;color:#aaa}.links a,.bottom a{color:#aaa;text-decoration:none!important}.links a:before{content:"→";margin-right:.5rem;transition:all .2s}.links a:hover:before{margin-left:.2rem;margin-right:.3rem}
