/* Design 3: Santuario Rural — composición editorial en lino, cacao y salvia. */
:root{--paper:#f8f6f2;--cream:#eeebe3;--ink:#3a2b23;--dark:#221813;--muted:#6c6259;--gold:#c5a059;--accent:#806132;--sage:#55695d;--line:#d9d1c5;--display:'Marcellus',Georgia,serif;--body:'Plus Jakarta Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.8 var(--body)}body.modal-open{overflow:hidden}[hidden]{display:none!important}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;letter-spacing:-.035em}h2{font-size:clamp(2.4rem,4vw,3.7rem)}h3{font-size:1.65rem}h1 em,h2 em{font-weight:400;color:var(--sage)}p+p{margin-top:1rem}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #286592;outline-offset:5px}::selection{background:#dfc79b;color:var(--dark)}.shell{width:min(1240px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font:600 .69rem/1.7 var(--body);letter-spacing:.17em;color:var(--accent);margin-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:64px;margin-bottom:45px}.section-heading>p{max-width:380px;color:var(--muted);font-size:.9375rem}.section-note{color:var(--muted);font-size:.8rem;line-height:1.7;margin-top:25px}.actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:16px 23px;min-height:52px;background:var(--ink);border:1px solid var(--ink);color:var(--paper);font:500 .8rem/1.5 var(--body);letter-spacing:.015em;transition:background .2s,color .2s}.button:hover{background:var(--sage);border-color:var(--sage)}.button span[aria-hidden]{font-size:1.2rem}.button-small{padding:13px 20px;min-height:48px}.button-light{background:#ddc593;border-color:#ddc593;color:var(--dark)}.button-light:hover{background:#f0d9ae;border-color:#f0d9ae;color:var(--dark)}.button-outline{background:transparent;color:var(--ink);border-color:#b9ae9c}.button-outline:hover{color:white}.text-link{display:inline-flex;align-items:center;gap:14px;font-size:.8rem;font-weight:600;line-height:1.6;padding-block:10px;border-bottom:1px solid #b8a98f}.text-link:hover{color:var(--sage);border-color:var(--sage)}.text-link span[aria-hidden]{font-size:1.15rem}.file-label{font-size:.65rem;color:var(--muted)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:12px}
.announcement{background:var(--ink);color:#eadfc9;display:flex;align-items:center;justify-content:space-between;padding:8px 48px;gap:20px;font-size:.66rem;letter-spacing:.03em}.announcement a:hover{text-decoration:underline}.site-header{position:sticky;top:0;z-index:30;background:#f8f6f2f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;min-height:95px}.brand{display:grid;grid-template-columns:48px auto;gap:0 14px;align-items:center;flex-shrink:0}.brand-monogram{grid-row:span 2;position:relative;font:400 2.4rem/1 var(--display);color:var(--accent);border:1px solid #c5b490;width:48px;height:58px;display:flex;align-items:center;justify-content:center;padding-right:8px}.brand-monogram>span{font-size:1.3rem;position:absolute;right:5px;bottom:8px}.brand-name{font:400 1.7rem/1 var(--display);letter-spacing:-.03em}.brand-sub{font-size:.56rem;letter-spacing:.3em;margin-top:5px;color:var(--sage)}.navigation{display:flex;align-items:center;gap:25px}.navigation>a:not(.button){font-size:.75rem;line-height:1.5;white-space:nowrap;padding:14px 0}.navigation>a:not(.button):hover{color:var(--accent)}.menu-toggle{display:none;align-items:center;gap:12px;min-height:46px;padding:10px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:.85rem}.menu-bars{width:18px;height:10px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.hero{position:relative;background:var(--dark);color:white;isolation:isolate}.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#151d17de 0%,#1f241cb0 38%,#1a201952 70%,#1a201933),linear-gradient(0deg,#141c18aa,transparent 35%);z-index:-1}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;z-index:-2}.hero-content{min-height:690px;padding-top:80px;display:flex;flex-direction:column;justify-content:space-between}.hero-copy{max-width:740px}.hero .eyebrow{color:#e0c995;margin-bottom:25px}.hero h1{font-size:clamp(4.6rem,7.8vw,7.4rem);line-height:1.06;letter-spacing:-.045em}.hero h1 em{color:#e5d3af}.hero-description{max-width:470px;margin-top:25px;color:#f2ede4;font-size:.9375rem;line-height:1.9}.hero .actions{margin-top:32px}.hero-scroll{display:inline-flex;align-items:center;gap:24px;color:#f0e8d7;font-size:.8rem;padding:12px 0;border-bottom:1px solid #eee0bc70}.hero-index{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:.61rem;letter-spacing:.12em;padding-block:25px;border-top:1px solid #d9d1c566;margin-top:55px;color:#e5dfd3}.intro-strip{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-block:35px;border-bottom:1px solid var(--line)}.intro-strip>p{font:400 1.6rem/1.35 var(--display)}.intro-strip>p>span{color:var(--sage)}.intro-strip>div{display:flex}.intro-strip a{display:flex;gap:40px;align-items:center;padding:16px 32px;border-left:1px solid var(--line);font-size:.8rem}.intro-strip a>span{color:var(--accent)}.intro-strip a:hover{background:var(--cream)}
.essence{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px 95px;align-items:center}.essence-pictures{width:100%;align-self:start}.essence-image-link{display:block;position:relative}.essence-main{width:100%;aspect-ratio:3/4;object-fit:contain}.image-expand{position:absolute;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:1.4rem;border:1px solid var(--line)}.picture-caption{font-size:.73rem;color:var(--muted);line-height:1.6;padding:16px 0;border-bottom:1px solid var(--line)}.essence-copy>p:not(.eyebrow){margin-top:25px;color:var(--muted);font-size:.9375rem}.essence-copy .text-link{margin-top:24px}.purpose-grid{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:45px;border-top:1px solid var(--line)}.purpose-grid h3{margin-bottom:23px;font-size:1.9rem}.purpose-grid p:last-child{font-size:.875rem;color:var(--muted)}.catalog-values{grid-column:1/-1;display:flex;justify-content:space-between;gap:35px;align-items:center;padding:30px 0;border-block:1px solid var(--line)}.catalog-values h3{font-size:1.5rem;white-space:nowrap}.catalog-values ul{display:flex;gap:30px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.catalog-values li{font-size:.76rem;line-height:1.7}.catalog-values li::before{content: "";color:var(--accent);padding-right:10px}.audience-section{padding-top:0}.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.audience-item{border-top:1px solid var(--line);padding:24px 0;display:flex;align-items:start;flex-direction:column}.item-number{font:400 1rem var(--display);color:var(--accent);margin-bottom:25px}.audience-item h3{font-size:1.6rem;margin-bottom:18px}.audience-item p{font-size:.875rem;color:var(--muted);flex:1}.audience-item .text-link{margin-top:22px}
.experiences{border-top:1px solid var(--line)}.experience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;align-items:start}.experience-photo img{width:100%;height:340px;object-fit:cover}.experience-photo:first-child img{height:430px;border-radius:48% 48% 0 0}.experience-photo:nth-child(2){padding-top:75px}.experience-photo:nth-child(3){padding-top:30px}.experience-photo:nth-child(3) img{height:385px}.experience-photo figcaption{padding-top:22px}.experience-photo figcaption>span{font-size:.65rem;letter-spacing:.14em;color:var(--accent)}.experience-photo h3{font-size:1.65rem;margin-top:10px}.experience-photo figcaption>p{font-size:.8rem;color:var(--muted);margin-top:13px}.sensory-story{max-width:800px;margin:75px auto 0;text-align:center}.sensory-story .eyebrow{font-size:.65rem}.sensory-story h3{font-size:2.15rem;margin-bottom:24px}.sensory-story>p:last-child{font-size:.9375rem;color:var(--muted)}.spaces-section{padding-top:0}.spaces-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}.spaces-layout figure>img{width:100%;height:auto}.spaces-layout figcaption{font-size:.73rem;color:var(--muted);margin-top:15px}.spaces-list article{display:flex;gap:25px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line)}.spaces-list article>span{font:400 .875rem var(--display);color:var(--accent);padding-top:7px}.spaces-list h3{font-size:1.5rem;margin-bottom:12px}.spaces-list article p{font-size:.875rem;color:var(--muted)}.spaces-list .text-link{margin-top:20px}.gallery-section{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;grid-template-rows:300px 270px}.gallery-item{position:relative;display:block;grid-column:span 3;overflow:hidden;background:#d7cbbb}.gallery-large{grid-column:span 6}.gallery-item:nth-child(4),.gallery-item:nth-child(5){grid-column:span 6}.gallery-item img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.035)}.gallery-item>span{position:absolute;inset:auto 0 0;padding:40px 20px 20px;background:linear-gradient(transparent,#171e18dd);color:white;display:flex;justify-content:space-between;gap:15px;font-size:.78rem}.gallery-item b{font-weight:400;font-size:1.2rem}
.plans-section{background:var(--paper)}.plan-index{display:flex;border-block:1px solid var(--line);margin:10px 0 55px}.plan-index a{flex:1;padding:19px 15px;display:flex;align-items:center;gap:15px;justify-content:center;font-size:.875rem;border-right:1px solid var(--line)}.plan-index a:last-child{border-right:0}.plan-index a>span{font-family:var(--display);color:var(--accent)}.plan-index a:hover{background:var(--cream)}.plan-panel>.shell,.plan-panel.shell{width:100%;max-width:none}.plan-panel+.plan-panel{padding-top:65px;margin-top:65px;border-top:1px solid var(--line)}.plan-panel h2{font-size:3rem}.day-grid{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.day-grid>*{min-width:0}.day-intro>p:not(.eyebrow){margin-top:25px;color:var(--muted);max-width:420px}.day-intro .text-link{margin-top:22px}.day-plan{background:var(--sage);color:white;padding:40px}.plan-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.plan-top .eyebrow{color:#ead7ac;margin:0}.outline-pill{font-size:.7rem;line-height:1.7;padding:5px 12px;border:1px solid #c7ccb980}.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;margin-top:24px;font:400 4rem/1.15 var(--display)}.currency{font:400 .8rem var(--body)}.plan-description{font-size:.875rem;color:#ecece3;margin-top:18px}.inclusions{list-style:none;margin:25px 0 20px;padding:22px 0 0;border-top:1px solid #c7ccb950}.inclusions li{padding-left:22px;position:relative;font-size:.875rem;margin:10px 0}.inclusions li::before{content: "";position:absolute;left:0;color:#e6ce9c}.group-offer{font-size:.8rem;margin-bottom:25px}.group-offer a{text-decoration:underline}.day-plan .button{width:100%}.plan-note{font-size:.7rem;line-height:1.7;margin-top:20px;color:#e4e6dd}.day-itinerary{margin-top:45px;padding-block:25px;border-block:1px solid var(--line)}.itinerary-label{display:flex;justify-content:space-between;gap:30px;align-items:center}.itinerary-label .eyebrow{margin:0}.itinerary-label>p:last-child{font-size:.75rem;color:var(--muted)}.day-itinerary ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px;list-style:none;padding:25px 0 0;margin:0}.day-itinerary li>span{font:400 1.15rem var(--display);color:var(--accent)}.day-itinerary h3{font-size:1.4rem;margin:15px 0 12px}.day-itinerary li>p{font-size:.8rem;color:var(--muted)}
.stay-plans{display:flex;flex-direction:column;border-top:1px solid var(--line)}.stay-card{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:8px 30px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.stay-card>.eyebrow{grid-column:1;grid-row:1;margin:0}.stay-card h3{grid-column:1;grid-row:2;font-size:1.55rem}.capacity{grid-column:2;grid-row:1;font-size:.75rem;color:var(--muted)}.stay-card>p:not(.eyebrow,.capacity,.stay-price){grid-column:2;grid-row:2;font-size:.875rem;color:var(--muted)}.stay-price{grid-column:3;grid-row:1;justify-self:end;font:400 2.2rem/1.2 var(--display);white-space:nowrap}.stay-price>span:last-child{font:.65rem var(--body)}.stay-card .text-link{grid-column:3;grid-row:2;justify-self:end;font-size:.75rem}.wellness-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}.wellness-visual{position:relative;height:510px}.wellness-visual img{width:100%;height:100%;object-fit:cover;border-radius:45% 45% 0 0}.wellness-visual>span{position:absolute;bottom:25px;left:25px;right:25px;text-align:center;padding:15px;background:#f8f6f2ed;font:400 1.3rem var(--display)}.wellness-copy>p:not(.eyebrow,.section-note){color:var(--muted);font-size:.9375rem;margin-top:25px}.wellness-rate{display:flex;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.wellness-rate h3{font-size:1.4rem;margin-bottom:7px}.wellness-rate div>span{font-size:.75rem;color:var(--muted)}.wellness-rate strong{font-size:1rem;font-weight:500;margin-left:auto;white-space:nowrap}.wellness-rate small{font-size:.65rem;font-weight:400}.wellness-rate a{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);flex-shrink:0;color:var(--accent)}.wellness-rate a:hover{background:var(--cream)}

.faq-section{padding-top:0}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:45px;border-top:1px solid var(--line)}.faq-grid h2{font-size:2.5rem}.faq-grid>div>p:not(.eyebrow){margin-top:22px;color:var(--muted);font-size:.875rem}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:22px 0;font-size:.875rem;font-weight:500;line-height:1.7;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';font-size:1.5rem;color:var(--accent);flex-shrink:0}.faq-list details[open] summary::after{content:'−'}.faq-list details p{font-size:.875rem;color:var(--muted);padding:0 24px 24px 0}.faq-list details a{text-decoration:underline}.product-section{background:var(--cream)}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.product{display:flex;flex-direction:column;min-width:0}.product-image{display:block;position:relative;background:#eee0c5}.product-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.product-image>span{position:absolute;right:16px;bottom:16px;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:1.3rem}.product-copy{padding-top:28px;display:flex;flex-direction:column;align-items:start;flex:1}.product-copy .eyebrow{font-size:.65rem;margin-bottom:15px}.product-copy h3{font-size:1.9rem}.product-copy>p:not(.eyebrow){font-size:.9375rem;color:var(--muted);margin-top:20px;flex:1}.product-copy .text-link{margin-top:22px}
.planner-section{background:var(--ink);color:var(--paper)}.planner-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start}.planner-intro{padding-top:25px;position:sticky;top:135px}.planner-intro .eyebrow{color:#e2c799}.planner-intro h2{font-size:3.35rem}.planner-intro h2 em{color:#e2c799}.planner-intro>p:not(.eyebrow){font-size:.9375rem;color:#dfd4c4;margin-top:28px}.planner-note{display:flex;align-items:center;gap:23px;border-top:1px solid #8b7662;margin-top:35px;padding-top:30px}.planner-note>span{font:400 2rem var(--display);color:var(--gold)}.planner-note p{font-size:.875rem;color:#e9dac4}.planner-note strong{font-weight:500;color:#fff7e9}.light-link{color:#e7d1a9;margin-top:28px}.light-link:hover{color:white;border-color:white}.planner-form{padding:35px;background:var(--paper);color:var(--ink);min-width:0}.wizard-progress{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 0 28px;margin:0 0 30px;border-bottom:1px solid var(--line)}.wizard-progress li{font-size:.72rem;color:var(--muted);display:flex;align-items:center;gap:10px;line-height:1.5}.wizard-progress li>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;font:400 .78rem var(--display);flex-shrink:0}.wizard-progress li[aria-current]{color:var(--ink);font-weight:600}.wizard-progress li[aria-current]>span{background:var(--sage);border-color:var(--sage);color:white}.wizard-panel h3{font-size:1.85rem}.wizard-help{font-size:.825rem;color:var(--muted);margin:17px 0 28px}.field{margin-bottom:24px;min-width:0}.field label{display:block;font-size:.825rem;font-weight:600;line-height:1.6;margin-bottom:10px}.field label>span{font-size:.7rem;font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{display:block;width:100%;min-width:0;min-height:50px;padding:12px;background:#fffefd;border:1px solid #b7ab97;border-radius:0;color:var(--ink);font-size:1rem;line-height:1.5}.field textarea{resize:vertical;min-height:100px}.field input:disabled{background:#eae6df;color:#625c51;opacity:1}.field small{font-size:.72rem;line-height:1.5;color:var(--muted);margin-top:8px;display:block}.field-error{display:block;margin-top:8px;color:#a22c28;font-size:.8rem;line-height:1.6}.field [aria-invalid='true']{border-color:#a22c28}.form-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.quote-result{padding-top:25px;border-top:1px solid var(--line)}.quote-result .eyebrow{display:block;margin-bottom:12px;font-size:.65rem}.quote-result output{font:400 2.6rem/1.2 var(--display);display:block;color:var(--sage);overflow-wrap:anywhere}.quote-result p{font-size:.8rem;color:var(--muted);line-height:1.65;margin-top:13px}.form-disclaimer{font-size:.7rem;line-height:1.7;color:var(--muted);margin:20px 0 25px}.wizard-actions{display:flex;justify-content:end;gap:15px}.wizard-actions .button{flex:1;min-width:0;padding-inline:12px}.wizard-actions .button-outline{flex:0 1 120px}.form-footnote{font-size:.7rem;color:var(--muted);text-align:center;margin-top:18px;line-height:1.6}.review-details{margin:0 0 25px}.review-details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:15px;border-bottom:1px solid var(--line);padding:13px 0;font-size:.825rem;line-height:1.7}.review-details dt{color:var(--muted)}.review-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.no-script{border:1px solid #b4a389;padding:30px}.no-script p{margin-block:25px}
.location-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px 85px;align-items:center}.location-copy>p:not(.eyebrow){color:var(--muted);margin-top:26px;font-size:.9375rem}.location-copy .button{margin-top:30px}.location-map{min-width:0}.location-map iframe{display:block;width:100%;height:430px;border:1px solid var(--line);background:var(--cream)}.map-caption{display:flex;justify-content:space-between;align-items:start;gap:25px;margin-top:20px}.map-caption>p{font-size:.8rem;line-height:1.6}.map-caption span{font-size:.7rem;color:var(--muted)}.map-caption .text-link{padding-top:0;white-space:nowrap}.location-essentials{grid-column:1/-1;display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;border-top:1px solid var(--line);padding-top:40px;align-items:start}.arrival-guide h3{font-size:1.8rem}.arrival-guide ol{list-style:none;padding:0;margin:25px 0 0}.arrival-guide li{display:flex;gap:22px;align-items:start;margin-top:20px}.arrival-guide li>span{font-family:var(--display);color:var(--accent)}.arrival-guide li>p{font-size:.875rem;color:var(--muted)}.qr-card{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:center;background:var(--cream);padding:26px}.qr-image{display:block;width:200px;padding:10px;background:white}.qr-image img{width:100%;height:auto}.qr-copy .eyebrow{font-size:.6rem;margin-bottom:12px}.qr-copy h3{font-size:1.5rem;margin-bottom:16px}.qr-copy>p:not(.eyebrow){font-size:.8rem;color:var(--muted)}.qr-copy .text-link{font-size:.75rem;margin-top:12px}.contact-section{padding:85px 0;background:var(--cream);text-align:center}.contact-inner h2{font-size:clamp(2.8rem,5vw,4.5rem)}.contact-inner>p:not(.eyebrow){margin-top:25px;color:var(--muted)}.contact-inner .button{margin-top:30px;background:var(--ink);border-color:var(--ink);color:white}.contact-inner .button:hover{background:var(--sage);border-color:var(--sage)}.site-footer{background:var(--dark);color:#eee6d8;padding-top:60px}.footer-grid{display:grid;grid-template-columns:.9fr 1.3fr 1fr 1fr;gap:35px}.footer-brand{display:block;align-self:start}.footer-brand .brand-name{font-size:1.9rem;color:#e3c697}.footer-brand .brand-sub{display:block;margin-top:10px;color:#d2c5ac}.footer-grid h2{font:500 .76rem var(--body);letter-spacing:0;margin-bottom:25px;color:#f6ead7}.footer-grid>div>a{display:block;color:#d0c2b1;font-size:.75rem;margin-bottom:12px;overflow-wrap:anywhere}.footer-grid a:hover{text-decoration:underline}.footer-location p{font-size:.8rem}.footer-location>span{display:block;font-size:.73rem;color:#c5b295;margin-top:20px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-block:25px;border-top:1px solid #5b4d3f;margin-top:50px;color:#c7b8a1;font-size:.68rem}
.lightbox{width:min(1200px,95vw);max-width:95vw;max-height:94dvh;background:var(--dark);color:white;padding:20px 24px;border:1px solid #8e7856}.lightbox::backdrop{background:#191813ed}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:.8rem;margin-bottom:15px}.lightbox button{min-width:44px;min-height:44px;border:1px solid #b4a07b;background:transparent;color:white}.lightbox button:hover{background:#4a3e2d}.lightbox-close{font-size:.8rem;padding:8px 15px}.lightbox-close span{font-size:1.2rem;margin-left:14px}.lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:15px;align-items:center;min-height:150px}.lightbox-stage img{width:100%;height:min(70dvh,750px);object-fit:contain}.lightbox-arrow{font-size:1.5rem}#lightboxCaption{font-size:.8rem;text-align:center;line-height:1.7;margin-top:18px}

@media(max-width:1200px){.shell{width:calc(100% - 64px)}.navigation{gap:16px}.brand-name{font-size:1.5rem}.brand{gap:0 10px}.header-inner{gap:20px}.navigation .button{padding-inline:15px}.essence{gap:55px 65px}.catalog-values{align-items:start;flex-direction:column;gap:20px}.catalog-values ul{gap:25px}.spaces-layout,.wellness-grid{gap:50px}.day-grid{gap:60px}.planner-grid,.location-section{gap:55px}.qr-card{grid-template-columns:170px minmax(0,1fr);padding:20px;gap:22px}.qr-image{width:170px}.location-essentials{gap:40px}.footer-grid{gap:25px}.stay-card{gap:10px 20px}.stay-price{font-size:2rem}}
@media(max-width:1050px){.header-inner{min-height:85px;flex-wrap:wrap}.menu-toggle:not([hidden]){display:flex}.navigation{width:100%;justify-content:center;flex-wrap:wrap;padding:10px 0 24px}.navigation.is-ready:not(.is-open){display:none}.navigation.is-ready.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100dvh - 110px);overflow-y:auto}.navigation.is-ready>a:not(.button){padding:13px 0;font-size:.9375rem}.navigation .button{margin-top:12px}.hero-content{min-height:650px;padding-top:70px}.hero h1{font-size:6rem}.intro-strip a{gap:22px;padding-inline:20px}.section{padding-block:80px}.section-heading{gap:40px}.section-heading>p{max-width:310px}.essence{gap:50px}.purpose-grid{gap:45px}.audience-section{padding-top:0}.audience-grid{gap:25px}.experience-grid{gap:24px}.experience-photo img{height:290px}.experience-photo:first-child img{height:370px}.experience-photo:nth-child(3) img{height:330px}.experience-photo h3{font-size:1.5rem}.spaces-layout{gap:35px}.spaces-section{padding-top:0}.gallery-grid{grid-template-rows:260px 230px}.day-grid{gap:40px}.day-plan{padding:30px}.plan-panel h2{font-size:2.7rem}.price{font-size:3.4rem}.stay-card{grid-template-columns:1.1fr 1fr .8fr;gap:8px 18px}.stay-card h3{font-size:1.35rem}.stay-price{font-size:1.8rem}.wellness-grid{gap:35px}.wellness-rate{gap:13px;flex-wrap:wrap}.wellness-visual{height:450px}.faq-section{padding-top:0}.faq-grid{gap:45px}.product-grid{gap:35px}.planner-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.planner-intro h2{font-size:2.6rem}.planner-form{padding:25px}.wizard-progress li{flex-direction:column;gap:9px;align-items:start}.wizard-panel h3{font-size:1.6rem}.form-row{grid-template-columns:1fr;gap:0}.quote-result output{font-size:2.2rem}.location-section{gap:40px}.location-essentials{gap:35px}.qr-card{grid-template-columns:1fr}.qr-image{width:210px;max-width:100%;justify-self:center}.map-caption{flex-direction:column;gap:12px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}}
@media(max-width:760px){html{scroll-padding-top:95px}.shell{width:calc(100% - 40px)}.section{padding-block:60px}h2{font-size:2.5rem}.section-heading{display:block;margin-bottom:30px}.section-heading>p{max-width:100%;margin-top:23px}.eyebrow{font-size:.65rem;letter-spacing:.13em}.announcement{padding:8px 20px;font-size:.6rem;gap:15px;letter-spacing:0}.header-inner{min-height:78px}.brand{grid-template-columns:38px auto;gap:0 10px}.brand-monogram{width:38px;height:46px;font-size:1.95rem}.brand-monogram>span{font-size:1.05rem;right:3px;bottom:6px}.brand-name{font-size:1.5rem}.brand-sub{font-size:.49rem;letter-spacing:.25em}.menu-toggle{padding:10px 12px;font-size:.8rem}.hero-content{min-height:650px;padding-top:65px}.hero h1{font-size:clamp(3.8rem,12vw,5.4rem)}.hero::after{background:linear-gradient(90deg,#132016de,#1a241bab),linear-gradient(0deg,#19231a99,transparent)}.hero-photo{object-position:60% 50%}.hero-description{font-size:.9rem;max-width:440px;margin-top:24px}.hero .actions{gap:20px 25px;margin-top:28px}.hero-index{font-size:.55rem;gap:20px;align-items:start;padding-block:22px;margin-top:40px}.hero-index>span:first-child{max-width:220px}.hero-index>span:last-child{max-width:115px;text-align:right}.intro-strip{padding-block:25px;gap:23px;align-items:start;flex-direction:column}.intro-strip>p{font-size:1.5rem}.intro-strip>div{width:100%;border-top:1px solid var(--line)}.intro-strip a{padding:15px 12px;justify-content:space-between;gap:10px;font-size:.75rem;flex:1}.intro-strip a:first-child{border-left:0;padding-left:0}.intro-strip a:last-child{padding-right:0}.essence{grid-template-columns:1fr;gap:35px}.essence-copy{grid-row:1}.essence-pictures{max-width:480px;justify-self:center}.essence-main{max-height:640px;object-fit:contain}.purpose-grid{grid-template-columns:1fr;gap:35px;padding-top:30px}.purpose-grid h3{font-size:1.8rem}.purpose-grid .eyebrow{margin-bottom:12px}.catalog-values{padding-block:25px;gap:20px}.catalog-values ul{flex-direction:column;gap:14px}.audience-section{padding-top:0}.audience-grid{grid-template-columns:1fr;gap:10px}.audience-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 15px}.item-number{grid-row:span 3;margin-top:5px}.audience-item h3{font-size:1.6rem;margin-bottom:13px}.audience-item .text-link{width:fit-content;margin-top:15px}.experience-grid{grid-template-columns:1fr;gap:35px}.experience-photo:nth-child(n){padding-top:0}.experience-photo img,.experience-photo:first-child img,.experience-photo:nth-child(3) img{height:auto;max-height:470px;aspect-ratio:4/3;object-fit:cover}.experience-photo:first-child img{border-radius:45% 45% 0 0;aspect-ratio:1/1;max-height:540px}.experience-photo figcaption{padding-top:18px}.experience-photo h3{font-size:1.75rem}.sensory-story{margin-top:45px;text-align:left}.sensory-story h3{font-size:1.85rem}.spaces-section{padding-top:0}.spaces-layout{grid-template-columns:1fr;gap:22px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:270px 220px 220px;gap:14px}.gallery-item:nth-child(n){grid-column:span 1}.gallery-item:first-child{grid-column:span 2}.gallery-item>span{font-size:.73rem;padding:40px 14px 16px}.plan-index{margin-bottom:35px}.plan-index a{padding:16px 4px;font-size:.75rem;gap:7px;flex-direction:column}.plan-index a>span{font-size:.8rem}.plan-panel h2{font-size:2.5rem}.day-grid{grid-template-columns:1fr;gap:28px}.day-intro>p:not(.eyebrow){max-width:100%;font-size:.9375rem}.day-plan{padding:28px}.price{font-size:3.5rem}.day-itinerary{margin-top:30px;padding-block:25px}.itinerary-label{display:block}.itinerary-label>p:last-child{margin-top:13px}.day-itinerary ol{grid-template-columns:1fr 1fr;gap:28px 23px}.plan-panel+.plan-panel{padding-top:40px;margin-top:40px}.stay-card{grid-template-columns:1fr 1fr;gap:12px 20px;padding:27px 0}.stay-card>.eyebrow{grid-column:1/-1;grid-row:1}.stay-card h3{grid-column:1/-1;grid-row:2;font-size:1.75rem}.capacity{grid-column:1/-1;grid-row:3}.stay-card>p:not(.eyebrow,.capacity,.stay-price){grid-column:1/-1;grid-row:4}.stay-price{grid-column:1;grid-row:5;justify-self:start;font-size:2rem;margin-top:8px}.stay-card .text-link{grid-column:2;grid-row:5;font-size:.7rem;gap:9px}.wellness-grid{grid-template-columns:1fr;gap:35px}.wellness-visual{height:400px;max-width:500px;width:100%;justify-self:center}.wellness-rate{gap:12px}.wellness-rate h3{font-size:1.4rem}.wellness-rate small{display:block}.faq-section{padding-top:0}.faq-grid{grid-template-columns:1fr;gap:25px;padding-top:30px}.faq-grid h2{font-size:2.3rem}.product-grid{grid-template-columns:1fr;gap:40px}.product-copy{padding-top:23px}.product-copy h3{font-size:1.85rem}.planner-grid{grid-template-columns:1fr;gap:30px}.planner-intro{position:static;padding-top:0}.planner-intro h2{font-size:2.75rem}.planner-note{margin-top:28px;padding-top:23px}.planner-form{padding:26px}.wizard-progress{margin-bottom:25px;padding-bottom:24px}.wizard-progress li{flex-direction:row;gap:8px;font-size:.66rem}.wizard-panel h3{font-size:1.8rem}.form-row{grid-template-columns:.8fr 1.2fr;gap:18px}.quote-result output{font-size:2.4rem}.location-section{grid-template-columns:1fr;gap:32px}.location-map iframe{height:370px}.map-caption{flex-direction:row;gap:20px}.location-essentials{grid-template-columns:1fr;gap:35px;padding-top:30px}.qr-card{grid-template-columns:200px minmax(0,1fr);padding:25px;gap:25px}.qr-image{width:200px}.contact-section{padding:65px 0}.contact-inner h2{font-size:3rem}.site-footer{padding-top:45px}.footer-brand{grid-column:1/-1}.footer-location{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px}.footer-location>span{margin-top:0}.footer-bottom{font-size:.65rem;margin-top:35px}.lightbox{padding:14px}.lightbox-stage{gap:6px}.lightbox-stage img{height:55dvh}#lightboxCaption{font-size:.8rem}}
@media(max-width:480px){.hero-content{min-height:650px;padding-top:50px}.hero h1{font-size:3.75rem}.hero-index{flex-direction:column;gap:9px;margin-top:35px}.hero-index>span:first-child{max-width:100%}.hero-index>span:last-child{max-width:100%;text-align:left}.hero .actions{gap:14px}.hero .button{padding-inline:19px}.intro-strip a{font-size:.7rem;gap:6px}.hero-scroll{padding-block:10px}.gallery-grid{grid-template-rows:250px 190px 190px}.gallery-item>span{font-size:.68rem;padding-inline:12px}.stay-card{grid-template-columns:1fr;gap:10px}.stay-price{grid-column:1;grid-row:5;font-size:2.4rem}.stay-card .text-link{grid-column:1;grid-row:6;justify-self:start;font-size:.8rem;margin-top:5px}.wellness-rate{flex-wrap:wrap}.wellness-rate strong{margin-left:0}.wellness-rate a{margin-left:auto}.planner-form{padding:23px}.wizard-progress li{flex-direction:column;align-items:start;gap:9px}.form-row{grid-template-columns:1fr;gap:0}.wizard-actions{gap:10px}.wizard-actions .button{font-size:.75rem;gap:10px;padding-inline:10px}.wizard-actions .button-outline{flex-basis:88px}.review-details>div{grid-template-columns:1fr;gap:3px}.qr-card{grid-template-columns:1fr;padding:25px}.qr-image{width:230px;max-width:100%}.qr-copy h3{font-size:1.8rem}.map-caption{flex-direction:column;gap:14px}.footer-grid{grid-template-columns:1fr}.footer-location{display:block}.footer-location>span{margin-top:20px}.announcement{font-size:.55rem;padding-inline:15px}}
@media(max-width:360px){.hero h1{font-size:3.25rem}.hero-content{min-height:670px}.hero .button{font-size:.75rem;padding-inline:15px}.brand-name{font-size:1.3rem}.brand{gap:0 8px}.menu-toggle{padding:9px 10px;font-size:.75rem}.menu-bars{width:15px}.day-plan{padding:22px}.price{font-size:3rem}.planner-form{padding:20px}.wellness-rate div{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* Tamaño cómodo de enlaces y controles. */
.text-link{min-height:44px}.navigation>a:not(.button){font-size:.85rem}
@media(max-width:1050px){.navigation.is-ready>a:not(.button){font-size:.9375rem}}
/* Flecha vectorial: conserva el trazo y el color en todos los dispositivos. */
.icon-arrow { display: inline-block; width: 1em; height: 1em; flex-shrink: 0; vertical-align: -0.125em; }

/* Atractivos de la finca: lectura completa en computador y celular. */
.nature-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
.nature-highlights article { min-width: 0; padding: 26px 0; border-top: 1px solid var(--line); }
.nature-highlights .eyebrow { display: block; margin-bottom: 12px; }
.nature-highlights h3 { font-size: 1.7rem; line-height: 1.2; margin-bottom: 14px; }
.nature-highlights article > p { color: var(--muted); font-size: .9375rem; }
@media (max-width: 1050px) { .nature-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .nature-highlights { grid-template-columns: 1fr; gap: 12px; margin-top: 28px; } .nature-highlights article { padding-block: 22px; } }
.nature-highlights { column-gap: 40px; margin-top: 48px; }
.nature-highlights h3 { font-size: 1.6rem; }
/* Mini gallery added below the original photo composition. */
.mini-gallery { margin-top:50px; padding-top:35px; border-top:1px solid var(--line); }
.mini-gallery-heading { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:25px; }
.mini-gallery-heading .eyebrow { margin-bottom:10px; }
.mini-gallery-heading h3 { font-size:2rem; }
.mini-gallery-heading p:last-child { font-size:.8rem; color:var(--muted); margin-top:14px; max-width:600px; }
.mini-gallery-controls { display:flex; gap:10px; flex-shrink:0; }
.mini-gallery-controls button { width:48px; height:48px; display:grid; place-items:center; font-size:1.5rem; background:transparent; color:var(--ink); border:1px solid #aa9981; }
.mini-gallery-controls button:hover:not(:disabled) { background:var(--ink); color:var(--paper); }
.mini-gallery-controls button:disabled { opacity:.3; cursor:default; }
.mini-gallery-track { display:flex; gap:22px; margin:0; padding:7px 6px 18px; list-style:none; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:6px; scrollbar-width:thin; scrollbar-color:var(--accent) var(--line); overscroll-behavior-x:contain; }
.mini-gallery-card { flex:0 0 calc((100% - 44px)/3); min-width:0; scroll-snap-align:start; }
.mini-gallery-card a { display:block; position:relative; height:100%; background:var(--paper); }
.mini-gallery-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.mini-gallery-card:first-child img { object-position:center 38%; }
.mini-gallery-expand { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:36px; height:36px; background:var(--paper); color:var(--ink); font-size:1.3rem; }
.mini-gallery-caption { display:block; padding:19px 20px 22px; }
.mini-gallery-caption strong { display:block; font:400 1.35rem/1.25 var(--display); }
.mini-gallery-caption > span { display:block; margin-top:10px; color:var(--muted); font-size:.76rem; line-height:1.7; }
.mini-gallery-status { min-height:24px; margin-top:15px; color:var(--muted); font-size:.72rem; }
@media(max-width:1050px) { .mini-gallery-card { flex-basis:calc((100% - 22px)/2); } }
@media(max-width:760px) {
 .mini-gallery-heading { display:block; }
 .mini-gallery-controls { margin-top:20px; }
 .mini-gallery-card { flex-basis:86%; }
 .mini-gallery-heading h3 { font-size:1.8rem; }
 .mini-gallery-caption { padding:17px; }
 .mini-gallery-track { gap:16px; }
}

/* Keep the mural toward the top of the photograph in gallery thumbnails. */
.mini-gallery-card img.mural-image { object-position: center 20%; }

/* Decorative symbols are vector shapes, independent of emoji fonts on mobile. */
.icon-asterisk { display:inline-block; width:1em; height:1em; flex-shrink:0; vertical-align:-.125em; }
.inclusions li::before { content:""; width:1em; height:1em; top:.35em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012l4%204L19%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012l4%204L19%206%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }
.catalog-values li::before { content:""; display:inline-block; width:.9em; height:.9em; padding:0; margin-right:9px; vertical-align:-.1em; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l2.7%206.3L21%2012l-6.3%202.7L12%2021l-2.7-6.3L3%2012l6.3-2.7Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203l2.7%206.3L21%2012l-6.3%202.7L12%2021l-2.7-6.3L3%2012l6.3-2.7Z%22%2F%3E%3C%2Fsvg%3E") center / contain no-repeat; }

/* Language switch & header actions */
.header-actions { display: flex; align-items: center; gap: 10px; order: 3; }
.navigation { order: 2; }
.language-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; background: var(--cream); border: 1px solid var(--line); border-radius: 999px; }
.language-switch button { appearance: none; border: 0; background: transparent; color: var(--dark); font-family: var(--body); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em; padding: 6px 10px; border-radius: 999px; cursor: pointer; line-height: 1; transition: background-color 0.18s ease, color 0.18s ease; }
.language-switch button[aria-pressed="true"] { background: var(--dark); color: var(--paper); }
.language-switch button:hover:not([aria-pressed="true"]) { background: rgb(34 24 19 / 8%); }
@media (max-width: 1050px) {
  .header-actions { order: 2; }
  .navigation { order: 3; }
  .language-switch button { padding: 5px 8px; font-size: 0.68rem; }
}

/* Strategic subtle badges: Colombian flag and nature/spaces emojis */
.flag-icon { display: inline-flex; align-items: center; vertical-align: -0.06em; margin-right: 6px; }
.flag-icon .flag-co { width: 16px; height: 11px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15); display: inline-block; }
.nature-highlights .highlight-emoji { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; font-size: 1.3rem; border-radius: 8px; background: var(--cream); margin-bottom: 14px; }
.spaces-list .space-emoji { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 1.45rem; border-radius: 50%; background: var(--cream); flex-shrink: 0; }
