@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&family=Inter:wght@300;400;500;600&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400&family=Nunito:wght@300;400;500;600&family=Montserrat:wght@300;400;500;600;700&family=DM+Sans:wght@300;400;500&family=Bodoni+Moda:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Source+Sans+3:wght@300;400;500;600&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Karla:wght@300;400;500;600&display=swap");:root{--bg-primary:#0a0a0a;--bg-card:#141414;--bg-hover:#1e1e1e;--bg-elevated:#1a1a1a;--border:#2a2a2a;--border-light:#333;--text-primary:#f5f5f5;--text-secondary:#999;--text-muted:#666;--accent:#c5a47e;--accent-hover:#d4b896;--accent-dim:hsla(32,38%,63%,.15);--accent-glow:hsla(32,38%,63%,.3);--success:#4ade80;--warning:#f59e0b;--danger:#ef4444;--font-heading:"Playfair Display",Georgia,serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--heading-transform:none;--heading-spacing:0.02em;--heading-weight:400;--body-size:15px;--body-line-height:1.6;--font-serif:var(--font-heading);--font-sans:var(--font-body);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-btn:8px;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 12px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.5);--shadow-glow:0 0 20px hsla(32,38%,63%,.15);--gallery-gap:12px;--gallery-radius:8px;--hero-title-size:52px;--hero-title-spacing:0.25em;--hero-title-transform:uppercase;--hero-subtitle-spacing:0.4em;--hero-line-style:1px solid hsla(32,38%,63%,.3);--card-border:1px solid #2a2a2a;--card-shadow:none;--card-hover-shadow:0 8px 24px rgba(0,0,0,.4);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--spacing-4xl:96px;--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:500ms ease;--sidebar-width:290px;--header-height:64px;--max-content-width:1200px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);line-height:var(--body-line-height);font-size:var(--body-size);overflow-x:hidden}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}[data-reveal].revealed{opacity:1;transform:translateY(0)}[data-reveal="0.1"]{transition-delay:.1s}[data-reveal="0.2"]{transition-delay:.2s}[data-reveal="0.3"]{transition-delay:.3s}[data-reveal="0.4"]{transition-delay:.4s}[data-reveal="0.5"]{transition-delay:.5s}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;background:none}button,input,select,textarea{font-family:inherit;color:inherit}input,select,textarea{font-size:inherit;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast);outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}::selection{background:var(--accent);color:var(--bg-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.container{max-width:var(--max-content-width);margin:0 auto;padding:0 var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .6s ease forwards}.animate-fadeInUp{animation:fadeInUp .8s ease forwards}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:10px 24px;border-radius:var(--radius-btn);font-weight:500;font-size:14px;letter-spacing:var(--heading-spacing);transition:all var(--transition-base);white-space:nowrap}.btn-primary{background:var(--accent);color:var(--bg-primary)}.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn-outline{border:1px solid var(--accent);color:var(--accent);background:transparent}.btn-outline:hover{background:var(--accent-dim);box-shadow:var(--shadow-glow)}.btn-ghost{color:var(--text-secondary);padding:8px 16px}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.btn-sm{padding:6px 14px;font-size:13px}.btn-lg{padding:14px 32px;font-size:16px}input[type=checkbox],input[type=radio]{width:auto;padding:0;border:none;background:none;box-shadow:none}input[type=checkbox]:focus,input[type=radio]:focus{box-shadow:none}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;background:var(--border);border-radius:3px;border:none;padding:0;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 6px hsla(32,38%,63%,.4);-webkit-transition:transform .15s ease,box-shadow .15s ease;transition:transform .15s ease,box-shadow .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 0 10px hsla(32,38%,63%,.6)}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;box-shadow:0 0 6px hsla(32,38%,63%,.4)}input[type=range]::-moz-range-track{height:6px;background:var(--border);border-radius:3px;border:none}input[type=range]:focus{outline:none;box-shadow:none}