:root{--color-primary: #2872fa;--color-primary-dark: #1559ed;--color-slate: #3a4f66;--color-navy: #192a3d;--color-gray-light: #e1e8ed;--color-gray-soft: #f2f5f7;--color-off-white: #fafbfc;--color-white: #ffffff;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-size-base: 1rem;--line-height-base: 1.65;--container-max: 1290px;--container-narrow: 760px;--header-height: 80px;--header-height-mobile: 60px;--radius: 6px;--card-shadow: 0 1px 3px rgba(0, 0, 0, .08);--card-shadow-hover: 0 8px 24px rgba(0, 0, 0, .12);--transition: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-navy);background:var(--color-white);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-dark)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}ul,ol{padding-left:1.5em}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--color-navy)}h1{font-size:2.25rem;margin-bottom:1rem}h2{font-size:1.75rem;margin-top:2rem;margin-bottom:.75rem}h3{font-size:1.375rem;margin-top:1.5rem;margin-bottom:.5rem}h4{font-size:1.125rem;margin-top:1.25rem;margin-bottom:.5rem}p{margin-bottom:1rem}.container{max-width:var(--container-max);margin:0 auto;padding:0 1.5rem}.container--narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 1.5rem}.site-header{height:var(--header-height);display:flex;align-items:center;border-bottom:1px solid var(--color-gray-light);background:var(--color-white);position:sticky;top:0;z-index:100}.site-header .container{display:flex;align-items:center;justify-content:space-between;width:100%}.site-logo{font-size:1.25rem;font-weight:700;color:var(--color-navy);text-decoration:none}.site-logo:hover{color:var(--color-primary)}.site-nav{display:flex;align-items:center;gap:2rem}.site-nav a{color:var(--color-slate);font-size:.938rem;font-weight:500;padding:.25rem 0;border-bottom:2px solid transparent;transition:color var(--transition),border-color var(--transition)}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;color:var(--color-navy)}.nav-toggle svg{width:24px;height:24px;display:block}.page-header{padding:3rem 0 2rem;text-align:center}.page-header h1{margin-bottom:.5rem}.page-header .subtitle{color:var(--color-slate);font-size:1.125rem}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;padding:2rem 0 4rem}.home-page .card-grid{grid-template-columns:repeat(2,1fr)}.card{background:var(--color-white);border-radius:var(--radius);box-shadow:var(--card-shadow);overflow:hidden;transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:var(--card-shadow-hover)}.card a{text-decoration:none;color:inherit;display:flex;flex-direction:column;height:100%}.card-image{aspect-ratio:16 / 9;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.card:hover .card-image img{transform:scale(1.03)}.card-body{padding:1.25rem;display:flex;flex-direction:column;flex:1}.card-meta{display:flex;align-items:center;gap:.75rem;font-size:.813rem;color:var(--color-slate);margin-bottom:.5rem}.card-category{color:var(--color-primary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.03em}.card-title{font-size:1.125rem;font-weight:700;line-height:1.35;color:var(--color-navy);margin-bottom:.5rem}.card-excerpt{font-size:.875rem;color:var(--color-slate);line-height:1.6;flex:1}.card-read-more{font-size:.813rem;font-weight:600;color:var(--color-primary);margin-top:1rem}.article-header{padding:3rem 0 1.5rem}.article-header .article-meta{display:flex;align-items:center;gap:1rem;font-size:.875rem;color:var(--color-slate);margin-bottom:1rem}.article-header .article-meta .category{color:var(--color-primary);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.03em}.article-header h1{font-size:2.25rem;line-height:1.2}.article-hero{margin:0 auto 2rem;border-radius:var(--radius);overflow:hidden;display:flex;justify-content:center}.article-hero img{width:100%;margin:0 auto;display:block;border-radius:var(--radius)}.article-content{padding-bottom:4rem}.article-content h2{margin-top:2.5rem}.article-content h3{margin-top:2rem}.article-content p,.article-content ul,.article-content ol{margin-bottom:1.25rem}.article-content li{margin-bottom:.35rem}.article-content a{text-decoration:underline;text-underline-offset:2px}.article-content img{border-radius:var(--radius);margin:1.5rem 0}.article-content blockquote{border-left:3px solid var(--color-primary);padding:.75rem 1.25rem;margin:1.5rem 0;background:var(--color-gray-soft);border-radius:0 var(--radius) var(--radius) 0;color:var(--color-slate);font-style:italic}.article-content code{font-family:var(--font-mono);font-size:.875em;background:var(--color-gray-soft);padding:.15em .4em;border-radius:3px}.article-content pre{background:#1e293b;color:#e2e8f0;padding:1.25rem 1.5rem;border-radius:var(--radius);overflow-x:auto;margin:1.5rem 0;line-height:1.5}.article-content pre code{background:none;padding:0;color:inherit;font-size:.875rem}.page-content{padding:1rem 0 4rem}.page-content p{margin-bottom:1.25rem}.contact-links{list-style:none;padding:0;margin-top:1.5rem}.contact-links li{margin-bottom:1rem}.contact-links a{display:inline-flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:500;padding:.75rem 1.5rem;border:1px solid var(--color-gray-light);border-radius:var(--radius);transition:border-color var(--transition),box-shadow var(--transition)}.contact-links a:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #2872fa26}.category-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;justify-content:center}.category-filters button{font-family:var(--font-family);font-size:.813rem;font-weight:600;padding:.5rem 1rem;border:1px solid var(--color-gray-light);border-radius:999px;background:var(--color-white);color:var(--color-slate);cursor:pointer;transition:all var(--transition)}.category-filters button:hover,.category-filters button.active{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.site-footer{border-top:1px solid var(--color-gray-light);padding:2rem 0;text-align:center;color:var(--color-slate);font-size:.875rem}.error-page{text-align:center;padding:6rem 0}.error-page h1{font-size:5rem;color:var(--color-gray-light);margin-bottom:.5rem}.error-page p{font-size:1.125rem;color:var(--color-slate);margin-bottom:2rem}.btn{display:inline-block;padding:.75rem 1.75rem;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius);font-weight:600;font-size:.938rem;transition:background var(--transition)}.btn:hover{background:var(--color-primary-dark);color:var(--color-white)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:999.98px){.card-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:1.875rem}h2{font-size:1.5rem}.article-header h1{font-size:1.875rem}}@media(max-width:689.98px){:root{--header-height: var(--header-height-mobile)}.card-grid{grid-template-columns:1fr}.site-nav{display:none;position:absolute;top:var(--header-height-mobile);left:0;right:0;background:var(--color-white);flex-direction:column;padding:1rem 1.5rem 1.5rem;gap:0;border-bottom:1px solid var(--color-gray-light);box-shadow:0 4px 12px #00000014}.site-nav.is-open{display:flex}.site-nav a{padding:.75rem 0;font-size:1rem;border-bottom:none}.nav-toggle{display:block}h1,.article-header h1{font-size:1.625rem}.page-header{padding:2rem 0 1.5rem}.container,.container--narrow{padding:0 1rem}}
