:root{--header-max-width: 1200px;--header-padding: 1.25rem;--sidebar-width: 18.75rem;--content-gap: 2.5rem;--standard-container: var(--header-max-width);--standard-padding: var(--header-padding);--primary-blue: #4386b7;--primary-blue-dark: #3570a3;--primary-blue-light: #e3f2fd;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #475569;--text-light: #94a3b8;--text-inverse: #ffffff;--bg-primary: #ffffff;--bg-light: #f8fafc;--bg-lighter: #f1f5f9;--bg-lightest: #f9fafb;--bg-soft: #f8fbff;--border-light: #e2e8f0;--border-medium: #d1d5db;--border-focus: var(--primary-blue);--success: #28a745;--error: #dc3545;--warning: #f59e0b;--success-green: var(--success);--success-green-dark: #218838;--space-xs: clamp(2px, .5vw, 4px);--space-sm: clamp(4px, 1vw, 8px);--space-md: clamp(8px, 2vw, 12px);--space-lg: clamp(12px, 3vw, 16px);--space-xl: clamp(16px, 4vw, 20px);--space-2xl: clamp(20px, 5vw, 28px);--space-3xl: clamp(24px, 6vw, 32px);--text-xs: clamp(11px, 2.2vw, 12px);--text-sm: clamp(13px, 2.8vw, 14px);--text-base: clamp(14px, 3.2vw, 16px);--text-md: clamp(16px, 3.5vw, 18px);--text-lg: clamp(18px, 4vw, 20px);--text-xl: clamp(20px, 4.5vw, 22px);--text-2xl: clamp(24px, 5vw, 28px);--text-3xl: clamp(28px, 6vw, 32px);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .15);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .2);--radius-sm: clamp(3px, .8vw, 4px);--radius-md: clamp(6px, 1.5vw, 8px);--radius-lg: clamp(10px, 2.5vw, 12px);--radius-xl: clamp(12px, 3vw, 16px)}*,*:before,*:after{box-sizing:border-box}html{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body{margin:0;padding:0;color:var(--text-primary);background-color:var(--bg-primary);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}a{text-decoration:none;color:inherit}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid rgba(67,135,190,.15);outline-offset:2px;border-radius:var(--radius-sm)}.container{max-width:var(--standard-container);margin:0 auto;padding:0 var(--standard-padding);width:100%}.card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:var(--space-2xl);margin-bottom:var(--space-xs)}.card-compact{padding:var(--space-lg);margin-bottom:var(--space-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:400;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .2s ease;text-decoration:none;line-height:1.5;min-height:44px}.btn-primary{background:var(--primary-blue);color:#fff;box-shadow:0 2px 4px #4387be4d}.btn-primary:hover:not(:disabled){background:var(--primary-blue-dark);transform:translateY(-1px);box-shadow:0 4px 8px #4387be66}.btn-secondary{background:#fff;color:var(--primary-blue);border:1px solid var(--primary-blue);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--primary-blue);color:#fff;transform:translateY(-1px)}.btn-close{width:32px;height:32px;padding:0;border-radius:var(--radius-sm);background:var(--bg-lighter);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-lg);min-height:auto}.btn-close:hover:not(:disabled){background:var(--border-light);color:var(--text-primary);transform:none;box-shadow:none}.btn-sm{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);min-height:36px}.btn-md{padding:var(--space-md) var(--space-md);font-size:var(--text-md);min-height:36px}.btn-lg{padding:var(--space-lg) var(--space-xl);font-size:var(--text-base);min-height:52px}.btn:disabled{background:var(--bg-light);color:var(--text-muted);border-color:var(--border-light);cursor:not-allowed;transform:none;box-shadow:none}.input,textarea,input[type=text],input[type=file]{width:100%;padding:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);font-size:var(--text-base);font-family:Montserrat,sans-serif;transition:border-color .2s ease,box-shadow .2s ease;background:var(--bg-primary)}.input:focus,textarea:focus,input[type=text]:focus,input[type=file]:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #4387be1a}textarea{min-height:120px;resize:vertical}.label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.alert{padding:var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:var(--text-base);font-weight:500;background:#fff3cd;border:1px solid #ffe69c;color:#664d03}.alert-success{background:#28a7451a;color:var(--success);border:1px solid rgba(40,167,69,.3)}.alert-error{background:#dc35451a;color:var(--error);border:1px solid rgba(220,53,69,.3)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.layout,.service-layout,.page{max-width:var(--standard-container);margin:0 auto;padding:var(--space-3xl) var(--standard-padding)}.topbar{background:var(--primary-blue);color:var(--text-inverse);min-height:48px;display:flex;align-items:center}.topbar-inner{max-width:var(--standard-container);margin:0 auto;width:100%;padding:0 var(--standard-padding);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.topbar-title{font-size:var(--text-base);letter-spacing:.01em}.topbar-link{font-family:Montserrat,sans-serif;font-weight:500;font-size:var(--text-base);color:var(--text-inverse);text-decoration:none;cursor:pointer}.topbar-link:hover{text-decoration:underline}.brandbar{background:var(--bg-primary);border-bottom:1px solid var(--border-light)}.brandbar-inner{max-width:var(--standard-container);margin:0 auto;padding:var(--space-2xl) var(--standard-padding);display:flex;align-items:center;gap:var(--space-md)}.brand-icon{width:52px;height:52px;border-radius:var(--radius-lg);background:var(--primary-blue-light);color:var(--primary-blue);display:inline-flex;align-items:center;justify-content:center;font-weight:700;box-shadow:inset 0 0 0 1px #4387be26}.brand-title{margin:0;font-family:Montserrat,sans-serif;font-weight:700;font-size:32px;color:#4386b7;line-height:1.2}.brand-subtitle{margin:var(--space-xs) 0 0;color:var(--text-secondary);font-size:var(--text-base);font-weight:500}.subnav{background:var(--bg-primary);border-bottom:1px solid var(--border-light)}.subnav-inner{max-width:var(--standard-container);margin:0 auto;padding:var(--space-sm) var(--standard-padding);display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.subnav .nav-link{display:inline-flex;align-items:center;justify-content:center;padding:.54rem .92rem;font-size:var(--text-base);font-weight:500;color:var(--primary-blue);border-radius:var(--radius-md);border:1px solid transparent;background:transparent;transition:background-color .2s ease,border-color .2s ease,color .2s ease;line-height:1.5;min-height:44px;box-shadow:none}.subnav .nav-link:hover{background-color:var(--bg-light);color:var(--primary-blue);border-color:transparent;box-shadow:none}.subnav .nav-link.active{background-color:var(--bg-light);border-color:var(--primary-blue);color:var(--primary-blue);font-weight:500;box-shadow:none}.service-layout{display:grid;grid-template-columns:minmax(250px,300px) 1fr;gap:var(--content-gap)}.panel,.service-panel,.filters-panel{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.panel,.service-panel{padding:var(--space-2xl)}.filters-panel{margin-top:var(--space-md);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.sidebar{display:flex;flex-direction:column;gap:var(--space-xs)}.sidebar-title{margin:0 0 var(--space-sm);font-size:var(--text-xs);font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em}.filter-item{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;font-size:var(--text-sm);transition:all .2s ease;-webkit-user-select:none;user-select:none}.filter-item:hover{background:var(--primary-blue-light);border-color:#4387be33}.filter-item.active{background:var(--primary-blue);border-color:var(--primary-blue);color:#fff;box-shadow:var(--shadow-sm)}.posts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:var(--space-lg)}.post-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--bg-primary);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:all .2s ease}.post-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:#4387be59}.badge{display:inline-flex;align-items:center;width:fit-content;padding:var(--space-xs) var(--space-md);border-radius:999px;background:var(--primary-blue-light);color:var(--primary-blue);font-size:var(--text-sm);font-weight:500;border:1px solid rgba(67,135,190,.2)}.muted{color:var(--text-secondary);font-size:var(--text-base)}.description{font-size:var(--text-base);line-height:1.5}.service-title{font-size:var(--text-2xl)}.service-description{font-size:var(--text-base)}.post-title{font-size:var(--text-lg)}.post-meta{font-size:var(--text-sm)}.post-description{font-size:var(--text-base)}button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-md) var(--space-lg);border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:400;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .2s ease;line-height:1.5;min-height:44px;background:var(--primary-blue);color:#fff;box-shadow:0 2px 4px #4387be4d}button:hover:not(:disabled){background:var(--primary-blue-dark);transform:translateY(-1px);box-shadow:0 4px 8px #4387be66}button:disabled{background:var(--bg-light);color:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}button.cta-button,.cta-button{width:100%;min-height:52px;background:var(--success)!important;color:#fff!important;font-weight:700!important;border-radius:var(--radius-md);box-shadow:0 6px 16px #28a74540!important}button.cta-button:hover:not(:disabled),.cta-button:hover:not(:disabled){background:var(--success-green-dark)!important;transform:translateY(-1px);box-shadow:0 10px 22px #28a74547!important}.post-header{margin-bottom:var(--space-xl)}.detail-card{margin-top:var(--space-xl)}.page .panel+.panel{margin-top:var(--space-lg)}.question{padding:var(--space-lg);border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-primary)}.answer{margin-top:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);background:var(--bg-soft);border:1px solid var(--border-light)}.stack{display:flex;flex-direction:column;gap:var(--space-sm)}@media (max-width: 1200px){.mobile\:flex-col{flex-direction:column}.mobile\:gap-0{gap:0}.mobile\:w-full{width:100%}.mobile\:max-w-full{max-width:100%}.mobile\:mb-lg{margin-bottom:var(--space-lg)}.mobile\:pt-lg{padding-top:var(--space-lg)}.mobile\:pt-0{padding-top:0}}@media (min-width: 1025px){.desktop\:block{display:block}.desktop\:hidden{display:none}}@media (max-width: 1024px){.desktop\:hidden{display:none}.mobile\:block{display:block}}@media (max-width: 980px){.topbar-inner,.brandbar-inner,.subnav-inner,.layout,.service-layout,.page{padding-left:1rem;padding-right:1rem}.service-layout{grid-template-columns:1fr;gap:var(--space-lg)}.brand-title{font-size:var(--text-2xl)}}@media (max-width: 768px){.brand-title{font-size:24px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--border-light: #000000;--text-secondary: #000000}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
