:root{--color-primary: #C2185B;--color-primary-600: #AD1457;--color-primary-700: #880E4F;--color-secondary: #7B1FA2;--color-secondary-700: #6A1B9A;--color-accent: #F48FB1;--color-accent-soft: #FCE4EC;--color-bg: #FFF8F9;--color-surface: #FFFFFF;--color-border: #F1E4E8;--color-border-strong: #E3CBD3;--color-text: #1A1A2E;--color-text-muted: #6B6B80;--color-success: #2E7D32;--color-danger: #C62828;--color-warning: #F9A825;--gradient-brand: linear-gradient(135deg, #C2185B 0%, #7B1FA2 100%);--font-heading: "Playfair Display", "Georgia", serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--fs-12: .75rem;--fs-14: .875rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-24: 1.5rem;--fs-32: 2rem;--fs-48: 3rem;--sp-1: 8px;--sp-2: 16px;--sp-3: 24px;--sp-4: 32px;--sp-5: 40px;--sp-6: 48px;--sp-7: 56px;--sp-8: 64px;--sp-10: 80px;--sp-12: 96px;--r-input: 4px;--r-card: 12px;--r-modal: 24px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(26, 26, 46, .04), 0 1px 3px rgba(26, 26, 46, .04);--shadow-md: 0 4px 16px rgba(26, 26, 46, .06), 0 2px 6px rgba(26, 26, 46, .04);--shadow-lg: 0 12px 32px rgba(26, 26, 46, .08), 0 4px 12px rgba(26, 26, 46, .05);--t-quick: .15s ease;--t-base: .2s ease;--max-w: 1200px;--nav-h: 72px}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--fs-16);line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;color:var(--color-text);letter-spacing:-.01em;line-height:1.15}h1{font-size:var(--fs-48)}h2{font-size:var(--fs-32)}h3{font-size:var(--fs-24)}h4{font-size:var(--fs-18)}@media (max-width: 768px){h1{font-size:2.25rem}h2{font-size:1.75rem}}.eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;font-size:var(--fs-12);font-weight:600;color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--sp-3)}@media (min-width: 1024px){.container{padding-inline:var(--sp-5)}}.section{padding-block:var(--sp-10)}@media (max-width: 768px){.section{padding-block:var(--sp-7)}}.section-header{text-align:center;margin-bottom:var(--sp-6)}.section-header p{color:var(--color-text-muted);margin-top:var(--sp-1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);border-radius:var(--r-input);font-weight:600;font-size:var(--fs-14);padding:12px 20px;transition:transform var(--t-base),box-shadow var(--t-base),background var(--t-base),color var(--t-base),border-color var(--t-base),opacity var(--t-base);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid transparent}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{padding:8px 14px;font-size:var(--fs-12)}.btn--md{padding:12px 20px}.btn--lg{padding:14px 28px;font-size:var(--fs-16)}.btn--primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--secondary{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--secondary:hover:not(:disabled){background:var(--color-accent-soft)}.btn--ghost{background:transparent;color:var(--color-text);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--color-accent-soft);color:var(--color-primary)}.btn--block{width:100%}.card{background:var(--color-surface);border-radius:var(--r-card);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);overflow:hidden;transition:transform var(--t-base),box-shadow var(--t-base)}.card--hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-12);font-weight:600;padding:4px 10px;border-radius:var(--r-pill);background:var(--color-accent-soft);color:var(--color-primary);line-height:1}.badge--muted{background:#eeeef4;color:var(--color-text-muted)}.badge--success{background:#e8f5e9;color:var(--color-success)}.badge--warning{background:#fff8e1;color:#8d6e00}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:var(--fs-14);font-weight:500;color:var(--color-text)}.field__hint{font-size:var(--fs-12);color:var(--color-text-muted)}.field__error{font-size:var(--fs-12);color:var(--color-danger)}.input,.textarea,.select{width:100%;padding:12px 14px;border-radius:var(--r-input);border:1px solid var(--color-border-strong);background:var(--color-surface);font-size:var(--fs-16);transition:border-color var(--t-base),box-shadow var(--t-base)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #c2185b1f}.textarea{min-height:120px;resize:vertical;font-family:inherit}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a2e73;display:flex;align-items:center;justify-content:center;z-index:50;padding:var(--sp-2);animation:fadeIn var(--t-base)}.modal{background:var(--color-surface);border-radius:var(--r-modal);padding:var(--sp-4);max-width:520px;width:100%;box-shadow:var(--shadow-lg);animation:popIn var(--t-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.grid{display:grid;gap:var(--sp-3)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skeleton{background:linear-gradient(90deg,#f3e9ed,#faf1f4,#f3e9ed);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-input)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}
