:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#fafafa;color:#2d2d2d}a{font-weight:500;color:#805aa0;text-decoration:none;transition:color .2s ease}a:hover{color:#9b6fc2}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#805aa0;color:#fff;cursor:pointer;transition:background-color .25s,transform .1s}button:hover{background-color:#9b6fc2}button:active{transform:scale(.98)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.password-screen{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .6s ease}.password-screen--unlocking{opacity:0;pointer-events:none}.password-container{position:relative;z-index:101;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;background:#fafafab3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;border:1px solid rgba(128,90,160,.2);transition:transform .3s ease}.password-container--shake{animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-8px)}20%,40%,60%,80%{transform:translate(8px)}}.password-label{font-size:1.2rem;font-weight:600;color:transparent;-webkit-text-stroke:1.5px rgba(128,90,160,.9);text-stroke:1.5px rgba(128,90,160,.9);letter-spacing:.1em;text-transform:uppercase;cursor:default;-webkit-user-select:none;user-select:none}.password-input{width:280px;padding:.8rem 1.2rem;font-size:1.1rem;font-family:inherit;letter-spacing:.1em;text-align:center;background:#fff9;border:2px solid rgba(128,90,160,.4);border-radius:8px;color:#805aa0e6;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;outline:none}.password-input::placeholder{color:#805aa04d;letter-spacing:.2em}.password-input:focus{border-color:#805aa0cc;background:#ffffffe6;box-shadow:0 0 20px #805aa033}.password-input:hover:not(:focus){border-color:#805aa099}.password-button{padding:.7rem 2.5rem;font-size:.95rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;background:transparent;border:2px solid rgba(128,90,160,.6);border-radius:8px;color:transparent;-webkit-text-stroke:1px rgba(128,90,160,.9);text-stroke:1px rgba(128,90,160,.9);cursor:pointer;transition:all .3s ease}.password-button:hover{border-color:#805aa0e6;background:#805aa01a;-webkit-text-stroke:1.5px rgba(128,90,160,1);text-stroke:1.5px rgba(128,90,160,1);box-shadow:0 0 15px #805aa033}.password-button:active{transform:scale(.98)}.password-button:focus{outline:none;border-color:#805aa0e6;box-shadow:0 0 0 3px #805aa033}@media(max-width:480px){.password-container{width:90%;max-width:320px;padding:1.5rem}.password-input{width:100%}.password-label{font-size:1rem}.password-button{width:100%}}#root{width:100%;min-height:100vh;display:flex;flex-direction:column}.site-header{position:fixed;top:0;left:0;right:0;height:60px;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;pointer-events:none}.logo{font-size:1.5rem;font-weight:900;color:transparent;-webkit-text-stroke:2px rgba(128,90,160,.9);text-stroke:2px rgba(128,90,160,.9);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:all .3s ease}.logo:hover{-webkit-text-stroke:2px rgba(155,111,194,1);text-shadow:0 0 20px rgba(128,90,160,.4)}.nav-tabs{display:flex;gap:2rem;align-items:center}.nav-tab{font-size:.9rem;font-weight:600;color:transparent;-webkit-text-stroke:1px rgba(128,90,160,.7);text-stroke:1px rgba(128,90,160,.7);letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:.5rem 0;transition:all .3s ease;position:relative;pointer-events:auto}.nav-tab:hover{-webkit-text-stroke:1px rgba(155,111,194,1);text-shadow:0 0 15px rgba(128,90,160,.3)}.nav-tab.active{-webkit-text-stroke:1.5px rgba(128,90,160,1)}.nav-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#805aa0cc}.main-content{flex:1;margin-top:60px;pointer-events:none;position:relative;z-index:5}.page{min-height:calc(100vh - 60px);display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:none}.page-content,.home-content{pointer-events:auto}.page-content{text-align:center}a.logo{-webkit-user-select:none;user-select:none;pointer-events:auto}a.logo.noAnimation{pointer-events:none}.page-content h2{font-size:clamp(2rem,5vw,4rem);font-weight:900;color:transparent;-webkit-text-stroke:2px rgba(128,90,160,.9);text-stroke:2px rgba(128,90,160,.9);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem}.page-content p{font-size:1.1rem;color:#805aa0b3;margin:0}.home-content{text-align:center;-webkit-user-select:none;user-select:none;pointer-events:none}.home-content h2{font-size:clamp(3rem,8vw,6rem);font-weight:900;color:transparent;-webkit-text-stroke:2px rgba(128,90,160,.9);text-stroke:2px rgba(128,90,160,.9);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem}.home-content p{font-size:1.2rem;color:#805aa099;letter-spacing:.1em;text-transform:uppercase}.portfolio-page{min-height:calc(100vh - 60px);display:flex;flex-direction:column;position:relative;padding:2rem 0;pointer-events:auto}.projects-container{flex:1;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;padding:2rem;scrollbar-width:thin;scrollbar-color:rgba(128,90,160,.3) transparent}.projects-container::-webkit-scrollbar{height:6px}.projects-container::-webkit-scrollbar-track{background:transparent}.projects-container::-webkit-scrollbar-thumb{background:#805aa04d;border-radius:3px}.projects-container::-webkit-scrollbar-thumb:hover{background:#805aa080}.projects-list{display:flex;gap:1.5rem;align-items:flex-end;padding-right:200px}.project-card{flex-shrink:0;display:flex;flex-direction:column;cursor:pointer;transition:transform .3s ease}.project-card:hover{transform:translateY(-8px)}.project-card--large{width:320px}.project-card--large .project-image{height:400px}.project-card--small{width:260px}.project-card--small .project-image{height:280px}.project-image{width:100%;overflow:hidden;border-radius:4px;background:#805aa01a}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-info{padding:1rem 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.project-number{font-size:1.2rem;font-weight:700;color:#2d2d2de6}.project-title{font-size:.95rem;font-weight:600;color:#2d2d2de6;margin:0}.project-location{font-size:.85rem;color:#2d2d2d99;margin:0;width:100%}.portfolio-title{position:fixed;bottom:2rem;right:3rem;font-size:clamp(4rem,12vw,10rem);font-weight:400;font-style:italic;color:#2d2d2de6;margin:0;line-height:1;pointer-events:none;opacity:.9}
