.project-carousel{position:relative;display:flex;flex-direction:column;width:100%;height:100vh;padding-top:88px}.project-carousel-viewer{flex:1 1;min-height:0;position:relative}.project-carousel-background,.project-carousel-viewer{width:100%;display:flex;align-items:center;justify-content:center}.project-carousel-background{height:100%}.project-carousel-item{display:block;width:100%;height:100%;object-fit:contain}.project-carousel-pdf{border:none;background:#fff;width:100%;height:100%}.project-carousel-header{position:absolute;top:88px;left:0;right:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-xs);background:none;color:var(--color-text);pointer-events:none}.project-carousel-header .project-carousel-close{pointer-events:auto}.project-carousel-info-text{flex:1 1;min-width:0}.project-carousel-button{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:none;border:none;width:96px;height:96px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s ease,transform .2s ease;color:rgba(0,0,0,.6)}.project-carousel-button-prev{left:var(--spacing-xl)}.project-carousel-button-next{right:var(--spacing-xl)}.project-carousel-button:hover{color:rgba(0,0,0,.85)}.project-carousel-button:active{transform:translateY(-50%) scale(.96)}.project-carousel-button svg{width:72px;height:72px}.project-carousel-counter{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.project-carousel-close{flex-shrink:0;background:none;border:none;width:72px;height:72px;font-size:4.5rem;color:rgba(0,0,0,.6);line-height:1;cursor:pointer;transition:color .2s ease;padding:0;display:flex;align-items:center;justify-content:center}.project-carousel-close:hover{color:rgba(0,0,0,.85)}.project-carousel-nav{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-sm);background:var(--color-background);color:var(--color-text)}.project-carousel-info-line{font-size:1.25rem;line-height:1;margin:0;padding:0;white-space:pre-line}.project-carousel-info-line:first-child{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:1.25rem;margin-bottom:var(--spacing-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fullscreen-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-base)}.fullscreen-modal-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:var(--z-modal);background-color:#fff;overflow:hidden}@media (max-width:767px){.project-carousel{padding-top:88px}.project-carousel-header{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-xs)}.project-carousel-info-line{font-size:var(--font-size-xs)}.project-carousel-info-line:first-child{font-size:var(--font-size-sm)}.project-carousel-button{width:64px;height:64px}.project-carousel-button-prev{left:var(--spacing-xs)}.project-carousel-button-next{right:var(--spacing-xs)}.project-carousel-button svg{width:48px;height:48px}.project-carousel-close{width:56px;height:56px;font-size:3rem}}.projects-grid-section{flex:1 1;min-height:0;width:100%;overflow-x:hidden;overflow-y:auto;position:relative;background-color:#fff;padding:0 var(--container-padding);box-sizing:border-box;display:flex;flex-direction:column}.projects-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:auto;grid-gap:6px;gap:6px;width:100%;max-width:none;margin:0;padding:0;flex:1 1;min-height:0;align-content:start}.project-grid-item{position:relative;width:100%;aspect-ratio:4/3;display:block;overflow:hidden;cursor:pointer;transition:transform .2s ease,filter .2s ease;background-color:#fff;border:none}.project-grid-item:hover{transform:scale(1.05);filter:brightness(1.15);z-index:1}.project-grid-item:active{transform:scale(.98)}.project-grid-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.project-grid-image{width:100%;height:100%;object-fit:cover;display:block}@media (min-width:768px) and (max-width:1023px){.projects-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:767px){.projects-grid{grid-template-columns:repeat(2,1fr);gap:6px}.project-grid-item:hover{transform:scale(1.02)}}