.project-carousel{display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 2 * var(--container-padding))}.project-carousel-viewer{width:100%;padding:var(--spacing-lg)}.project-carousel-background,.project-carousel-viewer{display:flex;align-items:center;justify-content:center}.project-carousel-item{display:block;max-width:100%;max-height:60vh;object-fit:contain}.project-carousel-pdf{border:none;background:#fff;width:100%;height:60vh}.project-carousel-header{flex-shrink:0;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:var(--color-background);color:var(--color-text)}.project-carousel-info-text{flex:1 1;min-width:0}.project-carousel-button{background:none;border:1px solid var(--color-border);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--color-text)}.project-carousel-button:hover{background-color:rgba(0,0,0,.05);border-color:var(--color-text)}.project-carousel-button:active{transform:scale(.98)}.project-carousel-button svg{width:18px;height:18px}.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:1px solid var(--color-border);width:36px;height:36px;border-radius:50%;font-size:var(--font-size-xl);color:var(--color-text);line-height:1;cursor:pointer;transition:all .2s ease;padding:0;display:flex;align-items:center;justify-content:center}.project-carousel-close:hover{background-color:rgba(0,0,0,.05)}.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:var(--font-size-sm);line-height:1.35;margin-bottom:2px;white-space:pre-line}.project-carousel-info-line:last-child{margin-bottom:0}.project-carousel-info-line:first-child{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}@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:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-modal);width:-moz-fit-content;width:fit-content;max-height:calc(100vh - 2 * var(--container-padding));background-color:#fff;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-lg)}@media (max-width:767px){.fullscreen-modal-container{width:95vw;height:auto;max-height:calc(100vh - 2 * var(--container-padding));overflow:auto}.project-carousel-viewer{padding:var(--spacing-sm)}.project-carousel-header{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-xs)}.project-carousel-item{max-height:65vh}.project-carousel-info-line{font-size:var(--font-size-xs)}.project-carousel-info-line:first-child{font-size:var(--font-size-sm)}}.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)}}