:root{--ink:#f3e8ff;--lavender:#e6dcf5;--bg:#1c2639;--paper:#fff;--muted:#6b7280;--orbit-bg:#0b1020;--orbit-ink:#e6e6ea;--glow1:#a98cff;--glow2:#79d0ff;--safe-area-top:env(safe-area-inset-top,0);--safe-area-bottom:env(safe-area-inset-bottom,0);--safe-area-left:env(safe-area-inset-left,0);--safe-area-right:env(safe-area-inset-right,0)}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;height:-webkit-fill-available;overscroll-behavior-y:none;overscroll-behavior-x:none;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{line-height:1.6;font-size:16px;overflow-x:hidden;min-height:100vh;min-height:-webkit-fill-available;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior-y:contain;overscroll-behavior-x:none}[role=button],a,button,input,select,textarea{transition:background-color .2s ease,color .2s ease,border-color .2s ease,opacity .2s ease}[role=button]:hover,a:hover,button:hover{transition:background-color .2s ease,color .2s ease,transform .2s ease,opacity .2s ease}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5em}h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}p{margin-bottom:1em;max-width:65ch}:focus{outline:2px solid var(--lavender);outline-offset:2px}a[href^="#"]{text-decoration:none;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:768px){body{padding-bottom:calc(80px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}h1{font-size:clamp(2rem,8vw,4rem)}h2{font-size:clamp(1.75rem,6vw,3rem)}h3{font-size:clamp(1.25rem,4vw,2rem)}p{font-size:clamp(.95rem,3vw,1.125rem);line-height:1.7}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{-webkit-overflow-scrolling:touch}[class*=about],[class*=contact],[class*=hero],[class*=process],[class*=project],[class*=section],[class*=service]{backface-visibility:hidden;-webkit-backface-visibility:hidden;perspective:1000px;-webkit-perspective:1000px;will-change:transform,opacity;transform:translateZ(0)}@media (prefers-reduced-motion:no-preference){*{animation-duration:.3s!important;transition-duration:.3s!important}}input[type=email],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important;transform:scale(1)}}@media (hover:none) and (pointer:coarse){[role=button],a,button{min-height:44px;min-width:44px}input,select,textarea{font-size:16px!important}*{-webkit-tap-highlight-color:transparent}*,[role=button],a,button{touch-action:manipulation;-moz-user-select:none;user-select:none;-webkit-user-select:none}[role=button],a,button{-webkit-tap-highlight-color:rgba(230,220,245,.3)}[role=button]:active,a:active,button:active{transform:scale(.97);opacity:.8;transition:transform .1s ease,opacity .1s ease}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}[class*=about],[class*=contact],[class*=hero],[class*=process],[class*=project],[class*=section],[class*=service]{transform:translateZ(0);-webkit-transform:translateZ(0)}}@media (max-width:926px) and (orientation:landscape) and (max-height:500px){body,html{min-height:100vh}}@media (max-width:360px){h1{font-size:clamp(1.8rem,9vw,2.5rem)}h2{font-size:clamp(1.5rem,7vw,2rem)}p{font-size:clamp(.9rem,3.5vw,1rem)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.1) 50%,hsla(0,0%,100%,.05));background-size:1000px 100%;animation:shimmer 2s infinite;border-radius:4px}.horizontalScrollContainer{position:relative}.horizontalScrollContainer:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,var(--bg));pointer-events:none;opacity:0;transition:opacity .3s;z-index:1}.horizontalScrollContainer.scrollable:after{opacity:1}.contactContent,.messagesContainer,.projectContent{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}