:root{--purple-darkest: #15000d;--purple-darker: #2e0a1e;--purple-dark: #4e1b35;--purple-primary: #a8216b;--purple-medium: #ed3a9b;--purple-light: #fa8bc4;--purple-lighter: #fdb5db;--purple-glow: #f65ca0;--gold: #d4a843;--gold-light: #f0d68a;--gold-dark: #b8922e;--white: #ffffff;--off-white: #fff0f7;--gray-light: #f0d6e3;--gray-medium: #9ca3af;--gray-dark: #374151;--black: #000000;--font-display: "Playfair Display", Georgia, serif;--font-body: "Raleway", "Helvetica Neue", sans-serif;--section-padding: 100px 0;--container-width: 1200px;--transition-fast: .2s ease;--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:17px;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--purple-darkest);color:var(--white);line-height:1.75;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100vw}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}ul{list-style:none}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.25;text-shadow:0 2px 12px rgba(0,0,0,.5)}p{text-shadow:0 1px 4px rgba(0,0,0,.3)}.container{max-width:var(--container-width);margin:0 auto;padding:0 24px}.section-title{font-family:var(--font-display);font-size:3rem;text-align:center;margin-bottom:16px;color:var(--white);text-transform:uppercase;letter-spacing:3px}.section-subtitle{text-align:center;color:var(--purple-light);font-size:1.1rem;font-weight:300;margin-bottom:60px;letter-spacing:1.5px}.section-divider{width:80px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));margin:16px auto 24px;border:none}.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translate(-60px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(60px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.reveal-right.visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.9);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.reveal-scale.visible{opacity:1;transform:scale(1)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.stagger-5{transition-delay:.5s}.stagger-6{transition-delay:.6s}@keyframes ambientPulse{0%,to{opacity:.3}50%{opacity:.6}}.btn{display:inline-block;padding:14px 40px;font-family:var(--font-body);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;border:none;border-radius:0;cursor:pointer;transition:all var(--transition-smooth)}.btn-primary{background:linear-gradient(135deg,var(--purple-primary),var(--purple-medium));color:var(--white);border:2px solid transparent}.btn-primary:hover{background:linear-gradient(135deg,var(--purple-medium),var(--purple-glow));transform:translateY(-2px);box-shadow:0 8px 30px #f65ca366}.btn-outline{background:transparent;color:var(--gold);border:2px solid var(--gold)}.btn-outline:hover{background:var(--gold);color:var(--purple-darkest);transform:translateY(-2px);box-shadow:0 8px 30px #d4a8434d}.btn-gold{background:linear-gradient(135deg,var(--gold-dark),var(--gold),var(--gold-light));color:var(--purple-darkest);font-weight:700}.btn-gold:hover{transform:translateY(-2px);box-shadow:0 8px 30px #d4a84380}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--purple-darkest)}::-webkit-scrollbar-thumb{background:var(--purple-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--purple-primary)}::selection{background:var(--purple-primary);color:var(--white)}@media(max-width:768px){html{font-size:16px}.section-title{font-size:2rem}.section-subtitle{font-size:1rem;margin-bottom:40px}:root{--section-padding: 60px 0}}
