:root{--color-background:#231f20;--color-background-alt:#1a1718;--color-surface:#2e2a2b;--color-text:#f8f7f7;--color-text-secondary:#a8a6a7;--color-text-light:#706d6e;--color-accent:#ffde59;--color-accent-dark:#d4b94a;--color-border:#ffffff14;--color-border-accent:#ffde594d;--font-heading:"Playfair Display", Georgia, "Times New Roman", serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs:.875rem;--font-size-sm:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:3.5rem;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--transition-fast:.2s ease;--transition-normal:.3s ease;--transition-slow:.6s ease;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--z-index-base:1;--z-index-sticky:100;--z-index-fixed:1000;--z-index-modal:2000;--max-width:1200px;--nav-height:72px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{font-family:var(--font-body);background-color:var(--color-background);color:var(--color-text);margin:0;padding:0;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.navigation{background-color:var(--color-background);z-index:var(--z-index-fixed);border-bottom:1px solid var(--color-border);position:sticky;top:0;left:0;right:0}.nav-inner{max-width:var(--max-width);height:var(--nav-height);justify-content:space-between;align-items:center;margin:0 auto;padding:0 2rem;display:flex}.nav-logo{align-items:center;gap:.75rem;text-decoration:none;display:flex}.nav-logo-img{object-fit:contain;width:40px;height:40px}.nav-logo-text-img{object-fit:contain;height:24px}.nav-list{align-items:center;gap:2.5rem;margin:0;padding:0;list-style:none;display:flex}.nav-item{margin:0}.nav-link{color:var(--color-text-secondary);letter-spacing:.3px;transition:color var(--transition-fast);padding:.5rem 0;font-size:.95rem;font-weight:400;text-decoration:none;position:relative}.nav-link:hover{color:var(--color-text)}.nav-link.active{color:var(--color-text);font-weight:500}.nav-link.active:after{content:"";background-color:var(--color-accent);border-radius:1px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.nav-hamburger{cursor:pointer;z-index:10;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:.5rem;display:none}.nav-hamburger span{background-color:var(--color-text);width:24px;height:2px;transition:all var(--transition-fast);border-radius:1px;display:block}.nav-hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (width<=768px){.nav-inner{padding:0 1.25rem}.nav-hamburger{display:flex}.nav-list{top:var(--nav-height);background-color:var(--color-background);border-bottom:1px solid var(--color-border);opacity:0;pointer-events:none;transition:transform var(--transition-normal), opacity var(--transition-normal);flex-direction:column;gap:0;padding:1rem 0;position:fixed;left:0;right:0;transform:translateY(-100%)}.nav-list-open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-link{padding:.75rem 2rem;font-size:1rem;display:block}.nav-link.active:after{display:none}}.content-block{z-index:1;opacity:0;max-width:600px;transition:opacity var(--transition-slow), transform var(--transition-slow);padding:2rem 0;position:relative;transform:translateY(20px)}.content-block-visible{opacity:1;transform:translateY(0)}.content-block-title{font-family:var(--font-heading);color:var(--color-accent);font-size:var(--font-size-3xl);margin-bottom:1.25rem;font-weight:600;line-height:1.2}.content-block-paragraph{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:1rem;line-height:1.7}.content-block-bullets{margin:1.25rem 0;padding:0;list-style:none}.content-block-bullet{color:var(--color-text-secondary);font-size:var(--font-size-md);margin-bottom:.5rem;padding-left:1.5rem;line-height:1.7;position:relative}.content-block-bullet:before{content:"•";color:var(--color-accent);font-size:1.25rem;position:absolute;top:-1px;left:0}.content-block-cta{color:var(--color-accent-dark);font-size:var(--font-size-lg);margin-top:1.25rem;margin-bottom:0;font-style:italic;line-height:1.5}.content-block-note{color:var(--color-accent);font-size:var(--font-size-md);margin-top:1.25rem;margin-bottom:0;font-style:italic;line-height:1.5}.content-block-spacer{height:2rem}@media (width<=768px){.content-block{padding:1.5rem 0}.content-block-title{font-size:var(--font-size-2xl)}.content-block-paragraph,.content-block-cta,.content-block-note{font-size:var(--font-size-sm)}}.page-container{background-color:var(--color-background);min-height:100vh}.page-content{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.page-section{border-bottom:1px solid var(--color-border);align-items:center;gap:3rem;padding:4rem 0;display:flex}.page-section:last-child{border-bottom:none}.page-section-left-right{flex-direction:row}.page-section-right-left{flex-direction:row-reverse}.page-section-center{text-align:center;flex-direction:column;align-items:center}.page-section-full{flex-direction:column;align-items:center}.page-section-image,.page-section .content-block{flex:1;min-width:0}.page-section-center .page-section-image{max-width:300px;margin-bottom:1rem}.section-image{border-radius:var(--radius-lg);width:100%;height:auto;box-shadow:var(--shadow-md);display:block}.page-section-distribucio-de-taules .section-image{box-shadow:none;border-radius:0}@media (width<=768px){.page-content{padding:0 1.25rem}.page-section{gap:1.5rem;padding:2.5rem 0;flex-direction:column!important}.page-section-image{width:100%}.page-section-center .page-section-image{max-width:200px}}.catalog-page{background-color:var(--color-background);min-height:100vh}.catalog-page-header{text-align:center;max-width:var(--max-width);margin:0 auto;padding:3rem 2rem 2rem}.catalog-page-title{font-family:var(--font-heading);font-size:var(--font-size-4xl);color:var(--color-accent);margin-bottom:.75rem;font-weight:600}.catalog-page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);max-width:600px;margin:0 auto;line-height:1.6}.catalog-page-layout{max-width:var(--max-width);gap:3rem;margin:0 auto;padding:0 2rem 4rem;display:flex}.catalog-sidebar{flex-shrink:0;width:220px}.catalog-sidebar-nav{top:calc(var(--nav-height) + 2rem);padding:1rem 0;position:sticky}.catalog-sidebar-group{margin-bottom:1.5rem}.catalog-sidebar-category{font-family:var(--font-heading);font-size:var(--font-size-sm);color:var(--color-accent);cursor:pointer;transition:opacity var(--transition-fast);margin-bottom:.5rem;font-weight:600}.catalog-sidebar-category:hover{opacity:.8}.catalog-sidebar-items{margin:0;padding:0;list-style:none}.catalog-sidebar-items li{margin-bottom:.25rem}.catalog-sidebar-link{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;text-align:left;width:100%;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:none;border-left:2px solid #0000;padding:.25rem 0 .25rem .75rem;display:block}.catalog-sidebar-link:hover{color:var(--color-text)}.catalog-sidebar-link.active{color:var(--color-accent);border-left-color:var(--color-accent);font-weight:500}.catalog-page-content{flex:1;min-width:0}.catalog-category-section{margin-bottom:3rem}.catalog-category-heading{font-family:var(--font-heading);font-size:var(--font-size-2xl);color:var(--color-text);border-bottom:2px solid var(--color-border-accent);scroll-margin-top:calc(var(--nav-height) + 2rem);margin-bottom:2rem;padding-bottom:.75rem;font-weight:600}.catalog-table-section{border-bottom:1px solid var(--color-border);scroll-margin-top:calc(var(--nav-height) + 2rem);align-items:center;gap:2.5rem;padding:2.5rem 0;display:flex}.catalog-table-section:last-child{border-bottom:none}.catalog-table-image{flex:0 0 40%;max-width:40%}.catalog-table-image img{border-radius:var(--radius-lg);width:100%;height:auto;display:block}.catalog-table-info{flex:1;min-width:0}.catalog-table-name{font-family:var(--font-heading);font-size:var(--font-size-xl);color:var(--color-accent);margin-bottom:1rem;font-weight:600}.catalog-table-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.7}@media (width<=900px){.catalog-sidebar{display:none}.catalog-page-layout{padding:0 1.25rem 3rem}.catalog-page-header{padding:2rem 1.25rem 1.5rem}.catalog-page-title{font-size:var(--font-size-3xl)}.catalog-table-section{gap:1.5rem;padding:2rem 0;flex-direction:column!important}.catalog-table-image{flex:none;width:100%;max-width:100%}.catalog-category-heading{font-size:var(--font-size-xl)}.catalog-page-layout{flex-direction:column}}.contact-page{max-width:var(--max-width);margin:0 auto;padding:3rem 2rem 4rem}.contact-header{text-align:center;margin-bottom:3rem}.contact-title{font-family:var(--font-heading);font-size:var(--font-size-4xl);color:var(--color-text);margin-bottom:1rem;font-weight:600}.contact-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0 auto;line-height:1.6}.contact-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:3rem;display:grid}.contact-card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);padding:2rem}.contact-card:hover{box-shadow:var(--shadow-md)}.contact-card-icon{color:var(--color-accent);margin-bottom:1rem}.contact-card-title{font-family:var(--font-heading);font-size:var(--font-size-xl);color:var(--color-text);margin-bottom:.75rem;font-weight:600}.contact-card-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:.25rem;line-height:1.6}.contact-card-text a{color:var(--color-accent-dark);transition:color var(--transition-fast);text-decoration:none}.contact-card-text a:hover{color:var(--color-text);text-decoration:underline}.contact-map{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.contact-map iframe{display:block}@media (width<=768px){.contact-page{padding:2rem 1.25rem 3rem}.contact-title{font-size:var(--font-size-3xl)}.contact-subtitle{font-size:var(--font-size-md)}.contact-grid{grid-template-columns:1fr;gap:1rem}.contact-card{padding:1.5rem}.contact-map iframe{height:300px}}.footer{background-color:var(--color-background);padding:1.5rem 2rem 1rem}.footer-content{max-width:var(--max-width);flex-direction:column;align-items:center;gap:.25rem;margin:0 auto;display:flex}.footer-social-icons{gap:1rem;display:flex}.footer-social-icon{transition:transform var(--transition-fast), opacity var(--transition-fast)}.footer-social-icon:hover{opacity:.7;transform:scale(1.1)}.footer-social-handle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.footer-bottom{max-width:var(--max-width);border-top:1px solid var(--color-border);text-align:center;margin:.75rem auto 0;padding-top:.75rem}.footer-bottom p{color:var(--color-text-secondary);font-size:var(--font-size-xs);margin:0}@media (width<=768px){.footer{padding:1.25rem 1.25rem .75rem}}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.not-found-title{font-family:var(--font-heading);color:var(--color-accent);margin-bottom:1rem;font-size:6rem;font-weight:700}.not-found-text{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:2rem}.not-found-link{color:var(--color-accent-dark);font-size:var(--font-size-md);transition:color var(--transition-fast);text-decoration:none}.not-found-link:hover{color:var(--color-text);text-decoration:underline}.error-boundary{background-color:var(--color-background);min-height:100vh;color:var(--color-text);padding:var(--spacing-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.error-boundary h2{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md);color:var(--color-accent)}.error-boundary p{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);max-width:500px}.error-boundary button{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-accent);color:var(--color-background);border-radius:var(--radius-sm);font-size:var(--font-size-md);cursor:pointer;transition:opacity var(--transition-fast);border:none}.error-boundary button:hover{opacity:.9}
