:root{--paper:#fffdf8;--ink:#211d1d;--muted:#6f6565;--surface:rgba(255,253,248,.82);--line:rgba(180,137,31,.24);--gold:#d4af37;--wine:#a51832;--shadow:0 24px 70px rgba(77,35,35,.11)}
html{scroll-behavior:smooth;color-scheme:light}html.dark{color-scheme:dark;--paper:#100e12;--ink:#f8f1e6;--muted:#b9afb1;--surface:rgba(27,23,29,.86);--line:rgba(212,175,55,.25);--shadow:0 28px 80px rgba(0,0,0,.38)}
body.site-body{font-family:'DM Sans',sans-serif;color:var(--ink);overflow-x:hidden;background-color:var(--paper);background-attachment:fixed;transition:background-color .35s,color .35s}
body.site-body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 8% 10%,rgba(196,30,58,.10),transparent 30%),radial-gradient(circle at 92% 20%,rgba(212,175,55,.12),transparent 28%),radial-gradient(circle at 50% 90%,rgba(196,30,58,.06),transparent 35%)}
h1,h2,.display-font{font-family:'Playfair Display',serif;letter-spacing:-.025em}a,button,input,select,textarea{transition:color .25s,background-color .25s,border-color .25s,box-shadow .25s,transform .25s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(212,175,55,.42);outline-offset:3px}
.site-header{box-shadow:0 8px 32px rgba(38,20,24,.07)}.nav-link{position:relative;padding:.65rem 0}.nav-link:after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:2px;background:linear-gradient(90deg,var(--wine),var(--gold));transition:left .25s,right .25s}.nav-link:hover:after,.nav-link.is-active:after{left:0;right:0}.icon-button,#themeToggle{display:grid;place-items:center}.site-footer{position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;width:28rem;height:28rem;border:1px solid rgba(212,175,55,.13);border-radius:50%;right:-12rem;top:-18rem}
main{position:relative}main h1{line-height:1.08}main h1,.text-charcoal-900{color:var(--ink)!important}.text-charcoal-800,.text-charcoal-700,.text-charcoal-600,.text-charcoal-500{color:var(--muted)!important}
.bg-white,.bg-ivory-50\/80,.bg-ivory-50,.dark .bg-white{background-color:var(--surface)!important}.bg-gray-50{background-color:transparent!important}.border,.border-b,.border-t,.border-charcoal-200,.border-charcoal-300{border-color:var(--line)!important}
main .shadow,main .shadow-lg,main .shadow-xl{box-shadow:var(--shadow)!important}main .rounded-lg,main .rounded-xl,main .rounded-2xl{border-radius:1.25rem}main .bg-white,main .bg-ivory-50\/80{border:1px solid var(--line);backdrop-filter:blur(14px)}
main input:not([type=checkbox]):not([type=radio]),main select,main textarea,.form-input{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important}main input::placeholder,main textarea::placeholder{color:var(--muted)}
main a[class*="bg-brand"],main button[class*="bg-brand"]{background:linear-gradient(135deg,#b51d39,#7e1025)!important;box-shadow:0 12px 30px rgba(164,24,50,.22)}main a[class*="bg-brand"]:hover,main button[class*="bg-brand"]:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(164,24,50,.30)}
main .grid>div[class*="shadow"],main .grid>div[class*="border"]{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}main .grid>div[class*="shadow"]:hover,main .grid>div[class*="border"]:hover{transform:translateY(-6px);border-color:rgba(212,175,55,.55)!important}
.reveal-item{opacity:0;transform:translateY(18px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}.reveal-item.is-visible{opacity:1;transform:none}
.luxury-kicker{display:inline-flex;align-items:center;gap:.6rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;font-size:.72rem;color:var(--wine)}.dark .luxury-kicker{color:#e9c761}.luxury-kicker:before,.luxury-kicker:after{content:"";width:2rem;height:1px;background:var(--gold)}
.luxury-panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.gold-text{background:linear-gradient(110deg,#8f6510,#e8c960,#ad7d18);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-orbit{position:absolute;border:1px solid rgba(212,175,55,.25);border-radius:50%;animation:orbitPulse 6s ease-in-out infinite}.hero-float{animation:heroFloat 5s ease-in-out infinite}.film-strip{background-image:linear-gradient(90deg,transparent 48%,rgba(212,175,55,.14) 50%,transparent 52%)}
@keyframes heroFloat{50%{transform:translateY(-10px) rotate(.6deg)}}@keyframes orbitPulse{50%{transform:scale(1.06);opacity:.55}}
.dark .bg-blue-50,.dark .bg-green-50,.dark .bg-red-50,.dark .bg-yellow-50,.dark .bg-purple-50,.dark .bg-brand-50,.dark .bg-gray-100{background-color:rgba(255,255,255,.06)!important}.dark .text-blue-800,.dark .text-blue-600,.dark .text-green-800,.dark .text-red-700,.dark .text-red-600{color:#e9c761!important}.dark table,.dark th,.dark td{border-color:var(--line)!important;color:var(--ink)}
@media(max-width:767px){.site-header{height:4.25rem}.site-header img{width:4.5rem;height:4.5rem}.site-header .space-x-4>:not([hidden])~:not([hidden]){margin-left:.5rem}.site-header .header-actions>a[href$="/register"],.site-header .header-actions>a[href$="/login"],.site-header .header-actions>a[href$="/dashboard"],.site-header .header-actions>form[action$="/logout"]{display:none}main{font-size:.96rem}main h1{font-size:2.45rem!important}main h2{font-size:1.8rem!important}main[class*="py-20"],main .py-20{padding-top:3.5rem;padding-bottom:3.5rem}.luxury-panel{border-radius:1.25rem}.site-footer .space-x-6{display:grid;gap:.6rem;margin-top:1rem}.site-footer .space-x-6>*{margin-left:0!important}}
@media(max-width:639px){main .fixed.inset-0>div,main [role="dialog"]{max-width:calc(100vw - 1rem)!important;max-height:calc(100vh - 1rem);overflow-y:auto}main table{font-size:.8rem}main td,main th{white-space:nowrap}main .overflow-x-auto{-webkit-overflow-scrolling:touch}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-item{opacity:1;transform:none;transition:none}.hero-float,.hero-orbit{animation:none}*{transition-duration:.01ms!important}}
