:root{--color-white: #ffffff;--color-off-white: #fafafa;--color-light-gray: #f5f5f5;--color-medium-gray: #e8e8e8;--color-dark-gray: #888888;--color-charcoal: #4a4a4a;--color-black: #1a1a1a;--color-blush: #d4a5a5;--color-dusty-rose: #c9a9a9;--color-taupe: #a89f91;--color-rose: #c9a9a9;--color-sage: #6b8e6b;--color-sage-light: #8faf8f;--color-olive: #8b9a6b;--color-burgundy: #722f37;--color-accent-primary: var(--color-sage);--color-accent-secondary: var(--color-sage-light);--color-primary: var(--color-charcoal);--color-secondary: var(--color-dark-gray);--color-accent: var(--color-accent-primary);--color-background: var(--color-white);--color-surface: var(--color-off-white);--color-text: var(--color-black);--color-text-muted: var(--color-dark-gray);--color-text-light: var(--color-charcoal);--color-border: var(--color-medium-gray);--color-border-light: var(--color-light-gray);--color-bg-light: var(--color-off-white);--font-display: "Playfair Display", "Cormorant Garamond", serif;--font-heading: "Playfair Display", "Cormorant Garamond", serif;--font-body: "Raleway", "Montserrat", sans-serif;--font-accent: "Cormorant Garamond", serif;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .1em;--tracking-wider: .2em;--tracking-widest: .3em;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--space-3xl: 8rem;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:1.125rem;line-height:1.7;color:var(--color-text);background:var(--color-background);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;margin-bottom:var(--space-md);color:var(--color-text);letter-spacing:var(--tracking-wide)}h1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:700;letter-spacing:-.02em}h2{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.01em}h3{font-size:clamp(1.5rem,3vw,2.5rem)}h4{font-size:clamp(1.25rem,2.5vw,1.875rem)}p{margin-bottom:var(--space-md)}a{color:var(--color-text);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-accent-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:var(--tracking-wide);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none;outline:none}.btn-primary{background:var(--color-text);color:var(--color-white)}.btn-primary:hover{background:var(--color-accent-primary);transform:translateY(-2px)}.btn-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-text);color:var(--color-white);border-color:var(--color-text)}input,textarea,select{width:100%;padding:var(--space-sm);font-family:var(--font-body);font-size:1rem;border:1px solid var(--color-border);background:var(--color-white);color:var(--color-text);transition:border-color var(--transition-base)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-accent-primary)}label{display:block;margin-bottom:var(--space-xs);font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:var(--tracking-wide);color:var(--color-text-light);text-transform:uppercase}.card{background:var(--color-white);padding:var(--space-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-md)}.container-narrow{max-width:800px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.fade-in{opacity:0;transform:translateY(20px);animation:fadeIn .6s ease forwards}.slide-in{opacity:0;transform:translate(-30px);animation:slideIn .6s ease forwards}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}@media (max-width: 768px){:root{--space-lg: 2rem;--space-xl: 3rem;--space-2xl: 4rem}html{font-size:14px}body{font-size:1rem}}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mb-0{margin-bottom:0}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.accent-bar{width:60px;height:2px;background:var(--color-accent-primary);margin:1rem auto}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;letter-spacing:var(--tracking-wide);background:var(--color-surface);color:var(--color-text-light);border:1px solid var(--color-border-light);text-transform:uppercase}.page{min-height:100vh;background:var(--color-background)}.page-centered{display:flex;justify-content:center;padding:var(--space-lg) var(--space-md)}.page-header{text-align:center;margin-bottom:var(--space-xl)}.page-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;letter-spacing:var(--tracking-wider);color:var(--color-text);text-transform:uppercase;margin-bottom:var(--space-xs)}.page-subtitle{font-family:var(--font-body);font-size:1rem;color:var(--color-text-muted);margin-bottom:0}.section-title{font-family:var(--font-display);font-size:1rem;font-weight:500;letter-spacing:var(--tracking-wide);color:var(--color-text);text-transform:uppercase;margin-bottom:var(--space-md)}.content-card{width:100%;max-width:500px;background:var(--color-white);border:1px solid var(--color-border-light);padding:var(--space-lg)}.content-card-wide{max-width:600px}.content-card-narrow{max-width:400px}.card-section{background:var(--color-surface);border:1px solid var(--color-border-light);padding:var(--space-lg);margin-bottom:var(--space-md)}.text-intro{font-family:var(--font-body);font-size:1.125rem;line-height:1.8;color:var(--color-text-light);margin-bottom:var(--space-md)}.text-body{font-family:var(--font-body);font-size:1rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.text-small{font-size:.875rem;color:var(--color-text-muted)}.text-hint{font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-xs)}.text-accent{font-family:var(--font-accent);font-style:italic;color:var(--color-accent-primary)}.text-venue{font-family:var(--font-body);font-size:.8rem;letter-spacing:var(--tracking-wider);color:var(--color-taupe);text-transform:uppercase}.btn-cta{display:inline-block;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:var(--tracking-wide);color:var(--color-white);background:var(--color-text);padding:1rem 2.5rem;text-decoration:none;transition:all var(--transition-base);border:none;cursor:pointer}.btn-cta:hover{background:var(--color-accent-primary);color:var(--color-white);transform:translateY(-2px)}.btn-outline{display:inline-block;font-family:var(--font-body);font-size:.875rem;font-weight:400;letter-spacing:var(--tracking-wide);color:var(--color-text-light);background:transparent;padding:.5rem 1.5rem;text-decoration:none;border:1px solid var(--color-border);transition:all var(--transition-base);cursor:pointer}.btn-outline:hover{background:var(--color-accent-primary);color:var(--color-white);border-color:var(--color-accent-primary)}.btn-block{display:block;width:100%;text-align:center}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:var(--tracking-wide);color:var(--color-text-light);margin-bottom:var(--space-xs);text-transform:uppercase}.form-input{width:100%;padding:.875rem 1rem;border:1px solid var(--color-border);background:var(--color-white);font-family:var(--font-body);font-size:1rem;color:var(--color-text);transition:border-color var(--transition-base)}.form-input:focus{outline:none;border-color:var(--color-accent-primary)}.form-textarea{min-height:100px;resize:vertical}.toggle-group{display:flex;border:1px solid var(--color-border);margin-bottom:var(--space-md)}.toggle-btn{flex:1;padding:.75rem;border:none;background:var(--color-surface);color:var(--color-text-muted);font-family:var(--font-body);font-size:.875rem;font-weight:400;cursor:pointer;transition:all var(--transition-base)}.toggle-btn.active{background:var(--color-accent-primary);color:var(--color-white)}.form-error{padding:1rem;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;font-size:.875rem;margin-bottom:var(--space-md)}.list-item{padding:1rem;margin-bottom:var(--space-xs);background:var(--color-surface);display:flex;justify-content:space-between;align-items:center}.list-item-label{font-weight:500}.list-item-value{font-size:.875rem;color:var(--color-text-muted)}.list-item-value.highlight{color:var(--color-accent-primary)}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:.5rem;top:.5rem;bottom:.5rem;width:2px;background:var(--color-border)}.timeline-item{position:relative;margin-bottom:2rem;padding-left:1.5rem}.timeline-dot{position:absolute;left:0;top:.25rem;width:1rem;height:1rem;border-radius:50%;background:var(--color-accent-primary);border:3px solid var(--color-background)}.timeline-time{font-weight:600;color:var(--color-accent-primary);margin-bottom:.25rem;font-size:.9rem}.timeline-title{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.timeline-desc{color:var(--color-text-muted);font-size:.95rem;margin-bottom:0}.avatar{width:48px;height:48px;border-radius:50%;background:var(--color-accent-primary);color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:500}.avatar-sm{width:36px;height:36px;font-size:1rem}.avatar-lg{width:64px;height:64px;font-size:1.5rem}@media (max-width: 768px){.page-centered,.content-card{padding:var(--space-md)}.page-title{font-size:1.25rem}.text-intro{font-size:1rem}}
