:root{--color-primary: #0d7377;--color-primary-dark: #095557;--color-primary-light: #14a3a8;--color-logo: #6b5b95;--color-accent: #e8614d;--color-accent-dark: #c94d3b;--color-accent-light: #ff7b69;--color-bg: #fafbfc;--color-bg-alt: #f0f4f5;--color-surface: #ffffff;--color-text: #1a2b32;--color-text-muted: #5a6d75;--color-text-light: #8a9ba3;--color-border: #d8e0e3;--color-border-light: #e8eef0;--color-success: #28a745;--color-warning: #f4a523;--color-error: #dc3545;--color-info: #17a2b8;--font-primary: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading: "Fraunces", Georgia, serif;--text-xs: clamp(.75rem, .7rem + .25vw, .8125rem);--text-sm: clamp(.875rem, .8rem + .375vw, .9375rem);--text-base: clamp(1rem, .925rem + .375vw, 1.0625rem);--text-lg: clamp(1.125rem, 1rem + .625vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);--text-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.5rem);--text-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3.25rem);--text-5xl: clamp(2.75rem, 2rem + 3.75vw, 4.5rem);--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.6;--leading-relaxed: 1.75;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--container-max: 1280px;--container-narrow: 960px;--container-text: 720px;--header-height: 80px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(13, 115, 119, .04);--shadow-sm: 0 2px 4px rgba(13, 115, 119, .06);--shadow-md: 0 4px 12px rgba(13, 115, 119, .08);--shadow-lg: 0 8px 24px rgba(13, 115, 119, .1);--shadow-xl: 0 16px 48px rgba(13, 115, 119, .12);--shadow-focus: 0 0 0 3px rgba(13, 115, 119, .25);--shadow-focus-accent: 0 0 0 3px rgba(232, 97, 77, .25);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-overlay: 400}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-primary);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus-visible{color:var(--color-primary-dark)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}@media(min-width:900px){.container{padding:0 var(--space-8)}}.container--narrow{max-width:var(--container-narrow)}.container--text{max-width:var(--container-text)}.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}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}main{flex:1;padding-top:var(--header-height)}
