:root{--primary-dark:#1C2529;--primary-gold:#B69668;--accent-gold:#E6C38B;--bg-light:#F9F9F9;--font-heading:'Montserrat',sans-serif;--font-body:'Montserrat',sans-serif;} html{scroll-behavior:smooth;} *{-webkit-tap-highlight-color:transparent;} .section-title{position:relative;padding-bottom:15px;} .section-title::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:4px;background:linear-gradient(to right,#9E7649,#E6C38B);background:linear-gradient(to right,#9E7649,#E6C38B);border-radius:2px;} .stroke-text{-webkit-text-stroke:1px rgba(255,255,255,0.9);color:transparent;} @keyframes float-soul{0%,100%{transform:translateY(0);} 50%{transform:translateY(-10px);} } @keyframes pulse-glow{0%,100%{filter:drop-shadow(0 0 5px rgba(212,175,55,0.3));} 50%{filter:drop-shadow(0 0 15px rgba(212,175,55,0.6));} } .icon-soul{animation:float-soul 6s ease-in-out infinite,pulse-glow 4s ease-in-out infinite;} @keyframes cinematic-pulse{0%,100%{text-shadow:0 0 10px rgba(182,150,104,0.2);letter-spacing:normal;} 50%{text-shadow:0 0 20px rgba(182,150,104,0.6);letter-spacing:0.05em;} } .animate-cinematic-pulse{animation:cinematic-pulse 4s ease-in-out infinite;} #header{background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,0.05);} #header.header-scrolled{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);} #header.header-scrolled #logo{height:2.5rem;} @media (min-width:768px){#header.header-scrolled #logo{height:4rem;} } #header.header-scrolled nav{padding-top:0.5rem;padding-bottom:0.5rem;} .header-nav a{font-family:var(--font-body);text-transform:uppercase;font-weight:500;letter-spacing:0.15em;position:relative;color:var(--primary-dark);transition:color 0.3s ease;font-size:0.85rem;padding:5px 0;} .header-nav a:hover,.header-nav a.active{color:var(--primary-gold);} .header-nav a::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--primary-gold);transform:scaleX(0);transform-origin:center;transition:transform 0.3s cubic-bezier(0.4,0,0.2,1);} .header-nav a:hover::after,.header-nav a.active::after{transform:scaleX(1);} .btn-gold{background-image:linear-gradient(to right,#B8860B 0%,#F4C430 50%,#B8860B 100%);background-size:200% auto;transition:all 0.5s ease-out;position:relative;overflow:hidden;box-shadow:0 4px 15px rgba(184,134,11,0.4);white-space:nowrap;} .btn-gold:hover{background-position:right center;transform:scale(1.05);} .btn-gold:active{transform:scale(0.98);} .btn-gold-highlight::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,0.4) 50%,rgba(255,255,255,0) 100%);transform:skewX(-25deg);animation:shine-effect 3s infinite;} @keyframes shine-effect{0%{left:-100%;} 100%{left:100%;} } .dropdown:hover .dropdown-menu{display:block;animation:fadeIn 0.3s ease;} @keyframes fadeIn{from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} } footer#contact,footer#contact h3,footer#contact p,footer#contact a{font-family:'Montserrat',sans-serif !important;} .go-to-top{position:fixed;bottom:20px;right:20px;background:var(--primary-gold);color:white;width:50px;height:50px;border-radius:0;display:none;justify-content:center;align-items:center;cursor:pointer;z-index:1000;opacity:0;transition:opacity 0.3s,bottom 0.3s;} .go-to-top.visible{display:flex;opacity:1;} @media (max-width:640px){.section-title{font-size:1.75rem;} } #page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffff;z-index:9999;display:flex;justify-content:center;align-items:center;transition:opacity 0.6s ease-out,visibility 0.6s ease-out;} .loader-spinner{width:60px;height:60px;border:4px solid var(--accent-gold);border-top:4px solid var(--primary-gold);border-radius:0;animation:spin 1s linear infinite;} @keyframes spin{0%{transform:rotate(0deg);} 100%{transform:rotate(360deg);} } body.loaded #page-loader{opacity:0;visibility:hidden;} @keyframes shake{0%,100%{transform:translateX(0);} 10%,30%,50%,70%,90%{transform:translateX(-5px);} 20%,40%,60%,80%{transform:translateX(5px);} } .shake-invalid{animation:shake 0.5s cubic-bezier(.36,.07,.19,.97) both;border-color:#EF4444 !important;box-shadow:0 0 0 3px rgba(239,68,68,0.2) !important;} .input-error{border-color:#ef4444 !important;box-shadow:0 0 0 2px rgba(239,68,68,0.2) !important;animation:shake 0.5s cubic-bezier(.36,.07,.19,.97) both;} .toast-notification{position:fixed;bottom:20px;right:20px;background-color:white;padding:1rem 1.5rem;border-radius:0.5rem;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);display:flex;align-items:center;gap:0.75rem;z-index:9999;transform:translateY(100px);opacity:0;transition:all 0.3s cubic-bezier(0.68,-0.55,0.265,1.55);border-left:4px solid;max-width:90vw;width:auto;} .toast-notification.show{transform:translateY(0);opacity:1;} .toast-notification.success{border-left-color:#22c55e;} .toast-notification.error{border-left-color:#ef4444;} .toast-icon{font-size:1.25rem;} .toast-notification.success .toast-icon{color:#22c55e;} .toast-notification.error .toast-icon{color:#ef4444;} .toast-message{color:#1f2937;font-weight:600;font-size:0.95rem;} .toast-close{color:#9ca3af;cursor:pointer;font-size:1rem;transition:color 0.2s;margin-left:auto;} .toast-close:hover{color:#4b5563;}