.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--color-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition);border-bottom:1px solid var(--color-border)}.header--scrolled{border-bottom-color:var(--color-border)}.header__container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.header__logo{font-size:1rem;font-weight:400;color:var(--color-text);cursor:pointer;transition:var(--transition);letter-spacing:.05em}.header__logo:hover{color:var(--color-text-light)}.header__nav{display:flex;gap:var(--spacing-md);align-items:center}.header__nav a{color:var(--color-text);font-weight:400;padding:var(--spacing-xs) 0;position:relative;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.header__nav a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-text);transition:var(--transition)}.header__nav a:hover:after{width:100%}.header__menu-toggle{display:none;flex-direction:column;gap:4px;padding:var(--spacing-xs)}.header__menu-toggle span{width:24px;height:1px;background:var(--color-text);transition:var(--transition)}@media (max-width: 768px){.header__menu-toggle{display:flex}.header__nav{position:absolute;top:100%;left:0;right:0;background:var(--color-bg);flex-direction:column;padding:var(--spacing-md);border-top:1px solid var(--color-border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:var(--transition)}.header__nav--open{transform:translateY(0);opacity:1;visibility:visible}}.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;padding:var(--spacing-xl) var(--spacing-md) var(--spacing-lg);background:var(--color-bg);position:relative}.hero__container{max-width:var(--max-width);margin:0 auto;width:100%;margin-top:-2.5rem}.hero__content{position:absolute;bottom:calc(var(--spacing-lg) + 3rem);left:0;right:0;text-align:center;width:100%}.hero__title{font-size:clamp(3rem,6vw,5rem);font-weight:400;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-text);letter-spacing:-.02em}.hero__subtitle{font-size:1.25rem;color:var(--color-text-light);line-height:1.7;font-weight:400}.hero__container--centered{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--spacing-lg)}.hero__media{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:var(--spacing-sm)}.hero__media-frame{width:100%;max-width:850px;padding:0;border:none;box-shadow:none;background:transparent;display:block}.hero__logo{width:100%;height:auto;display:block;object-fit:cover;border:none;transform-origin:center;animation:hero-logo-pulse 2.5s ease-in-out infinite}@keyframes hero-logo-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.72;transform:scale(1.03)}}.hero__role{font-size:.75rem;font-weight:400;color:var(--color-text-muted);letter-spacing:.2em;text-transform:lowercase;margin:0}.hero__scroll-hint{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px}.hero__scroll-hint-icon{width:20px;height:20px;border-right:1px solid var(--color-text-muted);border-bottom:1px solid var(--color-text-muted);transform:rotate(45deg);animation:hero-scroll-bounce 2s ease-in-out infinite}@keyframes hero-scroll-bounce{0%,to{transform:rotate(45deg) translateY(0);opacity:.6}50%{transform:rotate(45deg) translateY(6px);opacity:1}}@media (max-width: 1400px){.hero{padding:calc(var(--spacing-xl) + 60px) var(--spacing-md) var(--spacing-lg)}.hero__container{margin-top:-2rem}.hero__subtitle{font-size:1.1rem}.hero__container--centered{gap:var(--spacing-md)}.hero__media-frame{max-width:90vw}.hero__role{font-size:.7rem;letter-spacing:.15em}.hero__content{bottom:calc(var(--spacing-lg) + 2.5rem)}.hero__scroll-hint{bottom:var(--spacing-sm)}.hero__scroll-hint-icon{width:16px;height:16px}}.projects{padding:var(--spacing-xl) var(--spacing-md);background:var(--color-bg);border-top:1px solid var(--color-border)}.projects__container{max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between}.projects__container .section__title{margin-bottom:0;width:auto}.projects__grid{margin-top:var(--spacing-md)}.projects__filter{display:flex;gap:1.5rem}.projects__filter button{padding:0;border:none;background:none;color:var(--color-text-muted);font-size:1rem;transition:color .2s ease;cursor:pointer}.projects__filter button:hover{color:var(--color-text)}.projects__filter button.active{color:var(--color-text);font-weight:500}.projects__gallery{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.gallery__item{background:var(--color-bg-light);border:1px solid var(--color-border);overflow:hidden;transition:var(--transition);display:flex;flex-direction:column}.gallery__image-wrap{width:100%;aspect-ratio:1/1;overflow:hidden;cursor:pointer;transition:transform .2s ease;position:relative}.gallery__image-wrap:hover{transform:scale(1.02)}.gallery__image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.gallery__play-badge{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#000000a6;color:#fff;font-size:.95rem;line-height:1;pointer-events:none}.gallery__video-placeholder{width:100%;height:100%;display:grid;place-items:center;background:#000;color:#ffffffbf;font-size:.9rem;padding:1rem;text-align:center}.gallery__image-wrap video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.gallery__image-wrap:hover img{transform:scale(1.05)}.gallery__caption{padding:var(--spacing-sm)}.gallery__caption h3{margin:0 0 6px;font-size:1rem;font-weight:600}.gallery__meta{font-size:.85rem;color:var(--color-text-muted)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-md);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal__content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:scaleIn .2s ease}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal__close{position:fixed;top:var(--spacing-md);right:var(--spacing-md);color:#fff;font-size:2.5rem;line-height:1;background:none;border:none;cursor:pointer;padding:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;z-index:2001}.modal__close:hover{opacity:.7}.modal__nav{position:fixed;top:50%;transform:translateY(-50%);color:#fff;font-size:4rem;background:none;border:none;cursor:pointer;padding:0;width:auto;height:auto;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:2001;opacity:.8}.modal__nav span{display:block;line-height:1;margin:0;padding:0}.modal__nav:hover{opacity:1;transform:translateY(-50%) scale(1.2)}.modal__nav--prev{left:var(--spacing-md)}.modal__nav--next{right:var(--spacing-md)}.modal__image{max-width:100%;max-height:80vh;object-fit:contain;box-shadow:0 10px 40px #00000080}.modal__title{color:#fff;margin-top:var(--spacing-md);font-size:1.25rem;text-align:center}@media (max-width: 768px){.projects__gallery{grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.modal__close{top:var(--spacing-sm);right:var(--spacing-sm);font-size:2rem;width:40px;height:40px}.modal__nav{font-size:3rem}.modal__nav--prev{left:var(--spacing-xs)}.modal__nav--next{right:var(--spacing-xs)}.modal__title{font-size:1rem;margin-top:var(--spacing-sm)}}.contact{padding:var(--spacing-xl) var(--spacing-md);background:var(--color-bg);border-top:1px solid var(--color-border)}.contact__container{max-width:var(--max-width);margin:0 auto}.contact__content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-top:var(--spacing-md);align-items:start}.contact__info{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact__text{font-size:1.1rem;line-height:1.8;color:var(--color-text-light);font-weight:400}.contact__links{display:flex;flex-direction:column;gap:var(--spacing-sm)}.contact__link{color:var(--color-link);font-weight:400;font-size:1.1rem;transition:var(--transition)}.contact__link:hover{color:var(--color-text)}.contact__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.contact__label{font-weight:400;color:var(--color-text);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.contact__input{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:0;font-family:inherit;font-size:1rem;transition:var(--transition);background:var(--color-bg);color:var(--color-text);font-weight:400}.contact__input:focus{outline:none;border-color:var(--color-text)}.contact__textarea{resize:vertical;min-height:120px}.contact__submit{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-text);color:var(--color-bg);font-size:1rem;font-weight:400;border-radius:0;transition:var(--transition);align-self:flex-start;border:1px solid var(--color-text)}.contact__submit:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.contact__submit:disabled{opacity:.5;cursor:not-allowed}.contact__status{padding:var(--spacing-sm);border-radius:0;font-weight:400}.contact__status--success,.contact__status--error{background:var(--color-bg-light);color:var(--color-text);border:1px solid var(--color-border)}@media (max-width: 768px){.contact__content{grid-template-columns:1fr;gap:var(--spacing-md)}}.footer{padding:var(--spacing-md);background:var(--color-bg);color:var(--color-text);text-align:center;border-top:1px solid var(--color-border)}.footer__container{max-width:var(--max-width);margin:0 auto}.footer__text{color:var(--color-text-muted);font-size:.875rem;font-weight:400}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}main{flex:0 0 auto}.app-loading{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:99%;min-height:99%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom));background:var(--color-bg);z-index:9999}.app-loading__logo{width:100%;max-width:850px;height:auto;object-fit:contain;animation:app-loading-pulse 1.2s ease-in-out infinite}@media (max-width: 1400px){.app-loading{padding:calc(var(--spacing-xl) + 60px) var(--spacing-md)}.app-loading__logo{max-width:90vw}}@keyframes app-loading-pulse{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}*{margin:0;padding:0;box-sizing:border-box}:root{--color-gray0: #FFF;--color-gray1: #F7F7F7;--color-gray2: #EDEDED;--color-gray3: #DEDEDE;--color-gray4: #999;--color-gray5: #696969;--color-gray6: #333;--color-gray7: #000;--color-text: var(--color-gray7);--color-text-light: var(--color-gray5);--color-text-muted: var(--color-gray4);--color-bg: var(--color-gray0);--color-bg-light: var(--color-gray1);--color-border: var(--color-gray2);--color-link: var(--color-gray6);--max-width: 1200px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--transition: all .2s ease}html{scroll-behavior:smooth;background:var(--color-bg);min-height:100%;min-height:100dvh}html:before{content:"";position:fixed;top:0;left:0;right:0;width:100%;height:var(--vh, 99%);min-height:var(--vh, 99%);background:var(--color-bg);z-index:-1;pointer-events:none}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);line-height:1.6;min-height:100%;min-height:100dvh;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-bottom:env(safe-area-inset-bottom)}a{text-decoration:none;color:inherit;transition:var(--transition)}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:var(--transition)}img{max-width:100%;height:auto;display:block}.admin{max-width:1200px;margin:40px auto;padding:30px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px}.admin--auth{max-width:480px;margin:80px auto;padding:40px;text-align:center;border-radius:12px}.admin--auth h2{margin-bottom:20px}.admin--auth input{padding:12px;font-size:1rem;border:1px solid var(--color-border);border-radius:6px;margin:10px 0;width:100%;max-width:200px}.admin--auth button{padding:12px 24px;background:var(--color-text);color:var(--color-bg);border:none;border-radius:6px;cursor:pointer;font-size:1rem;margin-top:10px}.admin__header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--color-border)}.admin__header h2{margin:0;font-size:1.75rem;font-weight:400}.admin__status{margin-left:15px;padding:6px 12px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:6px;font-size:.9rem;color:var(--color-text-light)}.admin__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.admin__btn{padding:10px 18px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease;color:var(--color-text);font-family:inherit}.admin__btn:hover{background:var(--color-border);border-color:var(--color-text-light)}.admin__btn--primary{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text);font-weight:500}.admin__btn--primary:hover{background:var(--color-text-light);border-color:var(--color-text-light)}.admin__btn--danger{background:transparent;color:#d32f2f;border-color:#d32f2f}.admin__btn--danger:hover{background:#d32f2f;color:#fff}.admin__btn--import{position:relative;cursor:pointer}.admin__btn--import input{position:absolute;opacity:0;width:0;height:0}.admin__section{margin-top:30px}.admin__section h3{font-size:1.5rem;font-weight:400;margin-bottom:10px}.admin__hint{color:var(--color-text-light);font-size:.9rem;margin-bottom:20px;padding:12px;background:var(--color-bg-light);border-left:3px solid var(--color-text-light);border-radius:4px}.admin__list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.admin__item{display:flex;gap:20px;align-items:flex-start;padding:20px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg-light);transition:all .2s ease}.admin__item:hover{border-color:var(--color-text-light);box-shadow:0 2px 8px #0000000d}.admin__item-preview{flex-shrink:0;width:150px;height:150px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center}.admin__preview-img{width:100%;height:100%;object-fit:cover}.admin__preview-placeholder{color:var(--color-text-muted);font-size:.85rem;text-align:center;padding:20px}.admin__item-fields{flex:1;display:flex;flex-direction:column;gap:15px}.admin__field{display:flex;flex-direction:column;gap:6px}.admin__field label{font-size:.85rem;font-weight:500;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em}.admin__field input,.admin__field textarea{padding:10px;border:1px solid var(--color-border);border-radius:6px;font-size:.95rem;font-family:inherit;background:var(--color-bg);color:var(--color-text);transition:border-color .2s ease}.admin__field input:focus,.admin__field textarea:focus{outline:none;border-color:var(--color-text)}.admin__field textarea{resize:vertical;min-height:80px}.admin__field-group{display:flex;gap:15px}.admin__file-label{display:inline-block;padding:10px 18px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s ease;text-align:center;width:fit-content}.admin__file-label:hover{background:var(--color-border);border-color:var(--color-text-light)}.admin__file-label input{display:none}.admin__btn:disabled{opacity:.6;cursor:not-allowed}.admin__loading{text-align:center;padding:40px;color:var(--color-text-light);font-size:1.1rem}@media (max-width: 768px){.admin{padding:20px;margin:20px}.admin__header{flex-direction:column;align-items:flex-start}.admin__actions{width:100%}.admin__btn{flex:1;min-width:120px}.admin__item{flex-direction:column}.admin__item-preview{width:100%;max-width:200px}.admin__field-group{flex-direction:column}}
