:root{--color-gold:#c5a880;--color-gold-light:#dfd0bc;--color-terracotta:#d25d38;--color-terracotta-dark:#b54623;--color-dark:#1a1a1a;--color-dark-light:#2c2c2c;--color-cream:#f5efeb;--color-white-warm:#faf8f5;--color-white:#fff;--color-gray:#555;--color-gray-light:#eae5df;--font-serif:"Playfair Display", Georgia, serif;--font-sans:"Montserrat", sans-serif;--font-handwritten:"Alex Brush", cursive;--font-signature:"Pinyon Script", cursive;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 10px 30px #00000014;--shadow-lg:0 20px 50px #0000001f;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:16px;--header-height:90px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--color-white-warm);color:var(--color-dark);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{min-height:100vh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-white-warm)}::-webkit-scrollbar-thumb{background:var(--color-gold);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-terracotta)}::selection{background-color:var(--color-gold);color:var(--color-white)}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.container{width:100%;max-width:1280px;padding:0 var(--space-md);margin:0 auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-dark);font-weight:500;line-height:1.25}h1{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4.5rem)}h2{letter-spacing:-.01em;margin-bottom:var(--space-sm);font-size:clamp(2rem,3.5vw,3rem);position:relative}h3{margin-bottom:var(--space-xs);font-size:clamp(1.4rem,2vw,1.8rem)}p{color:var(--color-dark-light);font-size:1.05rem;font-weight:300;line-height:1.7}a{color:inherit;text-decoration:none;transition:all .3s}.btn-luxe{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;z-index:1;border-radius:0;justify-content:center;align-items:center;padding:12px 32px;font-size:.85rem;font-weight:500;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.btn-primary{background-color:var(--color-dark);color:var(--color-white);border:1px solid var(--color-dark)}.btn-primary:before{content:"";background-color:var(--color-gold);z-index:-1;transform-origin:100%;width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:scaleX(0)}.btn-primary:hover{border-color:var(--color-gold)}.btn-primary:hover:before{transform-origin:0;transform:scaleX(1)}.btn-secondary{color:var(--color-dark);border:1px solid var(--color-gold);background-color:#0000}.btn-secondary:hover{background-color:var(--color-gold);color:var(--color-white);border-color:var(--color-gold)}.btn-terracotta{background-color:var(--color-terracotta);color:var(--color-white);border:1px solid var(--color-terracotta)}.btn-terracotta:hover{background-color:var(--color-dark);border-color:var(--color-dark)}.fade-in{animation:1.2s cubic-bezier(.16,1,.3,1) forwards fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomOutLuxe{0%{transform:scale(1.06)translate(0,0)}to{transform:scale(1)translate(0,0)}}.hero-zoom-out-bg{animation:14s cubic-bezier(.25,1,.5,1) forwards zoomOutLuxe!important}.mobile-drawer-overlay{-webkit-backdrop-filter:blur();z-index:998;pointer-events:none;will-change:background-color, backdrop-filter;background-color:#1a1a1a00;width:100vw;height:100vh;transition:background-color .5s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .5s cubic-bezier(.16,1,.3,1),backdrop-filter .5s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:0}.mobile-drawer-overlay.active{-webkit-backdrop-filter:blur(8px);pointer-events:auto;background-color:#1a1a1a73}.mobile-drawer-menu{background-color:var(--color-white-warm);z-index:999;will-change:transform;flex-direction:column;align-items:center;width:320px;height:100vh;padding-top:110px;transition:transform .5s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-10px 0 40px #00000026}.mobile-drawer-menu.active{transform:translate(0,0)}.btn-luxe{transition:all .4s cubic-bezier(.16,1,.3,1)!important}.btn-luxe:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000001f}.btn-luxe span{will-change:transform;transition:transform .4s cubic-bezier(.16,1,.3,1);display:inline-block}.btn-luxe:hover span{transform:translate(3px)}.form-group{margin-bottom:var(--space-md)}.form-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--color-dark-light);margin-bottom:8px;font-size:.8rem;font-weight:500;display:block}.form-control{background-color:var(--color-white);border:1px solid var(--color-gray-light);width:100%;font-family:var(--font-sans);color:var(--color-dark);border-radius:0;padding:14px 20px;font-size:.95rem;transition:all .3s}.form-control:focus{border-color:var(--color-gold);box-shadow:0 0 0 1px var(--color-gold);outline:none}.grid-2{gap:var(--space-lg);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}@media (width<=992px){.grid-2,.grid-3{gap:var(--space-md);grid-template-columns:1fr}}.hero-luxe{width:100%;color:var(--color-white-warm);text-align:center;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-luxe-bg{z-index:1;will-change:transform;background-position:50%;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0;transform:scale(1)}.hero-luxe:hover .hero-luxe-bg,.hero-luxe-active .hero-luxe-bg{animation:25s ease-out infinite alternate kenburns}@keyframes kenburns{0%{transform:scale(1.02)translate(0,0)}to{transform:scale(1.08)translate(10px,-5px)}}.hero-luxe-overlay{z-index:2;opacity:.35;will-change:opacity;background:linear-gradient(#000000b3 0%,#0006 40%,#1a1a1a8c 100%);width:100%;height:100%;animation:4s cubic-bezier(.25,1,.5,1) 2.5s forwards darkenOverlay;position:absolute;top:0;left:0}@keyframes darkenOverlay{to{opacity:1}}.hero-luxe-content{z-index:3;width:100%;max-width:900px;padding:60px var(--space-md);box-sizing:border-box;-webkit-backdrop-filter:none;box-shadow:none;opacity:0;will-change:opacity;background:radial-gradient(circle,#000000a6 0%,#0000 80%);border:none;animation:1.5s cubic-bezier(.25,1,.5,1) 2.8s forwards revealRadial;position:relative}@keyframes revealRadial{to{opacity:1}}.hero-luxe-subtitle{font-family:var(--font-sans);letter-spacing:.3em;text-transform:uppercase;color:var(--color-gold);text-shadow:0 2px 10px #00000080;opacity:0;font-size:.85rem;font-weight:500;animation:1.2s cubic-bezier(.16,1,.3,1) 3.1s forwards heroReveal;display:block;transform:translateY(15px)}.hero-luxe-title{font-family:var(--font-serif);text-shadow:0 4px 20px #000000b3;opacity:0;margin-top:15px;margin-bottom:20px;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.2;animation:1.4s cubic-bezier(.16,1,.3,1) 3.2s forwards heroReveal;transform:translateY(20px);color:var(--color-white)!important}.hero-luxe-text{text-shadow:0 2px 12px #0009;opacity:0;max-width:700px;margin-bottom:30px;margin-left:auto;margin-right:auto;font-size:clamp(1rem,1.5vw,1.15rem);font-weight:300;animation:1.6s cubic-bezier(.16,1,.3,1) 3.4s forwards heroReveal;transform:translateY(20px);color:#faf8f5e6!important}.hero-luxe-actions{opacity:0;flex-wrap:wrap;justify-content:center;gap:20px;animation:1.8s cubic-bezier(.16,1,.3,1) 3.6s forwards heroReveal;display:flex;transform:translateY(20px)}@keyframes heroReveal{to{opacity:1;transform:translateY(0)}}.hero-scroll-indicator{z-index:3;opacity:0;flex-direction:column;align-items:center;gap:10px;animation:2s cubic-bezier(.16,1,.3,1) 1.2s forwards fadeInIndicator;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.hero-scroll-indicator span{font-family:var(--font-sans);letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold-light);font-size:.7rem}.hero-scroll-line{background:linear-gradient(to bottom, var(--color-gold) 0%, transparent 100%);width:1px;height:50px;position:relative;overflow:hidden}.hero-scroll-line:after{content:"";background:var(--color-white-warm);width:100%;height:100%;animation:2.5s cubic-bezier(.16,1,.3,1) infinite scrollPulse;position:absolute;top:0;left:0}@keyframes scrollPulse{0%{transform:translateY(-100%)}80%,to{transform:translateY(100%)}}@keyframes fadeInIndicator{to{opacity:.8}}
