
:root{--ink:#203b2f;--forest:#16392c;--paper:#faf8f3;--sand:#eee8dc;--coffee:#9e502e;--muted:#637067;--line:#d9ded5;--white:#fff;--serif:Georgia,'Times New Roman',serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:82.5px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:12px;line-height:1.65}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2.25px solid #c97835;outline-offset:3.75px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.035em}h1{font-size:clamp(3rem,5.4cqw,5.1rem)}h2{font-size:clamp(2.3rem,4cqw,3.65rem)}h3{font-size:1.85rem}p+p{margin-top:1.15rem}svg{display:inline-block;vertical-align:middle;flex-shrink:0}.wrap{width:min(930px,calc(100% - 75px));margin:auto}.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;line-height:1.6}.muted{color:var(--muted)}.skip{position:fixed;top:6px;left:6px;z-index:99;background:#fff;padding:9px;transform:translateY(-180%)}.skip:focus{transform:none}.topline{background:var(--forest);color:#e2e9df;padding:5.25px 15px;text-align:center;font-size:.75rem;letter-spacing:.12em}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,248,243,.98);border-bottom:0.75px solid #213b2f12}.header-inner{min-height:68.25px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.monogram{border:0.75px solid #8b9d8b;border-radius:50%;width:32.25px;height:32.25px;display:grid;place-items:center;font-family:var(--serif);font-size:18.75px;font-style:italic}.brand-name{font-family:var(--serif);font-size:1.55rem;line-height:1.2;letter-spacing:-.04em}.brand-sub{font-size:.63rem;text-transform:uppercase;letter-spacing:.22em;display:block;margin-top:3px}.desktop-nav{display:flex;align-items:center;gap:21px;margin-left:auto}.desktop-nav a{font-size:.875rem;white-space:nowrap;position:relative}.desktop-nav a.active:after{content:'';position:absolute;bottom:-6px;left:0;width:15px;height:1.5px;background:var(--coffee)}.lang{display:flex;align-items:center;gap:6.75px;font-size:.75rem;white-space:nowrap}.lang a{color:#4f6457;min-height:27px;display:inline-flex;align-items:center}.lang a.active{font-weight:700;border-bottom:0.75px solid var(--ink)}.btn{min-height:36.75px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:9.75px 17.25px;border:0.75px solid var(--forest);background:var(--forest);color:#fff;font-size:.875rem;font-weight:500;line-height:1.4;transition:background .2s,transform .2s}.btn:hover{background:#2e503d;transform:translateY(-1.5px)}.btn-light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn-light:hover{background:#e7e5da}.btn-outline{background:transparent;color:var(--ink);border-color:#91a090}.btn-outline:hover{background:#e8ecdf}.text-link{display:inline-flex;align-items:center;gap:13.5px;border-bottom:0.75px solid #a6b0a0;padding-bottom:5.25px;font-size:.9rem;font-weight:500}.header-book{min-height:31.5px;padding:8.25px 12.75px;white-space:nowrap}.menu-toggle{display:none;background:none;border:0;color:var(--ink);padding:6px}.mobile-nav{display:none}.hero{position:relative;display:grid;grid-template-columns:42% 58%;min-height:468.75px;background:var(--forest);color:#fff}.hero-copy{position:relative;z-index:1;padding:54px 33px 48px max(37.5px,calc((100cqw - 930px)/2));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero .eyebrow{color:#e0b88a;margin-bottom:19.5px}.hero h1{font-size:clamp(3rem,4.8cqw,4.6rem);max-width:412.5px}.hero h1 em{font-weight:400;color:#d3d8b0}.hero p{font-size:1rem;color:#e0e6d9;max-width:255px;margin:18.75px 0 23.25px}.hero-photo{position:relative;min-width:0;overflow:hidden}.hero-photo img{object-position:48% center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0f201b55,transparent 45%);pointer-events:none}.photo-tag{position:absolute;bottom:21.75px;left:22.5px;z-index:2;background:#fffef1e8;padding:7.5px 12px;color:var(--ink);font-size:.78rem;letter-spacing:.02em;display:flex;align-items:center;gap:7.5px}.photo-count{position:absolute;bottom:21.75px;right:22.5px;z-index:2;border:0.75px solid #ffffff90;background:#16392c44;backdrop-filter:blur(4.5px);color:white;padding:7.5px 11.25px;display:flex;gap:6.75px;align-items:center;font-size:.8rem}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:21px 0;border-bottom:0.75px solid var(--line);gap:15px}.fact{display:flex;gap:11.25px;align-items:center;justify-content:center;border-right:0.75px solid var(--line);line-height:1.4}.fact:last-child{border:0}.fact strong{font-size:.95rem;font-weight:500;display:block}.fact span{font-size:.78rem;color:var(--muted)}.section{padding:78.75px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22.5px;margin-bottom:31.5px}.section-head .eyebrow,.copy .eyebrow{color:var(--coffee);margin-bottom:11.25px}.section-head p{max-width:240px}.cabin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.image-pair{position:relative;padding-right:33.75px;padding-bottom:41.25px}.image-pair .main-photo{height:330px}.image-pair .detail-photo{position:absolute;width:48%;height:161.25px;right:0;bottom:0;border:6px solid var(--paper)}.photo-button{background:transparent;padding:0;border:0;display:block;width:100%;overflow:hidden;position:relative}.photo-button img:not(.garden-plant){transition:transform .55s}.photo-button:hover img:not(.garden-plant){transform:scale(1.035)}.copy h2{margin-bottom:18.75px}.copy p{color:#5a685d}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:11.25px 18px;margin:19.5px 0 23.25px}.amenity{display:flex;align-items:center;gap:7.5px;font-size:.9rem}.section-tint{background:#ecefE6}.experience-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18.75px}.experience-card{position:relative;height:330px;color:white;overflow:hidden}.experience-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0d211ded,transparent 80%);pointer-events:none}.experience-card img{transition:transform .5s}.experience-card:hover img{transform:scale(1.025)}.experience-content{position:absolute;bottom:22.5px;left:24px;right:22.5px;z-index:1}.experience-content .eyebrow{color:#e5d9bd;margin-bottom:7.5px}.experience-content p{font-size:.92rem;color:#e1e7da;margin-top:9.75px;max-width:300px}.experience-content .text-link{margin-top:15px}.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:67.5px;align-items:center}.story-image{height:367.5px}.story-grid .text-link{margin-top:20.25px}.booking-banner{background:var(--forest);color:#fff;padding:48.75px 0}.booking-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}.booking-banner h2{max-width:487.5px;font-size:clamp(2rem,3.5cqw,3.1rem)}.booking-banner p{color:#cfdbcf;margin-top:11.25px}.site-footer{padding:43.5px 0 18.75px}.footer-main{display:flex;justify-content:space-between;gap:26.25px;padding-bottom:30px}.footer-main p{margin-top:13.5px;font-size:.875rem;color:var(--muted)}.footer-nav{display:flex;gap:22.5px;align-items:center;font-size:.875rem;flex-wrap:wrap}.footer-bottom{border-top:0.75px solid var(--line);padding-top:15px;display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--muted);gap:15px}.colombia{display:inline-flex;align-items:center;gap:6.75px}.flag{display:inline-block;width:12.75px;height:8.25px;background:linear-gradient(#f4c641 50%,#2c5794 50%,#2c5794 75%,#b95042 75%)}.page-intro{padding:48px 0 33.75px}.page-intro .eyebrow{color:var(--coffee);margin-bottom:13.5px}.page-intro h1{font-size:clamp(2.8rem,5cqw,4.5rem);max-width:615px}.page-intro p{max-width:480px;margin-top:18px;color:var(--muted);font-size:1.1rem}.gallery-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:172.5px 172.5px;gap:9px}.gallery-mosaic .photo-button:first-child{grid-row:span 2}.gallery-mosaic .photo-button img:not(.garden-plant){height:100%}.gallery-mosaic .photo-button:last-child:after{content:attr(data-caption);position:absolute;right:11.25px;bottom:11.25px;padding:6.75px 10.5px;background:var(--paper);color:var(--ink);font-size:.8rem}.cabin-details{display:grid;grid-template-columns:1.3fr .7fr;gap:67.5px;align-items:start}.detail-section{margin-bottom:30px}.detail-section h2{font-size:2.25rem;margin-bottom:13.5px}.detail-section p{color:var(--muted)}.detail-section h3{font-size:1.5rem;margin:18px 0 6px}.detail-list{list-style:none;padding:0;margin:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:13.5px}.detail-list li{display:flex;gap:9px;align-items:center;font-size:.95rem}.reservation-card{position:sticky;top:97.5px;border:0.75px solid var(--line);padding:24.75px;background:#f0efe7}.reservation-card h3{margin-bottom:12.75px}.reservation-card p{font-size:.9rem;color:var(--muted)}.reservation-card .btn{margin:18px 0 10.5px;width:100%}.reservation-card small{font-size:.8rem;display:block}.wide-image{height:382.5px}.long-copy{max-width:585px;margin:auto}.long-copy h2{margin:33px 0 18px}.long-copy p{color:var(--muted);font-size:1.08rem}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:33.75px}.mini-card{border-top:0.75px solid #91a58e;padding-top:17.25px}.mini-card .number{color:var(--coffee);font-size:.8rem;letter-spacing:.1em}.mini-card h3{font-size:1.55rem;margin:12px 0}.mini-card p{font-size:.95rem;color:var(--muted)}.activities-feature{display:grid;grid-template-columns:.85fr 1.15fr;gap:52.5px;align-items:center}.activities-feature img{height:450px;object-position:50% 55%}.activity-list{display:grid;grid-template-columns:1fr 1fr;gap:31.5px;margin-top:25.5px}.activity-list h3{font-size:1.5rem;margin-bottom:9px}.activity-list p{font-size:.95rem;color:var(--muted)}.video-box{margin-top:30px;aspect-ratio:16/9;background:#162e23}.video-box iframe{display:block;width:100%;height:100%;border:0}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:63.75px;padding-bottom:75px;align-items:start}.contact-copy h2{font-size:2.3rem;margin-bottom:16.5px}.contact-copy>p{color:var(--muted)}.contact-item{margin-top:24px;border-top:0.75px solid var(--line);padding-top:18.75px}.contact-item h3{font-family:var(--body);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9.75px}.contact-item a{font-size:1.13rem}.contact-item p{color:var(--muted);font-size:.95rem}.booking-form{padding:27px;background:#eeefe7;border:0.75px solid #dde1d4}.booking-form h2{font-size:2rem;margin-bottom:9px}.booking-form>p{color:var(--muted);font-size:.95rem;margin-bottom:20.25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:5.25px;margin-bottom:15px}.field label{font-size:.875rem;font-weight:500}input,select,textarea{width:100%;min-width:0;background:#fff;border:0.75px solid #b7c0b2;color:var(--ink);border-radius:0;padding:9px;min-height:36.75px}textarea{resize:vertical;min-height:75px}.booking-form .btn{width:100%}.form-note{font-size:.78rem!important;margin:10.5px 0 0!important}.faq{margin-top:28.5px}details{border-top:0.75px solid var(--line);padding:14.25px 0}details:last-child{border-bottom:0.75px solid var(--line)}summary{cursor:pointer;font-size:.95rem;font-weight:500}details p{margin-top:9px;color:var(--muted);font-size:.9rem}.mobile-book{display:none}.lightbox{background:#102119;color:#fff;border:0.75px solid #ffffff44;padding:0;width:min(840px,94cqw);max-width:94cqw;max-height:94dvh;overflow:hidden}.lightbox::backdrop{background:#07110fee;backdrop-filter:blur(3.75px)}.lightbox-top{display:flex;align-items:center;justify-content:space-between;padding:9.75px 15px}.lightbox-top h2{font-family:var(--body);font-size:1rem;letter-spacing:0}.icon-button{color:inherit;border:0.75px solid #ffffff60;background:transparent;min-width:33px;min-height:33px;display:inline-grid;place-items:center}.lightbox-image{width:100%;height:min(68dvh,555px);object-fit:contain;background:#09150f}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;padding:11.25px 15px;gap:11.25px;font-size:.875rem}.gallery-controls{display:flex;gap:7.5px}.gallery-caption{color:#d7e0d3}.lightbox-counter{font-size:.8rem;color:#a8bca8;white-space:nowrap}.error-text{color:#9b2d20;font-size:.9rem;margin-top:9px}.no-script{padding:9px;background:#fff3c9;text-align:center}.caption{font-size:.8rem;color:var(--muted);margin-top:7.5px}.language-label{display:none}.icon{width:15.75px;height:15.75px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.mobile-nav[hidden]{display:none}.visually-hidden{position:absolute;width:0.75px;height:0.75px;padding:0;margin:-0.75px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1200px){.hero{min-height:525px}.hero-copy{padding-right:52.5px}}@media(max-width:885px){.wrap{width:calc(100% - 48px)}.header-inner{gap:16.5px}.desktop-nav{gap:13.5px}.header-book{display:none}.hero-copy{padding:41.25px 24px}.hero{grid-template-columns:44% 56%;min-height:423.75px}.hero h1{font-size:4rem}.cabin-grid,.story-grid{gap:36px}.contact-grid,.cabin-details{gap:33.75px}}@media(max-width:675px){.desktop-nav{display:none}.header-inner{min-height:60px}.lang{margin-left:auto}.menu-toggle{display:inline-grid;place-items:center}.mobile-nav{padding:9px 24px 18px;display:flex;flex-direction:column;gap:3.75px;border-top:0.75px solid var(--line)}.mobile-nav a{padding:7.5px 0}.hero h1{font-size:3.3rem}.hero{min-height:401.25px}.photo-tag{left:13.5px;bottom:15px}.photo-count{right:13.5px;bottom:55.5px}.section{padding:56.25px 0}.facts{grid-template-columns:1fr 1fr;gap:19.5px}.fact:nth-child(2){border:0}.fact{justify-content:flex-start;padding-left:19.5px}.cabin-grid,.story-grid{gap:27px}.image-pair{padding-right:15px;padding-bottom:30px}.image-pair .main-photo{height:292.5px}.image-pair .detail-photo{width:58%;height:127.5px;border-width:3.75px}.amenities{grid-template-columns:1fr;gap:9px}.experience-card{height:292.5px}.story-image{height:345px}.footer-main{flex-direction:column}.gallery-mosaic{grid-template-columns:1.5fr 1fr;grid-template-rows:172.5px 172.5px}.gallery-mosaic .photo-button:nth-child(4),.gallery-mosaic .photo-button:nth-child(5){display:none}.cabin-details,.contact-grid{gap:22.5px}.reservation-card{padding:18.75px}.booking-form{padding:21px}.activities-feature{gap:26.25px}.activities-feature img{height:442.5px}.activity-list{gap:18.75px}.contact-grid{grid-template-columns:.8fr 1.2fr}}
@media(max-width:480px){.wrap{width:calc(100% - 30px)}.topline{font-size:.64rem;letter-spacing:.09em;padding:4.5px 7.5px}.header-inner{min-height:57.75px;gap:10.5px}.brand{gap:6px}.monogram{width:26.25px;height:26.25px;font-size:16.5px}.brand-name{font-size:1.22rem}.brand-sub{font-size:.53rem;letter-spacing:.16em}.lang{gap:5.25px;font-size:.7rem}.menu-toggle{padding:1.5px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:31.5px 18.75px 29.25px}.hero .eyebrow{margin-bottom:14.25px;font-size:.68rem}.hero h1{font-size:3.45rem;max-width:292.5px}.hero p{font-size:.97rem;max-width:251.25px;margin:15px 0 18.75px}.hero-photo{height:258.75px}.hero-photo img{object-position:center 45%}.photo-tag{left:15px;bottom:15px;font-size:.7rem}.photo-count{right:13.5px;bottom:15px;font-size:.7rem;padding:7.5px}.photo-count span{display:none}.facts{padding:18px 0;gap:18px 7.5px}.fact{padding-left:0;gap:7.5px}.fact strong{font-size:.85rem}.fact span{font-size:.72rem}.fact svg{width:17.25px}.section{padding:43.5px 0}.section-head{display:block;margin-bottom:22.5px}.section-head p{margin-top:15px}.section-head>.text-link{margin-top:15px}.eyebrow{font-size:.71rem}.cabin-grid,.story-grid,.contact-grid,.cabin-details,.activities-feature{grid-template-columns:1fr;gap:26.25px}.image-pair{padding-right:22.5px;padding-bottom:33.75px}.image-pair .main-photo{height:255px}.image-pair .detail-photo{height:129.75px;width:52%}.amenities{grid-template-columns:1fr 1fr;font-size:.8rem;gap:11.25px 6px}.amenity{font-size:.8rem;gap:5.25px}.copy h2{margin-bottom:15px}.experience-grid{grid-template-columns:1fr;gap:13.5px}.experience-card{height:285px}.experience-content{bottom:20.25px;left:19.5px;right:19.5px}.story-image{height:273.75px}.story-grid .copy{order:1}.story-grid .story-image{order:0}.booking-banner{padding:34.5px 0}.booking-banner .wrap{display:block}.booking-banner .btn{margin-top:20.25px}.footer-nav{gap:11.25px 18px}.site-footer{padding:30px 0 70.5px}.footer-main{gap:18.75px;padding-bottom:21px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:9.75px}.page-intro{padding:28.5px 0 24px}.page-intro h1{font-size:2.9rem}.page-intro p{font-size:1rem;margin-top:13.5px}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:225px 123.75px;gap:6px}.gallery-mosaic .photo-button:first-child{grid-column:span 2;grid-row:auto}.gallery-mosaic .photo-button:nth-child(3):after{content:attr(data-caption);position:absolute;bottom:9px;right:9px;background:var(--paper);padding:6px 9px;font-size:.75rem;color:var(--ink)}.detail-section h2{font-size:2rem}.detail-list{gap:12.75px 9px}.detail-list li{font-size:.85rem}.reservation-card{position:static}.wide-image{height:247.5px}.mini-grid{grid-template-columns:1fr;gap:24px;margin-top:22.5px}.mini-card h3{margin:7.5px 0}.long-copy p{font-size:1rem}.activities-feature img{height:330px}.activity-list{grid-template-columns:1fr;gap:22.5px}.contact-grid{padding-bottom:41.25px}.booking-form{padding:18px 15px}.form-row{gap:9px}.field label{font-size:.8rem}.field input{font-size:.9rem;padding:7.5px 6px}.contact-copy{order:1}.contact-grid .booking-form{order:0}.mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:18;background:var(--paper);border-top:0.75px solid var(--line);padding:7.5px 15px max(7.5px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:11.25px;box-shadow:0 -3px 15px #102e2510}.mobile-book strong{display:block;font-size:.85rem;font-weight:500}.mobile-book span{display:block;font-size:.72rem;color:var(--muted)}.mobile-book .btn{min-height:32.25px;padding:8.25px 12px;font-size:.8rem}.lightbox{width:96cqw;max-width:96cqw}.lightbox-top{padding:7.5px 9px}.lightbox-image{height:58dvh}.lightbox-bottom{padding:9px;flex-wrap:wrap}.gallery-caption{width:100%;font-size:.8rem}.lightbox-counter{margin-right:auto}.icon-button{min-width:33px}.header-inner .brand{max-width:150px}.hero h1{letter-spacing:-.04em}}
@media(max-width:270px){.brand-sub{display:none}.monogram{display:none}.hero h1{font-size:3rem}.header-inner{gap:8.25px}.hero-photo{height:217.5px}.amenities{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* 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:19.5px; border-radius:3px; }
.btn { border-radius:749.25px; background:#8b3652; border-color:#8b3652; box-shadow:0 3.75px 10.5px #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:487.5px; }
.hero-copy { padding-top:46.5px; padding-bottom:48.75px; }
.hero .eyebrow { color:#9a403e; }
.hero h1 { font-size:clamp(3rem,4.5cqw,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:21px 21px 21px 0; border-radius:120px 18px 67.5px 18px; box-shadow:0 7.5px 26.25px #79573d16; }
.hero-photo img { object-position:48% center; }
.photo-tag { left:auto; right:62.25px; bottom:18.75px; background:#fff0dceF; color:#523b30; border-radius:749.25px; }
.photo-count { top:18.75px; bottom:auto; right:18.75px; background:#5f2a40d9; border-color:#fbead799; border-radius:749.25px; }
.facts { border-bottom-color:#dcc2a2; padding-top:24px; padding-bottom:24px; }
.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:75px 15px 15px 15px; }
.image-pair .detail-photo { border:5.25px solid var(--paper); border-radius:33.75px 12px 33.75px 12px; box-shadow:0 6px 18px #69483618; }
.section-tint { background:linear-gradient(110deg,#edc7c1,#f1d3bb); border-radius:48.75px 48.75px 0 0; }
.experience-card { border-radius:19.5px; }
.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:21px 82.5px 21px 21px; overflow:hidden; }
.story-grid .copy h2 { color:#6e3640; }
.booking-banner { background:#85374d; position:relative; isolation:isolate; overflow:hidden; border-radius:0 48.75px 0 0; }
.booking-banner:after { content:''; position:absolute; z-index:-1; right:-37.5px; bottom:-71.25px; width:292.5px; height:292.5px; 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:180px; }
.page-intro:after { content:''; position:absolute; right:0; bottom:11.25px; width:150px; height:150px; 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:21px; overflow:hidden; gap:7.5px; }
.gallery-mosaic .photo-button:last-child:after { border-radius:749.25px; background:#fff1dc; }
.reservation-card { background:#f3dcd4; border-color:#dfb9aa; border-radius:20.25px; }
.reservation-card h3 { margin-top:11.25px; }
.detail-list .icon { color:var(--leaf); }
.wide-image { border-radius:22.5px 75px 22.5px 22.5px; 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:26.25px; height:26.25px; }
.activities-feature>div:first-child { border-radius:90px 18.75px 18.75px 18.75px; overflow:hidden; }
.video-box { border-radius:19.5px; overflow:hidden; }
.contact-item { border-color:#d7bca1; }
.contact-item h3 { color:#9b3d4c; }
.booking-form { background:#f2dcd4; border-color:#dfb9aa; border-radius:21px; }
.booking-form h2 { color:#763249; }
input,select,textarea { background:#fff8ed; border-color:#b99784; border-radius:9px; 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 -3px 15px #79453d12; }
.mobile-book strong { color:#713549; }
.mobile-book span { color:#72584b; }
.lightbox { background:#382b2b; border-color:#d5a58580; border-radius:15px; }
.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:2.25px; }
@media(min-width:1200px) { .hero { min-height:532.5px; } }
@media(max-width:885px) { .hero-photo { margin:18px 18px 18px 0; border-top-left-radius:82.5px; } .hero h1 { font-size:3.8rem; } .photo-tag { right:30px; font-size:.72rem; } .page-intro { padding-right:135px; } .page-intro:after { width:120px; height:120px; } }
@media(max-width:675px) { .hero { min-height:427.5px; } .hero h1 { font-size:3.1rem; } .hero-copy { padding-top:33.75px; padding-bottom:33.75px; } .hero-photo { border-radius:67.5px 16.5px 41.25px 16.5px; margin-right:15px; } .photo-tag { right:18px; bottom:18px; max-width:calc(100% - 31.5px); } .photo-count { top:16.5px; right:16.5px; bottom:auto; } .page-intro { padding-right:116.25px; } .page-intro:after { width:101.25px; height:101.25px; } .booking-banner:after { width:202.5px; height:202.5px; } }
@media(max-width:480px) {
 .hero { min-height:0; }
 .hero-copy { padding:29.25px 18.75px 23.25px; }
 .hero h1 { font-size:3.1rem; max-width:292.5px; }
 .hero .eyebrow { font-size:.69rem; }
 .hero p { margin-top:15px; margin-bottom:18.75px; }
 .hero-photo { height:258.75px; margin:0 15px 18px; border-radius:75px 16.5px 56.25px 16.5px; }
 .photo-tag { left:11.25px; right:auto; bottom:15.75px; max-width:calc(100% - 30px); font-size:.68rem; padding:6.75px 9px; z-index:5; }
 .photo-count { top:15px; right:13.5px; bottom:auto; }
 .facts { padding-top:19.5px; padding-bottom:19.5px; }
 .image-pair .main-photo { border-radius:56.25px 15px 15px 15px; }
 .image-pair .detail-photo { border-width:3.75px; }
 .section-tint { border-radius:28.5px 28.5px 0 0; }
 .experience-card { border-radius:18px; }
 .story-image { border-radius:18px 56.25px 18px 18px; }
 .booking-banner { border-top-right-radius:33.75px; padding-bottom:48.75px; }
 .booking-banner:after { width:165px; height:165px; right:-31.5px; bottom:-24px; opacity:.65; }
 .booking-banner .wrap { position:relative; z-index:1; }
 .booking-banner h2 { max-width:251.25px; }
 .booking-banner .btn { max-width:calc(100% - 37.5px); }
 .page-intro { padding:27px 0 56.25px; }
 .page-intro h1 { font-size:2.6rem; }
 .page-intro p { font-size:1rem; }
 .page-intro:after { width:48.75px; height:48.75px; right:0; bottom:3.75px; }
 .gallery-mosaic { border-radius:17.25px; }
 .gallery-mosaic .photo-button:nth-child(3):after { border-radius:749.25px; }
 .wide-image { border-radius:18px 52.5px 18px 18px; }
 .activities-feature>div:first-child { border-radius:67.5px 18px 18px 18px; }
 .contact-grid { gap:28.5px; }
 .booking-form { border-radius:18px; }
 .footer-main { padding-bottom:22.5px; }
}
@media(max-width:270px) { .hero h1 { font-size:2.85rem; } .hero-photo { height:217.5px; } .page-intro h1 { font-size:2.4rem; } }

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

/* Prominent link to both nearby visitor cards, below the home photographs. */
.nearby-callout { margin-top:21px; text-align:center; }
.nearby-callout .btn { min-height:42px; max-width:100%; padding:12px 22.5px; 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:34.5px; padding-bottom:34.5px; }
.home-intro .eyebrow { margin-bottom:15px; }
.home-intro h1 { font-size:clamp(2.7rem,4.1cqw,4.1rem); }
.home-intro-subtitle { margin-top:18px; max-width:322.5px; color:#85374d; font-size:1.6rem; line-height:1.3; }
.home-intro .home-intro-description { max-width:322.5px; margin:15px 0 0; }
.home-amenities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 15px; width:100%; max-width:322.5px; margin:19.5px 0 22.5px; padding:0; list-style:none; }
.home-amenities li { display:flex; align-items:flex-start; gap:7.5px; font-size:.875rem; line-height:1.45; }
.home-amenities .icon { color:var(--leaf); margin-top:0.75px; }
.home-amenities small { display:block; margin-top:2.25px; color:var(--muted); font-size:.8125rem; }
.home-intro-media { display:grid; grid-template-rows:minmax(255px,1fr) 112.5px; gap:12px; min-width:0; padding:21px 21px 21px 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:12px; min-width:0; }
.home-photo-pair .photo-button { min-width:0; height:112.5px; border-radius:15px; }
.home-intro .home-map-link { right:18px; left:auto; bottom:18px; max-width:calc(100% - 36px); min-height:33px; font-size:.875rem; font-weight:600; text-decoration:underline; text-underline-offset:2.25px; }
.home-map-link:hover { background:#fff7e9; }
@media(max-width:675px) and (min-width:525.75px) {
 .home-intro .hero-copy { padding-left:22.5px; padding-right:18.75px; }
 .home-intro h1 { font-size:2.8rem; }
 .home-amenities { gap:10.5px 9px; }
 .home-intro-media { padding-right:15px; }
}
@media(max-width:525px) {
 .home-intro { display:flex; flex-direction:column; }
 .home-intro .hero-copy { padding:27px 18.75px 22.5px; }
 .home-intro h1 { font-size:clamp(2.7rem,8cqw,3.5rem); }
 .home-intro-subtitle { font-size:1.5rem; margin-top:16.5px; }
 .home-intro-media { padding:0 15px 21px; grid-template-rows:255px 90px; gap:9px; }
 .home-photo-pair { gap:9px; }
 .home-photo-pair .photo-button { height:90px; border-radius:12px; }
 .home-intro .home-map-link { right:13.5px; bottom:15px; max-width:calc(100% - 27px); padding:7.5px 10.5px; }
}
@media(max-width:270px) {
 .home-intro .hero-copy { padding-left:15px; padding-right:15px; }
 .home-amenities { column-gap:9px; }
 .home-intro-media { grid-template-rows:217.5px 82.5px; }
 .home-photo-pair .photo-button { height:82.5px; }
}

/* The owner's small panoramic front view keeps its complete framing. */
.home-intro-media { grid-template-rows:auto 112.5px; align-content:center; }
.home-front-view { min-width:0; }
.home-intro .home-photo-trigger { display:block; width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:inherit; }
.home-intro .hero-photo { border-radius:52.5px 15px 33.75px 15px; }
.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:7.5px; margin-top:9px; }
.home-intro .home-photo-actions .photo-tag,
.home-intro .home-photo-actions .photo-count { position:static; inset:auto; margin:0; min-height:33px; max-width:100%; padding:7.5px 10.5px; font-size:.8rem; }
.home-photo-actions .photo-count { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.home-photo-pair .photo-button:first-child img { object-position:center 67%; }
@media(max-width:525px) {
 .home-intro-media { grid-template-rows:auto 90px; }
 .home-intro .hero-photo { border-radius:30px 12px 22.5px 12px; }
 .home-photo-actions { gap:6px; }
 .home-intro .home-photo-actions .photo-tag,
 .home-intro .home-photo-actions .photo-count { font-size:.75rem; padding:6.75px 9px; }
}
@media(max-width:270px) {
 .home-intro-media { grid-template-rows:auto 82.5px; }
}

/* The owner's garden mockup: three rear layers, photographs, three foreground
   layers. Native transparent cutouts attach to a real scene edge; no faux matte. */
:root { --garden-paper:#fbf1df; --garden-ink:#49382f; }
body { background:linear-gradient(110deg,#f9ecdb,#fbf0dd 55%,#f4e2cf); }
main { overflow:hidden; overflow:clip; }
[hidden] { display:none!important; }
.garden-plant { position:absolute; display:block; height:auto; max-width:none; object-fit:contain; pointer-events:none; user-select:none; filter:drop-shadow(1.5px 3.75px 2.25px #35432b1a); }
.garden-scene { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 48% 46%,#fff9ed 18%,#f3e4c7 92%); border-radius:13.5px; }
/* The values deliberately preserve the generous proportions of the mockup. */
.garden-scene>.botanical-back-left { z-index:0; width:clamp(195px,42%,337.5px); left:-9%; top:-16.5px; }
.garden-scene>.botanical-back-right { z-index:0; width:clamp(217.5px,43%,360px); right:-15%; top:-30px; }
.garden-scene>.botanical-understory { z-index:1; width:clamp(172.5px,33%,270px); left:-6%; bottom:-67.5px; transform:rotate(-12deg); }
.garden-scene>.botanical-front-left { z-index:3; width:clamp(153.75px,28%,228.75px); left:-8%; bottom:7.5px; }
.garden-scene>.botanical-front-right { z-index:3; width:clamp(210px,43%,348.75px); right:-13%; top:-21px; }
.garden-scene>.botanical-front-low { z-index:3; width:clamp(198.75px,39%,300px); left:-21px; bottom:-30px; transform:rotate(8deg); }
.garden-scene[data-garden-theme="cabin"] { background:radial-gradient(ellipse at 50% 45%,#fff9ee 28%,#eee2be); }
.garden-scene[data-garden-theme="cabin"]>.botanical-back-left { top:auto; bottom:-30px; left:-8%; transform:rotate(-12deg); }
.garden-scene[data-garden-theme="cabin"]>.botanical-front-left { width:clamp(142.5px,26%,217.5px); left:-8%; bottom:-71.25px; }
.garden-scene[data-garden-theme="cabin"]>.botanical-understory { left:auto; right:-10%; bottom:7.5px; transform:scaleX(-1); }
.garden-scene[data-garden-theme="garden"],.garden-scene[data-garden-theme="discover"] { background:radial-gradient(ellipse at 50% 42%,#fff8e9 25%,#e5e4bf); }
.garden-scene[data-garden-theme="garden"]>.botanical-front-left,.garden-scene[data-garden-theme="discover"]>.botanical-front-left { width:clamp(135px,27%,232.5px); left:-7%; bottom:-48.75px; }
.garden-scene[data-garden-theme="garden"]>.botanical-back-left,.garden-scene[data-garden-theme="discover"]>.botanical-back-left { width:clamp(157.5px,29%,247.5px); left:-7%; top:-15px; }
.garden-scene[data-garden-theme="contact"] { background:radial-gradient(ellipse at center,#fff7ea 28%,#eed6c6); }
.garden-scene[data-garden-theme="contact"]>.botanical-front-left { bottom:8%; left:-18%; }
.garden-number { color:#84394f; font-size:.76rem; font-weight:700; letter-spacing:.08em; flex:0 0 auto; }
.garden-photo-label { display:flex; gap:7.5px; align-items:baseline; padding:7.5px 3px 2.25px; text-align:left; font-size:.77rem; line-height:1.45; color:var(--garden-ink); }
.photo-button:after { display:none!important; }
.photo-button:hover img:not(.garden-plant) { transform:none; }
.home-intro { position:relative; background:radial-gradient(ellipse at 80% 25%,#f3e7c2,transparent 60%),linear-gradient(120deg,#f5dac7,#f8e9d1); }
.home-intro .hero-copy { position:relative; z-index:4; }
.home-intro-media { grid-template-rows:auto auto; align-content:center; padding:57px 48px 86.25px; gap:18px; border-radius:0; background:radial-gradient(ellipse at 50% 48%,#fff7e780,#f1dfbd40); }
.home-front-view { position:relative; z-index:2; transform:none; }
.home-intro .home-photo-trigger { background:var(--garden-paper); padding:6.75px; border-radius:3px; box-shadow:0 9px 18px #4534252b; overflow:hidden; }
.home-intro .home-photo-trigger img { border-radius:1.5px; }
.home-photo-actions { transform:none; position:relative; z-index:6; }
.home-photo-actions a,.home-photo-actions button { background:#fff6e8!important; color:#70364b!important; }
.home-photo-pair { position:relative; z-index:2; gap:13.5px; }
.home-photo-pair .photo-button { display:flex; flex-direction:column; padding:6px; border-radius:2.25px; height:auto; background:var(--garden-paper); box-shadow:0 7.5px 16.5px #45342525; transform:rotate(3deg); overflow:visible; }
.home-photo-pair .photo-button:nth-child(2) { transform:none; }
.home-photo-pair .photo-button img:not(.garden-plant) { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.home-photo-pair .garden-photo-label { font-size:.71rem; }
.home-intro-media>.botanical-back-left { width:55%; left:-18%; top:-13.5px; }
.home-intro-media>.botanical-back-right { width:57%; right:-25%; }
.home-intro-media>.botanical-front-right { width:55%; right:-18%; top:6px; }
.home-intro-media>.botanical-front-left { width:35%; left:-10%; bottom:13.5px; }
.home-intro-media>.botanical-front-low { width:49%; left:-21px; bottom:-26.25px; }
.garden-surround { width:min(1005px,calc(100% - 30px)); margin:10.5px auto 31.5px; padding:52.5px 72px 75px; }
.garden-feature-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:16.5px; align-items:center; position:relative; z-index:2; }
.garden-feature-grid .photo-button { background:var(--garden-paper); padding:6.75px; border-radius:2.25px; overflow:visible; box-shadow:0 6px 18.75px #57432e24; transform:none; }
.garden-feature-grid .photo-button:nth-child(2) { transform:none; }
.garden-feature-grid .photo-button:nth-child(3) { transform:none; }
.garden-feature-grid img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.garden-feature-grid .photo-button:last-child img { object-fit:contain; }
.garden-feature-grid .garden-photo-label { font-size:.83rem; }
.garden-all-link { position:relative; z-index:5; text-align:center; margin:24px 0 0; }
.garden-all-link .btn { background:#fff5e6; }
.garden-story { padding:41.25px 39px 64.5px; }
.garden-story .photo-button,.garden-wide .photo-button { display:block; position:relative; z-index:2; padding:6px; background:var(--garden-paper); box-shadow:0 6px 16.5px #44382925; width:100%; border-radius:3px; transform:none; overflow:visible; }
.garden-story .photo-button img:not(.garden-plant) { display:block; height:auto; width:100%; }
.garden-story .garden-photo-label { padding-left:6px; }
.garden-wide { padding:46.5px 78.75px 75px; }
.garden-wide .photo-button img:not(.garden-plant) { max-height:405px; height:auto; object-fit:cover; }
.garden-wide>.botanical-back-left { width:40%; left:-8%; }
.garden-wide>.botanical-back-right { width:42%; right:-19%; }
.garden-wide>.botanical-front-left { width:28%; left:-7%; bottom:9px; }
.garden-wide>.botanical-front-right { width:40%; right:-11%; }
.garden-wide .garden-photo-label { padding:9px 4.5px 2.25px; }
.garden-flourish { height:127.5px; position:relative; overflow:hidden; width:100%; margin:13.5px auto -41.25px; pointer-events:none; }
.garden-flourish>.flourish-ferns { width:255px; left:-56.25px; bottom:-116.25px; }
.garden-flourish>.flourish-flowers { width:165px; left:-22.5px; bottom:-180px; transform:rotate(17deg); }
.garden-flourish>.flourish-coffee { width:300px; right:-52.5px; bottom:-26.25px; transform:scaleX(-1) rotate(-8deg); }
.cabin-details { position:relative; }
.garden-album { padding-top:26.25px; }
.garden-album-door { padding:55.5px 142.5px 78.75px; border-radius:22.5px 7.5px; border:0.75px solid #d6bc95; }
.garden-album-copy { position:relative; z-index:4; max-width:540px; margin:auto; text-align:center; padding:19.5px 16.5px; background:#fff6e9ed; border-radius:12px; box-shadow:0 6px 26.25px #7361480a; }
.garden-album-copy h2 { font-size:clamp(2rem,4cqw,3.2rem); margin:10.5px 0; }
.garden-album-copy>p:not(.eyebrow) { color:var(--muted); }
.garden-album-copy .garden-category-links { margin-top:21px; justify-content:center; }
.garden-category-links { display:flex; flex-wrap:wrap; gap:7.5px; }
.garden-category-links button { min-height:33px; padding:7.5px 13.5px; border:0.75px solid #b89278; border-radius:749.25px; color:#73354a; background:#fff8ec; font:inherit; font-size:.9rem; cursor:pointer; }
.garden-category-links button:hover,.garden-category-links [aria-pressed="true"] { background:#85394f; border-color:#85394f; color:#fff8ec; }
.page-intro:after { display:none; }
.page-intro { padding-right:0; }
.garden-contact-intro { display:grid; grid-template-columns:1fr 1fr; gap:33px; align-items:center; padding:27px 0 41.25px; }
.garden-contact-intro .page-intro { padding:7.5px 0; width:100%; }
.garden-contact-intro .garden-story { padding:37.5px 33.75px 60px; }
.garden-destination { padding:41.25px 33.75px 60px; }
.garden-destination>.region-photo { position:relative; z-index:2; height:255px; width:100%; border:6px solid var(--garden-paper); box-shadow:0 7.5px 18px #45342528; transform:none; }
.region-cover figcaption { position:relative; z-index:4; }
.booking-banner:after { background-image:url("/assets/garden/coffee-right.webp"); width:277.5px; height:360px; right:-105px; bottom:-112.5px; opacity:1; }
.booking-banner .wrap { position:relative; z-index:1; }
.site-footer { background:#edd9bd; }
/* Let captions sit above leaves independently of the photographed print. */
.home-front-view,.home-photo-pair,.garden-feature-grid { z-index:auto; transform:none; }
.garden-scene .photo-button,.garden-scene .home-photo-trigger { z-index:auto; transform:none; background:transparent; padding:0; box-shadow:none; overflow:visible; }
.home-photo-pair .photo-button:nth-child(2),.garden-feature-grid .photo-button:nth-child(2),.garden-feature-grid .photo-button:nth-child(3) { transform:none; }
.garden-print { display:block; position:relative; z-index:2; padding:6px; width:100%; background:var(--garden-paper); box-shadow:0 7.5px 18.75px #57432e2e; transform:none; border-radius:2.25px; }
.home-photo-pair .photo-button:first-child .garden-print,.garden-feature-grid .photo-button:nth-child(2) .garden-print { transform:none; }
.garden-print img { display:block; width:100%; height:auto; border-radius:1.5px; }
.garden-scene .garden-photo-label { position:relative; z-index:4; padding:7.5px 6.75px 6px; width:100%; background:#fbf1dff5; border-radius:0 0 3px 3px; }
.home-photo-actions { transform:none; }
.home-intro .hero-photo:after { display:none; }
/* The scene follows the photo's aspect ratio, keeping the foliage close to both
   portrait and landscape pictures. Caption and controls are outside the plants. */
.gallery-is-open { overflow:hidden; }
.garden-lightbox { width:min(825px,calc(100cqw - 27px)); max-width:none; height:auto; max-height:94vh; max-height:94dvh; padding:17.25px 19.5px 15px; border:0.75px solid #e5d5bc; border-radius:13.5px; color:var(--garden-ink); background:var(--garden-paper); box-shadow:0 15px 52.5px #33241859; overflow:auto; overscroll-behavior:contain; }
.garden-lightbox::backdrop { background:#493e2f99; backdrop-filter:blur(3.75px); }
.garden-gallery-top { display:flex; justify-content:space-between; align-items:center; gap:12px; position:relative; z-index:8; }
.garden-gallery-top .eyebrow { color:#883b50; font-size:.66rem; margin:0 0 4.5px; }
.garden-gallery-top h2 { font-size:clamp(1.4rem,3cqw,2rem); margin:0; }
.garden-lightbox .icon-button { background:#fff8ee; color:#80384e; border:0.75px solid #dec6b3; width:33px; height:33px; flex-shrink:0; }
.garden-lightbox .icon-button:hover { background:#eed7c8; }
.garden-lightbox>.garden-category-links { position:relative; z-index:8; margin-top:13.5px; gap:5.25px; }
.garden-lightbox>.garden-category-links button { font-size:.8rem; padding:6px 10.5px; }
.garden-gallery-tools { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:7.5px; margin:7.5px 0; position:relative; z-index:8; }
.garden-gallery-tools button,.garden-image-error button { min-height:30px; border:0.75px solid #cda997; background:#fff7ea; color:#73354a; border-radius:749.25px; padding:6px 12px; font:inherit; font-size:.82rem; cursor:pointer; }
.garden-gallery-tools button:hover { background:#f0deca; }
.garden-category-status { color:#755440; font-size:.8rem; }
.garden-photo-frame { margin:0; padding:0; background:transparent; }
.garden-photo-stage { --image-height:clamp(120px,calc(94dvh - 292.5px),450px); display:flex; justify-content:center; align-items:center; padding:33.75px 54px 46.5px; min-height:172.5px; width: min(100%,calc(var(--image-height) * var(--photo-ratio,1.5) + 120px)); margin:auto; }
.garden-image-paper { position:relative; z-index:2; background:#fff9ed; padding:6px; border-radius:2.25px; box-shadow:0 7.5px 21px #59483235; width:fit-content; max-width:100%; transform:none; }
.garden-lightbox .lightbox-image { display:block; width:auto; height:auto; max-width:100%; max-height:var(--image-height); min-height:0; object-fit:contain; background:transparent; margin:auto; }
.garden-photo-frame figcaption { display:flex; gap:10.5px; align-items:baseline; padding:10.5px 4.5px 1.5px; width:fit-content; max-width:570px; margin:auto; }
.garden-lightbox .gallery-caption { font-size:.88rem; color:var(--garden-ink); margin:0; line-height:1.5; }
.garden-lightbox .lightbox-counter { color:#833c50; font-size:.78rem; font-weight:700; white-space:nowrap; }
.garden-lightbox .gallery-controls { display:flex; justify-content:center; gap:21px; align-items:center; position:relative; z-index:6; padding:10.5px 0 0; }
.garden-gallery-hint { color:#786049; font-size:.78rem; }
.without-garden .garden-photo-stage>.garden-plant { display:none; }
.without-garden .garden-photo-stage { background:transparent; padding:7.5px 0; width:100%; }
.without-garden .garden-image-paper { transform:none; }
.garden-image-error { position:absolute; z-index:8; max-width:277.5px; background:#fff8eb; border:0.75px solid #cda997; border-radius:9px; padding:15px; text-align:center; }
.garden-image-error p { margin-bottom:9px; }
.brand-logo { display:block; width:66px; height:66px; object-fit:contain; border-radius:9px; flex-shrink:0; }
.site-footer .brand-logo { width:105px; height:105px; border-radius:12px; }
.site-header .brand { gap:9px; }
@media(max-width:825px) {
 .site-header .brand-logo { width:51px; height:51px; }
 .home-intro-media { padding:48.75px 34.5px 82.5px; }
 .garden-feature-grid { gap:13.5px; }
 .garden-feature-grid .garden-photo-label { font-size:.76rem; }
 .garden-surround { padding:48.75px 56.25px 71.25px; }
 .garden-album-door { padding-left:97.5px; padding-right:97.5px; }
 .garden-contact-intro { gap:21px; }
}
@media(max-width:525px) {
 .garden-scene { border-radius:9px; }
 .garden-scene>.botanical-back-left { width:183.75px; left:-78.75px; top:-13.5px; }
 .garden-scene>.botanical-back-right { width:210px; right:-114.75px; top:-22.5px; }
 .garden-scene>.botanical-understory { width:161.25px; left:-57px; bottom:-71.25px; }
 .garden-scene>.botanical-front-left { width:116.25px; left:-48.75px; bottom:-6px; }
 .garden-scene>.botanical-front-right { width:198.75px; right:-82.5px; top:-26.25px; }
 .garden-scene>.botanical-front-low { width:183.75px; left:-18.75px; bottom:-30px; }
 .garden-scene[data-garden-theme="cabin"]>.botanical-back-left { left:-75px; bottom:-52.5px; }
 .garden-scene[data-garden-theme="cabin"]>.botanical-front-left { width:120px; left:-41.25px; bottom:-78.75px; }
 .garden-scene[data-garden-theme="cabin"]>.botanical-understory { right:-78.75px; bottom:0; }
 .garden-scene[data-garden-theme="garden"]>.botanical-back-left,.garden-scene[data-garden-theme="discover"]>.botanical-back-left { width:153.75px; left:-75px; }
 .garden-scene[data-garden-theme="garden"]>.botanical-front-left,.garden-scene[data-garden-theme="discover"]>.botanical-front-left { width:120px; left:-41.25px; bottom:-71.25px; }
 .home-intro-media { padding:48.75px 28.5px 70.5px; grid-template-rows:auto auto; gap:17.25px; border-radius:0; }
 .home-intro-media>.botanical-front-low { left:-18.75px; bottom:-33.75px; }
 .home-photo-pair { gap:10.5px; }
 .home-photo-pair .photo-button { height:auto; min-height:0; border-radius:2.25px; }
 .home-photo-pair .garden-photo-label { display:block; font-size:.68rem; }
 .home-photo-pair .garden-number { display:block; margin-bottom:3px; }
 .home-photo-actions { gap:6px; }
 .home-intro .home-photo-actions .photo-tag,.home-intro .home-photo-actions .photo-count { padding:6.75px 8.25px; font-size:.72rem; }
 .garden-feature-grid { grid-template-columns:1fr 1fr; gap:16.5px 10.5px; }
 .garden-feature-grid>.photo-button:first-child { grid-column:span 2; }
 .garden-feature-grid .photo-button { padding:5.25px; }
 .garden-feature-grid .garden-photo-label { display:block; font-size:.72rem; }
 .garden-feature-grid .garden-number { margin-right:4.5px; }
 .garden-surround { width:calc(100% - 12px); padding:45px 24px 67.5px; margin-top:6px; }
 .garden-all-link { margin-top:18.75px; }
 .garden-story { padding:37.5px 24px 61.5px; }
 .story-grid .garden-story { order:0; }
 .garden-wide { padding:40.5px 24px 63.75px; }
 .garden-wide .photo-button img:not(.garden-plant) { max-height:none; }
 .garden-flourish { height:105px; margin-bottom:-18.75px; }
 .garden-flourish>.flourish-ferns { width:172.5px; left:-48.75px; bottom:-60px; }
 .garden-flourish>.flourish-flowers { width:123.75px; bottom:-135px; }
 .garden-flourish>.flourish-coffee { width:172.5px; right:-48.75px; bottom:0; }
 .garden-album { width:calc(100% - 12px); }
 .garden-album-door { padding:75px 22.5px 86.25px; }
 .garden-album-copy { padding:16.5px 10.5px; }
 .garden-album-copy h2 { font-size:2rem; }
 .garden-category-links { gap:6px; }
 .garden-category-links button { padding:6.75px 9.75px; font-size:.8rem; }
 .garden-contact-intro { grid-template-columns:1fr; gap:18px; padding:26.25px 0 31.5px; }
 .garden-contact-intro .garden-story { padding:37.5px 24px 61.5px; }
 .garden-destination { padding:37.5px 24px 58.5px; }
 .garden-destination>.region-photo { height:225px; border-width:5.25px; }
 .garden-lightbox { width:calc(100cqw - 9px); max-height:96vh; max-height:96dvh; padding:12px 9px; border-radius:10.5px; }
 .garden-gallery-top { align-items:flex-start; }
 .garden-gallery-top h2 { font-size:1.35rem; }
 .garden-gallery-top .eyebrow { font-size:.54rem; letter-spacing:.08em; }
 .garden-lightbox>.garden-category-links { margin-top:9.75px; gap:4.5px; }
 .garden-lightbox>.garden-category-links button { font-size:.72rem; padding:5.25px 8.25px; min-height:28.5px; }
 .garden-gallery-tools { gap:6px; }
 .garden-gallery-tools button { padding:5.25px 8.25px; font-size:.74rem; }
 .garden-category-status { font-size:.74rem; }
 .garden-photo-stage { --image-height:clamp(112.5px,calc(96dvh - 292.5px),405px); width:100%; padding:30px 18.75px 43.5px; min-height:168.75px; }
 .garden-image-paper { padding:4.5px; }
 .garden-photo-frame figcaption { gap:6.75px; padding:9px 3px 1.5px; }
 .garden-lightbox .gallery-caption { font-size:.77rem; }
 .garden-lightbox .lightbox-counter { font-size:.7rem; }
 .garden-lightbox .gallery-controls { gap:16.5px; }
 .garden-gallery-hint { font-size:.66rem; }
 .booking-banner:after { width:210px; height:285px; right:-116.25px; bottom:-82.5px; }
 .page-intro { padding-bottom:30px; }
 .site-header .brand-logo { width:39px; height:39px; }
 .site-header .brand-name { font-size:.98rem; }
 .site-header .brand-sub { font-size:.52rem; letter-spacing:.07em; }
 .site-header .brand { gap:6px; }
 .site-footer .brand-logo { width:82.5px; height:82.5px; }
}
@media(max-height:412.5px) and (min-width:525.75px) {
 .garden-lightbox { padding:9px 16.5px; }
 .garden-gallery-top h2 { font-size:1.3rem; }
 .garden-gallery-top .eyebrow,.garden-gallery-hint { display:none; }
 .garden-gallery-tools { margin:3.75px 0; }
 .garden-lightbox>.garden-category-links { margin-top:6px; }
 .garden-lightbox>.garden-category-links button { min-height:25.5px; padding:3.75px 9px; }
 .garden-photo-stage { --image-height:clamp(97.5px,calc(94dvh - 206.25px),262.5px); padding-top:18px; padding-bottom:26.25px; min-height:135px; }
}
@media(max-width:285px) { .site-header .brand-logo { width:33px; height:33px; } .site-header .brand-name { font-size:.87rem; } .site-header .brand-sub { font-size:.48rem; } }

/* Open compositions: the photographic print anchors the plants, while the
   whole page/dialog is their only outer boundary. Full-width scenes stay as is. */
.garden-open-scene { position:relative; overflow:visible; isolation:auto; background:none; border-radius:0; }
.home-intro-media.garden-open-scene { background:none; }
.garden-open-scene .photo-button,.garden-open-scene .home-photo-trigger { z-index:auto; transform:none; padding:0; background:transparent; box-shadow:none; overflow:visible; }
.garden-open-scene .garden-photo-label { position:relative; z-index:4; padding:7.5px 6.75px 6px; width:100%; background:#fbf1dff5; border-radius:0 0 3px 3px; }
.story-grid,.cabin-grid,.region-intro,.garden-contact-intro { position:relative; isolation:isolate; }
.story-grid .copy,.cabin-grid .copy,.region-intro-copy,.garden-contact-intro>.page-intro { position:relative; z-index:4; }
.garden-flow-print { display:block; position:relative; isolation:isolate; overflow:visible; padding:0; background:none; border:0; border-radius:0; }
.garden-flow-image { position:relative; z-index:2; display:block; padding:6px; background:var(--garden-paper); border-radius:2.25px; box-shadow:0 7.5px 18.75px #57432e2e; transform:none; }
.garden-flow-image>img { display:block; width:100%; height:auto; }
/* Mirrored edge assets turn their cut stems inward, underneath the print.
   The object-fit height keeps both ends of bamboo inside the photograph. */
.garden-flow-print>.botanical-back-left { z-index:0; right:calc(100% - 48.75px); left:auto; top:2%; bottom:auto; width:217.5px; height:95%; max-height:420px; object-position:right center; transform:none; }
.garden-flow-print>.botanical-back-right { z-index:0; left:calc(100% - 48.75px); right:auto; top:4%; bottom:auto; width:210px; height:91%; object-position:right center; transform:scaleX(-1); }
.garden-flow-print>.botanical-understory { z-index:1; right:calc(100% - 48px); left:auto; bottom:3%; top:auto; width:183.75px; height:90%; object-position:left bottom; transform:scaleX(-1); }
.garden-flow-print>.botanical-front-left { z-index:3; right:calc(100% - 64.5px); left:auto; bottom:-18px; top:auto; width:157.5px; transform:scaleX(-1); -webkit-mask-image:linear-gradient(to right,transparent 2%,#000 24%); mask-image:linear-gradient(to right,transparent 2%,#000 24%); }
.garden-flow-print>.botanical-front-right { z-index:3; left:calc(100% - 66px); right:auto; top:-12px; bottom:auto; width:213.75px; transform:scaleX(-1); -webkit-mask-image:linear-gradient(to bottom left,transparent 15%,#000 40%); mask-image:linear-gradient(to bottom left,transparent 15%,#000 40%); }
.garden-flow-print>.botanical-front-low { z-index:3; right:calc(100% - 90px); left:auto; top:calc(100% - 49.5px); bottom:auto; width:213.75px; transform:rotate(180deg); -webkit-mask-image:linear-gradient(to right,transparent 2%,#000 24%); mask-image:linear-gradient(to right,transparent 2%,#000 24%); }
.garden-flow-print[data-garden-theme="cabin"]>.botanical-back-left,.garden-flow-print[data-garden-theme="garden"]>.botanical-back-left,.garden-flow-print[data-garden-theme="discover"]>.botanical-back-left { transform:scaleX(-1); object-position:left center; }
.garden-flow-print[data-garden-theme="contact"]>.botanical-back-right,.garden-flow-print[data-garden-theme="garden"]>.botanical-back-right { transform:none; object-position:left center; }
.garden-flow-print:not([data-garden-theme="coffee"])>.botanical-front-left { width:123.75px; right:calc(100% - 45px); bottom:-13.5px; transform:none; -webkit-mask-image:linear-gradient(to top right,transparent 6%,#000 34%); mask-image:linear-gradient(to top right,transparent 6%,#000 34%); }
.garden-destination .garden-flow-image>.region-photo { height:255px; object-fit:cover; border-radius:1.5px; }
.garden-destination .garden-flow-image { transform:none; }
/* Gallery ornaments overflow the photo into the dialog, not a nested panel. */
.garden-lightbox { overflow-x:hidden; overflow-y:auto; }
.garden-photo-stage.garden-flow-print { --image-height:clamp(120px,calc(94dvh - 292.5px),450px); display:flex; align-items:center; justify-content:center; width:min(calc(100% - 135px),calc(var(--image-height) * var(--photo-ratio,1.5) + 12px)); min-height:0; padding:0; margin:28.5px auto 48px; background:none; border-radius:0; }
.garden-photo-stage .garden-image-paper { width:100%; max-width:100%; transform:none; }
.garden-photo-frame figcaption { position:relative; z-index:5; padding:7.5px 9px; background:var(--garden-paper); border-radius:3px; }
.garden-lightbox .gallery-controls { z-index:6; }
.garden-lightbox .garden-gallery-hint { position:relative; padding:3.75px 6px; background:var(--garden-paper); border-radius:3px; }
.without-garden .garden-photo-stage.garden-flow-print { width:min(100%,calc(var(--image-height) * var(--photo-ratio,1.5) + 12px)); margin:13.5px auto; }
.without-garden .garden-flow-image { transform:none; }
@media(max-width:525px) {
 .garden-flow-print>.botanical-back-left { width:150px; right:calc(100% - 37.5px); }
 .garden-flow-print>.botanical-back-right { width:146.25px; left:calc(100% - 37.5px); }
 .garden-flow-print>.botanical-understory { width:135px; right:calc(100% - 37.5px); }
 .garden-flow-print>.botanical-front-left { width:112.5px; right:calc(100% - 45px); bottom:-11.25px; }
 .garden-flow-print>.botanical-front-right { width:165px; left:calc(100% - 51px); top:-7.5px; }
 .garden-flow-print>.botanical-front-low { width:146.25px; right:calc(100% - 56.25px); top:calc(100% - 33.75px); }
 .garden-flow-print:not([data-garden-theme="coffee"])>.botanical-front-left { width:90px; right:calc(100% - 37.5px); }
 .garden-destination .garden-flow-image>.region-photo { height:225px; }
 .garden-photo-stage.garden-flow-print { --image-height:clamp(112.5px,calc(96dvh - 292.5px),405px); width:min(calc(100% - 30px),calc(var(--image-height) * var(--photo-ratio,1.5) + 9px)); margin:22.5px auto 33.75px; }
 .garden-photo-stage .garden-flow-image { padding:4.5px; }
 .garden-photo-frame figcaption { padding:6.75px 6px; }
}
@media(max-height:412.5px) and (min-width:525.75px) {
 .garden-photo-stage.garden-flow-print { --image-height:clamp(97.5px,calc(94dvh - 206.25px),262.5px); margin-top:18.75px; margin-bottom:26.25px; }
}

/* Sector corrections: each named block owns its composition. Decorations are
   siblings of the photo button, fixed in size, and cannot inherit hover styles. */
.garden-plant { transition:none; animation:none; }
.garden-sector { position:relative; isolation:isolate; overflow:visible; }
.garden-sector>.garden-plant { z-index:1; margin:0; object-fit:contain; pointer-events:none; }
.garden-sector>.photo-button { z-index:auto; position:relative; background:var(--garden-paper); padding:0; overflow:visible; }
.garden-sector .garden-print { position:relative; z-index:2; padding:6px 6px 0; background:var(--garden-paper); transform:none; box-shadow:none; }
.garden-sector .garden-photo-label { position:relative; z-index:4; background:var(--garden-paper); padding:9px 7.5px; }
/* Contact: only the outside, to the right of the picture, carries vegetation. */
.garden-sector-contact>.contact-coffee { width:172.5px; height:90%; left:auto; right:-75px; top:3%; bottom:auto; object-position:left center; }
.garden-sector-contact>.contact-orchids { width:172.5px; height:auto; left:calc(100% - 93.75px); right:auto; top:13.5px; bottom:auto; transform:scaleX(-1); }
/* Home story: a coffee branch in the gutter and one motmot on the outside.
   The maximum left projection (72px) fits inside the existing picture padding
   and column gap, leaving the neighbouring text clear. */
.garden-sector-coffee-story>.story-coffee { width:131.25px; height:82%; left:-54px; right:auto; top:5%; bottom:auto; object-position:right center; }
.garden-sector-coffee-story>.story-bird { width:135px; height:74%; left:auto; right:-60px; top:10%; bottom:auto; object-position:left center; }
/* Coffee process: coffee leaves/fruits on the left. No orchids/bamboo on the
   right, where the heading and explanatory text live. */
.garden-sector-coffee-process>.process-coffee { width:195px; height:92%; right:calc(100% - 56.25px); left:auto; top:2%; bottom:auto; object-position:right center; }
.garden-sector-coffee-process>.process-branch { width:165px; height:auto; left:-52.5px; right:auto; top:auto; bottom:-18px; transform:rotate(180deg); }
/* A photograph and its caption form one aligned sheet of paper. */
.garden-scene .photo-button,.garden-open-scene .photo-button,.home-intro .home-photo-trigger { background:var(--garden-paper); border-radius:3px; box-shadow:0 7.5px 18.75px #57432e25; }
.garden-print,.garden-flow-image { border-radius:3px 3px 0 0; box-shadow:none; padding-bottom:0; }
.garden-scene .garden-photo-label,.garden-open-scene .garden-photo-label { background:var(--garden-paper); border-radius:0 0 3px 3px; padding-top:9px; padding-bottom:9px; }
/* Gallery caption matches the photo's width and meets its cream frame. */
.garden-photo-frame { --image-height:clamp(120px,calc(94dvh - 292.5px),450px); }
.garden-photo-stage.garden-flow-print { margin-bottom:0; }
.garden-photo-frame figcaption { width:min(calc(100% - 135px),calc(var(--image-height) * var(--photo-ratio,1.5) + 12px)); max-width:none; margin:0 auto 46.5px; padding:9px 10.5px; align-items:flex-start; border-radius:0 0 3px 3px; box-shadow:0 9px 16.5px #57432e18; }
.garden-photo-frame .gallery-caption { overflow-wrap:anywhere; }
.without-garden .garden-photo-stage.garden-flow-print { margin-bottom:0; }
.without-garden .garden-photo-frame figcaption { width:min(100%,calc(var(--image-height) * var(--photo-ratio,1.5) + 12px)); margin-bottom:13.5px; }
@media(max-width:525px) {
 .garden-sector-contact>.contact-coffee { width:135px; right:-48.75px; }
 .garden-sector-contact>.contact-orchids { width:135px; left:calc(100% - 78.75px); }
 .garden-sector-coffee-story>.story-coffee { width:101.25px; left:-28.5px; }
 .garden-sector-coffee-story>.story-bird { width:105px; right:-36px; }
 .garden-sector-coffee-process>.process-coffee { width:131.25px; right:calc(100% - 63.75px); }
 .garden-sector-coffee-process>.process-branch { width:123.75px; left:-22.5px; bottom:-12px; }
 .garden-photo-frame { --image-height:clamp(112.5px,calc(96dvh - 292.5px),405px); }
 .garden-photo-frame figcaption { width:min(calc(100% - 30px),calc(var(--image-height) * var(--photo-ratio,1.5) + 9px)); margin-bottom:31.5px; padding:7.5px 6.75px; }
}
@media(max-height:412.5px) and (min-width:525.75px) {
 .garden-photo-frame { --image-height:clamp(97.5px,calc(94dvh - 206.25px),262.5px); }
 .garden-photo-frame figcaption { margin-bottom:26.25px; }
}

/* Photo-only opacity. Structural backgrounds share a continuous page surface.
   The mask is embedded so it cannot fail as a separate cross-origin request. */
:root {--photo-fade-a:url("/assets/photo-fade-0.png");--photo-fade-b:url("/assets/photo-fade-1.png");--photo-fade-c:url("/assets/photo-fade-2.png");}
main {overflow:visible;}
main :is(.photo-button,.home-photo-trigger,.experience-card) img,
main img.region-photo,.garden-lightbox:not(.without-garden) .lightbox-image {
 -webkit-mask-image:var(--photo-fade-a);mask-image:var(--photo-fade-a);
 -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
 border:0!important;border-radius:0!important;box-shadow:none!important;
 background:transparent!important;transform:none!important;
}
main .photo-button:nth-child(2n) img,main .region-place:nth-child(2n) img.region-photo {
 -webkit-mask-image:var(--photo-fade-b);mask-image:var(--photo-fade-b);
}
main .photo-button:nth-child(3n) img,main .region-place:nth-child(3n) img.region-photo {
 -webkit-mask-image:var(--photo-fade-c);mask-image:var(--photo-fade-c);
}
/* Never mask map tiles, icons, buttons, labels or the layout itself. */
.garden-plant,.garden-flourish,.booking-banner:after,.page-intro:after {display:none!important;}
main :is(.garden-scene,.garden-sector,.garden-print,.garden-flow-image,.garden-open-scene,
.photo-button,.home-photo-trigger,.hero-photo,.garden-photo-label,.garden-album-copy,
.region-place,.region-flickr-photo,.experience-card),
.garden-image-paper,.garden-photo-frame figcaption {
 background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
 overflow:visible;
}
main :is(.home-front-view,.home-photo-pair,.garden-feature-grid,.region-cover,.region-place-photo,
.garden-story,.garden-destination,.garden-sector,.garden-flow-print,.garden-flow-image) {min-width:0;overflow:visible;}
main .garden-print,main .garden-flow-image,.garden-image-paper {padding:0!important;}
/* The visible photograph and its mask always occupy the same native ratio. */
main .photo-button img,main .home-photo-trigger img {
 display:block;position:static;width:100%!important;height:auto!important;max-height:none!important;
 aspect-ratio:auto!important;object-fit:contain!important;
}
main .region-photo,main .experience-card>img {
 display:block;width:auto!important;height:auto!important;max-width:100%;max-height:390px;
 aspect-ratio:auto!important;object-fit:contain!important;margin:0 auto;
}
main .garden-photo-label {padding:9px 6px!important;}
.home-intro {overflow:visible;background:transparent;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);}
.home-intro-media {padding:21px 15px!important;min-width:0;max-width:100%;}
.home-photo-pair {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
.garden-surround {padding:18px 0!important;}
.garden-feature-grid {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:start;}
.garden-destination {padding:9px 0!important;}
.garden-story {padding:18px 9px 22.5px;}
.garden-album-door {padding:27px 18px;}
.garden-album-copy {padding:12px 0;}
/* Soft atmosphere behind content, transparent at section boundaries.
   Only this background layer fades; foreground copy remains fully opaque. */
main .section-tint,main .region-adventures-section {background:transparent;border-radius:0;position:relative;isolation:isolate;overflow:visible;}
main .section-tint::before,main .region-adventures-section::before {
 content:'';position:absolute;z-index:-1;pointer-events:none;inset:-33.75px 0;
 background:radial-gradient(ellipse at 38% 47%,#edc7c17a 0%,#f1d3bb55 40%,transparent 72%);
}
/* Open destination articles: no opaque rectangle under a transparent image. */
main .region-places {align-items:start;column-gap:31.5px;row-gap:39px;}
main .region-place-copy {padding:16.5px 7.5px;}
main .region-place-photo figcaption {position:static;background:transparent;padding:7.5px 6px;border-radius:0;text-align:right;}
main .experience-grid {grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
main .experience-card {height:auto!important;min-height:0;}
main .experience-card:after {display:none;}
main .experience-content {position:relative;inset:auto;color:var(--ink);padding:15px 6px;}
main .experience-content :is(h3,p,.eyebrow,.text-link) {color:var(--ink);}
/* Preserve CTA contrast without a hard rectangular strip at either edge. */
.booking-banner {background:transparent;border-radius:0;position:relative;isolation:isolate;overflow:visible;padding:86.25px 0;}
.booking-banner::before {content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,transparent,#84364e 24%,#84364e 76%,transparent);}
.site-footer {background:transparent;}
/* Full original opens first; optional fade is restricted to the photograph. */
.garden-photo-stage.garden-flow-print {margin:9px auto 13.5px;width:min(100%,calc(var(--image-height) * var(--photo-ratio,1.5)));}
.garden-photo-frame figcaption {margin:0 auto 15px;width:100%;}
.garden-lightbox.without-garden .lightbox-image {-webkit-mask-image:none;mask-image:none;}
@media(max-width:525px){
 .home-intro-media {padding:15px 13.5px!important;}
 .garden-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .garden-story,.garden-contact-intro .garden-story {padding:15px 6px;}
 main .region-photo,main .experience-card>img {max-height:330px;}
 main .experience-grid {grid-template-columns:1fr;gap:24px;}
 .booking-banner {padding:82.5px 0;}
}
@media(max-width:390px){main .region-places {grid-template-columns:1fr;}}


/* Pilot: a continuous planting composition, separate from all photographs. */
.pilote-jungle{position:relative;isolation:isolate;}
.pilote-canopy{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:visible;}
.pilote-jungle>section{position:relative;z-index:1;}
.pilote-plant{position:absolute!important;display:block!important;height:auto!important;object-fit:contain!important;max-width:none!important;pointer-events:none!important;mask:none!important;transform-origin:center;}
.p0{width:28%;left:69%;top:0;transform:rotate(19deg);}
.p1{width:25%;left:44%;top:15%;transform:rotate(-25deg);}
.p2{width:38%;right:0;top:24%;transform:rotate(-18deg);}
.p3{width:28%;left:0;top:32%;transform:rotate(7deg);}
.p4{width:35%;left:31%;top:42%;transform:rotate(14deg);}
.p5{width:26%;right:0;top:53%;transform:rotate(-8deg);}
.p6{width:26%;left:0;top:66%;transform:rotate(-12deg);}
.p7{width:38%;right:0;top:77%;transform:rotate(-18deg);}
.p8{width:26%;left:31%;top:83%;transform:rotate(43deg);}
.pilote-jungle .home-intro{padding-top:41.25px;padding-bottom:75px;}
.pilote-jungle .home-intro-media{position:relative;margin-top:22.5px;margin-bottom:33.75px;padding:30px 33.75px!important;}
.pilote-jungle .home-intro .hero-copy{z-index:4;}
.pilote-jungle .section{padding-top:86.25px;padding-bottom:86.25px;}
.pilote-jungle .experience-grid{gap:71.25px;}
.pilote-jungle .experience-card{position:relative;}
.pilote-jungle .experience-content,.pilote-jungle .section-head,.pilote-jungle .copy,.pilote-jungle .garden-photo-label,.pilote-jungle .home-photo-actions{position:relative;z-index:5;}
.pilote-jungle .experience-content,.pilote-jungle .copy{background:radial-gradient(ellipse,#fff7e9 45%,#fff7e9dd 65%,transparent 76%);}
.pilote-jungle .garden-story{position:relative;padding:30px 26.25px 60px;}
.pilot-front{position:absolute!important;height:auto!important;max-width:none!important;pointer-events:none!important;z-index:3;mask:none!important;}
.pilot-bloom-hero{width:48%!important;right:0;top:29%;transform:rotate(-20deg);}
.pilot-bloom-story{width:70%!important;right:-3%;bottom:-12%;transform:rotate(-12deg);}
@media(max-width:525px){
 .pilote-jungle .home-intro{padding-top:0;padding-bottom:60px;}
 .pilote-jungle .home-intro-media{padding:18.75px 22.5px!important;margin:0 0 18.75px;}
 .pilote-jungle .section{padding:52.5px 0;}
 .pilote-jungle .experience-grid{gap:75px;}
 .pilote-jungle .garden-story{padding:15px 18.75px 41.25px;}
 .p0{width:54%;left:44%;transform:rotate(0deg);}
 .p1{width:48%;left:0;transform:rotate(-8deg);}
 .p2{width:65%;right:0;transform:rotate(-8deg);}
 .p3{width:45%;left:0;transform:rotate(0deg);}
 .p4{width:58%;left:35%;transform:rotate(0deg);}
 .p5{width:48%;right:0;transform:rotate(0deg);}
 .p6{width:48%;left:0;transform:rotate(0deg);}
 .p7{width:65%;right:0;transform:rotate(0deg);}
 .p8{width:48%;left:20%;transform:rotate(20deg);}
 .pilot-bloom-hero{width:55%!important;top:28%;right:-2%;}
 .pilot-bloom-story{width:65%!important;right:0;bottom:-8%;}
}

/* V2: three open vegetal envelopes, anchored to the actual image rectangles. */
.v2-envelope{position:absolute;pointer-events:none;overflow:visible;}
.v2-envelope img{position:absolute!important;height:auto!important;max-width:none!important;mask:none!important;object-fit:contain!important;pointer-events:none!important;}
.v2-envelope .branch{width:42%!important;top:-15%;}
.v2-envelope .branch-left{left:-5%;transform:rotate(-28deg);}
.v2-envelope .branch-right{right:-5%;transform:scaleX(-1) rotate(-24deg);}
.v2-envelope .envelope-flowers{width:61%!important;left:19%;bottom:-23%;transform:rotate(-8deg);}
.envelope-1 .branch-left{transform:rotate(-15deg);top:-6%;}
.envelope-1 .branch-right{transform:scaleX(-1) rotate(-13deg);top:12%;}
.envelope-2 .envelope-flowers{transform:rotate(9deg);left:12%;}
.home-photo-pair,.experience-grid{position:relative;}
.v2-accent{position:absolute!important;display:block!important;height:auto!important;max-width:none!important;pointer-events:none!important;mask:none!important;z-index:3;}
.v2-bird{width:23%!important;left:0;top:1%;transform:rotate(-6deg);}
.v2-pair-flower{width:44%!important;left:28%;top:-14%;transform:rotate(11deg);}
.v2-central-flower{width:27%!important;left:37%;top:13%;transform:rotate(14deg);}
.pilote-jungle .experience-content{z-index:6;}
@media(max-width:525px){
 .v2-envelope .branch{width:36%!important;top:0;}
 .v2-envelope .branch-left{left:0;transform:rotate(-14deg);}
 .v2-envelope .branch-right{right:0;transform:scaleX(-1) rotate(-14deg);}
 .v2-envelope .envelope-flowers{width:65%!important;left:17%;bottom:-14%;}
 .v2-bird{width:25%!important;left:0;top:0;}
 .v2-pair-flower{width:43%!important;left:29%;top:-9%;}
 .v2-central-flower{width:45%!important;left:48%;top:48%;}
}

/* V3: restore original side pieces; central pieces are accents and bridges. */
.v3-side{position:absolute!important;display:block!important;width:clamp(101.25px,20cqw,213.75px)!important;height:auto!important;max-width:none!important;object-fit:contain!important;pointer-events:none!important;z-index:0;transform:none!important;mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 89%,transparent)!important;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 89%,transparent)!important;}
.side-0,.side-2,.side-4,.side-6{left:0;}
.side-1,.side-3,.side-5{right:0;}
.side-3{transform:scaleX(-1)!important;}
.side-6{width:clamp(112.5px,23cqw,232.5px)!important;}
.pilote-jungle .home-intro .hero-copy{background:radial-gradient(ellipse at 53% 48%,#fff7e9 35%,#fff7e9ed 65%,transparent 83%);}
.v3-bridge{position:absolute;pointer-events:none;width:34%;height:270px;left:52%;}
.v3-bridge img{position:absolute!important;display:block!important;max-width:none!important;height:auto!important;pointer-events:none!important;mask:none!important;}
.v3-bridge-branch{width:67%!important;left:0;top:0;transform:rotate(47deg);}
.v3-bridge-bloom{width:80%!important;left:27%;top:33%;transform:rotate(-13deg);}
.pilot-bloom-hero{width:40%!important;}
.pilot-bloom-story{width:55%!important;}
.v2-central-flower{width:24%!important;left:38%;}
@media(max-width:525px){
 .v3-side{width:clamp(86.25px,33cqw,127.5px)!important;}
 .side-6{width:38%!important;}
 .v3-bridge{width:45%;left:29%;height:165px;}
 .v3-bridge-branch{transform:rotate(30deg);}
 .v3-bridge-bloom{left:19%;top:30%;}
 .pilot-bloom-hero{width:45%!important;}
 .v2-central-flower{width:41%!important;left:48%;}
}

/* V4: one source silhouette, varying coverage. No independently positioned watermark. */
.v4-growth{position:absolute;width:clamp(195px,43cqw,442.5px);pointer-events:none;overflow:visible;z-index:0;mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 8%,#000 90%,transparent);}
.v4-left{left:0;--fade-direction:to right;--reveal-x:70%;}
.v4-right{right:0;--fade-direction:to left;--reveal-x:30%;}
.v4-growth .v4-leaf{position:static!important;display:block!important;width:100%!important;height:auto!important;max-width:none!important;object-fit:contain!important;pointer-events:none!important;
 mask-image:linear-gradient(var(--fade-direction),#000 0%,#000 15%,#000a 29%,#0005 45%,#0002 62%,#00000014 100%),radial-gradient(ellipse 15% 12% at var(--reveal-x) 55%,#000c 0%,#0008 30%,transparent 100%);
 -webkit-mask-image:linear-gradient(var(--fade-direction),#000 0%,#000 15%,#000a 29%,#0005 45%,#0002 62%,#00000014 100%),radial-gradient(ellipse 15% 12% at var(--reveal-x) 55%,#000c 0%,#0008 30%,transparent 100%);
 mask-composite:add;-webkit-mask-composite:source-over;
}
.growth-3 .v4-leaf{transform:scaleX(-1);--fade-direction:to right;--reveal-x:70%;}
.growth-4{width:clamp(180px,39cqw,390px);}
.growth-6{width:clamp(165px,32cqw,322.5px);}
.growth-6 .v4-leaf{mask-image:linear-gradient(to right,#000 35%,#000b 58%,#0002 85%);-webkit-mask-image:linear-gradient(to right,#000 35%,#000b 58%,#0002 85%);}
/* Existing text stays legible; a lighter common veil reveals the planting. */
.pilote-jungle .home-intro .hero-copy{background:radial-gradient(ellipse at 53% 48%,#fff7e9ee 25%,#fff7e9aa 60%,transparent 83%);}
.pilote-jungle .experience-content,.pilote-jungle .copy{background:radial-gradient(ellipse,#fff7e9ed 35%,#fff7e9a0 65%,transparent 80%);}
@media(max-width:525px){
 .v4-growth{width:72%;max-width:255px;}
 .growth-4{width:63%;}.growth-6{width:53%;}
 .v4-growth .v4-leaf{mask-image:linear-gradient(var(--fade-direction),#000 0%,#000c 12%,#0004 32%,#00000014 57%,#0000000d 100%),radial-gradient(ellipse 12% 9% at var(--reveal-x) 55%,#0009,transparent);-webkit-mask-image:linear-gradient(var(--fade-direction),#000 0%,#000c 12%,#0004 32%,#00000014 57%,#0000000d 100%),radial-gradient(ellipse 12% 9% at var(--reveal-x) 55%,#0009,transparent);}
}

/* V6: déplacement du seul duo chambre / terrasse, sans redistribution. */
.pilote-jungle .home-intro-media > .home-photo-pair { transform: translateX(-0.75cm); }

/* V8 : lisibilité du texte d’accueil, filigrane conservé. */
.pilote-jungle .hero-copy { color:#302820; text-shadow:0 0.75px 1.5px #fff7e9,0 0 4.5px #fff7e9b3; }
.pilote-jungle .hero-copy h1 { color:#452c29; font-weight:600; }
.pilote-jungle .hero-copy h1 em { color:#742c43; }
.pilote-jungle .hero-copy .eyebrow { color:#663345; font-weight:700; }
.pilote-jungle .hero-copy .home-intro-subtitle { color:#742c43; font-size:clamp(1.55rem,2.1cqw,1.75rem); font-weight:600; }
.pilote-jungle .hero-copy .home-intro-description { color:#302820; font-size:1.125rem; line-height:1.65; font-weight:500; }
.pilote-jungle .hero-copy .home-amenities li { color:#302820; font-size:1rem; font-weight:600; }
.pilote-jungle .hero-copy .home-amenities small { color:#493c32; font-size:.9rem; font-weight:500; }
.pilot-header-v8 .desktop-nav { gap:clamp(9px,1.4cqw,16.5px); flex-wrap:wrap; }
.pilot-header-v8 .header-inner { flex-wrap:wrap; }
.pilot-header-v8 .nav-finca-location { color:#742c43; font-weight:600; }

/* V9 : déplacements ciblés des équipements, du bouton et des environs. */
@media (min-width: 675.75px) {
 .pilote-jungle .hero-copy .home-amenities { transform:translateX(1.5cm); }
 .pilote-jungle .hero-copy > a.btn { transform:translateX(3cm); }
}
.pilote-jungle .section-tint > .wrap > .section-head {
 display:flex; flex-direction:column; align-items:flex-start;
 width:fit-content; max-width:100%; margin-left:auto; gap:15px;
}
@media (max-width:675px) {
 .pilote-jungle .hero-copy .home-amenities { width:calc(100% - 1rem); margin-left:1rem; }
 .pilote-jungle .hero-copy > a.btn { align-self:flex-end; }
}

/* V10 : bouton +1 cm et titre des environs harmonisé avec le titre d’accueil. */
@media(min-width:675.75px){
 .pilote-jungle .hero-copy > a.btn { transform:translateX(3.75cm); }
}
.pilote-jungle .section-tint > .wrap > .section-head {
 position:relative; top:-1.5cm;
 text-shadow:0 0.75px 1.5px #fff7e9,0 0 4.5px #fff7e9b3;
}
.pilote-jungle .section-tint > .wrap > .section-head h2 {
 font-family:var(--serif);font-size:clamp(2.7rem,4.1cqw,4.1rem);
 font-weight:600;line-height:1.14;letter-spacing:-.035em;color:#452c29;
}
.pilote-jungle .section-tint > .wrap > .section-head .eyebrow { color:#663345;font-weight:700; }
@media(max-width:675px) and (min-width:525.75px){
 .pilote-jungle .section-tint > .wrap > .section-head h2 { font-size:2.8rem; }
}
@media(max-width:525px){
 .pilote-jungle .section-tint > .wrap > .section-head h2 { font-size:clamp(2.7rem,8cqw,3.5rem); }
}

/* V11 : alignement sur le balcon et restauration du bouton de localisation. */
.pilote-jungle .section-tint > .wrap > .section-head { margin-left:var(--balcony-heading-left,auto); width:calc(100% - var(--balcony-heading-left,0px)); }
.pilote-jungle .home-intro .home-photo-actions .photo-count { font-size:1.6rem; padding:9px 13.5px; }
.pilot-header-v8 a.nav-finca-location { position:static; inset:auto; display:inline-flex; align-items:center; gap:7.5px; min-height:33px; max-width:100%; margin:0; padding:7.5px 10.5px; border-radius:749.25px; background:#fff6e8; color:#70364b; font-size:.8rem; font-weight:600; letter-spacing:.02em; text-decoration:underline; text-underline-offset:2.25px; }
.pilot-header-v8 a.nav-finca-location:hover { background:#fff7e9; }
@media(max-width:525px){
 .pilote-jungle .home-intro .home-photo-actions .photo-count { font-size:1.5rem; }
}

/* V12 : intitulés de passages et phrases d’ambiance hiérarchisés. */
.pilote-jungle .hero-copy > .passage-title,
.pilote-jungle .section-tint > .wrap > .section-head .passage-title {
 font-family:var(--serif);font-size:clamp(2rem,3cqw,3rem);font-weight:600;
 line-height:1.15;letter-spacing:-.025em;color:#742c43;margin:0 0 16.5px;
 text-transform:none;max-width:100%;
}
.pilote-jungle .hero-copy > .passage-tagline,
.pilote-jungle .section-tint > .wrap > .section-head .passage-tagline {
 font-family:var(--serif);font-size:clamp(1.55rem,2.3cqw,2.25rem);font-weight:500;
 line-height:1.25;letter-spacing:-.02em;color:#452c29;margin:0;max-width:100%;
}
.pilote-jungle .hero-copy > .passage-tagline em {color:#742c43;}

/* V13 : titres réduits de moitié, initiales en débord à gauche. */
.pilote-jungle .hero-copy > .passage-title,
.pilote-jungle .section-tint > .wrap > .section-head .passage-title {
 font-size:clamp(1.5rem,2.25cqw,2.25rem);overflow:visible;
}
.passage-title .title-hanging-line { display:block;position:relative; }
.passage-title .title-initial { position:absolute;right:100%;top:0; }

/* V15 : calligraphie réservée aux trois phrases d’ambiance. */
@font-face {font-family:'Finca Pinyon';src:url("/assets/pilote/pinyon-script.ttf") format('truetype');font-weight:400;font-style:normal;font-display:swap;}
.pilote-jungle .hero-copy > .passage-tagline,
.pilote-jungle .section-tint > .wrap > .section-head .passage-tagline,
.pilote-jungle .hero-copy .home-intro-subtitle {
 font-family:'Finca Pinyon',cursive;font-weight:400;font-style:normal;
 font-size:clamp(2.1rem,3.1cqw,3rem);line-height:1.3;letter-spacing:normal;
 font-synthesis:none;
}
.pilote-jungle .hero-copy .home-intro-subtitle {font-size:clamp(1.9rem,2.7cqw,2.65rem);}
.pilote-jungle .hero-copy > .passage-tagline em {font-style:normal;font-weight:400;}

/* V16 : quatre phrases calligraphiques en escalier. */
.pilote-jungle .hero-copy > .tagline-stair { width:100%; }
.tagline-stair .stair-line { display:block; margin-left:calc(var(--step) * 2ch); }
.tagline-stair .stair-line:nth-child(n+3) { color:#742c43; }

/* V17 : déplacements supplémentaires depuis les positions de V16. */
@media(min-width:675.75px){
 .pilote-jungle .hero-copy > .passage-title { transform:translate(0.75cm,-0.75cm); }
 .pilote-jungle .hero-copy > .home-intro-description { transform:translate(0.75cm,0.75cm); }
 .pilote-jungle .hero-copy .home-amenities { transform:translate(2.25cm,0.75cm); }
 .pilote-jungle .hero-copy > a.btn { transform:translate(5.25cm,0.75cm); }
}

/* V18 : déplacements supplémentaires et lien des environs agrandi. */
.pilote-jungle .section-tint > .wrap > .section-head > .text-link {
 font-size:1.6rem; padding:9px 13.5px; min-height:33px;
 display:inline-flex;align-items:center;justify-content:center;gap:6px;
 border:0.75px solid #fbead799;border-radius:749.25px;background:#fff6e8;color:#70364b;
}
@media(min-width:675.75px){
 .pilote-jungle .hero-copy > .passage-title { transform:translate(2.25cm,-0.75cm); }
 .pilote-jungle .section-tint > .wrap > .section-head .passage-title,
 .pilote-jungle .section-tint > .wrap > .section-head .passage-tagline { transform:translateX(-0.75cm); }
 .pilote-jungle .section-tint > .wrap > .section-head .passage-tagline { white-space:nowrap; }
 .pilote-jungle .section-tint > .wrap > .section-head > .text-link { transform:translate(4.5cm,1.5cm); }
}
@media(max-width:525px){
 .pilote-jungle .section-tint > .wrap > .section-head > .text-link {font-size:1.5rem;}
}

/* V19 : texte complet et ajustements ciblés des environs. */
.pilote-jungle .section-tint .experience-card:first-child .experience-content {
 position:relative;inset:auto;transform:none;margin-top:15px;
}
.pilote-jungle .section-tint > .wrap > .nearby-callout {
 text-align:left;margin:0 0 21px;position:relative;z-index:6;
}
@media(min-width:675.75px){
 .pilote-jungle .section-tint > .wrap > .section-head .passage-title {
 width:max-content;max-width:none;transform:translate(calc(100% - 0.75cm),-0.75cm);
 }
 .pilote-jungle .section-tint > .wrap > .section-head > .text-link {transform:translate(5.25cm,1.5cm);}
 .pilote-jungle .section-tint .experience-card:first-child .experience-content {
 transform:translateX(1.875cm);max-width:calc(100% - 1.875cm);
 }
}

/* V22 : titre et phrase centrés entre les deux boutons. */
.pilote-jungle .section-tint > .wrap > .section-head .passage-title,
.pilote-jungle .section-tint > .wrap > .section-head .passage-tagline {width:max-content;max-width:100%;text-align:center;}
.pilote-jungle .section-tint .passage-title .title-initial {position:static;}

/* V24 : présentation de la famille, même hiérarchie que l’accueil. */
.pilote-jungle .story-grid {display:block;}
.pilote-jungle .story-grid > .copy {max-width:510px;}
.pilote-jungle .story-grid .story-title {font-family:var(--serif);font-size:clamp(1.5rem,2.25cqw,2.25rem);font-weight:600;line-height:1.15;letter-spacing:-.025em;color:#742c43;margin:0 0 var(--story-title-gap,45px);}
.pilote-jungle .story-grid .story-tagline {font-family:'Finca Pinyon',cursive;font-size:clamp(2.1rem,3.1cqw,3rem);font-weight:400;line-height:1.3;letter-spacing:normal;color:#452c29;max-width:100%;margin:0 0 var(--story-copy-gap,43.5px);}
.pilote-jungle .story-grid .story-description {font-size:1.125rem;line-height:1.65;font-weight:500;color:#302820;margin:0 0 15px;}

/* V27 : phrase de l’esprit sur une ligne et centrée sous son titre. */
@media(min-width:675.75px){
 .pilote-jungle .story-grid .story-tagline {width:max-content;max-width:none;white-space:nowrap;text-align:center;}
}

/* V29 : identité du bandeau plus visible. */
.pilot-header-v8 .brand-logo {width:81px;height:81px;object-fit:contain;}
.pilot-header-v8 .brand-name {font-size:1.85rem;line-height:1.15;}
.pilot-header-v8 .brand-sub {font-size:.7rem;letter-spacing:.12em;}
.pilot-header-v8 .header-inner .brand {max-width:none;gap:9px;}
@media(min-width:825.75px){
 .pilot-header-v8 .brand {margin-left:-12px;}
}
@media(max-width:825px){
 .pilot-header-v8 .brand-logo {width:57px;height:57px;}
 .pilot-header-v8 .brand-name {font-size:1.45rem;}
 .pilot-header-v8 .brand-sub {font-size:.6rem;}
}
@media(max-width:525px){
 .pilot-header-v8 .brand-logo {width:46.5px;height:46.5px;}
 .pilot-header-v8 .brand-name {font-size:1.15rem;}
 .pilot-header-v8 .brand-sub {font-size:.54rem;letter-spacing:.06em;}
 .pilot-header-v8 .header-inner .brand {gap:6px;}
}

/* V30 : accueil familial, fondu latéral sans recadrage. */
.pilote-jungle .story-grid .story-family-montage {width:min(750px,calc(100cqw - 36px));max-width:none;margin:0 0 21px;padding:0;}
.pilote-jungle .story-grid .story-family-montage img {display:block;width:100%;height:auto;max-width:none;border:0;border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);}

/* V31 : invitation centrée sous le portrait familial. */
.pilote-jungle .story-grid .story-invitation {width:min(600px,calc(100cqw - 36px));max-width:none;text-align:center;padding:0 0 12px;}
.pilote-jungle .story-grid .story-invitation .story-description {font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.2rem,1.8cqw,1.5rem);line-height:1.65;color:#614438;max-width:510px;margin:0 auto 19.5px;text-wrap:pretty;}
.pilote-jungle .story-coffee-link {display:inline-flex;flex-direction:column;align-items:center;gap:5.25px;max-width:100%;padding:12.75px 21px;border:0.75px solid #94624c;border-radius:21px 21px 21px 6px;background:#fff5e5;color:#70364b;text-decoration:none;box-shadow:0 3.75px 12px #452c2910;transition:background-color .2s,box-shadow .2s;}
.pilote-jungle .story-coffee-question {font-family:var(--serif);font-style:italic;font-size:clamp(1.1rem,1.7cqw,1.35rem);line-height:1.35;}
.pilote-jungle .story-coffee-destination {font-family:var(--sans, sans-serif);font-size:.8rem;letter-spacing:.08em;font-weight:600;line-height:1.5;}
.pilote-jungle .story-coffee-link:hover {background:#f4e4cf;box-shadow:0 5.25px 13.5px #452c2920;}
.pilote-jungle .story-coffee-link:focus-visible {outline:2.25px solid #70364b;outline-offset:3.75px;}


/* V33 : rapprocher le bas de page du bloc familial. */
@media(min-width:675.75px){.pilote-jungle > .booking-banner{margin-top:-3cm;}}


/* V34 : bas de page compact, dernier caféier retiré. */
.pilote-canopy .growth-8 {display:none;}
@media(min-width:675.75px){
.pilote-jungle > .booking-banner {padding:26.25px 0;}
body .site-footer {padding:13.5px 0 10.5px;}
body .site-footer .footer-main {align-items:center;gap:18px;padding-bottom:12px;}
body .site-footer .footer-main > div {display:flex;align-items:center;gap:18px;flex:1;min-width:0;}
body .site-footer .footer-main p {margin:0;max-width:240px;}
body .site-footer .brand {flex-shrink:0;}
body .site-footer .footer-nav {align-self:center;}
body .site-footer .footer-bottom {padding-top:9px;}
}
@media(min-width:675.75px) and (max-width:862.5px){
body .site-footer .footer-main {flex-wrap:wrap;}
body .site-footer .footer-nav {display:flex;flex-wrap:wrap;gap:13.5px;}
}


/* Même encre que la description du premier passage. */
.pilote-jungle .experience-content p,
.pilote-jungle .story-grid .story-invitation .story-description,
body .site-header .desktop-nav a,
body .site-header .mobile-nav a,
body .site-header .brand-sub,
body .site-header .lang a,
body .site-footer .brand-sub,
body .site-footer .footer-main p,
body .site-footer .footer-nav a,
body .site-footer .footer-bottom,
body .topline {
 color:#302820; font-weight:500;
}


.bird-layer-v36{position:absolute;left:0;top:0;width:100%;height:0;pointer-events:none;z-index:8;}
.bird-v36{position:absolute;width:51.5625px;height:43.6875px;max-width:none;pointer-events:none;visibility:hidden;}
@media(min-width:675.75px){
body .site-footer .footer-main{flex-wrap:wrap;}
body .site-footer .footer-main > div{flex:1 1 100%;}
body .site-footer .footer-main p{max-width:none;white-space:nowrap;}
.pilote-jungle .story-grid .story-invitation{width:min(825px,calc(100cqw - 36px));}
.pilote-jungle .story-grid .story-invitation .story-description{max-width:none;white-space:nowrap;font-size:clamp(11.25px,1.55cqw,15.75px);}
}

/* V41: V36 is the desktop reference; the frame travels with content. */
html{background:#fff7e9;}
body.composition-v41{position:relative;container-type:inline-size;max-width:1200px;margin-inline:auto;--bordeaux:#8b3652;}
body.composition-v41 .pilote-jungle{overflow:clip;}
/* Preserve the four confirmed V36 burgundy controls, including copied styles. */
body.composition-v41 .hero-copy>a.btn,
body.composition-v41 .home-photo-actions .photo-count,
body.composition-v41 .section-head>.text-link,
body.composition-v41 .nearby-callout>a{
 background:#8b3652!important;color:#fff6eb!important;border-color:#8b3652!important;
 font-family:var(--body);font-size:.875rem;font-weight:600;min-height:33px;
}
body.composition-v41 :is(.hero-copy>a.btn,.home-photo-actions .photo-count,.section-head>.text-link,.nearby-callout>a):hover{background:#722d44!important;}
body.composition-v41 :is(a,button):focus-visible{outline:2.25px solid #b47e26;outline-offset:3px;}
/* Bottom retains the dark text and puts the logo back in the right column. */
body.composition-v41 .site-footer{padding:18px 0 12px;}
body.composition-v41 .site-footer .footer-main{display:grid;grid-template-columns:minmax(97.5px,.65fr) minmax(0,3fr) 105px;gap:18px;align-items:center;padding-bottom:12px;}
body.composition-v41 .site-footer .footer-nav{display:flex;flex-direction:column;align-items:flex-start;gap:0;}
body.composition-v41 .footer-nav a{display:inline-flex;align-items:center;min-height:33px;color:#302820;}
body.composition-v41 .site-footer .footer-main p{max-width:none;white-space:normal;margin:0;text-align:center;color:#302820;font-weight:500;}
body.composition-v41 .site-footer .brand{justify-self:center;transform:none;}
body.composition-v41 .footer-bottom{color:#302820;}
/* Desktop preserves the V36 composition; only unsafe line overflows are relaxed. */
@media(min-width:825.75px){
 body.composition-v41 .story-grid .story-invitation{max-width:calc(100cqw - 36px);}
 body.composition-v41 .story-grid .story-invitation .story-description{white-space:normal;}
 body.composition-v41 .header-inner{gap:10.5px;}
 body.composition-v41 .desktop-nav{gap:clamp(6px,1cqw,12px);}
 body.composition-v41 .header-book{flex-shrink:0;}
}
@media(max-width:825px){
 body.composition-v41{--block-gap:36px;}
 body.composition-v41 .wrap{width:calc(100% - 24px);}
 body.composition-v41 .site-header .header-inner{display:flex;flex-wrap:nowrap;min-height:66px;padding-block:7.5px;gap:7.5px;}
 body.composition-v41 .site-header .brand{margin:0 auto 0 0;gap:6px;max-width:100%;}
 body.composition-v41 .site-header .brand-logo{width:46.5px;height:46.5px;}
 body.composition-v41 .site-header .brand-name{font-size:1.15rem;}
 body.composition-v41 .site-header .brand-sub{font-size:.52rem;}
 body.composition-v41 .desktop-nav,body.composition-v41 .header-book{display:none;}
 body.composition-v41 .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:33px;min-height:33px;}
 body.composition-v41 .pilote-jungle .home-intro{display:grid;grid-template-columns:minmax(0,1fr);gap:27px;width:calc(100% - 24px);margin:0 auto;padding:27px 0 36px;min-height:0;}
 body.composition-v41 .pilote-jungle .home-intro .hero-copy{display:flex;flex-direction:column;align-items:stretch;gap:21px;min-width:0;max-width:none;width:100%;padding:0;}
 body.composition-v41 .hero-copy>*{transform:none!important;}
 body.composition-v41 .pilote-jungle .hero-copy>.passage-title{margin:0 0 0 1ch;font-size:clamp(1.5rem,4cqw,2.2rem);}
 body.composition-v41 .pilote-jungle .hero-copy>.passage-tagline{font-size:clamp(2rem,7cqw,2.6rem);line-height:1.25;margin:0;}
 body.composition-v41 .tagline-stair .stair-line{margin-left:calc(var(--step)*1.6ch);}
 body.composition-v41 .pilote-jungle .hero-copy>.home-intro-description{font-size:1rem;margin:0;max-width:100%;}
 body.composition-v41 .hero-copy .home-amenities{width:100%;margin:0;padding:0;transform:none!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 body.composition-v41 .hero-copy .home-amenities li{min-width:0;font-size:1rem;}
 body.composition-v41 .hero-copy>a.btn{align-self:center;}
 body.composition-v41 .pilote-jungle .home-intro-media{padding:0!important;margin:0;min-width:0;width:100%;}
 body.composition-v41 .home-intro .hero-photo{width:100%;height:auto!important;min-height:0;margin:0;}
 body.composition-v41 .home-intro .hero-photo img{width:100%;height:auto;object-fit:contain;}
 body.composition-v41 .home-intro .home-photo-actions{position:relative;inset:auto;display:flex;justify-content:center;margin:15px 0;transform:none!important;}
 body.composition-v41 .home-photo-actions .photo-count span{display:inline;}
 body.composition-v41 .home-intro .home-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%;margin:0;padding:0;transform:none!important;}
 body.composition-v41 .home-photo-pair .photo-button{min-width:0;margin:0;height:auto;transform:none;}
 body.composition-v41 .home-photo-pair img{width:100%;height:auto;object-fit:contain;}
 body.composition-v41 .pilote-jungle .section-tint{padding:36px 0;}
 body.composition-v41 .section-tint>.wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 9px;}
 body.composition-v41 .pilote-jungle .section-tint>.wrap>.section-head{display:contents;}
 body.composition-v41 .section-head>div{grid-column:1/-1;grid-row:1;text-align:center;}
 body.composition-v41 .pilote-jungle .section-head :is(.passage-title,.passage-tagline){transform:none!important;width:100%!important;max-width:100%;white-space:normal;text-align:center;margin:0;}
 body.composition-v41 .pilote-jungle .section-head .passage-title{margin-bottom:21px;}
 body.composition-v41 .pilote-jungle .section-head .passage-tagline{font-size:clamp(2rem,7cqw,2.6rem);}
 body.composition-v41 .section-head>.text-link{grid-column:2;grid-row:2;transform:none!important;justify-self:center;align-self:center;max-width:100%;padding:9px 10.5px;font-size:.8125rem;}
 body.composition-v41 .pilote-jungle .section-tint>.wrap>.nearby-callout{grid-column:1;grid-row:2;margin:0;text-align:center;}
 body.composition-v41 .nearby-callout>a{transform:none!important;max-width:100%;padding:9px 10.5px;white-space:normal;text-align:center;font-size:.8125rem;}
 body.composition-v41 .experience-grid{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr);gap:30px;}
 body.composition-v41 .experience-card{min-width:0;width:100%;}
 body.composition-v41 .experience-card>img{width:100%;height:auto!important;max-height:360px;object-fit:contain;}
 body.composition-v41 .section-tint .experience-card .experience-content{transform:none!important;max-width:100%;width:100%;margin-top:15px;padding:0 6px;}
 body.composition-v41 .pilote-jungle .story-grid{width:100%;display:block;}
 body.composition-v41 .pilote-jungle .story-grid>.copy{width:100%;max-width:100%;transform:none!important;display:flex;flex-direction:column;align-items:center;}
 body.composition-v41 .pilote-jungle .story-grid .story-title{width:100%;text-align:center;font-size:clamp(1.25rem,4.2cqw,2rem);margin:0 0 21px;transform:none!important;}
 body.composition-v41 .pilote-jungle .story-grid .story-tagline{width:100%;max-width:100%;white-space:normal;text-align:center;margin:0 0 27px;font-size:clamp(2rem,7cqw,2.6rem);transform:none!important;}
 body.composition-v41 .pilote-jungle .story-grid .story-family-montage{width:100%;margin:0 auto 21px;transform:none!important;}
 body.composition-v41 .pilote-jungle .story-grid .story-invitation{width:100%;max-width:100%;transform:none!important;}
 body.composition-v41 .pilote-jungle .story-grid .story-invitation .story-description{font-size:1.1rem;white-space:normal;max-width:100%;}
 body.composition-v41 .pilote-jungle>.section.wrap{padding:36px 0;}
 body.composition-v41 .pilote-jungle>.booking-banner{margin-top:0;padding:52.5px 0;}
 body.composition-v41 .booking-banner .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:21px;}
 body.composition-v41 .booking-banner h2{font-size:2rem;max-width:100%;}
 body.composition-v41 .booking-banner .btn{max-width:100%;}
 body.composition-v41 .v4-growth{max-width:70%;}
 body.composition-v41 .site-footer .footer-main{grid-template-columns:minmax(0,1fr) 67.5px;gap:12px;}
 body.composition-v41 .site-footer .footer-nav{grid-column:1;grid-row:1;flex-direction:row;flex-wrap:wrap;gap:0 12px;}
 body.composition-v41 .site-footer .footer-main p{grid-row:2;grid-column:1/-1;}
 body.composition-v41 .site-footer .brand{grid-column:2;grid-row:1;}
 body.composition-v41 .site-footer .brand-logo{width:64.5px;height:64.5px;}
}
@media(max-width:285px){
 body.composition-v41 .site-header .brand-logo{width:33px;height:33px;}
 body.composition-v41 .site-header .brand-name{font-size:1rem;}
 body.composition-v41 .site-header .brand-sub{font-size:.43rem;}
 body.composition-v41 .site-header .lang{gap:3.75px;font-size:.7rem;}
 body.composition-v41 .site-header .header-inner{gap:5.25px;}
 body.composition-v41 .tagline-stair .stair-line{margin-left:calc(var(--step)*1.15ch);}
 body.composition-v41 .hero-copy .home-amenities{grid-template-columns:1fr;}
}
