/* Cielo del Bosque — scoped destination experience. */
:root{--forest:#14332a;--night:#0a211b;--gold:#d7bb80;--paper:#fbfaf6;--cream:#f1ecdf;--ink:#192b24;--quiet:#5f6d64;--line:#dddcd2;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 var(--sans)}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ac8139;outline-offset:5px}input:focus-visible,select:focus-visible{outline:2px solid var(--forest);outline-offset:3px}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:16px;padding:12px 20px;background:#fff;color:var(--forest);z-index:200}.skip-link:focus{top:10px}.wrap{width:min(1280px,88%);margin-inline:auto}.eyebrow{margin:0 0 18px;font-size:.875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.serif{font-family:var(--serif)}.muted{color:var(--quiet)}h1,h2,h3,p{margin-top:0}h2{font:500 clamp(2.2rem,4.3vw,4.1rem)/1.12 var(--serif);letter-spacing:-.035em;margin-bottom:24px}h2 em{font-weight:500}p{margin-bottom:20px}.section{padding:100px 0}.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:54px;padding:14px 24px;background:var(--forest);color:#fff;border:1px solid var(--forest);font-size:.9375rem;font-weight:600;line-height:1.4;border-radius:3px;transition:background .2s,transform .2s}.btn:hover{background:#254e3e;transform:translateY(-2px)}.btn.light{background:var(--cream);border-color:var(--cream);color:var(--forest)}.btn.light:hover{background:#fff}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.btn.outline:hover{background:#ffffff12}.btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex:none}.text-link{display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:5px;font-weight:500}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.site-header{height:86px;background:rgba(251,250,246,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header-inner{width:92%;height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:24px;align-items:center}.brand img{width:148px;height:45px;object-fit:contain}.brand-caption{font-size:.875rem;line-height:1.35;border-left:1px solid var(--line);padding-left:24px;color:var(--quiet)}.site-nav{display:flex;gap:26px;align-items:center;font-size:.9375rem}.site-nav>a:not(.nav-contact){padding-block:8px}.site-nav>a:not(.nav-contact):hover{color:#88642f}.nav-contact{background:var(--forest);color:#fff;padding:12px 18px;border-radius:3px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:10px 13px;border-radius:3px;font-size:.9375rem}
.hero{position:relative;min-height:min(850px,calc(100svh - 86px));color:#fff;isolation:isolate;display:flex;align-items:center;background:var(--night);padding:90px 0 38px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 55%;z-index:-3}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,23,16,.86),rgba(4,23,16,.5) 53%,rgba(4,23,16,.15)),linear-gradient(0deg,rgba(4,23,16,.75),transparent 55%);z-index:-2}.hero .eyebrow{color:var(--gold)}.hero h1{font:500 clamp(3.6rem,7.1vw,7rem)/1.02 var(--serif);letter-spacing:-.04em;max-width:850px;margin-bottom:26px}.hero h1 em{color:#ead7aa;font-weight:500}.hero-lead{font-size:1.1875rem;max-width:520px;color:#f0efe6;line-height:1.7}.hero .actions{margin-top:30px}.hero-foot{display:flex;justify-content:space-between;gap:25px;padding-top:24px;margin-top:72px;border-top:1px solid #ffffff45;font-size:.875rem;color:#e7e9df}.hero-foot span{display:flex;gap:12px;align-items:center}.hero-foot svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.5}.hero-foot a{border-bottom:1px solid #fff8}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;align-items:center}.intro h2{max-width:620px}.intro-copy{border-left:1px solid var(--line);padding-left:38px}.intro-copy p{color:var(--quiet);font-size:1.0625rem}.intro-copy p:last-child{margin:0;color:var(--forest);font-weight:500}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:340px;color:var(--quiet);margin-bottom:4px}.catalog{background:var(--cream)}.cabins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.cabin{background:var(--paper);border:1px solid #dfddd2}.cabin-cover{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.cover-link{position:relative;display:block;overflow:hidden}.cover-link img{transition:transform .65s}.cover-link:hover img{transform:scale(1.035)}.cover-link .pill{position:absolute;top:18px;left:18px;padding:6px 13px;background:var(--paper);color:var(--forest);font-size:.875rem}.cabin-body{padding:27px}.cabin-topline{display:flex;justify-content:space-between;gap:8px;color:var(--quiet);font-size:.875rem;margin-bottom:12px}.cabin h3{font:500 clamp(2rem,3vw,2.75rem)/1.12 var(--serif);margin:0 0 17px;letter-spacing:-.035em}.cabin-description{color:var(--quiet);min-height:82px}.cabin-facts{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0;padding:0;list-style:none}.cabin-facts li{font-size:.875rem;border:1px solid var(--line);padding:5px 10px;border-radius:2px}.cabin details{border-top:1px solid var(--line);margin:0 0 23px;padding-top:16px}.cabin summary{font-size:.9375rem;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-weight:500}.cabin summary::after{content:'+';font-size:1.3rem;line-height:1.1}.cabin details[open] summary::after{content:'−'}.cabin summary::-webkit-details-marker{display:none}.cabin details ul{padding-left:18px;font-size:.9375rem;color:var(--quiet);margin:14px 0 0}.cabin details li{margin-bottom:7px}.cabin-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cabin-actions .btn{padding:12px 10px;min-height:48px}.cabin-actions .outline{color:var(--forest);border-color:#a5ada6}.gallery-open{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:none;border:0;padding:18px 0 0;font-size:.9375rem;text-decoration:underline;text-underline-offset:5px}.catalog-note{font-size:.875rem;color:var(--quiet);margin:25px 0 0}.experience{background:var(--forest);color:#fff}.experience-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:8%;align-items:center}.experience-photo{height:640px;width:100%;object-fit:cover}.experience-copy .eyebrow{color:var(--gold)}.experience-copy h2 em{color:#e7d4a6}.experience-copy>p{color:#d3dcd4}.experience-list{list-style:none;padding:0;margin:30px 0}.experience-list li{display:grid;grid-template-columns:35px 1fr;gap:15px;padding:22px 0;border-top:1px solid #ffffff30}.experience-list strong{display:block;font:500 1.35rem/1.3 var(--serif);margin-bottom:5px}.experience-list p{font-size:.9375rem;color:#d3dcd4;margin:0}.experience-list svg{width:27px;height:27px;stroke:var(--gold);stroke-width:1.4;fill:none;margin-top:3px}.photo-caption{font-size:.875rem;margin:12px 0 0;color:var(--quiet)}.experience .photo-caption{color:#d3dcd4}
.ownership-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.ownership-image{width:100%;height:500px;object-fit:cover}.ownership-copy p:not(.eyebrow){color:var(--quiet)}.ownership-copy .actions{margin:30px 0 18px}.small-note{font-size:.875rem;line-height:1.65}.essentials{background:var(--cream);padding:70px 0}.essentials h2{font-size:2.2rem}.essentials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:30px}.essential{border-top:1px solid #bbc3b8;padding-top:22px}.essential svg{width:29px;height:29px;stroke:var(--forest);fill:none;stroke-width:1.5;margin-bottom:15px}.essential h3{font:500 1.5rem/1.25 var(--serif);margin:0 0 10px}.essential p{color:var(--quiet);font-size:.9375rem;margin:0}.location{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.location p{color:var(--quiet)}.location-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:30px 0}.location-facts>div{padding:22px 0}.location-facts>div+div{padding-left:24px;border-left:1px solid var(--line)}.location-facts strong{font:500 2.8rem/1.1 var(--serif);display:block}.location-facts span{color:var(--quiet);font-size:.875rem}.faq h3{font:500 2rem/1.2 var(--serif);margin:0 0 22px}.faq details{border-top:1px solid var(--line);padding:19px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{display:flex;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;font-weight:500}.faq summary::after{content:'+';font-size:1.3rem;color:var(--quiet);line-height:1.1}.faq details[open] summary::after{content:'−'}.faq summary::-webkit-details-marker{display:none}.faq details p{margin:13px 26px 0 0;font-size:.9375rem}.contact{background:var(--night);color:#fff}.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:center}.contact-copy .eyebrow{color:var(--gold)}.contact-copy h2 em{color:#e7d4a6}.contact-copy>p{color:#cbd6cd}.contact-copy .contact-phone{color:#fff;display:inline-flex;gap:15px;border-bottom:1px solid #ffffff65;padding-bottom:6px;margin-top:20px}.lead-form{background:var(--paper);color:var(--ink);padding:38px;border-radius:3px}.form-head{font:500 1.75rem/1.2 var(--serif);margin-bottom:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.lead-form label{font-size:.875rem;font-weight:500;display:block;margin-bottom:19px}.lead-form select,.lead-form input{display:block;width:100%;min-height:48px;padding:10px 12px;border:1px solid #b8c2b8;border-radius:3px;background:#fff;color:var(--ink);margin-top:7px;min-width:0}.lead-form input[type=date]{appearance:none;min-height:48px}.lead-form .btn{width:100%;margin-top:8px;white-space:normal}.form-error{color:#a12f24;font-size:.9375rem;margin:8px 0}.form-note{font-size:.875rem;color:var(--quiet);margin:15px 0 0}.site-footer{background:var(--night);color:#cbd6cd;border-top:1px solid #ffffff25;padding:30px 0 100px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.875rem}.footer-name{font:500 1.5rem var(--serif);color:#fff;display:block;margin-bottom:5px}.footer-inner p{margin:0}.footer-links{display:flex;gap:25px}.footer-links a{text-decoration:underline;text-underline-offset:4px}.mobile-cta{display:none}.lightbox{border:0;background:#091b17;color:#fff;padding:0;width:min(1100px,96vw);max-height:94svh;border-radius:4px;overflow:auto}.lightbox::backdrop{background:#04110edf;backdrop-filter:blur(5px)}.lightbox-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #ffffff30;gap:20px}.lightbox-head h2{font:500 1.5rem var(--serif);margin:0}.lightbox-close{border:1px solid #ffffff70;background:transparent;color:#fff;padding:9px 15px;font-size:.9375rem;border-radius:3px}.lightbox-stage{position:relative;min-height:220px}.lightbox-image{width:100%;height:65svh;object-fit:contain;background:#091b17}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:16px}.lightbox-controls button{min-height:44px;min-width:44px;border:1px solid #ffffff70;color:#fff;background:transparent;border-radius:3px}.lightbox-caption{text-align:center;margin:0;font-size:.9375rem}.lightbox-caption span{display:block;font-size:.875rem;color:#c2cdc5;margin-top:4px}.js .gallery-open{display:flex}.no-js .gallery-open{display:none}
@media(min-width:1600px){.hero{min-height:880px}.hero .wrap{width:min(1400px,88%)}}
@media(max-width:1120px){.brand-caption{display:none}.site-nav{gap:18px}.cabin-body{padding:22px}.cabin-actions{grid-template-columns:1fr}.experience-photo{height:590px}.cabin-description{min-height:110px}.section{padding:80px 0}}
@media(max-width:900px){.site-header{height:74px}.site-nav{gap:13px;font-size:.875rem}.hero{padding:80px 0 30px;min-height:760px}.hero h1{font-size:4.6rem}.intro{gap:5%}.intro-copy{padding-left:24px}.cabins{grid-template-columns:1fr}.cabin{display:grid;grid-template-columns:1fr 1.05fr}.cover-link{height:100%;min-height:400px}.cabin-cover{height:100%;aspect-ratio:auto}.cabin-description{min-height:0}.cabin-actions{grid-template-columns:1fr 1fr}.section-heading{gap:25px}.experience-layout,.ownership-grid{gap:5%}.experience-photo{height:630px}.ownership-image{height:540px}.essentials-grid{grid-template-columns:1fr 1fr;gap:35px}.contact-layout{gap:5%}.lead-form{padding:28px}.form-row{grid-template-columns:1fr}.location{gap:5%}}
@media(max-width:700px){html{scroll-padding-top:90px}.wrap{width:88%}.site-header{height:70px}.brand img{width:130px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:20px 6% 26px;flex-direction:column;align-items:stretch;gap:12px;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.nav-contact{text-align:center}.no-js .menu-toggle{display:none}.no-js .site-nav{display:flex;position:static;width:auto;padding:0;border:0}.no-js .site-nav>a:not(.nav-contact){display:none}.hero{min-height:720px;padding:64px 0 28px}.hero h1{font-size:clamp(3rem,10vw,4.4rem);max-width:550px}.hero-photo{object-position:60% center}.hero:before{background:linear-gradient(90deg,#061c15d9,#061c1565),linear-gradient(0deg,#061c15c9,transparent 80%)}.hero-lead{font-size:1.0625rem}.hero .actions .btn{padding:14px 18px}.hero-foot{margin-top:50px;display:block}.hero-foot span{margin-bottom:12px}.hero-foot>a{display:none}.section{padding:66px 0}.intro,.experience-layout,.ownership-grid,.location,.contact-layout{grid-template-columns:1fr;gap:35px}.intro-copy{border:0;padding:0}.intro h2{margin:0}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:22px}.cabin{display:block}.cover-link{min-height:0;height:auto}.cabin-cover{height:auto;aspect-ratio:4/3}.cabin-body{padding:25px}.cabin h3{font-size:2.6rem}.experience-photo{height:470px}.experience-copy{padding-top:6px}.experience-list{margin-bottom:0}.ownership-image{height:430px}.ownership-copy{order:-1}.essentials{padding:60px 0}.essentials-grid{gap:28px 20px}.essential h3{font-size:1.35rem}.location-facts strong{font-size:2.5rem}.faq{margin-top:10px}.contact-copy h2{max-width:480px}.form-row{grid-template-columns:1fr 1fr}.lead-form{padding:27px 22px}.footer-inner{display:block}.footer-links{margin-top:25px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:rgba(251,250,246,.98);border-top:1px solid var(--line);z-index:45;padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-cta>a{flex:1;min-height:45px;padding:10px 8px;font-size:.9375rem}.mobile-cta .outline{color:var(--forest)}.lightbox-head,.lightbox-controls{padding:16px}.lightbox-head h2{font-size:1.25rem}.lightbox-image{height:60svh}.lightbox-caption{font-size:.875rem}.lightbox-controls{gap:10px}.lightbox-close{padding:8px 10px}.site-footer{padding-bottom:115px}}
@media(max-width:380px){.hero .actions{flex-direction:column;align-items:stretch}.hero h1{font-size:2.95rem}.hero .eyebrow{font-size:.8125rem;letter-spacing:.12em}.form-row{grid-template-columns:1fr}.cabin-actions{grid-template-columns:1fr}.essentials-grid{grid-template-columns:1fr}.hero-foot{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Original supplied logo, displayed without cropping or recoloring. */
.intro{grid-template-columns:1fr 1fr;gap:6%}.intro-brand{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:3px}.intro-copy .eyebrow{font-size:.875rem;color:var(--forest)}.intro-copy h2{font-size:clamp(2.2rem,3.5vw,3.4rem)}
@media(max-width:700px){.intro{grid-template-columns:1fr;gap:35px}.intro-brand{max-width:540px;margin-inline:auto}.intro-copy h2{margin-bottom:24px}}

/* Location supplied by the owner. Keep map compact and responsive. */
.location-map{margin:28px 0 0;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:var(--cream)}.location-map iframe{display:block;width:100%;height:280px;border:0}.location-map figcaption{padding:16px 18px;font-size:.875rem}.location-map figcaption>strong,.location-map figcaption>span{display:block}.location-map figcaption>span{color:var(--quiet);margin-top:4px}.location-map .text-link{margin-top:12px;font-size:.9375rem}.location-map .text-link span{flex-shrink:0}
@media(max-width:700px){.location-map iframe{height:240px}}
