.site-header[data-astro-cid-3ef6ksr2]{background:var(--color-header-bg, #ffffff);border-bottom:1px solid var(--color-border, #e2e8f0);position:sticky;top:0;z-index:100}.header-container[data-astro-cid-3ef6ksr2]{max-width:var(--max-width, 1200px);margin:0 auto;padding:0 var(--spacing-4, 1rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}.header-brand[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:0}.site-logo[data-astro-cid-3ef6ksr2]{text-decoration:none;color:var(--color-text-primary, #1a202c)}.logo-text[data-astro-cid-3ef6ksr2]{font-size:var(--font-size-xl, 1.25rem);font-weight:700;line-height:1.2}.city-tagline[data-astro-cid-3ef6ksr2]{font-size:var(--font-size-xs, .75rem);color:var(--color-text-secondary, #718096);line-height:1.2}.primary-nav[data-astro-cid-3ef6ksr2]{display:none}.nav-list[data-astro-cid-3ef6ksr2]{list-style:none;margin:0;padding:0;display:flex;gap:var(--spacing-1, .25rem)}.nav-link[data-astro-cid-3ef6ksr2]{display:block;padding:var(--spacing-2, .5rem) var(--spacing-3, .75rem);text-decoration:none;color:var(--color-text-secondary, #718096);font-size:var(--font-size-sm, .875rem);font-weight:500;border-radius:var(--radius-md, .375rem);transition:color .15s ease,background-color .15s ease}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--color-text-primary, #1a202c);background:var(--color-hover-bg, #f7fafc)}.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--color-primary, #3182ce);font-weight:600}.mobile-menu-toggle[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-md, .375rem)}.mobile-menu-toggle[data-astro-cid-3ef6ksr2]:hover{background:var(--color-hover-bg, #f7fafc)}.hamburger-line[data-astro-cid-3ef6ksr2]{display:block;width:20px;height:2px;background:var(--color-text-primary, #1a202c);border-radius:1px;transition:transform .2s ease,opacity .2s ease}.site-header[data-astro-cid-3ef6ksr2].menu-open .primary-nav[data-astro-cid-3ef6ksr2]{display:block;position:absolute;top:100%;left:0;right:0;background:var(--color-header-bg, #ffffff);border-bottom:1px solid var(--color-border, #e2e8f0);padding:var(--spacing-4, 1rem);box-shadow:0 4px 6px -1px #0000001a}.site-header[data-astro-cid-3ef6ksr2].menu-open .nav-list[data-astro-cid-3ef6ksr2]{flex-direction:column}.site-header[data-astro-cid-3ef6ksr2].menu-open .mobile-menu-toggle[data-astro-cid-3ef6ksr2] .hamburger-line[data-astro-cid-3ef6ksr2]:nth-child(1){transform:rotate(45deg) translate(4px,4px)}.site-header[data-astro-cid-3ef6ksr2].menu-open .mobile-menu-toggle[data-astro-cid-3ef6ksr2] .hamburger-line[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.site-header[data-astro-cid-3ef6ksr2].menu-open .mobile-menu-toggle[data-astro-cid-3ef6ksr2] .hamburger-line[data-astro-cid-3ef6ksr2]:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}@media (min-width: 768px){.mobile-menu-toggle[data-astro-cid-3ef6ksr2]{display:none}.primary-nav[data-astro-cid-3ef6ksr2]{display:block}}.site-footer[data-astro-cid-sz7xmlte]{background:var(--color-footer-bg, #1a202c);color:var(--color-footer-text, #e2e8f0);padding:var(--spacing-12, 3rem) 0 var(--spacing-8, 2rem);margin-top:var(--spacing-16, 4rem)}.footer-container[data-astro-cid-sz7xmlte]{max-width:var(--max-width, 1200px);margin:0 auto;padding:0 var(--spacing-4, 1rem)}.footer-grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr;gap:var(--spacing-8, 2rem);margin-bottom:var(--spacing-8, 2rem)}@media (min-width: 768px){.footer-grid[data-astro-cid-sz7xmlte]{grid-template-columns:2fr 1fr 1fr}}.footer-logo[data-astro-cid-sz7xmlte]{font-size:var(--font-size-lg, 1.125rem);font-weight:700;color:var(--color-footer-text, #ffffff);text-decoration:none;display:inline-block;margin-bottom:var(--spacing-2, .5rem)}.footer-description[data-astro-cid-sz7xmlte]{font-size:var(--font-size-sm, .875rem);color:var(--color-footer-muted, #a0aec0);line-height:1.6;max-width:40ch}.footer-heading[data-astro-cid-sz7xmlte]{font-size:var(--font-size-sm, .875rem);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-footer-text, #ffffff);margin-bottom:var(--spacing-3, .75rem)}.footer-links[data-astro-cid-sz7xmlte]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-2, .5rem)}.footer-link[data-astro-cid-sz7xmlte]{font-size:var(--font-size-sm, .875rem);color:var(--color-footer-muted, #a0aec0);text-decoration:none;transition:color .15s ease}.footer-link[data-astro-cid-sz7xmlte]:hover{color:var(--color-footer-text, #ffffff)}.footer-bottom[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-footer-border, #2d3748);padding-top:var(--spacing-6, 1.5rem);display:flex;flex-direction:column;gap:var(--spacing-1, .25rem);text-align:center}@media (min-width: 768px){.footer-bottom[data-astro-cid-sz7xmlte]{flex-direction:row;justify-content:space-between;text-align:left}}.copyright[data-astro-cid-sz7xmlte],.footer-location[data-astro-cid-sz7xmlte]{font-size:var(--font-size-xs, .75rem);color:var(--color-footer-muted, #a0aec0)}:root{--color-primary: #3182ce;--color-primary-dark: #2c5282;--color-primary-light: #bee3f8;--color-text-primary: #1a202c;--color-text-body: #4a5568;--color-text-secondary: #718096;--color-text-muted: #a0aec0;--color-bg: #ffffff;--color-bg-alt: #f7fafc;--color-card-bg: #ffffff;--color-header-bg: #ffffff;--color-hero-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-hero-text: #ffffff;--color-section-alt-bg: #f7fafc;--color-hover-bg: #f7fafc;--color-code-bg: #f7fafc;--color-tag-bg: #edf2f7;--color-footer-bg: #1a202c;--color-footer-text: #e2e8f0;--color-footer-muted: #a0aec0;--color-footer-border: #2d3748;--color-border: #e2e8f0;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-serif: Georgia, Cambria, "Times New Roman", Times, serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--font-size-xs: .75rem;--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: 1.875rem;--font-size-4xl: 2.25rem;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--max-width: 1200px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-body);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}ul[role=list],ol[role=list]{list-style:none}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration-skip-ink:auto}table{border-collapse:collapse;border-spacing:0}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);line-height:1.25;font-weight:700}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)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:var(--spacing-4);padding-right:var(--spacing-4)}@media (min-width: 768px){.container{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-100%;left:var(--spacing-4);z-index:1000;padding:var(--spacing-2) var(--spacing-4);background:var(--color-primary);color:#fff;font-size:var(--font-size-sm);font-weight:600;border-radius:0 0 var(--radius-md) var(--radius-md);text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary-light);color:var(--color-text-primary)}
