:root{--color-primary:#475569;--color-primary-hover:#334155;--color-text:#334155;--color-text-muted:#64748b;--color-bg:#f1f5f9;--color-border:#cbd5e1;--color-success:#475569;--color-error:#dc2626;--font-family:Inter, system-ui, -apple-system, sans-serif;--font-family-serif:Georgia, "Times New Roman", serif;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius:.375rem;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);width:100%;max-width:1100px;padding-inline:var(--space-lg);margin-inline:auto;line-height:1.5}img,svg{max-width:100%;display:block}a{color:var(--color-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-primary-hover)}h1,h2,h3,h4{font-family:var(--font-family-serif);font-weight:700;line-height:1.2}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius);cursor:pointer;transition:background-color var(--transition);border:none;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);color:#fff}.btn-secondary{background-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-text-muted);color:var(--color-bg)}.btn-ghost{padding:var(--space-sm);background:0 0}.btn-ghost:hover{background-color:var(--color-border)}header{padding-block:var(--space-md);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.logo{font-size:var(--font-size-xl);color:var(--color-text);font-weight:700}.logo:hover{color:var(--color-text)}nav{position:relative}nav ul{gap:var(--space-md);flex-wrap:wrap;padding:0;list-style:none;display:flex}nav a.active{color:var(--color-primary)}.nav-toggle{display:none}@media (min-width:769px){nav .transition{visibility:visible!important;pointer-events:auto!important;opacity:1!important;transform:none!important}.nav-toggle{display:none!important}}@media (max-width:768px){.nav-toggle{display:flex}nav .transition{position:absolute;top:100%;right:0}nav .transition ul{background:var(--color-bg);padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius);z-index:100;flex-direction:column;min-width:150px;list-style:none}nav .transition ul li{padding-block:var(--space-sm)}}main{padding-block:var(--space-3xl);flex:1}footer{padding-block:var(--space-xl);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center}.hero{margin-bottom:var(--space-2xl)}.hero p{font-size:var(--font-size-lg);color:var(--color-text-muted);margin-block:var(--space-md)}form{gap:var(--space-md);max-width:500px;margin-top:var(--space-xl);display:grid}label{font-weight:500}input,textarea{width:100%;padding:var(--space-sm) var(--space-md);font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition)}input:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}textarea{resize:vertical;min-height:120px}.form-success{color:var(--color-success);font-weight:500}.form-error{color:var(--color-error);font-weight:500}.transition{transition:opacity var(--transition), transform var(--transition);visibility:hidden;pointer-events:none}.transition.show{visibility:visible;pointer-events:auto}.transition-fade{opacity:0}.transition-fade.show{opacity:1}.transition-slide{opacity:0;transform:translateY(-10px)}.transition-slide.show{opacity:1;transform:translateY(0)}.transition-scale{opacity:0;transform:scale(.95)}.transition-scale.show{opacity:1;transform:scale(1)}.transition-fade-slide{opacity:0;transform:translateY(-10px)}.transition-fade-slide.show{opacity:1;transform:translateY(0)}.text-muted{color:var(--color-text-muted)}.events-grid{gap:var(--space-lg);margin-top:var(--space-xl);display:grid}.event-card{padding:var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--transition)}.event-card:hover{border-color:var(--color-primary)}.event-date{font-size:var(--font-size-sm);color:var(--color-primary);margin-bottom:var(--space-xs);font-weight:600;display:block}.event-title{font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}.event-location{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.event-description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.query-state{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);padding:var(--space-lg) 0;display:flex}.query-error{color:var(--color-error)}.query-empty{color:var(--color-text-muted)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:1rem;height:1rem;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.skip-link{top:-100%;left:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-primary);color:#fff;z-index:1000;position:absolute}.skip-link:focus{top:var(--space-md)}.callout-wrapper{bottom:var(--space-lg);left:var(--space-lg);right:var(--space-lg);z-index:1000;max-width:500px;position:fixed}.callout{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-text);color:var(--color-bg);border-radius:var(--radius);display:flex}.callout p{align-items:center;gap:var(--space-md);margin:0;display:flex}.callout-close{color:var(--color-bg);cursor:pointer;padding:var(--space-xs);background:0 0;border:none}.landing{text-align:center;justify-content:center;align-items:center;gap:var(--space-xl);flex-direction:column;min-height:60vh;display:flex}.landing-logo{width:400px;max-width:100%;height:auto}.landing h1{font-size:var(--font-size-4xl);letter-spacing:.02em}.landing-contact{gap:var(--space-md);color:var(--color-text-muted);flex-direction:column;display:flex}.landing-address{line-height:1.6}.landing-phone a,.landing-email a{color:var(--color-text);text-decoration:none}.landing-phone a:hover,.landing-email a:hover{text-decoration:underline}@media (min-width:768px){.landing h1{font-size:3.5rem}}
