@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&display=swap";.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.scroll-reveal-children>*{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.scroll-reveal-children.revealed>*:nth-child(1){transition-delay:0s}.scroll-reveal-children.revealed>*:nth-child(2){transition-delay:.1s}.scroll-reveal-children.revealed>*:nth-child(3){transition-delay:.2s}.scroll-reveal-children.revealed>*:nth-child(4){transition-delay:.3s}.scroll-reveal-children.revealed>*:nth-child(5){transition-delay:.4s}.scroll-reveal-children.revealed>*:nth-child(6){transition-delay:.5s}.scroll-reveal-children.revealed>*{opacity:1;transform:translateY(0)}:root{--color-deep-blue: #064E3B;--color-charcoal: #0F172A;--color-saffron: #FF9D00;--color-teal: #0EA5E9;--color-white: #FFFFFF;--color-bg-light: #F8FAFC;--color-gray-100: #F1F5F9;--color-gray-200: #E2E8F0;--color-gray-500: #64748B;--color-gray-800: #1E293B;--font-primary: "Poppins", sans-serif;--font-secondary: "Inter", sans-serif;--max-width: 1280px;--header-height: 78px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-secondary);color:var(--color-charcoal);background-color:var(--color-white);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-deep-blue);font-weight:700}a{text-decoration:none;color:inherit;transition:all .2s ease}button{cursor:pointer;border:none;outline:none;font-family:var(--font-primary);font-weight:600;transition:all .2s ease}ul{list-style:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 2rem}.section-padding{padding:5rem 0}.text-primary{color:var(--color-deep-blue)}.text-saffron{color:var(--color-saffron)}.bg-deep-blue{background-color:var(--color-deep-blue)}.bg-gray-100{background-color:var(--color-gray-100)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.justify-between{justify-content:space-between}.items-center{align-items:center}.gap-1{gap:.5rem}.gap-2{gap:1rem}.gap-4{gap:2rem}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}.container{padding:0 1rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin-icon{animation:spin 1s linear infinite}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-radius:12px;background:#1e293b;color:#fff;font-size:.95rem;font-family:var(--font-secondary);box-shadow:0 20px 40px #00000040,0 0 0 1px #ffffff0d;pointer-events:all;animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1);min-width:320px;max-width:480px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toast-success{border-left:4px solid #22C55E}.toast-error{border-left:4px solid #EF4444}.toast-info{border-left:4px solid #3B82F6}.toast-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background:#22c55e33;color:#22c55e}.toast-error .toast-icon{background:#ef444433;color:#ef4444}.toast-info .toast-icon{background:#3b82f633;color:#3b82f6}.toast-message{flex:1;line-height:1.4;font-weight:500}.toast-close{background:none;border:none;color:#ffffff80;font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .2s;flex-shrink:0}.toast-close:hover{color:#fff}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@media(max-width:640px){.toast-container{left:1rem;right:1rem;top:1rem}.toast{min-width:unset;max-width:unset}}.scroll-to-top{position:fixed;bottom:6rem;right:1.5rem;z-index:999;width:44px;height:44px;border-radius:50%;background:var(--color-deep-blue);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(20px);transition:all .3s ease}.scroll-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.scroll-to-top:hover{background:var(--color-saffron);transform:translateY(-3px)}.whatsapp-widget{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999}.whatsapp-btn{width:56px;height:56px;border-radius:50%;background:#25d366;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #25d36659;transition:all .3s ease;text-decoration:none;position:relative}.whatsapp-btn:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:#25d36633;animation:whatsappPulse 2s ease-in-out infinite}.whatsapp-btn:hover{transform:scale(1.1);box-shadow:0 6px 24px #25d36680}.whatsapp-btn svg{position:relative;z-index:1}.whatsapp-tooltip{position:absolute;right:68px;top:50%;transform:translateY(-50%);background:#fff;color:var(--color-charcoal);padding:.5rem 1rem;border-radius:var(--border-radius-md);font-size:.8rem;font-weight:600;white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none}.whatsapp-btn:hover+.whatsapp-tooltip,.whatsapp-widget:hover .whatsapp-tooltip{opacity:1;visibility:visible}@keyframes whatsappPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:0}}.back-to-top{position:fixed;bottom:6rem;right:1.5rem;width:44px;height:44px;border-radius:50%;background:var(--color-deep-blue);color:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px #00000026;border:none;z-index:999;opacity:0;transform:translateY(20px);visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.back-to-top.visible{opacity:1;transform:translateY(0);visibility:visible}.back-to-top:hover{background:var(--color-saffron);transform:translateY(-2px);box-shadow:0 6px 16px #ff9d0059}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);gap:1.5rem}.page-loader-brand{font-family:var(--font-primary);font-size:2rem;font-weight:800;color:var(--color-deep-blue);letter-spacing:-1px;animation:loaderPulse 2s ease-in-out infinite}.page-loader-brand .saffron{color:var(--color-saffron)}.page-loader-spinner{width:40px;height:40px;border:4px solid var(--color-gray-200);border-top-color:var(--color-saffron);border-radius:50%;animation:spin .8s linear infinite}.page-loader-text{font-size:.9rem;color:var(--color-gray-500);font-weight:500}@keyframes loaderPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.97)}}.booking-notification{position:fixed;bottom:24px;left:24px;z-index:1100;pointer-events:none;opacity:0;transform:translateY(20px);transition:all .5s cubic-bezier(.16,1,.3,1)}.booking-notification.show{opacity:1;transform:translateY(0)}.notification-content{background:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 4px 20px #00000014;display:flex;align-items:center;gap:12px;min-width:260px;border:1px solid #e5e7eb;border-left:4px solid #10b981}.notification-icon{flex-shrink:0;width:32px;height:32px;background:#f0fdf4;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-icon .dot{width:10px;height:10px;background:#10b981;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 8px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.notification-text{display:flex;flex-direction:column;font-size:.9rem;color:#374151;line-height:1.4}.notification-text strong{color:#111827}.notification-time{font-size:.8rem;color:#6b7280;margin-top:2px}@media(max-width:640px){.booking-notification{bottom:16px;left:16px;right:16px}.notification-content{min-width:unset;width:100%;max-width:300px}}
