:root{--color-bg: #ffffff;--color-text: #111827;--color-cta: #D83B0F;--color-nav-cta: #0057B8;--color-filter-active: #2F67E8;--color-filter-inactive: #F1F2F4;--color-card-bg: #E4E5E7;--color-border: #e5e7eb;--color-muted: #6b7280;--font-heading: "Poppins", system-ui, sans-serif;--font-body: "Roboto", system-ui, sans-serif;--font-accent: "Roboto Slab", Georgia, serif;--space-xs: 8px;--space-sm: 16px;--space-md: 24px;--space-lg: 40px;--space-xl: 64px;--space-2xl: 96px;--container-max: 1200px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{cursor:pointer;border:none;background:none;font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-text)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.375rem}h4{font-size:1.125rem}p{margin-bottom:var(--space-sm)}p:last-child{margin-bottom:0}@media(min-width:768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}}@media(min-width:1080px){h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.75rem}}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section{padding:96px 0}.btn-primary,.btn-secondary,.btn-outline{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;font-family:var(--font-heading);font-size:.9375rem;font-weight:600;line-height:1;border-radius:var(--border-radius-sm);transition:opacity .2s ease,background-color .2s ease;white-space:nowrap}.btn-primary{background-color:var(--color-cta);color:#fff}.btn-primary:hover{opacity:.88}.btn-secondary{background-color:var(--color-nav-cta);color:#fff}.btn-secondary:hover{opacity:.88}.btn-outline{background-color:transparent;color:#fff;border:2px solid #ffffff}.btn-outline:hover{background-color:#ffffff1f}.btn-filter{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font-family:var(--font-body);font-size:.875rem;font-weight:500;border-radius:var(--border-radius-sm);background-color:var(--color-filter-inactive);color:var(--color-text);transition:background-color .2s ease,color .2s ease;cursor:pointer;border:none}.btn-filter:hover{background-color:#d8d9db}.btn-filter.active{background-color:var(--color-filter-active);color:#fff}@media(min-width:768px){.btn-primary,.btn-secondary,.btn-outline{padding:14px 28px;font-size:1rem}.btn-filter{padding:10px 20px}}.card{background-color:var(--color-card-bg);border-radius:var(--border-radius-md);overflow:hidden;display:flex;flex-direction:column}.card-img{width:100%;aspect-ratio:16 / 9;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.card:hover .card-img img{transform:scale(1.04)}.card-body{padding:var(--space-sm);display:flex;flex-direction:column;flex:1}@media(min-width:768px){.card-body{padding:var(--space-md)}}.card-category{display:inline-block;font-family:var(--font-body);font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--color-filter-active);margin-bottom:var(--space-xs)}.card-title{font-family:var(--font-heading);font-size:1.0625rem;font-weight:600;line-height:1.3;color:var(--color-text);margin-bottom:var(--space-xs)}@media(min-width:768px){.card-title{font-size:1.1875rem}}.card-excerpt{font-family:var(--font-body);font-size:.9375rem;color:var(--color-muted);line-height:1.55;flex:1;margin-bottom:var(--space-xs)}.card-date{font-family:var(--font-body);font-size:.8125rem;color:var(--color-muted);margin-top:auto}.card-program{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.card-program .card-title{font-size:1.125rem}.card-program .card-excerpt{font-size:.9375rem}@media(min-width:768px){.card-program{padding:var(--space-lg)}}
