:root{--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--color-primary: #005bbb;--color-primary-hover: #004499;--color-primary-active: #003366;--color-text: #1a1a1a;--color-text-secondary: #444444;--color-text-tertiary: #666666;--color-text-muted: #666666;--color-text-inverse: #ffffff;--color-bg: #eeeed2;--color-bg-alt: #f0f0b3;--color-bg-tertiary: #f0f2f5;--color-bg-hover: rgba(0, 0, 0, .04);--color-bg-active: rgba(0, 120, 255, .08);--color-border: #c2b9b9;--color-border-light: #e5e5e5;--color-success: #0c8030;--color-warning: #f6b32e;--color-error: #c42b1c;--color-info: #005bbb;--color-focus-ring: rgba(0, 91, 187, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow: 0 2px 4px rgba(0, 0, 0, .04);--shadow-md: 0 4px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 32px rgba(0, 0, 0, .12);--radius-sm: 4px;--radius: 8px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 4rem;--space-10: 6rem;--max-width: 1100px;--content-width: 900px;--header-height: 67px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}html{scroll-padding-top:calc(var(--header-height) + var(--space-4));scroll-behavior:smooth;font-size:100%}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.7;display:flex;flex-direction:column;padding-left:.5rem}footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border-light);color:var(--color-text-secondary);padding:var(--space-6) 0;margin-top:auto}footer .container{text-align:center;max-width:var(--content-width)}footer p{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}footer a{color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-fast)}footer a:hover{color:var(--color-primary);text-decoration:underline}@media(max-width:600px){footer p{font-size:var(--text-xs)}footer a{font-size:var(--text-xs)}footer .container{padding:0 var(--space-3)}}main{padding-top:var(--header-height);flex:1}.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem;width:100%;box-sizing:border-box}.container--narrow{max-width:var(--content-width);margin:0 auto;padding:0 2rem}section{padding:var(--space-5) 0}.logo-image{height:auto;display:block}.logo-wide{width:180px}.logo-compact{display:none;width:120px}@media(max-width:600px){.logo-wide{display:none}.logo-compact{display:block}}header nav{display:flex;gap:var(--space-2)}header nav a{color:var(--color-text);text-decoration:none;font-weight:500;padding:.25rem .5rem;transition:color var(--transition-fast)}header nav a:hover{color:var(--color-primary)}header nav a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}header nav a.active{background:var(--color-primary);color:#fff;border-radius:14px}.section-divider{border-top:1px solid var(--color-border);margin:3rem 0;height:2rem}.about-page{padding:var(--space-5) 0}.about-page .container{max-width:var(--content-width)}.about-intro{max-width:65ch;margin-bottom:var(--space-6)}.about-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4);margin-top:var(--space-6)}.about-card{padding:var(--space-4);background:var(--color-bg-alt);border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.about-card h3{margin:0 0 var(--space-2) 0;font-size:var(--text-lg)}.about-card p{margin:0;color:var(--color-text-secondary)}.about-philosophy{margin-top:var(--space-8)}.about-philosophy h2{margin-bottom:var(--space-3)}.about-philosophy p{max-width:65ch;color:var(--color-text-secondary)}.service-card{background:var(--color-bg-alt);padding:1.75rem;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid rgba(0,0,0,.08);transition:box-shadow .2s ease;max-width:320px}.service-card:hover{box-shadow:0 4px 12px #00000014}.service-card h3{margin:0 0 var(--space-2) 0}.service-card p{margin:0;color:#666}.compact-list{list-style:none;padding:0;margin:0}.compact-list li{margin-bottom:.4rem;padding-left:1.2rem;position:relative}.compact-list li:before{content:"▪";color:var(--color-primary);position:absolute;left:0}details{margin-bottom:1rem;padding:.5rem 0}summary{cursor:pointer;font-weight:600}.button,.cta-button,a.button,a.cta-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-5);background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius);font-weight:var(--font-semibold);font-size:var(--text-base);text-decoration:none;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);box-shadow:var(--shadow-sm)}.button:hover,.cta-button:hover,a.button:hover,a.cta-button:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow)}.button:active,.cta-button:active,a.button:active,a.cta-button:active{background:var(--color-primary-active);transform:translateY(0)}.button:focus-visible,.cta-button:focus-visible,a.button:focus-visible,a.cta-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.button:disabled,.cta-button:disabled,a.button:disabled,a.cta-button:disabled{opacity:.5;cursor:not-allowed;transform:none}section[id]{scroll-margin-top:calc(var(--header-height) + var(--space-4))}.back-to-top{position:fixed;bottom:2rem;right:2rem;background:var(--color-primary);color:#fff;padding:.6rem 1rem;border-radius:var(--radius);text-decoration:none;font-weight:600;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:900}.back-to-top.visible{opacity:1;pointer-events:auto}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}strong,b{font-weight:var(--font-semibold)}em,i{font-style:italic}small{font-size:var(--text-sm);color:var(--color-text-tertiary)}code,pre{font-family:var(--font-mono);font-size:var(--text-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}@media print{header,footer,.back-to-top,.services-sidebar{display:none}body{font-size:12pt;line-height:1.5}a[href]:after{content:" (" attr(href) ")";font-size:10pt}}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;max-width:700px;margin:2rem auto 0;justify-items:center}.services-grid>.service-card:last-child{grid-column:1 / -1}header[data-astro-cid-3ef6ksr2]{position:fixed;top:0;left:0;right:0;z-index:var(--z-fixed);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);height:var(--header-height);max-height:var(--header-height);box-sizing:border-box}header[data-astro-cid-3ef6ksr2] .container[data-astro-cid-3ef6ksr2]{display:flex;justify-content:space-between;align-items:center;position:relative;max-height:100%}.skip-link[data-astro-cid-3ef6ksr2]{position:absolute;top:-100%;left:0;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);z-index:var(--z-modal);font-weight:var(--font-semibold);transition:top var(--transition-fast);border-radius:0 0 var(--radius) 0}.skip-link[data-astro-cid-3ef6ksr2]:focus{top:0;outline:none}.skip-link[data-astro-cid-3ef6ksr2]:focus-visible{outline:3px solid var(--color-text-inverse);outline-offset:-2px}.logo[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;font-size:var(--text-lg);font-weight:700;color:var(--color-text);text-decoration:none;letter-spacing:-.02em}.logo[data-astro-cid-3ef6ksr2]:hover{color:var(--color-primary);text-decoration:none}.logo[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius)}.logo-image[data-astro-cid-3ef6ksr2]{height:auto;display:block}.logo-wide[data-astro-cid-3ef6ksr2]{width:180px}.logo-compact[data-astro-cid-3ef6ksr2]{display:none;width:120px}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2]{display:flex;gap:var(--space-2)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:var(--color-text);text-decoration:none;font-weight:500;padding:.25rem .5rem;transition:color var(--transition-fast)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover{color:var(--color-primary)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{background:var(--color-primary);color:#fff;border-radius:14px}.logo-button[data-astro-cid-3ef6ksr2]{display:flex;background:var(--color-bg-alt);border:none;max-height:var(--header-height)}@media(max-width:600px){header[data-astro-cid-3ef6ksr2] .container[data-astro-cid-3ef6ksr2]{flex-wrap:nowrap;gap:0;padding:var(--space-2) var(--space-3);justify-content:start}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2]{gap:var(--space-1)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{padding:var(--space-1) var(--space-2);font-size:var(--text-sm)}.logo-wide[data-astro-cid-3ef6ksr2]{display:none}.logo-compact[data-astro-cid-3ef6ksr2]{display:block}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2]{position:fixed;top:0;right:0;height:100vh;width:280px;max-width:80vw;background:var(--color-bg-alt);flex-direction:column;justify-content:flex-start;align-items:stretch;padding:calc(var(--header-height) + var(--space-4)) var(--space-4) var(--space-4);gap:var(--space-2);transform:translate(100%);transition:transform var(--transition-slow);box-shadow:-4px 0 24px #0000001f;z-index:var(--z-sticky);overflow-y:auto}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2].active{transform:translate(0)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{display:block;padding:var(--space-3) var(--space-2);font-size:var(--text-lg);font-weight:var(--font-medium);border-radius:var(--radius);width:100%;box-sizing:border-box}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:hover,header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:focus{background:var(--color-bg-hover)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active{background:var(--color-primary);color:var(--color-text-inverse)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2].active:hover{background:var(--color-primary-hover)}header[data-astro-cid-3ef6ksr2] nav[data-astro-cid-3ef6ksr2].active:before{content:"";position:fixed;inset:0;background:#0006;z-index:-1}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
