:root{--color-primary:#2e7d32;--color-primary-hover:#256629;--color-primary-dark:#1b5e20;--color-primary-light:#4caf50;--color-secondary-green:#66bb6a;--color-light-green:#e8f5e9;--color-light-green-tint:#f1f8f2;--color-accent-cream:#fbf9f4;--color-accent-border:#dde7df;--bg-primary:#fff;--bg-secondary:#f7fbf7;--bg-tertiary:#f2f7f2;--bg-card:#fff;--bg-card-hover:#fff;--text-primary:#192b1b;--text-secondary:#445947;--text-muted:#647b67;--text-inverted:#fff;--text-on-light-green:#1b5e20;--color-border:#e2ebe3;--color-border-subtle:#edf3ee;--color-success:#2e7d32;--color-warning:#e65100;--color-error:#c62828;--color-whatsapp:#25d366;--color-whatsapp-hover:#20ba59;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-xs:0 1px 2px #1b2b1b0a;--shadow-sm:0 2px 6px #1b2b1b0f;--shadow-md:0 6px 16px -2px #2e7d3214, 0 2px 6px -1px #0000000a;--shadow-lg:0 12px 30px -4px #2e7d321f, 0 4px 10px -2px #0000000d;--shadow-floating:0 16px 36px #1b2b1b29, 0 6px 14px #2e7d321a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:22px;--radius-full:9999px;--transition-fast:.18s cubic-bezier(.4, 0, .2, 1);--transition-normal:.28s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1);--container-max-width:1200px;--header-height:74px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);color:var(--text-primary);background-color:var(--bg-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}body{background-color:var(--bg-primary);min-height:100vh;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea,select{color:var(--text-primary);font-family:inherit;font-size:.95rem}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);letter-spacing:-.015em;font-weight:600;line-height:1.25}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}@media (width>=768px){.container{padding-left:2rem;padding-right:2rem}}.section{padding-top:4.5rem;padding-bottom:4.5rem}@media (width>=992px){.section{padding-top:6rem;padding-bottom:6rem}}.section--secondary{background-color:var(--bg-secondary)}.section--cream{background-color:var(--color-accent-cream)}.section-header{text-align:center;max-width:680px;margin:0 auto 3.5rem}.section-header--left{text-align:left;margin-left:0;margin-right:0}.section-tag{background-color:var(--color-light-green);color:var(--color-primary-dark);text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full);align-items:center;gap:.4rem;margin-bottom:.85rem;padding:.35rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.section-tag svg{width:14px;height:14px;color:var(--color-primary)}.section-title{color:var(--text-primary);margin-bottom:.85rem;font-size:2rem;font-weight:700}@media (width>=768px){.section-title{font-size:2.35rem}}.section-subtitle{color:var(--text-secondary);font-size:1.05rem;line-height:1.6}.btn{border-radius:var(--radius-md);transition:all var(--transition-normal);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:.55rem;padding:.75rem 1.45rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.btn-primary{background-color:var(--color-primary);color:#fff;box-shadow:0 4px 14px #2e7d3247}.btn-primary:hover{background-color:var(--color-primary-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #2e7d325c}.btn-secondary{background-color:var(--color-light-green);color:var(--color-primary-dark);border:1px solid #2e7d3226}.btn-secondary:hover{color:var(--color-primary-dark);background-color:#d7edd9;transform:translateY(-2px)}.btn-outline{color:var(--color-primary);border:1.5px solid var(--color-primary);background-color:#0000}.btn-outline:hover{background-color:var(--color-light-green);color:var(--color-primary-dark);transform:translateY(-2px)}.btn-whatsapp{background-color:var(--color-whatsapp);color:#fff;box-shadow:0 4px 14px #25d3664d}.btn-whatsapp:hover{background-color:var(--color-whatsapp-hover);color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #25d36666}.btn-white{color:var(--color-primary-dark);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);background-color:#fff}.btn-white:hover{border-color:var(--color-primary-light);background-color:#f7fbf7;transform:translateY(-2px)}.btn-sm{padding:.5rem 1rem;font-size:.88rem}.btn-lg{padding:.9rem 1.85rem;font-size:1.05rem}.card{background-color:var(--bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-normal);box-shadow:var(--shadow-xs);padding:1.75rem}.card:hover{box-shadow:var(--shadow-md);border-color:#2e7d324d;transform:translateY(-3px)}.badge-placeholder{color:var(--text-secondary);border-radius:var(--radius-sm);background-color:#f4f6f4;border:1px dashed #b8ceba;align-items:center;gap:.35rem;padding:.25rem .6rem;font-family:monospace;font-size:.82rem;display:inline-flex}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background-color:#0f1e1299;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-dialog{background-color:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-floating);border:1px solid var(--color-border);-webkit-overflow-scrolling:touch;width:100%;max-width:620px;max-height:90vh;padding:2rem;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp;position:relative;overflow-y:auto}.booking-modal-dialog{max-width:660px;padding:1.75rem 1.6rem}@media (width<=640px){.modal-overlay{padding:.75rem}.modal-dialog{border-radius:var(--radius-lg);max-height:94vh;padding:1.25rem 1rem}.booking-modal-dialog{padding:1.15rem .95rem}}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex}.modal-header-content{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.modal-header-icon{border-radius:var(--radius-md);background-color:var(--color-light-green);width:38px;height:38px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-header-titles{flex:1;min-width:0}.modal-title{color:var(--text-primary);margin:0;font-size:1.3rem;font-weight:700;line-height:1.25}@media (width<=480px){.modal-title{font-size:1.15rem}}.modal-subtitle{color:var(--text-secondary);margin-top:.2rem;font-size:.82rem;line-height:1.35;display:block}.modal-close-btn{border-radius:var(--radius-full);width:36px;height:36px;color:var(--text-muted);background-color:var(--bg-secondary);border:1px solid var(--color-border);transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:absolute;top:1.25rem;right:1.25rem}.modal-header .modal-close-btn{margin-top:2px;position:static}.modal-close-btn:hover{background-color:var(--color-light-green);color:var(--color-primary-dark)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulseGlow{0%{box-shadow:0 0 #25d36673}70%{box-shadow:0 0 0 14px #25d36600}to{box-shadow:0 0 #25d36600}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes auraBreathe{0%,to{opacity:.12;transform:scale(1)translate(0)}50%{opacity:.18;transform:scale(1.1)translate(8px,-6px)}}@keyframes beaconPulse{0%{transform:scale(.95);box-shadow:0 0 #2e7d3299}70%{transform:scale(1);box-shadow:0 0 0 8px #2e7d3200}to{transform:scale(.95);box-shadow:0 0 #2e7d3200}}@keyframes subtleShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-float{animation:5s ease-in-out infinite floatSlow}.animate-aura{animation:8s ease-in-out infinite alternate auraBreathe}.beacon-dot{background-color:var(--color-primary);border-radius:50%;width:8px;height:8px;animation:2s cubic-bezier(.4,0,.6,1) infinite beaconPulse;display:inline-block}.card-lift{transition:transform .32s cubic-bezier(.34,1.56,.64,1),box-shadow .32s,border-color .25s}.card-lift:hover{border-color:#2e7d3259;transform:translateY(-6px);box-shadow:0 16px 36px -4px #2e7d321f,0 4px 12px #0000000a}.icon-spring{transition:transform .3s cubic-bezier(.34,1.56,.64,1),background-color .25s}.card-lift:hover .icon-spring{transform:scale(1.12)rotate(4deg);background-color:#d6edd8!important}.nav-link{transition:color var(--transition-fast);padding:.4rem 0;display:inline-block;position:relative}.nav-link:after{content:"";background-color:var(--color-primary);border-radius:2px;width:0;height:2px;transition:width .25s cubic-bezier(.16,1,.3,1),left .25s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:50%}.nav-link:hover:after{width:100%;left:0}.btn{transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.btn:active{transform:scale(.97)!important}.btn-primary:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff3d 50%,#fff0 100%);width:45%;height:200%;transition:left .65s;position:absolute;top:-50%;left:-70%;transform:rotate(25deg)}.btn-primary:hover:after{left:140%}input,textarea,select{transition:border-color .2s,box-shadow .2s,background-color .2s}input:focus,textarea:focus,select:focus{background-color:#fafdfa;border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #2e7d3229!important}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f1}::-webkit-scrollbar-thumb{background:#b5ceb8;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}
