:root{--cream: #FAF7F2;--cream-dark: #F0E8DC;--cream-darker: #E8D9C8;--terracotta: #C4622D;--terracotta-dark: #A54E22;--terracotta-light:rgba(196, 98, 45, .1);--forest: #3D6B4F;--forest-dark: #2E5239;--forest-light: rgba(61, 107, 79, .1);--text: #1A1A1A;--text-muted: #6B7280;--text-light: #9CA3AF;--border: #E5D8CB;--border-strong: #CFC0AE;--white: #FFFFFF;--error: #DC2626;--error-bg: #FEF2F2;--error-border: #FECACA;--success: #16A34A;--success-bg: #F0FDF4;--success-border: #BBF7D0;--info: #1D4ED8;--info-bg: #EFF6FF;--info-border: #BFDBFE;--shadow-xs: 0 1px 2px rgba(0,0,0,.06);--shadow-sm: 0 1px 4px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--font-title: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--transition: .18s ease;--transition-slow: .35s ease;--nav-height: 68px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--cream);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}ul,ol{list-style:none}h1,h2,h3,h4,h5{font-family:var(--font-title);line-height:1.2;color:var(--text)}h1{font-size:clamp(2rem,5vw,3.25rem)}h2{font-size:clamp(1.6rem,3.5vw,2.4rem)}h3{font-size:clamp(1.2rem,2.5vw,1.6rem)}h4{font-size:1.15rem}p{color:var(--text)}.container{max-width:1160px;margin:0 auto;padding:0 1.5rem}.container-sm{max-width:720px;margin:0 auto;padding:0 1.5rem}.container-xs{max-width:480px;margin:0 auto;padding:0 1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;line-height:1;transition:all var(--transition);white-space:nowrap;cursor:pointer;border:2px solid transparent;text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--terracotta);color:var(--white);border-color:var(--terracotta)}.btn-primary:hover:not(:disabled){background:var(--terracotta-dark);border-color:var(--terracotta-dark);transform:translateY(-1px);box-shadow:0 4px 12px #c4622d4d}.btn-outline{background:transparent;color:var(--terracotta);border-color:var(--terracotta)}.btn-outline:hover:not(:disabled){background:var(--terracotta);color:var(--white);transform:translateY(-1px)}.btn-forest{background:var(--forest);color:var(--white);border-color:var(--forest)}.btn-forest:hover:not(:disabled){background:var(--forest-dark);border-color:var(--forest-dark);transform:translateY(-1px);box-shadow:0 4px 12px #3d6b4f4d}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--cream-dark);color:var(--text)}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2.25rem;font-size:1.0625rem}.btn-xl{padding:1.125rem 2.5rem;font-size:1.125rem;font-weight:600}.btn-block{width:100%}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-row{display:grid;gap:1rem}@media (min-width: 600px){.form-row-2{grid-template-columns:1fr 1fr}}.form-label{font-size:.875rem;font-weight:500;color:var(--text)}.form-label span{color:var(--terracotta)}.form-input,.form-textarea,.form-select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9375rem;background:var(--white);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px #c4622d1f}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light)}.form-input.error,.form-textarea.error{border-color:var(--error)}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:.8125rem;color:var(--text-muted)}.form-error{font-size:.8125rem;color:var(--error)}.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm)}.card-hover{transition:transform var(--transition),box-shadow var(--transition)}.card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.alert{padding:.875rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;border:1px solid transparent;display:flex;align-items:flex-start;gap:.5rem}.alert-error{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.alert-success{background:var(--success-bg);color:var(--success);border-color:var(--success-border)}.alert-info{background:var(--info-bg);color:var(--info);border-color:var(--info-border)}.alert-warning{background:#fffbeb;color:#92400e;border-color:#fde68a}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:500}.badge-terracotta{background:var(--terracotta-light);color:var(--terracotta)}.badge-forest{background:var(--forest-light);color:var(--forest)}.badge-gray{background:var(--cream-dark);color:var(--text-muted)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite;flex-shrink:0}.spinner-dark{border-color:#c4622d40;border-top-color:var(--terracotta)}@keyframes spin{to{transform:rotate(360deg)}}.divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.section{padding:5rem 0}.section-sm{padding:3rem 0}.stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}.stat-card__label{font-size:.85rem;color:var(--text-muted);font-weight:500}.stat-card__value{font-size:2.25rem;font-weight:700;color:var(--text);font-family:var(--font-title);line-height:1}.stat-card__sub{font-size:.8rem;color:var(--text-light)}.page-loader{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--cream)}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fadeUp .5s ease forwards}
