:root{--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Cardo", serif;--color-background: #111111;--color-text: #f9f9f9;--color-text-muted: #cccccc;--color-accent: #ffffff;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--bp-mobile: 600px;--bp-tablet: 960px;--bp-desktop: 1280px;--grid-columns: 12;--grid-gap: 1rem;font-family:var(--font-body);line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh}.app{min-height:100vh;background-color:var(--color-background);color:var(--color-text)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;margin:0}h1{font-size:2.5rem;line-height:1.2}h2{font-size:2rem;line-height:1.3}p{margin:0 0 var(--spacing-sm);line-height:1.6}.container{max-width:var(--bp-desktop);margin:0 auto;padding:0 var(--spacing-md)}@media (max-width: 600px){.container{padding:0 var(--spacing-sm)}}.grid{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}@media (min-width: 600px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.grid{grid-template-columns:repeat(3,1fr)}}.portfolio-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));padding:var(--spacing-lg) 0}@media (min-width: 600px){.portfolio-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 960px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.header{padding:var(--spacing-lg) 0;border-bottom:1px solid rgba(249,249,249,.1)}.nav{display:flex;justify-content:center;gap:var(--spacing-lg)}.nav-link{color:var(--color-text-muted);text-decoration:none;font-weight:500;transition:color .2s ease;position:relative}.nav-link:hover,.nav-link--active{color:var(--color-text)}.nav-link--active:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:1px;background-color:var(--color-text)}@media (max-width: 600px){.nav{gap:var(--spacing-md)}.nav-link{font-size:.9rem}}.about,.contact,.not-found{padding:var(--spacing-xl) 0;min-height:60vh}.about__content,.contact__content,.not-found__content{max-width:800px;margin:0 auto;text-align:center}.contact__content{display:flex;flex-direction:column;align-items:center}.contact__content h1{margin-bottom:var(--spacing-lg)}.contact__text{margin-bottom:var(--spacing-xl)}.contact__form,.contact__info{width:100%;max-width:600px}.about__content{display:grid;grid-template-columns:1fr;gap:var(--spacing-xl);align-items:start}@media (min-width: 768px){.about__content{grid-template-columns:300px 1fr;text-align:left}}.about__profile{display:flex;justify-content:center}.about__profile-image{width:250px;height:250px;border-radius:50%;object-fit:cover;box-shadow:0 4px 20px #ffffff1a}@media (min-width: 768px){.about__profile-image{width:280px;height:280px}}.about__text,.contact__text{text-align:left;margin:var(--spacing-lg) 0}.about__text h1{margin-bottom:var(--spacing-lg)}.about__text p{margin-bottom:var(--spacing-md);line-height:1.7}.about__text a{color:var(--color-text);text-decoration:underline;text-decoration-color:var(--color-text-muted);transition:text-decoration-color .2s ease}.about__text a:hover{text-decoration-color:var(--color-text)}.contact__form{text-align:left}.form__group{margin-bottom:var(--spacing-lg)}.form__label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--color-text);font-size:.95rem}.form__input,.form__textarea{width:100%;padding:var(--spacing-md);border:2px solid rgba(249,249,249,.1);border-radius:8px;background-color:#f9f9f90d;color:var(--color-text);font-family:var(--font-body);font-size:1rem;transition:all .3s ease;box-sizing:border-box}.form__input:focus,.form__textarea:focus{outline:none;border-color:#f9f9f94d;background-color:#f9f9f914;box-shadow:0 0 0 3px #f9f9f91a}.form__input::placeholder,.form__textarea::placeholder{color:#f9f9f966}.form__textarea{resize:vertical;min-height:140px;line-height:1.6}.form__submit{background-color:var(--color-text);color:var(--color-background);border:none;padding:var(--spacing-md) var(--spacing-xl);border-radius:8px;font-family:var(--font-body);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin:var(--spacing-sm) auto var(--spacing-lg);position:relative;overflow:hidden;display:block}.form__submit:hover:not(:disabled){background-color:#f9f9f9e6;transform:translateY(-1px);box-shadow:0 4px 12px #f9f9f933}.form__submit:active:not(:disabled){transform:translateY(0)}.form__submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.form__message{margin-top:var(--spacing-lg);padding:var(--spacing-md);border-radius:8px;text-align:center;font-weight:500;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.form__message--success{background-color:#22c55e26;border:1px solid rgba(34,197,94,.4);color:#4ade80}.form__message--error{background-color:#ef444426;border:1px solid rgba(239,68,68,.4);color:#f87171}.contact__item{margin-bottom:var(--spacing-md)}.contact__item h3{margin-bottom:var(--spacing-xs);color:var(--color-text)}.contact__link{color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}.contact__link:hover{color:var(--color-text)}.contact__separator{color:var(--color-text-muted)}.not-found__content h1{font-size:4rem;margin-bottom:var(--spacing-sm);color:var(--color-text-muted)}.not-found__content h2{margin-bottom:var(--spacing-md)}.not-found__link{display:inline-block;margin-top:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-text);color:var(--color-background);text-decoration:none;border-radius:4px;transition:background-color .2s ease}.not-found__link:hover{background-color:var(--color-text-muted)}.portfolio-item{position:relative;overflow:hidden;border-radius:8px;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;text-decoration:none;color:inherit;display:block}.portfolio-item:focus{outline:2px solid var(--color-text);outline-offset:2px}.portfolio-item:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000004d}.portfolio-item__image-container{position:relative;width:100%;aspect-ratio:2 / 1;overflow:hidden}.portfolio-item__image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.portfolio-item:hover .portfolio-item__image{transform:scale(1.05)}.portfolio-item__overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md);transform:translateY(100%);transition:transform .3s ease}.portfolio-item:hover .portfolio-item__overlay{transform:translateY(0)}.portfolio-item__title{font-family:var(--font-heading);font-size:1.25rem;font-weight:400;color:var(--color-text);margin:0}.lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.lightbox__content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.lightbox__close{position:absolute;top:-40px;right:0;background:none;border:none;color:var(--color-text);font-size:2rem;cursor:pointer;padding:var(--spacing-xs);z-index:1001;transition:color .2s ease}.lightbox__close:hover{color:var(--color-text-muted)}.lightbox__image-container{position:relative;max-width:100%;max-height:80vh;overflow:hidden;border-radius:8px}.lightbox__image{width:100%;height:100%;object-fit:contain;display:block}.lightbox__info{margin-top:var(--spacing-md);text-align:center}.lightbox__title{font-family:var(--font-heading);font-size:1.5rem;font-weight:400;color:var(--color-text);margin:0}@media (max-width: 600px){.lightbox{padding:var(--spacing-sm)}.lightbox__close{top:-35px;font-size:1.5rem}.lightbox__image-container{max-height:70vh}}.skip-link{position:absolute;top:-40px;left:var(--spacing-md);background:var(--color-text);color:var(--color-background);padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none;border-radius:4px;z-index:2000;transition:top .2s ease}.skip-link:focus{top:var(--spacing-md)}.loading{display:flex;align-items:center;justify-content:center;min-height:50vh;color:var(--color-text-muted);font-size:1.1rem}.breadcrumbs{padding:var(--spacing-lg) 0 var(--spacing-md);font-size:.9rem;color:var(--color-text-muted)}.breadcrumb-link{color:var(--color-text-muted);text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:var(--color-text)}.breadcrumb-separator{margin:0 var(--spacing-xs);color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text)}.project-header{text-align:center;padding:var(--spacing-lg) 0 var(--spacing-xl);border-bottom:1px solid rgba(249,249,249,.1);margin-bottom:var(--spacing-xl)}.project-title{font-family:var(--font-heading);font-size:3rem;font-weight:400;margin-bottom:var(--spacing-md);color:var(--color-text)}.project-meta{margin-bottom:var(--spacing-md)}.project-year{font-size:1.1rem;color:var(--color-text-muted);font-weight:500}.project-description{max-width:600px;margin:0 auto;font-size:1.1rem;line-height:1.6;color:var(--color-text-muted)}.project-gallery{margin-bottom:var(--spacing-xl)}.gallery-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}@media (min-width: 768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.gallery-item{position:relative;overflow:hidden;border-radius:8px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000004d}.gallery-item:focus{outline:2px solid var(--color-text);outline-offset:2px}.gallery-image{width:100%;height:auto;display:block;transition:transform .3s ease}.gallery-item:hover .gallery-image{transform:scale(1.02)}.no-gallery{text-align:center}.single-project-image{max-width:100%;height:auto;border-radius:8px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.single-project-image:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000004d}.gallery-item__button{border:none;padding:0;background:none;cursor:pointer;width:100%;height:100%;display:block}.gallery-item__image{width:100%;height:auto;display:block;transition:transform .3s ease}.single-project-image:focus{outline:2px solid var(--color-text);outline-offset:2px}.project-navigation{text-align:center;padding:var(--spacing-xl) 0}.back-to-portfolio{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background-color:transparent;color:var(--color-text-muted);text-decoration:none;border:1px solid rgba(249,249,249,.2);border-radius:4px;transition:all .2s ease;font-weight:500}.back-to-portfolio:hover{background-color:var(--color-text);color:var(--color-background);border-color:var(--color-text)}@media (max-width: 768px){.project-title{font-size:2.5rem}.gallery-grid{gap:var(--spacing-md)}}
