@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;1,400&display=swap');
/* A Colombian garden: hibiscus, coffee blossoms, guadua and warm earth. */
:root {
  --ink:#49382f;
  --forest:#8b3652;
  --paper:#f6e2c7;
  --sand:#eed0aa;
  --coffee:#a23c37;
  --muted:#695246;
  --line:#d2af92;
  --serif:'Lora',Georgia,'Times New Roman',serif;
  --blossom:#edc7c1;
  --marigold:#edba55;
  --leaf:#446b49;
}
body { background:linear-gradient(115deg,#f3d7c8 0%,#f7e5bd 52%,#eed2c2 100%); }
h1,h2,h3 { letter-spacing:-.035em; line-height:1.14; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#8b3652; }
.topline { background:var(--marigold); color:#503526; font-weight:600; }
.site-header { background:rgba(247,225,201,.97); border-bottom-color:#dabda3; }
.brand-name { color:#713549; }
.brand-sub { color:var(--muted); }
.monogram { border-color:#cc8b77; background:#f1d5c8; color:#8b3652; border-radius:48% 52% 46% 54%; }
.lang a { color:#744653; }
.desktop-nav a.active:after { background:#b34f52; width:26px; border-radius:4px; }
.btn { border-radius:999px; background:#8b3652; border-color:#8b3652; box-shadow:0 5px 14px #8b365214; }
.btn:hover { background:#702640; border-color:#702640; }
.btn-light { background:#f7d176; color:#533827; border-color:#f7d176; }
.btn-light:hover { background:#efc45e; border-color:#efc45e; }
.btn-outline { background:transparent; color:#83314b; border-color:#b47877; box-shadow:none; }
.btn-outline:hover { background:#f5dfd5; border-color:#b47877; }
.text-link { color:#89374a; border-color:#c39185; }
.hero { background:linear-gradient(125deg,#efc8b9 0%,#f2d398 52%,#f5dfb7 100%); color:var(--ink); isolation:isolate; overflow:hidden; overflow:clip; min-height:650px; }
.hero-copy { padding-top:62px; padding-bottom:65px; }
.hero .eyebrow { color:#9a403e; }
.hero h1 { font-size:clamp(3rem,4.5vw,4.4rem); line-height:1.15; }
.hero h1 em { color:#9a3e56; }
.hero p { color:#655044; }
.hero .btn-light { background:#8b3652; color:#fff6eb; border-color:#8b3652; }
.hero .btn-light:hover { background:#702640; }
.hero-photo { margin:28px 28px 28px 0; border-radius:160px 24px 90px 24px; box-shadow:0 10px 35px #79573d16; }
.hero-photo img { object-position:48% center; }
.photo-tag { left:auto; right:83px; bottom:25px; background:#fff0dceF; color:#523b30; border-radius:999px; }
.photo-count { top:25px; bottom:auto; right:25px; background:#5f2a40d9; border-color:#fbead799; border-radius:999px; }
.facts { border-bottom-color:#dcc2a2; padding-top:32px; padding-bottom:32px; }
.fact { border-color:#dcc2a2; }
.fact>.icon { color:#a14350; }
.fact strong { color:#583d32; }
.fact span { color:var(--muted); }
.eyebrow { letter-spacing:.14em; }
.copy p,.section-head>p,.detail-section p,.long-copy p,.mini-card p,.activity-list p,.contact-copy>p,.contact-item p,.booking-form>p,.reservation-card p,details p { color:var(--muted); }
.amenity>.icon { color:var(--leaf); }
.image-pair .main-photo { border-radius:100px 20px 20px 20px; }
.image-pair .detail-photo { border:7px solid var(--paper); border-radius:45px 16px 45px 16px; box-shadow:0 8px 24px #69483618; }
.section-tint { background:linear-gradient(110deg,#edc7c1,#f1d3bb); border-radius:65px 65px 0 0; }
.experience-card { border-radius:26px; }
.experience-content .eyebrow { color:#ffd89c; }
.experience-content p { color:#fff1dc; }
.experience-content .text-link { color:#fff1dc; }
.experience-card:after { background:linear-gradient(0deg,#30251cf0,transparent 80%); }
.story-image { border-radius:28px 110px 28px 28px; overflow:hidden; }
.story-grid .copy h2 { color:#6e3640; }
.booking-banner { background:#85374d; position:relative; isolation:isolate; overflow:hidden; border-radius:0 65px 0 0; }
.booking-banner:after { content:''; position:absolute; z-index:-1; right:-50px; bottom:-95px; width:390px; height:390px; background:url('/assets/botanical-corner.webp') center/contain no-repeat; opacity:.75; pointer-events:none; }
.booking-banner h2 { color:#fff0da; }
.booking-banner p { color:#ffe4d6; }
.booking-banner .btn { position:relative; flex-shrink:0; }
.site-footer { background:#edcfb1; position:relative; isolation:isolate; }
.footer-main p,.footer-bottom { color:var(--muted); }
.footer-nav a { color:#71394a; }
.footer-bottom { border-color:#d2b69c; }
.page-intro { position:relative; padding-right:240px; }
.page-intro:after { content:''; position:absolute; right:0; bottom:15px; width:200px; height:200px; background:url('/assets/botanical-corner.webp') center/contain no-repeat; pointer-events:none; }
.page-intro p { color:var(--muted); }
.page-intro .eyebrow { color:#a13e47; }
.gallery-mosaic { border-radius:28px; overflow:hidden; gap:10px; }
.gallery-mosaic .photo-button:last-child:after { border-radius:999px; background:#fff1dc; }
.reservation-card { background:#f3dcd4; border-color:#dfb9aa; border-radius:27px; }
.reservation-card h3 { margin-top:15px; }
.detail-list .icon { color:var(--leaf); }
.wide-image { border-radius:30px 100px 30px 30px; overflow:hidden; }
.mini-card { border-top-color:#c79782; }
.mini-card .number { background:#f5c992; color:#733d2c; border-radius:50%; display:inline-grid; place-items:center; width:35px; height:35px; }
.activities-feature>div:first-child { border-radius:120px 25px 25px 25px; overflow:hidden; }
.video-box { border-radius:26px; overflow:hidden; }
.contact-item { border-color:#d7bca1; }
.contact-item h3 { color:#9b3d4c; }
.booking-form { background:#f2dcd4; border-color:#dfb9aa; border-radius:28px; }
.booking-form h2 { color:#763249; }
input,select,textarea { background:#fff8ed; border-color:#b99784; border-radius:12px; color:#513a31; }
input:focus,select:focus,textarea:focus { background:#fffaf3; }
input::placeholder,textarea::placeholder { color:#826f64; opacity:1; }
.mobile-book { background:#fbebd5; border-color:#cba88d; box-shadow:0 -4px 20px #79453d12; }
.mobile-book strong { color:#713549; }
.mobile-book span { color:#72584b; }
.lightbox { background:#382b2b; border-color:#d5a58580; border-radius:20px; }
.lightbox::backdrop { background:#241b20ee; }
.lightbox-image { background:#231c1e; }
.gallery-caption { color:#f5e6d4; }
.lightbox-counter { color:#d3b8a7; }
.icon-button { border-radius:50%; }
.error-text { color:#92281f; }
.caption { color:var(--muted); }
.caption a { text-decoration:underline; text-underline-offset:3px; }
@media(min-width:1600px) { .hero { min-height:710px; } }
@media(max-width:1180px) { .hero-photo { margin:24px 24px 24px 0; border-top-left-radius:110px; } .hero h1 { font-size:3.8rem; } .photo-tag { right:40px; font-size:.72rem; } .page-intro { padding-right:180px; } .page-intro:after { width:160px; height:160px; } }
@media(max-width:900px) { .hero { min-height:570px; } .hero h1 { font-size:3.1rem; } .hero-copy { padding-top:45px; padding-bottom:45px; } .hero-photo { border-radius:90px 22px 55px 22px; margin-right:20px; } .photo-tag { right:24px; bottom:24px; max-width:calc(100% - 42px); } .photo-count { top:22px; right:22px; bottom:auto; } .page-intro { padding-right:155px; } .page-intro:after { width:135px; height:135px; } .booking-banner:after { width:270px; height:270px; } }
@media(max-width:640px) {
 .hero { min-height:0; }
 .hero-copy { padding:39px 25px 31px; }
 .hero h1 { font-size:3.1rem; max-width:390px; }
 .hero .eyebrow { font-size:.69rem; }
 .hero p { margin-top:20px; margin-bottom:25px; }
 .hero-photo { height:345px; margin:0 20px 24px; border-radius:100px 22px 75px 22px; }
 .photo-tag { left:15px; right:auto; bottom:21px; max-width:calc(100% - 40px); font-size:.68rem; padding:9px 12px; z-index:5; }
 .photo-count { top:20px; right:18px; bottom:auto; }
 .facts { padding-top:26px; padding-bottom:26px; }
 .image-pair .main-photo { border-radius:75px 20px 20px 20px; }
 .image-pair .detail-photo { border-width:5px; }
 .section-tint { border-radius:38px 38px 0 0; }
 .experience-card { border-radius:24px; }
 .story-image { border-radius:24px 75px 24px 24px; }
 .booking-banner { border-top-right-radius:45px; padding-bottom:65px; }
 .booking-banner:after { width:220px; height:220px; right:-42px; bottom:-32px; opacity:.65; }
 .booking-banner .wrap { position:relative; z-index:1; }
 .booking-banner h2 { max-width:335px; }
 .booking-banner .btn { max-width:calc(100% - 50px); }
 .page-intro { padding:36px 0 75px; }
 .page-intro h1 { font-size:2.6rem; }
 .page-intro p { font-size:1rem; }
 .page-intro:after { width:65px; height:65px; right:0; bottom:5px; }
 .gallery-mosaic { border-radius:23px; }
 .gallery-mosaic .photo-button:nth-child(3):after { border-radius:999px; }
 .wide-image { border-radius:24px 70px 24px 24px; }
 .activities-feature>div:first-child { border-radius:90px 24px 24px 24px; }
 .contact-grid { gap:38px; }
 .booking-form { border-radius:24px; }
 .footer-main { padding-bottom:30px; }
}
@media(max-width:360px) { .hero h1 { font-size:2.85rem; } .hero-photo { height:290px; } .page-intro h1 { font-size:2.4rem; } }

/* Floral accents stay in text-section corners; photographs remain unobstructed. */
@media(max-width:640px) { .booking-banner:after { width:165px; height:165px; right:-20px; bottom:-35px; opacity:.75; } }

/* Prominent link to both nearby visitor cards, below the home photographs. */
.nearby-callout { margin-top:28px; text-align:center; }
.nearby-callout .btn { min-height:56px; max-width:100%; padding:16px 30px; font-size:1rem; font-weight:600; }

/* One cabin introduction: both signatures, shared amenities and three photographs. */
.home-intro { grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); min-height:0; }
.home-intro .hero-copy { min-width:0; padding-top:46px; padding-bottom:46px; }
.home-intro .eyebrow { margin-bottom:20px; }
.home-intro h1 { font-size:clamp(2.7rem,4.1vw,4.1rem); }
.home-intro-subtitle { margin-top:24px; max-width:430px; color:#85374d; font-size:1.6rem; line-height:1.3; }
.home-intro .home-intro-description { max-width:430px; margin:20px 0 0; }
.home-amenities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; width:100%; max-width:430px; margin:26px 0 30px; padding:0; list-style:none; }
.home-amenities li { display:flex; align-items:flex-start; gap:10px; font-size:.875rem; line-height:1.45; }
.home-amenities .icon { color:var(--leaf); margin-top:1px; }
.home-amenities small { display:block; margin-top:3px; color:var(--muted); font-size:.8125rem; }
.home-intro-media { display:grid; grid-template-rows:minmax(340px,1fr) 150px; gap:16px; min-width:0; padding:28px 28px 28px 0; }
.home-intro .hero-photo { margin:0; height:auto; min-height:0; }
.home-intro .hero-photo>img { position:absolute; inset:0; }
.home-photo-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; min-width:0; }
.home-photo-pair .photo-button { min-width:0; height:150px; border-radius:20px; }
.home-intro .home-map-link { right:24px; left:auto; bottom:24px; max-width:calc(100% - 48px); min-height:44px; font-size:.875rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.home-map-link:hover { background:#fff7e9; }
@media(max-width:900px) and (min-width:701px) {
 .home-intro .hero-copy { padding-left:30px; padding-right:25px; }
 .home-intro h1 { font-size:2.8rem; }
 .home-amenities { gap:14px 12px; }
 .home-intro-media { padding-right:20px; }
}
@media(max-width:700px) {
 .home-intro { display:flex; flex-direction:column; }
 .home-intro .hero-copy { padding:36px 25px 30px; }
 .home-intro h1 { font-size:clamp(2.7rem,8vw,3.5rem); }
 .home-intro-subtitle { font-size:1.5rem; margin-top:22px; }
 .home-intro-media { padding:0 20px 28px; grid-template-rows:340px 120px; gap:12px; }
 .home-photo-pair { gap:12px; }
 .home-photo-pair .photo-button { height:120px; border-radius:16px; }
 .home-intro .home-map-link { right:18px; bottom:20px; max-width:calc(100% - 36px); padding:10px 14px; }
}
@media(max-width:360px) {
 .home-intro .hero-copy { padding-left:20px; padding-right:20px; }
 .home-amenities { column-gap:12px; }
 .home-intro-media { grid-template-rows:290px 110px; }
 .home-photo-pair .photo-button { height:110px; }
}

/* The owner's small panoramic front view keeps its complete framing. */
.home-intro-media { grid-template-rows:auto 150px; align-content:center; }
.home-front-view { min-width:0; }
.home-intro .hero-photo { border-radius:70px 20px 45px 20px; }
.home-intro .hero-photo>img { position:static; display:block; width:100%; height:auto; object-fit:contain; }
.home-photo-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; }
.home-intro .home-photo-actions .photo-tag,
.home-intro .home-photo-actions .photo-count { position:static; inset:auto; margin:0; min-height:44px; max-width:100%; padding:10px 14px; font-size:.8rem; }
.home-photo-actions .photo-count { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.home-photo-pair .photo-button:first-child img { object-position:center 67%; }
@media(max-width:700px) {
 .home-intro-media { grid-template-rows:auto 120px; }
 .home-intro .hero-photo { border-radius:40px 16px 30px 16px; }
 .home-photo-actions { gap:8px; }
 .home-intro .home-photo-actions .photo-tag,
 .home-intro .home-photo-actions .photo-count { font-size:.75rem; padding:9px 12px; }
}
@media(max-width:360px) {
 .home-intro-media { grid-template-rows:auto 110px; }
}
