@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--color-primary: #2d4a3e;--color-primary-light: #5c8a6e;--color-primary-dark: #1b3029;--color-primary-bg: #eef3f0;--color-accent: #c47a5a;--color-accent-light: #d9a68e;--color-accent-bg: #fdf5f1;--color-text: #1a1a2e;--color-text-light: #555566;--color-text-muted: #8e8e9e;--color-bg: #f7f4f0;--color-bg-white: #ffffff;--color-bg-section: #ede8e1;--color-bg-warm: #faf8f5;--color-border: #ddd8d0;--color-border-light: #eae6e0;--color-success: #3d7a54;--color-error: #b5443a;--color-warning: #d4884a;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--font-heading: "Cormorant Garamond", "Georgia", serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 5rem;--space-4xl: 7rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--shadow-sm: 0 1px 3px rgba(26, 26, 46, .04), 0 1px 2px rgba(26, 26, 46, .03);--shadow-md: 0 4px 12px rgba(26, 26, 46, .06), 0 2px 4px rgba(26, 26, 46, .04);--shadow-lg: 0 8px 30px rgba(26, 26, 46, .08), 0 4px 10px rgba(26, 26, 46, .04);--shadow-xl: 0 16px 50px rgba(26, 26, 46, .1), 0 8px 20px rgba(26, 26, 46, .05);--max-width: 1140px;--max-width-narrow: 740px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-normal) var(--ease-out)}a:hover{color:var(--color-accent)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500;line-height:1.2;color:var(--color-text);letter-spacing:-.01em}h1{font-size:2.25rem;font-weight:600}h2{font-size:1.75rem}h3{font-size:1.375rem}@media(min-width:768px){h1{font-size:3rem}h2{font-size:2.125rem}h3{font-size:1.5rem}}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}.container--narrow{max-width:var(--max-width-narrow);margin:0 auto;padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}@media(min-width:768px){.section{padding:var(--space-4xl) 0}}.section--alt{background-color:var(--color-bg-section)}.text-center{text-align:center}.text-muted{color:var(--color-text-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.8rem 1.75rem;font-size:.9375rem;font-weight:500;font-family:var(--font-body);border:none;border-radius:var(--radius-2xl);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);text-decoration:none;line-height:1;letter-spacing:.01em;position:relative;overflow:hidden}.btn--primary{background-color:var(--color-primary);color:#fff;box-shadow:0 2px 8px #2d4a3e33}.btn--primary:hover{background-color:var(--color-primary-dark);color:#fff;box-shadow:0 4px 16px #2d4a3e4d;transform:translateY(-1px)}.btn--primary:active{transform:translateY(0);box-shadow:0 2px 6px #2d4a3e33}.btn--secondary{background-color:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn--secondary:hover{background-color:var(--color-primary);color:#fff;transform:translateY(-1px)}.btn--large{padding:1rem 2.25rem;font-size:1rem}.btn--small{padding:.5rem 1rem;font-size:.8125rem}.btn--full{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.card{background:var(--color-bg-white);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.card:hover{box-shadow:var(--shadow-md)}.form-group{margin-bottom:var(--space-lg)}.form-label{display:block;font-size:.8125rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--color-text);letter-spacing:.03em;text-transform:uppercase}.form-input{width:100%;padding:.875rem 1rem;font-size:.9375rem;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-white);color:var(--color-text);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);font-family:inherit}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2d4a3e14}.form-input::placeholder{color:var(--color-text-muted)}.form-error{font-size:.8125rem;color:var(--color-error);margin-top:var(--space-xs)}.form-checkbox{display:flex;align-items:flex-start;gap:var(--space-sm);cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.badge{display:inline-block;padding:.3rem .75rem;font-size:.75rem;font-weight:600;border-radius:100px;line-height:1;letter-spacing:.02em}.badge--green{background-color:#e4f0e8;color:var(--color-success)}.badge--blue{background-color:#e3edf8;color:#2a6cb6}.badge--red{background-color:#fae8e6;color:var(--color-error)}.badge--gray{background-color:#f0ede8;color:var(--color-text-light)}.page-header{padding:var(--space-2xl) 0 var(--space-xl)}.page-header h1{margin-bottom:var(--space-sm)}.page-header p{color:var(--color-text-light);font-size:1.125rem;line-height:1.6}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);font-size:.9375rem}.alert--success{background-color:#e4f0e8;color:var(--color-success);border:1px solid #c4deca}.alert--error{background-color:#fae8e6;color:var(--color-error);border:1px solid #f2c8c4}.alert--info{background-color:#e3edf8;color:#2a6cb6;border:1px solid #b8d4f0}.divider{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-lg) 0}.divider:before,.divider:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}.divider__icon{color:var(--color-accent);font-size:1.25rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{animation:fadeInUp .6s var(--ease-out) both}.animate-fade-in{animation:fadeIn .5s var(--ease-out) both}.animate-scale-in{animation:scaleIn .5s var(--ease-out) both}.grain:after{content:"";position:absolute;inset:0;opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-size:128px 128px}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--color-primary);color:#fff;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);z-index:100;font-family:var(--font-body)}.skip-link:focus{top:var(--space-md);color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}::selection{background:#2d4a3e26;color:var(--color-primary-dark)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
