﻿500;600;700&family=Montserrat:wght@500;600;700;800&display=swap');
/* Shared public design system. Admin retains its existing controls and layout. */
:root{--primary:#008A60;--forest:#172B24;--deep:#172B24;--ink:#172B24;--muted:#52665c;--cream:#fff;--sand:#EAF7EF;--lime:#008A60;--line:#d6e5dc;--shadow:0 8px 28px rgba(23,43,36,.07)}
body{background:#fff;color:var(--ink);font-family:'Source Sans 3',Arial,sans-serif;font-size:16px;line-height:1.6}
h1,h2,h3,.brand strong,.inside-main h2,.inside-card h3,.service-card h3,.steps h3,.booking-shell h2,.nature-item strong,.nature-feature strong{font-family:'Source Sans 3',Arial,sans-serif;font-style:normal;font-weight:700;letter-spacing:-.025em;line-height:1.18}
h1{font-size:clamp(2.4rem,4.8vw,4.5rem)}h2,.section-heading h2,.how h2,.about h2,.contact h2{font-size:clamp(1.9rem,3vw,2.7rem)}h1 em,h2 em{font-style:normal;color:#00734f!important}p{line-height:1.7}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #00734f;outline-offset:4px}::selection{background:#bcebd2;color:#172B24}html{scroll-padding-bottom:110px;scroll-padding-top:24px}
.button{background:#008A60;color:white;border:0;border-radius:12px;min-height:48px;gap:.65rem;padding:.85rem 1.35rem;font:600 .95rem/1.4 'Source Sans 3',Arial,sans-serif;box-shadow:0 3px 8px #172b2410;transition:transform 180ms ease,box-shadow 180ms ease,background 180ms ease;text-align:center}
.button:hover{background:#00734f;color:white;transform:translateY(-3px);box-shadow:0 8px 18px #172b2426}.button:active{transform:translateY(0)}button:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none}.button.small{font-size:.85rem;border-radius:10px}
.header,.inside-header,.public-page .admin-header{position:relative;background:#fff;color:#172B24;border-bottom:1px solid var(--line);height:auto;min-height:88px;padding:1rem 6%;gap:1.5rem}.brand strong{font-size:1.75rem;color:#008A60}.brand span{font-size:.65rem}.header nav a:hover,.inside-header nav a:hover{color:#00734f}.language,.menu,.inside-menu{border:1px solid var(--line);color:#172B24;border-radius:10px;background:white;min-width:44px;min-height:44px}.header nav,.inside-header nav{font-size:.9rem;gap:1.5rem}.inside-header nav a[aria-current=page]{color:#00734f}
.hero{margin:28px auto 0;width:88%;max-width:1280px;min-height:560px;height:auto;max-height:none;color:var(--ink);background:#EAF7EF;display:grid;grid-template-columns:1.05fr 1fr;border-radius:24px;overflow:hidden}
.hero-image{position:relative;grid-column:2;grid-row:1;height:100%;min-height:560px;background-image:url('/assets/playa.jpg');background-position:64% center;background-size:cover}.hero-content{grid-column:1;grid-row:1;width:auto;max-width:none;margin:0;padding:3rem}.hero h1{font-size:clamp(2.4rem,4vw,3.8rem)}.hero-copy{color:#405b4d;font-size:1rem}.hero .light-link{color:#00734f}.hero .actions{gap:1.2rem}.eyebrow{display:none}
.section{max-width:1440px;margin:auto;padding:72px 6%}.section-heading{gap:2rem;margin-bottom:2rem}.section-heading>p{color:var(--muted);max-width:430px}.section-heading h2 em,.about h2 em{color:#00734f}.services,.how,.contact{background:#EAF7EF}.destination{min-height:360px;border-radius:18px;padding:2rem}.destination small{display:none}.destination h3{font:700 1.9rem/1.2 'Source Sans 3',Arial,sans-serif}.destination h3 em{font-style:normal}.destination span{font-size:.95rem}.destination:before{background:linear-gradient(0deg,#172b24e6,transparent 85%)}
.filters{border:0;padding:0;gap:1.25rem}.filters label{font-size:.85rem;letter-spacing:0;text-transform:none}.filters select,.clear{border-radius:10px;background:white;min-height:48px}.service-card,.inside-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:1.5rem}.inside-card h3,.service-card h3{font-size:1.4rem}.inside-card img{border-radius:10px}.empty{padding:2.5rem 1rem 0}.empty-mark{display:none}.empty h3{font:700 1.4rem 'Source Sans 3',Arial,sans-serif}.empty p{color:var(--muted)}
.nature-image,.nature-feature .nature-image{border-radius:16px}.nature-item strong{font-size:1.1rem}.how,.contact{color:#172B24}.how-top>p,.steps p,.disclaimer{color:#405b4d}.steps{margin-top:2.5rem;gap:2rem}.steps article{border-top:1px solid #bedacb}.steps h3{margin:1rem 0;font-size:1.2rem}.steps span{color:#00734f}.disclaimer{border-color:#bedacb;font-size:.85rem}.about{gap:5%}.about-image{border-radius:20px}.about p{color:var(--muted)}.contact-line{border-color:#bedacb;color:#405b4d;margin-top:2.5rem}.contact-line>span:last-child{display:none}.contact .secondary-link{color:#00734f}.contact h2 em{color:#00734f}.contact .actions{flex-wrap:wrap}footer{background:#172B24;padding:3.5rem 6% 2rem}.footer-brand strong{color:#fff}.inside-main{max-width:1280px}.inside-main h1{font-size:clamp(2.3rem,4vw,3.6rem)}.inside-main h2{font-size:1.8rem}.detail-aside{border-radius:16px}.inside-intro{color:var(--muted)}
.booking-shell{max-width:960px;padding:3rem 5% 6rem}.booking-shell h1{font-size:clamp(2rem,4vw,3rem);margin-bottom:.8rem}.booking-intro{max-width:650px;color:var(--muted);margin-bottom:2rem}.booking-card{padding:2rem;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}.booking-shell form{max-width:none;gap:1.4rem}.booking-shell input:not([type=checkbox]),.booking-shell select,.booking-shell textarea{border:1px solid #a9bfb2;border-radius:10px;padding:.85rem;font:400 1rem/1.5 'Source Sans 3',Arial,sans-serif;min-height:48px;background:white;color:#172B24}.booking-shell textarea{min-height:110px;resize:vertical}.booking-shell label{font-size:.9rem;font-weight:600}.booking-shell label small{font-size:.8rem;font-weight:400;color:var(--muted)}.booking-shell fieldset{border:0;padding:0;margin:0}.booking-shell .notice{border-radius:12px;background:#EAF7EF;font-size:.9rem;margin:0}.booking-shell input[type=checkbox]{width:20px;height:20px;accent-color:#008A60;flex-shrink:0}.booking-shell .consent{font-weight:400;display:flex;flex-direction:row;gap:.75rem;align-items:start}.consent a{text-decoration:underline;color:#00734f}.booking-shell #booking-error,.booking-shell #send-error{color:#a12626}.booking-shell #review:not(:empty){margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}.booking-shell #review h2{font-size:1.6rem}.review-actions{display:flex;gap:1rem;flex-wrap:wrap}.booking-summary{padding:1rem;background:#EAF7EF;border-radius:12px;font-size:.9rem}.booking-summary:empty{display:none}.booking-shell .submit-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.text-button{background:white;border:1px solid #008A60;color:#00734f;padding:.85rem 1.2rem;border-radius:12px;font:600 .95rem 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;gap:.6rem;align-items:center;background:#008A60;color:white;padding:.9rem 1.15rem;border-radius:100px;box-shadow:0 5px 20px #172b2426;font-weight:600;transition:transform 180ms}.whatsapp-float:hover{transform:translateY(-3px);background:#00734f}.whatsapp-float svg{width:24px;height:24px}.mobile-reserve{display:none}
@media(min-width:851px){.header nav{visibility:visible!important;opacity:1!important}.header .menu{display:none}}
@media(max-width:850px){.header nav,.inside-header nav{background:white;color:#172B24;z-index:40}.header nav{top:100%;border-bottom:1px solid var(--line)}.inside-header{flex-wrap:wrap}.inside-header nav.open{display:flex}.hero{width:90%;grid-template-columns:1fr;min-height:0}.hero-image{grid-column:1;grid-row:2;min-height:260px}.hero-content{padding:2rem}.section{padding:52px 5%}.section-heading{display:block}.how-top{display:block}.hero h1{max-width:20ch}.inside-card{padding:1.2rem}}
@media(max-width:650px){body.public-page{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.mobile-reserve{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:35;background:#fff;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -3px 14px #172b240a}.mobile-reserve .button{width:100%}.whatsapp-float{bottom:calc(94px + env(safe-area-inset-bottom));right:16px;width:50px;height:50px;padding:13px;justify-content:center}.whatsapp-float span{display:none}.booking-shell{padding:2rem 5% 6rem}.booking-card{padding:1.25rem}.booking-shell form{grid-template-columns:1fr}.booking-shell .wide{grid-column:1}.booking-shell .submit-row .button{width:100%}.hero-content{padding:1.6rem}.hero h1{font-size:2.35rem}.hero-image{min-height:220px}.hero .actions{align-items:stretch;flex-direction:column}.hero .text-link{padding:.4rem 0}.nature-gallery{grid-template-columns:1fr 1fr}.nature-feature{grid-column:1/-1}.steps,.about{grid-template-columns:1fr}.about-image{min-height:320px}.header{min-height:76px;gap:.6rem}.header-actions{gap:.5rem}.brand{min-width:130px}.booking-shell dl{grid-template-columns:1fr}.booking-shell dd{margin-bottom:.7rem}.contact .secondary-link{font-size:.9rem}.inside-main .filters{display:grid;grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.button:hover,.whatsapp-float:hover{transform:none}}
/* Accessible button contrast; shared mobile action rail leaves content unobscured. */
.button,.whatsapp-float{background:#007f58}
@media(max-width:650px){.mobile-reserve{padding-right:82px}.whatsapp-float{z-index:40;bottom:calc(12px + env(safe-area-inset-bottom));right:18px;width:48px;height:48px}.booking-shell h1{overflow-wrap:anywhere}}

/* Public design system: generous white space and photography. */
:root{--primary:#15803d;--ink:#111111;--muted:#4b5b50;--line:#dce5df;--cream:#fff;--forest:#153e29;--sand:#f3f7f4}
html{scroll-behavior:auto}body.public-page,body.homepage{background:#fff;color:#111;font-family:'Source Sans 3',Arial,sans-serif}h1,h2,h3,.inside-main h2{font-family:'Source Sans 3',Arial,sans-serif;letter-spacing:-.025em}h1,h2{font-weight:700}h1 em,h2 em{font-style:normal;color:inherit!important}.eyebrow{display:none!important}
.header,.homepage .header,.inside-header{position:relative;top:auto;left:auto;min-height:80px;height:auto;padding:1rem 6%;background:#fff;color:#111;border-bottom:1px solid #e8eeea}.homepage .header .brand strong,.brand strong{color:#15803d;font-family:'Source Sans 3',Arial,sans-serif;font-weight:800}.header nav,.inside-header nav{font-size:.9rem;font-weight:600}.homepage .header nav a:hover,.header nav a:hover{color:#15803d}.homepage .language,.homepage .menu,.language,.menu,.inside-menu{color:#111;border-color:#cddbd1}.button,.homepage .button,.homepage .header .button,.whatsapp-float{background:#15803d;color:#fff;border-radius:8px;box-shadow:none}.button:hover,.homepage .button:hover,.whatsapp-float:hover{background:#116a33;color:white}.button:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #15803d;outline-offset:3px}
.homepage .hero{width:min(1400px,88%);max-width:1400px;margin:2rem auto 0;min-height:0;height:auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#f3f7f4;color:#111;border-radius:16px;overflow:hidden}.homepage .hero-content{grid-column:1;grid-row:1;width:auto;margin:0;padding:clamp(2rem,5vw,5rem);align-self:center}.homepage .hero-image{position:relative;grid-column:2;grid-row:1;min-height:440px;background:url('/assets/playa.jpg') center/cover no-repeat}.homepage .hero h1{font:700 clamp(2.8rem,5vw,4.8rem)/1.06 'Source Sans 3',Arial,sans-serif;color:#111;letter-spacing:-.035em}.homepage .hero h1 em{color:#15803d!important;font-style:normal;font-weight:700}.homepage .hero-copy{color:#445148;font-size:1.05rem;line-height:1.7}.homepage .hero .light-link{color:#165b31;border-color:#165b31}.homepage .section{padding:80px 6%;background:#fff}.homepage .section-heading{max-width:1400px;margin:0 auto 2rem}.homepage .section-heading h2,.homepage .how h2,.homepage .about h2,.homepage .contact h2{font:700 clamp(2rem,3.5vw,3.4rem)/1.12 'Source Sans 3',Arial,sans-serif;letter-spacing:-.03em}.homepage .section-heading>p,.homepage .about p{color:#4b5b50}.homepage .services{background:#fff}.destination-quick{display:flex;gap:.75rem;max-width:1400px;margin:0 auto 1.5rem}.destination-quick a{border:1px solid #cbdad0;border-radius:8px;padding:.85rem 1rem;font-weight:700;min-width:150px;display:flex;justify-content:space-between;gap:1rem}.destination-quick a:hover{border-color:#15803d;color:#15803d}.homepage .filters{border:0;padding:0}.filters label{color:#263b2d}.filters select{border-radius:8px;border:1px solid #b6c9bc;background:#fff}.service-cards,.inside-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}.service-card,.inside-card{padding:0;border:1px solid #e0e8e2;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #153e290b}.service-card img,.inside-card img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0}.card-content{padding:1.3rem}.service-card h3,.inside-card h3{font:700 1.25rem/1.25 'Source Sans 3',Arial,sans-serif;margin:.6rem 0}.service-card small,.inside-card small{color:#53645a}.card-content p{margin:.5rem 0;color:#4b5b50}.card-price{font-weight:700;color:#111!important}.card-link,.inside-card a.card-link{display:inline-block;margin:1rem 0 0;color:#15803d;font-weight:700;text-decoration:none}.empty[hidden]{display:none}.homepage .destinations,.homepage .nature{background:#f6f9f6}.homepage .destination{min-height:300px;border-radius:14px}.homepage .destination h3{font:700 2rem 'Source Sans 3',Arial,sans-serif}.homepage .destination h3 em{font-style:normal}.homepage .nature-image,.homepage .nature-feature .nature-image{border-radius:12px}.homepage .nature-item strong{font:700 1.1rem 'Source Sans 3',Arial,sans-serif}.homepage .how{background:#eff6f0;color:#111}.homepage .how h2 em{color:#15803d!important}.homepage .how-top>p,.homepage .steps p,.homepage .disclaimer{color:#42564a}.homepage .steps h3{font:700 1.2rem 'Source Sans 3',Arial,sans-serif}.homepage .steps span{color:#15803d}.homepage .about-image{min-height:400px;border-radius:14px;background-image:url('/assets/palmeras.jpg')}.homepage .contact{background:#f0f7f1;color:#111}.homepage .contact>p:not(.eyebrow),.homepage .contact-line{color:#42564a}.homepage footer,footer{background:#143a27}.inside-main{color:#111}.inside-main h1{font-weight:700}.inside-main h2{font-weight:700}.detail-aside{background:#f1f7f2}.dest-tamarindo{background-image:linear-gradient(0deg,#102b24c9,transparent),url('/assets/barco.jpg')}.dest-caribe{background-image:linear-gradient(0deg,#102b24c9,transparent),url('/assets/palmeras.jpg')}
@media(hover:hover) and (pointer:fine){.service-card:hover,.inside-card:hover{transform:translateY(-2px);transition:transform 200ms ease-out}.destination:hover{transform:translateY(-2px)}}
@media(max-width:850px){.homepage .header nav,.inside-header nav{background:#fff;color:#111}.homepage .hero{width:88%;grid-template-columns:1fr}.homepage .hero-content{grid-column:1;grid-row:1}.homepage .hero-image{grid-column:1;grid-row:2;min-height:300px}.service-cards,.inside-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage .section{padding:60px 6%}}
@media(max-width:650px){.homepage .header{min-height:76px}.homepage .hero{width:90%;margin-top:1rem}.homepage .hero-content{padding:2rem 1.5rem}.homepage .hero h1{font-size:2.6rem}.homepage .hero-image{min-height:240px}.homepage .hero .actions{align-items:flex-start}.homepage .section{padding:55px 5%}.service-cards,.inside-cards{grid-template-columns:1fr}.destination-quick a{min-width:0;flex:1}.homepage .destination{min-height:260px}.homepage .about-image{min-height:300px}.homepage .mobile-reserve .button,.homepage .whatsapp-float{background:#15803d;color:#fff}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Homepage: a photographic journey from the Pacific to the Caribbean. */
body.homepage{background:#f8f7f1;color:#18332a}
.homepage .header{position:absolute;top:0;left:0;width:100%;z-index:20;background:transparent;border-bottom:1px solid #ffffff42;color:#fff;min-height:88px}
.homepage .header .brand strong{color:#fff}.homepage .header nav a:hover{color:#dce9b3}.homepage .language,.homepage .menu{background:transparent;border-color:#ffffff8c;color:white}
.homepage .hero{width:100%;max-width:none;margin:0;min-height:720px;height: min(920px, 100svh);display:flex;align-items:center;position:relative;border-radius:0;color:#fff;background:#173a30}
.homepage .hero-image{position:absolute;inset:0;min-height:0;background:linear-gradient(90deg,rgba(5,28,22,.82) 0%,rgba(5,28,22,.56) 48%,rgba(5,28,22,.13) 100%),linear-gradient(0deg,rgba(5,28,22,.32),transparent 35%),url('/assets/playa.jpg') center 54%/cover no-repeat}
.homepage .hero-content{position:relative;width:min(760px,86%);max-width:none;margin:70px 0 0 8%;padding:0}
.homepage .hero .eyebrow{display:block;color:#e2ebc8;font-size:.72rem;letter-spacing:.2em;margin-bottom:1.5rem}
.homepage .hero h1{font-family:Georgia,serif;font-size:clamp(4rem,7.4vw,7rem);font-weight:400;letter-spacing:-.035em;line-height:1.02;margin-bottom:1.5rem;text-wrap:balance}
.homepage .hero h1 em{color:#e1eab9!important;font-weight:400;font-style:italic}.homepage .hero-copy{max-width:570px;color:#f4f8f3;font-size:1.05rem;line-height:1.8}.homepage .hero .light-link{color:#fff;border-bottom:1px solid #ffffffa8;padding-bottom:.3rem}
.homepage .button{background:#dce9b3;color:#173329;border-radius:4px;box-shadow:none}.homepage .button:hover{background:#f0f4d8;color:#173329}.homepage .header .button{background:#fff;color:#173329}
.homepage .section{max-width:none;padding:100px 8%}.homepage .section-heading{max-width:1400px;margin:0 auto 3rem}.homepage .section-heading h2,.homepage .how h2,.homepage .about h2,.homepage .contact h2{font:400 clamp(2.5rem,4.5vw,4.5rem)/1.08 Georgia,serif;letter-spacing:-.025em}.homepage h2 em{font-weight:400;font-style:italic;color:#557255!important}.homepage .section-heading>p{max-width:420px;line-height:1.8}
.homepage .destinations{background:#f8f7f1}.homepage .destination-grid{max-width:1400px;margin:auto;grid-template-columns:1.2fr 1fr;gap:1rem}.homepage .destination{min-height:480px;border-radius:3px;padding:2.5rem;box-shadow:none}.homepage .card-one{background-image:url('/assets/barco.jpg')}.homepage .card-two{background-image:url('/assets/palmeras.jpg')}.homepage .destination h3{font:400 clamp(2rem,3vw,3.2rem)/1.1 Georgia,serif;margin:.8rem 0}.homepage .destination h3 em{font-style:italic}.homepage .destination small{display:block;color:#e8efdc}.homepage .destination span{display:inline-block;border-bottom:1px solid #fff;padding-bottom:.4rem}
.homepage .services{background:#e9eee3}.homepage .filters,.homepage #service-results,.homepage .empty{max-width:1400px;margin-left:auto;margin-right:auto}.homepage .filters{border-top:1px solid #bdcec0;padding-top:1.5rem}.homepage .service-card{border-radius:3px;box-shadow:none}.homepage .empty{padding:3.5rem 1rem 0}
.homepage .nature{background:#f8f7f1}.homepage .nature-gallery,.homepage .nature-note{max-width:1400px;margin-left:auto;margin-right:auto}.homepage .nature-image,.homepage .nature-feature .nature-image{height:320px;border-radius:3px}.homepage .nature-item strong{font:400 1.35rem Georgia,serif}
.homepage .how{background:#173b30;color:#fff}.homepage .how-top,.homepage .steps,.homepage .disclaimer{max-width:1400px;margin-left:auto;margin-right:auto}.homepage .how h2 em{color:#dce9b3!important}.homepage .how-top>p,.homepage .steps p,.homepage .disclaimer{color:#e1ece3}.homepage .steps article{border-color:#709084}.homepage .steps span{color:#dce9b3}.homepage .steps h3{font:400 1.5rem Georgia,serif}.homepage .disclaimer{margin-top:3rem}
.homepage .about{max-width:1400px;margin:auto;gap:8%}.homepage .about-image{border-radius:3px;min-height:520px}.homepage .contact{background:#dfe9dc;color:#173b30}.homepage .contact>p:not(.eyebrow),.homepage .contact-line{color:#38594b}.homepage .contact-line{border-color:#aec5b2}.homepage .contact .button{background:#173b30;color:#fff}.homepage footer{background:#102e25}.homepage .footer-brand strong{color:#fff}
@media(max-width:850px){.homepage .header nav{background:#173b30;color:#fff}.homepage .header nav.open{pointer-events:auto}.homepage .hero{min-height:690px;height:90svh}.homepage .hero-content{margin-left:6%}.homepage .section{padding:75px 6%}.homepage .destination{min-height:380px}.homepage .nature-image,.homepage .nature-feature .nature-image{height:260px}}
@media(max-width:550px){.homepage .header{min-height:76px}.homepage .hero{min-height:680px;height:92svh}.homepage .hero-image{background-position:60% center}.homepage .hero-content{width:88%;margin:50px 6% 0}.homepage .hero h1{font-size:clamp(3.5rem,14vw,4.8rem)}.homepage .hero-copy{font-size:.98rem}.homepage .hero .actions{align-items:flex-start}.homepage .section{padding:65px 6%}.homepage .section-heading h2,.homepage .how h2,.homepage .about h2,.homepage .contact h2{font-size:2.55rem}.homepage .destination-grid{grid-template-columns:1fr}.homepage .destination{min-height:350px;padding:1.7rem}.homepage .nature-image,.homepage .nature-feature .nature-image{height:230px}.homepage .about-image{min-height:340px}.homepage .mobile-reserve .button{background:#173b30;color:#fff}.homepage .whatsapp-float{background:#173b30;color:#fff}}


/* Costa Rican Trips: a dark, dimensional travel journal. */
:root{--primary:#b8e878;--ink:#f4f7ed;--muted:#b9c9be;--line:#344a3d;--cream:#0c1711;--forest:#0b1711;--sand:#182a1e}
body.public-page,body.homepage{background:#0b1510;color:#f5f7ee}::selection{background:#b8e878;color:#102015}
.header,.homepage .header,.inside-header,.admin-header{background:#0b1510;color:#f5f7ee;border-color:#293d30}.brand strong,.homepage .header .brand strong{color:#c3ec89}.homepage .language,.homepage .menu,.language,.menu,.inside-menu{color:#f5f7ee;border-color:#617b68}.header nav a,.inside-header nav a{color:#e1ebe2}.header nav a:hover,.homepage .header nav a:hover{color:#c3ec89}
.button,.homepage .button,.homepage .header .button,.whatsapp-float{background:#b8e878;color:#102015;border-radius:8px}.button:hover,.homepage .button:hover,.whatsapp-float:hover{background:#d4f4a8;color:#102015}.button:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline-color:#c4ef8c}
.homepage .hero{width:100%;max-width:none;margin:0;min-height:650px;grid-template-columns:1.05fr .95fr;background:#102319;border-radius:0;overflow:hidden}.homepage .hero-content{padding:clamp(3rem,7vw,7.5rem);position:relative;z-index:1}.homepage .hero h1{font-size:clamp(3.5rem,6.7vw,6.6rem);line-height:.98;color:#f6f8ef;max-width:11ch}.homepage .hero h1 em{color:#b8e878!important}.homepage .hero-copy{color:#d0ddd0;font-size:1.15rem;max-width:34rem}.homepage .hero-image{min-height:650px;background:linear-gradient(90deg,#102319 0%,transparent 24%),url('/assets/playa.jpg') center/cover no-repeat}.hero-location,.hero-footnote{font-size:.8rem;letter-spacing:.12em;font-weight:700;color:#b8e878}.hero-location{margin-bottom:2rem}.hero-footnote{margin:4rem 0 0;color:#adc0af}.homepage .hero .light-link{color:#e3eee3;border-color:#a8c2aa}
.homepage .section{background:#0b1510;padding:100px 6%}.homepage .section-heading h2,.homepage .how h2,.homepage .about h2,.homepage .contact h2,.inside-main h1,.inside-main h2{color:#f4f7ed}.homepage .section-heading>p,.homepage .about p,.homepage .contact>p:not(.eyebrow),.homepage .contact-line,.inside-main p,.inside-intro{color:#b9c9be}.homepage .services{background:#0f1d14}.destination-quick a{border-color:#506a57;color:#eef6ed}.destination-quick a:hover{color:#c8f098;border-color:#b8e878}.filters label{color:#e4eee4}.filters select,.inside-main select,.clear{background:#17291d;color:#f4f7ed;border-color:#607867}.service-card,.inside-card{background:#1b2d20;border:0;box-shadow:0 15px 30px #0006,0 2px 0 #415647 inset;color:#f3f7ee;transform:translateZ(0);transition:transform 200ms ease-out,box-shadow 200ms ease-out}.service-card img,.inside-card img{aspect-ratio:4/3}.service-card small,.inside-card small,.card-content p{color:#c3d3c5}.card-price{color:#f5f7ee!important}.card-link,.inside-card a.card-link{color:#c5ed90}.demo-label{display:block;width:max-content;background:#405531;color:#efffd6;padding:.3rem .6rem;border-radius:5px;font-size:.8rem;font-weight:700;margin-bottom:.7rem}.empty p,.empty h3{color:#d8e4d8}.homepage .destinations,.homepage .nature{background:#14241a}.homepage .destination{box-shadow:0 16px 30px #0005,0 1px 0 #ffffff40 inset}.homepage .nature-item strong{color:#f4f7ed}.nature-item span,.nature-note,.nature-item figcaption a{color:#c1d1c3}.homepage .how{background:#1d3221;color:#f5f7ee}.homepage .how h2 em,.homepage .steps span{color:#c4ee8c!important}.homepage .how-top>p,.homepage .steps p,.homepage .disclaimer{color:#d0decf}.homepage .steps article,.homepage .disclaimer{border-color:#58705b}.homepage .about-image{box-shadow:18px 18px 0 #1c3222}.homepage .contact{background:#243e29;color:#fff}.homepage .contact>p:not(.eyebrow),.homepage .contact-line{color:#d3e4d3}.homepage footer,footer{background:#070f0a;color:#e6eee6}.footer-main p,.footer-main h3,.footer-bottom{color:#b9c9be}.inside-main{color:#f4f7ed}.detail-aside,.notice,.booking-summary{background:#21392a;color:#f5f7ee}.inside-main .contact-list a,.secondary-link,.underlink{color:#c5ed90}.booking-shell{color:#f5f7ee}.booking-intro{color:#c3d3c5}.booking-card{background:#192b1e;border-color:#405846;box-shadow:0 16px 30px #0005}.booking-shell input:not([type=checkbox]),.booking-shell select,.booking-shell textarea{background:#0e1b12;color:#fff;border-color:#708a74}.booking-shell label small{color:#c4d2c5}.booking-shell .notice{background:#25402b;color:#e3f4e5}.mobile-reserve{background:#102016;border-color:#3c5441}.homepage .mobile-reserve .button,.homepage .whatsapp-float{background:#b8e878;color:#102015}
@media(hover:hover) and (pointer:fine){.service-card:hover,.inside-card:hover{transform:translateY(-5px) perspective(900px) rotateX(1deg);box-shadow:0 22px 38px #0008,0 2px 0 #607a63 inset}.destination:hover{transform:translateY(-3px)}}
@media(max-width:850px){.homepage .header nav,.inside-header nav{background:#102016;color:#f4f7ed}.homepage .hero{width:100%;grid-template-columns:1fr}.homepage .hero-content{padding:3.5rem 6%}.homepage .hero-image{min-height:320px;background:linear-gradient(180deg,#102319,transparent 25%),url('/assets/playa.jpg') center/cover}.homepage .section{padding:72px 6%}}
@media(max-width:650px){.homepage .hero{width:100%;margin:0}.homepage .hero h1{font-size:clamp(3.3rem,14vw,4.8rem)}.homepage .hero-image{min-height:260px}.hero-footnote{margin-top:2.5rem}.homepage .section{padding:60px 5%}.homepage .about-image{box-shadow:10px 10px 0 #1c3222}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.service-card:hover,.inside-card:hover{transform:none}}
.homepage .hero h1{font-family:'Source Sans 3',sans-serif;font-style:normal}.homepage .hero h1 em{font-style:normal}.brand span{font-size:.78rem}.homepage .destination small{font-size:.8rem}.footer-bottom,.contact-line{font-size:.8rem;letter-spacing:.03em}.homepage .header nav,.inside-header nav{color:#f4f7ed}.homepage .contact h2 em{color:#f4f7ed!important}.homepage .hero-image{background-image:url('/assets/playa.jpg')}.homepage .about-image{box-shadow:0 16px 32px #0006}@media(max-width:850px){.homepage .hero-image{background-image:url('/assets/playa.jpg')}}
/* Palette and controls */
body.public-page,body.homepage{background:#0b0f0d;color:#fff}.header,.homepage .header,.inside-header{background:#0b0f0d}.homepage .hero,.homepage .services,.homepage .section{background:#0b0f0d}.homepage .destinations,.homepage .nature,.homepage .how,.homepage .contact,.service-card,.inside-card,.detail-aside,.booking-card{background:#141c17}.homepage .hero h1,.homepage .section h2,.inside-main h1,.inside-main h2{color:#fff}.homepage .hero h1 em,.homepage .how h2 em{color:#4ade80!important}.homepage .hero-copy,.homepage .section-heading>p,.homepage .about p,.inside-main p,.card-content p,.homepage .how-top>p,.homepage .steps p,.homepage .disclaimer{color:#b8c5bc}.button,.homepage .button,.homepage .header .button,.whatsapp-float,.homepage .mobile-reserve .button,.homepage .whatsapp-float{background:#4ade80;color:#0b0f0d;border-radius:14px}.button:hover,.homepage .button:hover{background:#86efac;color:#0b0f0d}.service-card,.inside-card,.homepage .destination,.homepage .about-image,.detail-aside,.booking-card{border-radius:20px}.catalog-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.catalog-filters input,.catalog-filters select{width:100%;min-height:48px;padding:.8rem;border:1px solid #607468;border-radius:12px;background:#141c17;color:#fff;font:inherit}.catalog-filters label{display:flex;flex-direction:column;gap:.4rem}.filter-note{font-size:.9rem}.quick-search{display:flex;max-width:520px;gap:.5rem;margin-top:1.5rem}.quick-search input{min-width:0;flex:1;padding:1rem;border-radius:12px;border:1px solid #718477;background:#141c17;color:#fff;font:inherit}.faq-list{max-width:900px;margin:auto}.faq-list details{padding:1.2rem 0;border-bottom:1px solid #3a4b40}.faq-list summary{cursor:pointer;font-weight:700}.faq-list p{color:#b8c5bc;line-height:1.6;margin:1rem 0 0}.homepage .section.faq{background:#141c17}.faq h2{max-width:900px;margin:0 auto 2rem}.demo-label{background:#263a29;color:#d8fbe2}@media(max-width:800px){.catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.catalog-filters{grid-template-columns:1fr}.quick-search{flex-direction:column}}
.homepage .section{padding-left:max(24px,6%);padding-right:max(24px,6%)}
.review-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem;margin:1.5rem 0}.review-item{background:#141c17;border-radius:16px;padding:1.5rem}.review-item h3{margin-bottom:.5rem}.review-item p{color:#d3e1d6;white-space:pre-wrap;overflow-wrap:anywhere}.review-form{display:grid;gap:1rem;max-width:600px}.review-form label{display:grid;gap:.4rem;font-weight:600}.review-form input,.review-form select,.review-form textarea{width:100%;padding:.85rem;border:1px solid #819589;border-radius:10px;background:#141c17;color:#fff;font:inherit}.review-form textarea{min-height:120px;resize:vertical}.review-form .button{justify-self:start;border:0;cursor:pointer}.review-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}#tour-reviews{margin-top:4rem}#reviews-home{max-width:1400px;margin:auto}


:root{--forest:#0B1F14;--primary:#2E7D32;--accent:#A7DFB7;--ink:#10271a;--muted:#52685a;--line:#d9e4db;--sand:#f0f5f0;--ease-out:cubic-bezier(.23,1,.32,1)}
html{scroll-behavior:smooth}body.public-page,body.homepage{background:#F8FAF8;color:var(--ink);font-family:Inter,sans-serif}h1,h2,h3,h4,.brand strong{font-family:Montserrat,sans-serif;letter-spacing:-.035em}button,input,select,textarea{font-family:inherit}a,button{transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,transform 180ms var(--ease-out)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #2E7D32;outline-offset:3px}.button,.homepage .button,.homepage .header .button,.whatsapp-float,.homepage .whatsapp-float{background:var(--primary);color:#fff;border:1px solid transparent;border-radius:999px;padding:.9rem 1.35rem;font-weight:700;box-shadow:0 8px 24px #0b1f141a}.button:hover,.homepage .button:hover{background:#205e25;color:#fff;transform:translateY(-2px)}.button:active,button:active{transform:scale(.98)}
.homepage .header{background:linear-gradient(180deg,#07180ed9,transparent);border:0}.homepage .header .button{background:#fff;color:var(--forest)}.homepage .hero{background:var(--forest);min-height:700px}.homepage .hero-image{background:linear-gradient(90deg,#071b12d9 0%,#071b1280 55%,#071b1226 100%),linear-gradient(0deg,#071b1266,transparent 40%),url('/assets/playa.jpg') center 54%/cover no-repeat}.homepage .hero h1{font:700 clamp(3.5rem,7vw,6.8rem)/1.02 Montserrat,sans-serif;letter-spacing:-.055em}.homepage .hero h1 em{font-style:normal;color:var(--accent)!important}.homepage .hero-copy{font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7}.homepage .hero-content{width:min(760px,86%)}.quick-search{background:#fff;padding:.45rem;border-radius:18px;box-shadow:0 16px 48px #0003}.quick-search input{background:transparent;color:var(--ink);border:0;padding:.8rem 1rem}.quick-search input::placeholder{color:#65766a}.homepage .hero-footnote{letter-spacing:.16em}
.homepage .section{padding:clamp(70px,8vw,120px) max(6%,24px)}.homepage .section-heading h2,.homepage .how h2,.homepage .about h2,.homepage .contact h2,.homepage .faq h2{font:700 clamp(2.1rem,4vw,3.7rem)/1.12 Montserrat,sans-serif;letter-spacing:-.045em}.homepage h2 em{font-style:normal;color:var(--primary)!important}.homepage .services,.homepage .nature,.homepage .about,.homepage .section.faq,#opiniones{background:#F8FAF8;color:var(--ink)}.homepage .destinations{background:#edf4ed}.homepage .section-heading>p,.homepage .about p,.homepage .nature-note,.homepage .steps p,.homepage .faq-list p{color:var(--muted)}.homepage .destination-grid{gap:1.25rem}.homepage .destination{border-radius:22px;overflow:hidden;box-shadow:0 14px 40px #0b1f1420}.homepage .destination h3{font:700 clamp(2rem,3vw,3rem)/1.1 Montserrat,sans-serif}.homepage .destination h3 em{font-style:normal}.homepage .nature-image,.homepage .nature-feature .nature-image,.homepage .about-image{border-radius:20px}.homepage .nature-item strong{font:700 1.1rem Montserrat,sans-serif;color:var(--ink)}.homepage .how{background:var(--forest);color:#fff}.homepage .how h2 em,.homepage .steps span{color:var(--accent)!important}.homepage .how-top>p,.homepage .steps p,.homepage .disclaimer{color:#d2e2d5}.homepage .steps h3{font:600 1.2rem Montserrat,sans-serif}.homepage .contact{background:#e5f2e7;color:var(--forest)}.homepage .contact h2 em{color:var(--primary)!important}.homepage .contact>p:not(.eyebrow),.homepage .contact-line{color:#425e4a}.homepage footer,footer{background:var(--forest);color:#fff}.footer-main p,.footer-main h3,.footer-bottom{color:#cfdfd1}
.inside-header,.admin-header{background:var(--forest);color:#fff}.inside-main{color:var(--ink)}.inside-main h1,.inside-main h2,.inside-main h3{color:var(--ink);font-family:Montserrat,sans-serif;font-weight:700}.inside-main p,.inside-intro{color:var(--muted)}.inside-main h1{line-height:1.1;letter-spacing:-.05em}.inside-main h2{font-size:clamp(1.65rem,2.8vw,2.5rem)}.inside-main section{margin-top:3rem}.catalog-filters{background:#edf4ed;border:1px solid var(--line);padding:1.5rem;border-radius:20px}.catalog-filters input,.catalog-filters select,.filters select,.inside-main select,.booking-shell input:not([type=checkbox]),.booking-shell select,.booking-shell textarea,.review-form input,.review-form select,.review-form textarea{background:#fff;color:var(--ink);border:1px solid #b9cdbd;border-radius:10px;min-height:48px}.filters label,.catalog-filters label{color:var(--ink)}.clear{border-radius:999px;background:#fff;color:var(--primary);border-color:#a9c5ad}.service-card,.inside-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px #0b1f140a;padding:0}.service-card img,.inside-card img{border-radius:0;aspect-ratio:4/3;object-fit:cover}.service-card .card-content,.inside-card .card-content{padding:1.35rem}.inside-card h3,.service-card h3{font:700 1.25rem/1.25 Montserrat,sans-serif;color:var(--ink)}.service-card small,.inside-card small,.card-content p{color:var(--muted)}.card-price{color:var(--ink)!important}.card-link,.inside-card a.card-link,.secondary-link,.inside-main .contact-list a,.underlink{color:var(--primary)}.destination-hero,.detail-hero{border-radius:20px}.destination-hero h1,.destination-hero h2{color:white}.dest-tamarindo{background-image:linear-gradient(0deg,#0b1f14c9,transparent),url('/assets/barco.jpg')}.dest-caribe{background-image:linear-gradient(0deg,#0b1f14c9,transparent),url('/assets/palmeras.jpg')}.detail-grid{margin-top:2.5rem}.detail-aside,.notice,.booking-summary{background:#e8f3e9;color:var(--ink);border:1px solid #cfe2d1;border-radius:18px}.booking-shell{color:var(--ink)}.booking-intro,.booking-shell label small{color:var(--muted)}.booking-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 36px #0b1f140d}.booking-shell .notice{background:#e8f3e9;color:var(--ink)}.review-item{background:#fff;border:1px solid var(--line);color:var(--ink)}.review-item p{color:var(--muted)}.faq-list details{border-color:var(--line)}.empty,.empty-state{color:var(--ink)}.empty p,.empty h3{color:var(--muted)}.demo-label{background:#e2f0df;color:#245b29}.mobile-reserve{background:#fff;border-color:var(--line)}.homepage .mobile-reserve .button{background:var(--primary);color:#fff}
@media(hover:hover) and (pointer:fine){.service-card:hover,.inside-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px #0b1f141c}.destination:hover{transform:translateY(-3px)}}
@media(max-width:850px){.homepage .header nav,.inside-header nav{background:var(--forest);color:#fff}.homepage .hero-image{background:linear-gradient(90deg,#071b12c9,#071b1266),url('/assets/playa.jpg') center/cover}.homepage .hero{min-height:680px}.homepage .hero h1{font-size:clamp(3.25rem,10vw,5rem)}}
@media(max-width:550px){.homepage .hero h1{font-size:clamp(3rem,13vw,4.3rem)}.quick-search{border-radius:16px}.quick-search .button{width:100%}.homepage .destination{min-height:340px}.catalog-filters{padding:1rem}.inside-main{padding-left:6%;padding-right:6%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.service-card:hover,.inside-card:hover,.destination:hover{transform:none}}

/* Administrative workspace */
.admin-page{--forest:#0B1F14;--ink:#10271a;--muted:#52685a;--line:#d9e4db;--sand:#edf4ed;background:#f4f7f4;color:var(--ink);font-family:Inter,sans-serif}.admin-page .admin-header{background:var(--forest);min-height:76px}.admin-page h1,.admin-page h2,.admin-page h3,.admin-page .brand strong{font-family:Montserrat,sans-serif;font-weight:700}.admin-page .brand strong{color:#fff}.admin-page .admin-shell{max-width:1500px;padding-top:3rem}.admin-title{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.admin-title h1{margin-right:auto}.admin-title p{width:100%;margin-top:0}.admin-page #login{max-width:520px;background:white;border:1px solid var(--line);border-radius:20px;padding:2rem;box-shadow:0 12px 36px #0b1f140a}.admin-page #login form{display:grid;gap:1rem;margin:1.25rem 0}.admin-page #dashboard:not([hidden]){display:grid;grid-template-columns:220px minmax(0,1fr);gap:2rem;align-items:start}.admin-page .tabs{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.3rem;margin:0;padding:.7rem;background:#e8f1e9;border:0;border-radius:16px}.admin-page .tabs button{text-align:left;border:0!important;background:transparent!important;color:var(--ink)!important}.admin-page .tabs button:hover,.admin-page .tabs button[aria-selected=true],.admin-page .tabs button.active{background:#d1e6d4!important;color:#174d22!important}.admin-page .panel{min-width:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(1.25rem,3vw,2.5rem);box-shadow:0 12px 36px #0b1f1408}.admin-page .admin-shell input:not([type=checkbox]),.admin-page .admin-shell select,.admin-page .admin-shell textarea{background:#fff;color:var(--ink);border:1px solid #b9cdbd;border-radius:9px;min-height:46px}.admin-page .admin-shell button:not(.button){background:#edf4ed;color:var(--ink);border:1px solid #c9d9cc;border-radius:9px}.admin-page .button{background:var(--primary);color:white;border-radius:999px}.admin-page .list-row{border-color:var(--line)}.admin-page .review-admin-card{background:#f1f6f1;border:1px solid var(--line)}.admin-page #message{color:#864a13}.admin-page :focus-visible{outline:3px solid #2E7D32;outline-offset:3px}@media(max-width:800px){.admin-page #dashboard:not([hidden]){grid-template-columns:1fr}.admin-page .tabs{position:static;flex-direction:row;overflow-x:auto;flex-wrap:nowrap}.admin-page .tabs button{white-space:nowrap}.admin-page .admin-shell{padding:2rem 5% 5rem}}


.homepage .header .brand strong{color:#fff}.homepage .hero-content{padding:0}.homepage .quick-search{width:min(100%,520px)}
@media(max-width:850px){.homepage .header{gap:.5rem}.homepage .header .brand{min-width:0}.homepage .hero-content{padding:0}}
@media(min-width:851px) and (max-width:1200px){.homepage .header{gap:1rem;padding-inline:3%}.homepage .header nav{gap:.8rem}.homepage .header .brand{min-width:110px}.homepage .header .button{padding:.75rem}.inside-header{gap:1rem;padding-inline:3%}.inside-header nav{gap:.8rem}}
/* Dark surfaces shared by the public site and administrative workspace. */
:root{color-scheme:dark;--forest:#000;--ink:#f4f8f4;--muted:#c2d0c4;--line:#405047;--sand:#151c17}
body.public-page,body.homepage,body.admin-page,body.gallery-admin-page{background:#000;color:#f4f8f4}
.homepage .services,.homepage .destinations,.homepage .nature,.homepage .about,.homepage .how,.homepage .contact,.homepage .section.faq,.homepage #opiniones,.homepage footer,footer,.inside-header,.admin-header,.gallery-admin-header,.legal-header{background-color:#000;color:#f4f8f4}
.homepage .section-heading h2,.homepage .about h2,.homepage .how h2,.homepage .contact h2,.homepage .faq h2,.inside-main,.inside-main h1,.inside-main h2,.inside-main h3,.booking-shell,.legal,.gallery-admin,.admin-page h1,.admin-page h2,.admin-page h3{color:#f4f8f4}
.homepage .section-heading>p,.homepage .about p,.homepage .nature-note,.homepage .how-top>p,.homepage .steps p,.homepage .disclaimer,.homepage .contact>p:not(.eyebrow),.homepage .contact-line,.homepage .faq-list p,.inside-main p,.inside-intro,.booking-intro,.booking-shell label small,.legal p,.admin-page p,.gallery-admin p{color:#c2d0c4}
.homepage h2 em,.homepage .contact h2 em,.homepage .how h2 em,.homepage .steps span,.card-link,.inside-card a.card-link,.secondary-link,.inside-main .contact-list a,.underlink{color:#a7dfb7!important}
.homepage .nature-item strong,.empty h3,.empty p,.empty-state,.filters label,.catalog-filters label{color:#f4f8f4}
.service-card,.inside-card,.review-item,.booking-card,.detail-aside,.notice,.booking-summary,.catalog-filters,.admin-page .panel,.admin-page #login,.admin-page .review-admin-card{background:#151c17;color:#f4f8f4;border-color:#405047;box-shadow:none}
.service-card h3,.inside-card h3,.service-card small,.inside-card small,.card-content p,.card-price,.review-item p,.booking-shell .notice,.detail-aside h2,.notice{color:#e1ebe2!important}
.catalog-filters input,.catalog-filters select,.filters select,.inside-main select,.booking-shell input:not([type=checkbox]),.booking-shell select,.booking-shell textarea,.review-form input,.review-form select,.review-form textarea,.admin-page .admin-shell input:not([type=checkbox]),.admin-page .admin-shell select,.admin-page .admin-shell textarea,.gallery-admin input,.gallery-admin textarea,.gallery-admin select{background:#111813;color:#fff;border-color:#758b79;color-scheme:dark}
input::placeholder,textarea::placeholder{color:#b8c8bb;opacity:1}.clear,.admin-page .admin-shell button:not(.button){background:#202d23;color:#fff;border-color:#758b79}.admin-page .tabs{background:#151c17}.admin-page .tabs button{color:#f4f8f4!important}.admin-page .tabs button:hover,.admin-page .tabs button[aria-current=page]{background:#315039!important;color:#fff!important}.admin-page .list-row,.faq-list details{border-color:#405047}.admin-page #message{color:#f4d79a}
.mobile-reserve{background:#000;border-color:#405047}.quick-search{background:#151c17;border:1px solid #758b79}.quick-search input{background:transparent;color:#fff}.quick-search input::placeholder{color:#c2d0c4}.homepage .contact-line{border-color:#405047}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto}}

/* White page surfaces and readable green controls. */
:root{color-scheme:light;--forest:#fff;--ink:#10271a;--muted:#42594a;--line:#d5e2d7;--sand:#f5f8f5}
body.public-page,body.homepage,body.admin-page,body.gallery-admin-page,body{background:#fff;color:#10271a}
.homepage .services,.homepage .destinations,.homepage .nature,.homepage .about,.homepage .how,.homepage .contact,.homepage .section.faq,.homepage #opiniones,.homepage footer,footer,.inside-header,.admin-header,.gallery-admin-header,.legal-header{background-color:#fff;color:#10271a}
.homepage .section-heading h2,.homepage .about h2,.homepage .how h2,.homepage .contact h2,.homepage .faq h2,.inside-main,.inside-main h1,.inside-main h2,.inside-main h3,.booking-shell,.legal,.gallery-admin,.admin-page h1,.admin-page h2,.admin-page h3{color:#10271a}
.homepage .section-heading>p,.homepage .about p,.homepage .nature-note,.homepage .how-top>p,.homepage .steps p,.homepage .disclaimer,.homepage .contact>p:not(.eyebrow),.homepage .contact-line,.homepage .faq-list p,.inside-main p,.inside-intro,.booking-intro,.booking-shell label small,.legal p,.admin-page p,.gallery-admin p,.footer-main p,.footer-main h3,.footer-bottom{color:#42594a}
.homepage h2 em,.homepage .contact h2 em,.homepage .how h2 em,.homepage .steps span,.card-link,.inside-card a.card-link,.secondary-link,.inside-main .contact-list a,.underlink{color:#246c2b!important}
.homepage .nature-item strong,.empty h3,.empty p,.empty-state,.filters label,.catalog-filters label{color:#10271a}
.service-card,.inside-card,.review-item,.booking-card,.detail-aside,.notice,.booking-summary,.catalog-filters,.admin-page .panel,.admin-page #login,.admin-page .review-admin-card{background:#fff;color:#10271a;border:1px solid #d5e2d7}
.service-card h3,.inside-card h3,.service-card small,.inside-card small,.card-content p,.card-price,.review-item p,.booking-shell .notice,.detail-aside h2,.notice{color:#263f2d!important}
.catalog-filters input,.catalog-filters select,.filters select,.inside-main select,.booking-shell input:not([type=checkbox]),.booking-shell select,.booking-shell textarea,.review-form input,.review-form select,.review-form textarea,.admin-page .admin-shell input:not([type=checkbox]),.admin-page .admin-shell select,.admin-page .admin-shell textarea,.gallery-admin input,.gallery-admin textarea,.gallery-admin select{background:#fff;color:#10271a;border-color:#91a997;color-scheme:light}
input::placeholder,textarea::placeholder{color:#566d5c;opacity:1}.clear,.admin-page .admin-shell button:not(.button){background:#f3f8f3;color:#10271a;border-color:#a9bfad}.admin-page .tabs{background:#f1f6f1}.admin-page .tabs button{color:#10271a!important}.admin-page .tabs button:hover,.admin-page .tabs button[aria-current=page]{background:#dceede!important;color:#174d22!important}.admin-page .list-row,.faq-list details{border-color:#d5e2d7}.admin-page #message{color:#80420b}
.mobile-reserve{background:#fff;border-color:#d5e2d7}.quick-search{background:#fff;border:1px solid #d5e2d7}.quick-search input{background:transparent;color:#10271a}.quick-search input::placeholder{color:#566d5c}.homepage .contact-line{border-color:#d5e2d7}.overview-grid article{background:#f5f8f5;border-color:#d5e2d7}.overview-grid span{color:#42594a}.overview-grid strong,#sales-summary strong{color:#10271a}#sales-summary{border-color:#d5e2d7}
.inside-header,.admin-header,.gallery-admin-header,.legal-header{border-bottom:1px solid #d5e2d7}.inside-menu{color:#10271a;border-color:#91a997}.homepage footer .footer-brand strong,.footer-brand strong{color:#10271a}
@media(max-width:850px){.homepage .header nav,.inside-header nav{background:#fff;color:#10271a}.homepage .header nav a,.inside-header nav a{color:#10271a}}

.inside-main .destination-hero h1,.inside-main .destination-hero h2{color:#fff}.homepage .destination h3,.homepage .destination small,.homepage .destination span{color:#fff}
/* Contraste de acciones y valoraciones reales */
.button,.homepage .button,.homepage .mobile-reserve .button,.admin-page .button,.review-form .button,.gallery-admin button{background:#205f29;color:#fff;border:1px solid #205f29}
.button:hover,.homepage .button:hover,.admin-page .button:hover,.review-form .button:hover,.gallery-admin button:hover{background:#164a1d;color:#fff;border-color:#164a1d}
.homepage .header .button{background:#fff;color:#174d22;border-color:#fff}.homepage .header .button:hover{background:#e9f4ea;color:#123a1a}
button:not(.button),.clear,.admin-page .admin-shell button:not(.button){color:#173d20;background:#f1f7f1;border-color:#809d87}
.homepage .menu,.homepage .language{background:#0b1f14;color:#fff;border-color:#fff}.inside-menu{background:#fff;color:#173d20;border-color:#809d87}
button:disabled,.button:disabled{opacity:.65;cursor:not-allowed}
.tour-rating{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;margin:.65rem 0;color:#354c3a!important;font-size:.85rem}.stars{color:#916000;font-size:1.1rem;letter-spacing:.08em;white-space:nowrap}.empty-rating{color:#526a57!important}.review-item .stars{color:#916000}
.transfer-shell{max-width:960px}.transfer-kicker{color:#246c2b;font-size:.8rem;font-weight:700;letter-spacing:.12em}.transfer-shell h1{max-width:16ch}.transfer-shell .booking-card{padding:clamp(1.25rem,4vw,2.5rem)}.transfer-shell fieldset{border:0;border-top:1px solid #d5e2d7;margin:0;padding:1.5rem 0 0;min-width:0}.transfer-shell legend{font-weight:700;color:#10271a;font-size:1.2rem;padding:0 .5rem 0 0}.transfer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.transfer-grid .wide{grid-column:1/-1}.transfer-map-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.transfer-map-actions button:not(.button){padding:.8rem 1rem;border:1px solid #809d87;border-radius:999px;background:#f3f8f3;color:#173d20;cursor:pointer}.transfer-shell dl{margin-top:1.5rem}.transfer-shell dd a{color:#246c2b;text-decoration:underline}.transfer-page .booking-shell .notice{color:#263f2d!important}.transfer-page .inside-header nav a[aria-current=page]{color:#246c2b}@media(max-width:650px){.transfer-grid{grid-template-columns:1fr}.transfer-grid .wide{grid-column:auto}.transfer-map-actions button{width:100%}}
.transfer-page .inside-header nav a{color:#173d20}.transfer-page .inside-header nav a:hover{color:#246c2b}
/* Identidad compartida: negro y dorado. */
body.public-page{--primary:#e1c27b;--forest:#10100f;--ink:#f8f6ef;--muted:#ddd9d0;--line:#514a3d;--sand:#201d17;--cream:#10100f;background:#10100f;color:#f8f6ef}
body.public-page h1,body.public-page h2,body.public-page h3,body.public-page h4,body.public-page .inside-main h1,body.public-page .inside-main h2,body.public-page .inside-main h3{color:#e1c27b;font-family:Georgia,serif;font-weight:400;letter-spacing:-.025em}
body.public-page h1 em,body.public-page h2 em{color:#e1c27b!important}
body.public-page .inside-main,body.public-page .booking-shell,body.public-page .inside-header,body.public-page .admin-header{background:#10100f;color:#f8f6ef}
body.public-page .inside-header,body.public-page .admin-header{border-color:#514a3d}
body.public-page .inside-main p,body.public-page .inside-intro,body.public-page .booking-intro,body.public-page .booking-shell label small,body.public-page .card-content p,body.public-page .inside-card small,body.public-page .service-card small{color:#ddd9d0}
body.public-page .inside-card,body.public-page .service-card,body.public-page .booking-card,body.public-page .review-item,body.public-page .catalog-filters,body.public-page .detail-aside,body.public-page .notice,body.public-page .booking-summary,body.public-page .booking-shell .notice{background:#201d17;color:#f8f6ef;border-color:#514a3d;box-shadow:none}
body.public-page .booking-shell input:not([type=checkbox]),body.public-page .booking-shell select,body.public-page .booking-shell textarea,body.public-page .catalog-filters input,body.public-page .catalog-filters select,body.public-page .filters select,body.public-page .inside-main select,body.public-page .review-form input,body.public-page .review-form select,body.public-page .review-form textarea{background:#161512;color:#f8f6ef;border-color:#8e7a54}
body.public-page input::placeholder,body.public-page textarea::placeholder{color:#c9c2b4;opacity:1}
body.public-page .filters label,body.public-page .catalog-filters label,body.public-page .empty,body.public-page .empty-state,body.public-page .empty h3,body.public-page .empty p,body.public-page .review-item p{color:#f8f6ef}
body.public-page .button,body.public-page .whatsapp-float{background:#e1c27b;color:#17130c;border:1px solid #e1c27b;border-radius:999px;box-shadow:none}
body.public-page .button:hover,body.public-page .whatsapp-float:hover{background:#f3d99d;color:#17130c}
body.public-page button,body.public-page .text-button,body.public-page .clear,body.public-page .inside-menu,body.public-page .language,body.public-page .menu{border-radius:999px}
body.public-page .text-button,body.public-page .clear,body.public-page .inside-menu,body.public-page .language,body.public-page .menu{background:#201d17;color:#f8f6ef;border:1px solid #a18d65}
body.public-page .card-link,body.public-page .inside-card a.card-link,body.public-page .secondary-link,body.public-page .inside-main .contact-list a,body.public-page .underlink,body.public-page .consent a{color:#e1c27b}
body.public-page footer,body.public-page .mobile-reserve{background:#090909;color:#f8f6ef;border-color:#514a3d}
body.public-page .footer-main p,body.public-page .footer-main h3,body.public-page .footer-bottom{color:#ddd9d0}
body.public-page :focus-visible{outline:3px solid #e1c27b;outline-offset:3px}
body.public-page .demo-label{background:#4b3b1e;color:#fff3d5}
body.public-page .booking-shell #booking-error,body.public-page .booking-shell #send-error{color:#ffb6a8}
@media(max-width:850px){body.public-page .inside-header nav,body.public-page .header nav{background:#10100f;color:#f8f6ef}}
.site-language{min-height:44px;padding:.55rem 2rem .55rem .9rem;border:1px solid #a18d65;border-radius:999px;background:#171612;color:#f8f6ef;font:600 .9rem 'Source Sans 3',sans-serif;cursor:pointer}.site-language:focus-visible{outline:3px solid #e1c27b;outline-offset:3px}@media(max-width:850px){.site-language{margin-left:auto}}
.catalog-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1rem}.inside-card .catalog-actions .card-link{margin:0}.inside-card .catalog-actions .button{margin:0}.catalog-filters input[type=date],.catalog-filters input[type=number]{width:100%;min-width:0}.catalog-filters label{min-width:0}
/* Sistema público solicitado: blanco, verde y negro. */
body.public-page{--primary:#176438;--forest:#102b1d;--ink:#15251b;--muted:#465b4d;--line:#cad8cd;--sand:#edf5ee;--cream:#fff;background:#fff;color:#15251b;color-scheme:light}
body.public-page h1,body.public-page h2,body.public-page h3,body.public-page h4,body.public-page .inside-main h1,body.public-page .inside-main h2,body.public-page .inside-main h3,body.public-page h1 em,body.public-page h2 em{color:#163d25!important}
body.public-page .inside-main,body.public-page .booking-shell{background:#fff;color:#15251b}body.public-page .inside-header,body.public-page .admin-header{background:#102b1d;color:#fff;border-color:#31553d}
body.public-page .inside-main p,body.public-page .inside-intro,body.public-page .booking-intro,body.public-page .booking-shell label small,body.public-page .card-content p,body.public-page .inside-card small,body.public-page .service-card small{color:#465b4d}
body.public-page .inside-card,body.public-page .service-card,body.public-page .booking-card,body.public-page .review-item,body.public-page .catalog-filters,body.public-page .detail-aside,body.public-page .notice,body.public-page .booking-summary,body.public-page .booking-shell .notice{background:#f4f8f4;color:#15251b;border-color:#cad8cd}
body.public-page .booking-shell input:not([type=checkbox]),body.public-page .booking-shell select,body.public-page .booking-shell textarea,body.public-page .catalog-filters input,body.public-page .catalog-filters select,body.public-page .filters select,body.public-page .inside-main select,body.public-page .review-form input,body.public-page .review-form select,body.public-page .review-form textarea{background:#fff;color:#15251b;border-color:#78957f}body.public-page input::placeholder,body.public-page textarea::placeholder{color:#53685a}
body.public-page .filters label,body.public-page .catalog-filters label,body.public-page .empty,body.public-page .empty-state,body.public-page .empty h3,body.public-page .empty p,body.public-page .review-item p{color:#15251b}
body.public-page .button,body.public-page .whatsapp-float{background:#176438;color:#fff;border-color:#176438}body.public-page .button:hover,body.public-page .whatsapp-float:hover{background:#104c29;color:#fff}body.public-page .text-button,body.public-page .clear,body.public-page .inside-menu,body.public-page .language,body.public-page .menu{background:#fff;color:#173d27;border-color:#78957f}
body.public-page .card-link,body.public-page .inside-card a.card-link,body.public-page .secondary-link,body.public-page .inside-main .contact-list a,body.public-page .underlink,body.public-page .consent a{color:#176438}body.public-page footer,body.public-page .mobile-reserve{background:#102b1d;color:#fff;border-color:#31553d}body.public-page .footer-main p,body.public-page .footer-main h3,body.public-page .footer-bottom{color:#e4eee5}body.public-page :focus-visible{outline-color:#176438}body.public-page .booking-shell #booking-error,body.public-page .booking-shell #send-error{color:#a12626}.site-language{background:#fff;color:#163d25;border-color:#78957f}@media(max-width:850px){body.public-page .inside-header nav,body.public-page .header nav{background:#102b1d;color:#fff}}
.privacy-choice{position:fixed;z-index:100;left:1rem;right:1rem;bottom:1rem;max-width:780px;margin:auto;padding:1.2rem;background:#fff;color:#15251b;border:1px solid #78957f;border-radius:16px;box-shadow:0 8px 30px #0003}.privacy-choice[hidden],.privacy-choice [hidden]{display:none}.privacy-choice p{margin:0 0 .8rem;line-height:1.5}.privacy-actions{display:flex;flex-wrap:wrap;gap:.6rem}.privacy-choice button,.privacy-settings{border:1px solid #176438;background:#fff;color:#176438;border-radius:999px;padding:.7rem 1rem;font:600 .95rem sans-serif;cursor:pointer}.privacy-choice button[data-accept]{background:#176438;color:#fff}.privacy-config{padding-top:1rem}.privacy-config label{display:block;margin-bottom:.7rem}.privacy-settings{margin:1rem 6%}.privacy-gpc{margin-top:.8rem!important}@media(max-width:650px){.privacy-choice{bottom:5.5rem;max-height:70vh;overflow:auto}}
