:root{--cream:#f5efe6;--cream-dark:#ede4d6;--gold:#c4923a;--gold-light:#d4a854;--gold-faint:#f0e0c0;--brown-dark:#2c1810;--brown-mid:#5c3d2a;--olive:#7a8c6e;--olive-light:#a0b090;--warm-white:#fdf8f3;--text-main:#2c1810;--text-soft:#7a6050;--font-script:"Great Vibes", cursive;--font-serif:"Cormorant Garamond", serif;--font-sans:"Nunito", sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--shadow-soft:0 4px 24px #2c181014;--shadow-card:0 8px 40px #2c18101f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--cream);color:var(--text-main);font-family:var(--font-sans);font-size:16px;line-height:1.6;overflow-x:hidden}.font-script{font-family:var(--font-script)}.font-serif{font-family:var(--font-serif)}h1,h2,h3,h4{font-family:var(--font-serif);color:var(--brown-dark);line-height:1.2}.section{max-width:700px;margin:0 auto;padding:80px 24px}.section-title{font-family:var(--font-serif);color:var(--brown-dark);text-align:center;letter-spacing:.04em;margin-bottom:8px;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:400}.section-subtitle{font-family:var(--font-sans);color:var(--text-soft);text-align:center;letter-spacing:.08em;text-transform:uppercase;margin-bottom:48px;font-size:.9rem}.divider{color:var(--gold);justify-content:center;align-items:center;gap:12px;margin:16px auto 48px;font-size:1rem;display:flex}.divider:before,.divider:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-light));width:60px;height:1px}.divider:after{background:linear-gradient(90deg, var(--gold-light), transparent)}.card{background:var(--warm-white);border:1px solid var(--gold-faint);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:28px 24px}.btn-primary{background:linear-gradient(135deg, var(--gold), var(--gold-light));color:var(--warm-white);font-family:var(--font-sans);letter-spacing:.06em;cursor:pointer;border:none;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px 32px;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 4px 16px #c4923a59}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #c4923a73}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.65;cursor:not-allowed}.btn-secondary{color:var(--gold);font-family:var(--font-sans);letter-spacing:.06em;border:1.5px solid var(--gold);cursor:pointer;background:0 0;border-radius:50px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 28px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover{background:var(--gold-faint);transform:translateY(-1px)}.form-group{flex-direction:column;gap:6px;margin-bottom:20px;display:flex}.form-label{font-family:var(--font-sans);color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:600}.form-input{font-family:var(--font-sans);color:var(--text-main);background:var(--warm-white);border:1.5px solid var(--cream-dark);border-radius:var(--radius-sm);outline:none;width:100%;padding:12px 16px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c4923a26}.form-input::placeholder{color:var(--olive-light)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-gold{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fade-in{animation:.8s forwards fadeIn}.animate-fade-in-up{animation:.8s forwards fadeInUp}.section-alt{background:var(--warm-white);width:100%}.section-alt .section{max-width:700px;margin:0 auto;padding:80px 24px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--gold-faint);border-radius:3px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinIcon{flex-shrink:0;animation:.8s linear infinite spin}svg{flex-shrink:0}
