@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap";:root{--color-cream: #FAF8F5;--color-linen: #F5F0E8;--color-stone-light: #EDE8E0;--color-stone: #C5B9A8;--color-taupe: #8B7D6B;--color-charcoal: #2C2C2C;--color-black: #1A1A1A;--color-gold: #C9A96E;--color-gold-light: #E8D5A3;--color-white: #FFFFFF;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", system-ui, sans-serif;--header-height: 80px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 16px rgba(0,0,0,.08);--shadow-lg: 0 12px 40px rgba(0,0,0,.12);--shadow-xl: 0 24px 64px rgba(0,0,0,.16)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background-color:var(--color-cream);color:var(--color-charcoal);line-height:1.6;font-size:16px}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer}.font-display{font-family:var(--font-display)}.heading-xl{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,5rem);font-weight:400;line-height:1.1;letter-spacing:-.01em}.heading-lg{font-family:var(--font-display);font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.15}.heading-md{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400;line-height:1.2}.subheading{font-size:.8125rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--color-gold)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}@media (min-width: 768px){.container{padding:0 2rem}}@media (min-width: 1280px){.container{padding:0 3rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.05em;border:1px solid transparent;border-radius:2px;transition:all .2s ease;white-space:nowrap}.btn-primary{background-color:var(--color-charcoal);color:var(--color-white);border-color:var(--color-charcoal)}.btn-primary:hover{background-color:var(--color-black);border-color:var(--color-black)}.btn-gold{background-color:var(--color-gold);color:var(--color-white);border-color:var(--color-gold)}.btn-gold:hover{background-color:#b8924f;border-color:#b8924f}.btn-outline{background-color:transparent;color:var(--color-charcoal);border-color:var(--color-charcoal)}.btn-outline:hover{background-color:var(--color-charcoal);color:var(--color-white)}.btn-ghost{background-color:transparent;color:var(--color-taupe);border-color:transparent}.btn-ghost:hover{background-color:var(--color-stone-light);color:var(--color-charcoal)}.form-label{display:block;font-size:.8125rem;font-weight:500;letter-spacing:.05em;color:var(--color-taupe);margin-bottom:.375rem;text-transform:uppercase}.form-input{width:100%;padding:.75rem 1rem;background-color:var(--color-white);border:1px solid var(--color-stone);border-radius:2px;font-family:var(--font-body);font-size:.9375rem;color:var(--color-charcoal);transition:border-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus{outline:none;border-color:var(--color-charcoal)}.form-input::placeholder{color:var(--color-stone)}.form-input.error{border-color:#e53e3e}.form-error{font-size:.8125rem;color:#e53e3e;margin-top:.25rem}.card{background-color:var(--color-white);border:1px solid var(--color-stone-light);border-radius:4px;box-shadow:var(--shadow-sm)}.section{padding:5rem 0}@media (min-width: 768px){.section{padding:7rem 0}}.admin-sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;color:#94a3b8;border-radius:6px;transition:all .15s}.admin-sidebar-item:hover{background-color:#ffffff0d;color:#fff}.admin-sidebar-item.active{background-color:#c9a96e26;color:#c9a96e}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;font-size:.75rem;font-weight:500;border-radius:2px;letter-spacing:.03em}.divider{width:3rem;height:1px;background-color:var(--color-gold);margin:1.5rem 0}.divider.center{margin-left:auto;margin-right:auto}.spinner{width:1.5rem;height:1.5rem;border:2px solid var(--color-stone-light);border-top-color:var(--color-charcoal);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--color-linen)}::-webkit-scrollbar-thumb{background:var(--color-stone);border-radius:3px}.reveal{opacity:0;transform:translateY(28px);transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.17s}.reveal-d3{transition-delay:.26s}.reveal-d4{transition-delay:.35s}.mobile-action-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#1a1a1a;border-top:1px solid rgba(201,169,110,.25);padding:.5rem .625rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));box-shadow:0 -8px 32px #00000059;gap:.375rem}.mobile-action-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.45rem .25rem;border-radius:7px;font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;transition:background .15s,opacity .15s;cursor:pointer}@media (max-width: 768px){.mobile-action-bar{display:flex}.public-main{padding-bottom:84px}}.admin-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:6px}.admin-table-wrap table{min-width:640px}@media (max-width: 1024px){.admin-page-content{padding:1.25rem 1rem!important}.admin-stats-grid{grid-template-columns:repeat(2,1fr)!important}}@media (max-width: 640px){.admin-stats-grid{grid-template-columns:1fr 1fr!important;gap:.75rem!important}.admin-page-content{padding:1rem .75rem!important}.topbar-greeting,.topbar-site-label{display:none!important}}@media (max-width: 480px){.hero-cta-group{flex-direction:column!important}.hero-cta-group .btn{width:100%;justify-content:center}.heading-xl{font-size:clamp(2rem,8vw,2.5rem)!important}.heading-lg{font-size:clamp(1.75rem,6vw,2.25rem)!important}.section{padding:3.5rem 0!important}.card{padding:1.25rem!important}}@media (max-width: 768px){.appointment-steps{gap:.25rem!important}.appointment-step-label{display:none!important}}
