/*
 * Cabañas Theme 1.3.0
 * Five independent premium home experiences.
 */

/* #primary scopes the visual system and outranks Elementor kit/page defaults. */
.cabanas-demo-home .site-main{overflow:clip}
.cabanas-demo-home .ct50-home,
.cabanas-demo-home [class*="ct50-mountain-"],
.cabanas-demo-home [class*="ct50-boutique-"],
.cabanas-demo-home [class*="ct50-family-"],
.cabanas-demo-home [class*="ct50-adventure-"],
.cabanas-demo-home [class*="ct50-minimal-"]{box-sizing:border-box}
#primary :is([class*="ct50-"]).e-con{--gap:0px;--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px}
.cabanas-demo-home .elementor-widget-heading .elementor-heading-title{margin:0}
.cabanas-demo-home .elementor-widget-text-editor p:last-child{margin-bottom:0}
#primary .ct50-button .elementor-button,
#primary .ct50-text-link .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:0;padding:15px 24px;font-weight:700;line-height:1.15;text-decoration:none;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease}
#primary .ct50-button .elementor-button:hover{transform:translateY(-2px)}
#primary .ct50-text-link .elementor-button{min-height:auto;padding:10px 0;border-bottom:1px solid currentColor;background:transparent!important}
#primary .ct50-text-link .elementor-button:hover{transform:none;opacity:.66}
.cabanas-demo-home .cabanas-availability-search{margin:0}
.cabanas-demo-home .cabanas-availability-search__field input,
.cabanas-demo-home .cabanas-availability-search__field select{font:inherit}

/* Header systems */
body.cabanas-demo-home .ct32-layout-render--header{position:absolute;top:0;left:0;right:0;z-index:1000}
body.admin-bar.cabanas-demo-home .ct32-layout-render--header{top:32px}
body.cabanas-demo-home .ct32-layout-header-shell{background:transparent;border:0}
body.cabanas-demo-home .ct32-layout-header{min-height:84px;padding-block:15px}
body.cabanas-demo-home .ct32-layout-header .site-brand__text,
body.cabanas-demo-home .ct32-elementor-menu a{color:#fff}
body.cabanas-demo-home .ct32-navigation__toggle span:not(.screen-reader-text){background:#fff}
body.cabanas-demo-home .ct32-button--header .elementor-button{border-radius:999px}

body.cabanas-demo-home--mountain .ct32-layout-header-shell{border-bottom:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(5,19,13,.54),transparent)}
body.cabanas-demo-home--mountain .ct32-button--header .elementor-button{background:#e7c98c;color:#13251c}
body.cabanas-demo-home--mountain .ct32-elementor-menu a:hover{color:#e7c98c}

body.cabanas-demo-home--boutique .ct32-layout-render--header{left:clamp(18px,3.5vw,56px);right:clamp(18px,3.5vw,56px);top:20px}
body.admin-bar.cabanas-demo-home--boutique .ct32-layout-render--header{top:52px}
body.cabanas-demo-home--boutique .ct32-layout-header-shell{background:rgba(246,240,233,.94);border:1px solid rgba(54,36,41,.12);backdrop-filter:blur(18px)}
body.cabanas-demo-home--boutique .ct32-layout-header{min-height:72px}
body.cabanas-demo-home--boutique .ct32-layout-header .site-brand__text,
body.cabanas-demo-home--boutique .ct32-elementor-menu a{color:#382a30}
body.cabanas-demo-home--boutique .ct32-navigation__toggle span:not(.screen-reader-text){background:#382a30}
body.cabanas-demo-home--boutique .ct32-button--header .elementor-button{background:#382a30;color:#f7f0e8}
body.cabanas-demo-home--boutique .ct32-elementor-menu a{font-family:"Inter",sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}

body.cabanas-demo-home--family .ct32-layout-render--header{left:clamp(14px,3vw,46px);right:clamp(14px,3vw,46px);top:18px}
body.admin-bar.cabanas-demo-home--family .ct32-layout-render--header{top:50px}
body.cabanas-demo-home--family .ct32-layout-header-shell{border:1px solid rgba(29,78,74,.1);border-radius:22px;background:rgba(255,253,247,.96);box-shadow:0 18px 60px rgba(31,66,62,.1);backdrop-filter:blur(16px)}
body.cabanas-demo-home--family .ct32-layout-header{min-height:72px}
body.cabanas-demo-home--family .ct32-layout-header .site-brand__text,
body.cabanas-demo-home--family .ct32-elementor-menu a{color:#194d49}
body.cabanas-demo-home--family .ct32-navigation__toggle span:not(.screen-reader-text){background:#194d49}
body.cabanas-demo-home--family .ct32-button--header .elementor-button{background:#ff8f6b;color:#173f3c}

body.cabanas-demo-home--adventure .ct32-layout-header-shell{border-bottom:1px solid rgba(255,255,255,.18);background:rgba(5,15,18,.72);backdrop-filter:blur(16px)}
body.cabanas-demo-home--adventure .ct32-layout-header{min-height:76px}
body.cabanas-demo-home--adventure .ct32-elementor-menu a{font-family:"Manrope",sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.cabanas-demo-home--adventure .ct32-elementor-menu a:hover{color:#ff6a2a}
body.cabanas-demo-home--adventure .ct32-button--header .elementor-button{border:1px solid #ff6a2a;background:#ff6a2a;color:#071316;text-transform:uppercase}

body.cabanas-demo-home--minimal .ct32-layout-render--header{position:relative}
body.admin-bar.cabanas-demo-home--minimal .ct32-layout-render--header{top:0}
body.cabanas-demo-home--minimal .ct32-layout-header-shell{border-bottom:1px solid #1d1d1b;background:#f4f3ee}
body.cabanas-demo-home--minimal .ct32-layout-header{min-height:88px}
body.cabanas-demo-home--minimal .ct32-layout-header .site-brand__text,
body.cabanas-demo-home--minimal .ct32-elementor-menu a{color:#1d1d1b}
body.cabanas-demo-home--minimal .ct32-navigation__toggle span:not(.screen-reader-text){background:#1d1d1b}
body.cabanas-demo-home--minimal .ct32-elementor-menu a{font-family:"Instrument Sans",sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}
body.cabanas-demo-home--minimal .ct32-button--header .elementor-button{border:1px solid #1d1d1b;background:#1d1d1b;color:#fff}

/* Mountain — cinematic editorial */
#primary .ct50-home--mountain,
.cabanas-demo-home--mountain{--ct50-mountain-ink:#14231b;--ct50-mountain-paper:#f3efe5;--ct50-mountain-sand:#e7c98c;--ct50-mountain-moss:#274b39}
#primary .ct50-mountain-hero{position:relative;min-height:100svh!important;padding:138px 0 42px;isolation:isolate;color:#fff}
#primary .ct50-mountain-hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(5,18,12,.88) 0%,rgba(6,21,14,.66) 46%,rgba(5,16,11,.24) 78%),linear-gradient(180deg,rgba(3,12,8,.08),rgba(3,12,8,.72))}
#primary .ct50-mountain-hero__inner{position:relative!important;z-index:1;min-height:calc(100svh - 180px);display:grid!important;grid-template-columns:70px minmax(0,760px) 280px;grid-template-rows:1fr auto;gap:30px 38px;align-items:center}
#primary .ct50-mountain-rail{align-self:stretch;display:flex!important;justify-content:space-between;align-items:center;border-right:1px solid rgba(255,255,255,.28);padding:12px 18px 12px 0}
#primary .ct50-mountain-rail__number{font-family:"Manrope",sans-serif;font-size:.69rem;font-weight:700;letter-spacing:.18em}
#primary .ct50-mountain-rail__text{writing-mode:vertical-rl;transform:rotate(180deg);font-family:"Manrope",sans-serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.68)}
#primary .ct50-mountain-hero__copy{max-width:760px;gap:22px}
#primary .ct50-mountain-kicker{font-family:"Manrope",sans-serif;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ct50-mountain-sand)}
#primary .ct50-mountain-kicker--dark{color:#7e6845}
#primary .ct50-mountain-hero__title .elementor-heading-title{max-width:760px;color:#fff!important;font-family:"Cormorant Garamond",serif!important;font-size:clamp(4.5rem,8vw,8.5rem)!important;font-weight:500!important;line-height:.84!important;letter-spacing:-.045em!important;text-wrap:balance}
#primary .ct50-mountain-hero__text,#primary .ct50-mountain-hero__text p{max-width:620px;color:rgba(255,255,255,.83);font-family:"Manrope",sans-serif;font-size:1.05rem;line-height:1.8}
#primary .ct50-mountain-actions{gap:24px;align-items:center;margin-top:8px}
#primary .ct50-button--mountain .elementor-button{border-radius:999px;background:var(--ct50-mountain-sand);color:var(--ct50-mountain-ink);padding-inline:28px}
#primary .ct50-text-link--light .elementor-button{color:#fff}
#primary .ct50-mountain-note{align-self:end;margin-bottom:20px;padding:22px;border:1px solid rgba(255,255,255,.25);background:rgba(11,31,21,.38);backdrop-filter:blur(14px)}
#primary .ct50-mountain-note__title .elementor-heading-title{color:#fff!important;font-family:"Cormorant Garamond",serif!important;font-size:1.45rem!important}
#primary .ct50-mountain-note__text,#primary .ct50-mountain-note__text p{color:rgba(255,255,255,.68);font-size:.78rem;line-height:1.6}
#primary .ct50-mountain-search{grid-column:1/-1;padding:18px 20px;border:1px solid rgba(255,255,255,.28);background:rgba(244,239,228,.94);box-shadow:0 28px 80px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
#primary .ct50-mountain-search .cabanas-availability-search{grid-template-columns:1fr 1fr .75fr .75fr .75fr auto;gap:10px}
#primary .ct50-mountain-search label{color:#33473c}
#primary .ct50-mountain-search input{border:0!important;border-bottom:1px solid rgba(20,35,27,.22)!important;border-radius:0!important;background:transparent!important}
#primary .ct50-mountain-search .cabanas-button{border-radius:999px;background:var(--ct50-mountain-ink)}
#primary .ct50-mountain-story{padding:150px 0;background:var(--ct50-mountain-paper)}
#primary .ct50-mountain-story__grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(55px,8vw,120px);align-items:center}
#primary .ct50-mountain-story__media{position:relative;min-height:720px}
#primary .ct50-mountain-story__image--main img{width:78%;height:630px;object-fit:cover}
#primary .ct50-mountain-story__image--detail{position:absolute;right:0;bottom:10px;width:44%;z-index:2}
#primary .ct50-mountain-story__image--detail img{width:100%;height:275px;object-fit:cover;border:10px solid var(--ct50-mountain-paper)}
#primary .ct50-mountain-story__caption{position:absolute;left:-38px;bottom:55px;writing-mode:vertical-rl;transform:rotate(180deg);font:700 .65rem/1 "Manrope",sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#7e6845}
#primary .ct50-mountain-story__copy{gap:24px}
#primary .ct50-mountain-section-title .elementor-heading-title{color:var(--ct50-mountain-ink)!important;font-family:"Cormorant Garamond",serif!important;font-size:clamp(3.2rem,5vw,5.7rem)!important;font-weight:500!important;line-height:.94!important;letter-spacing:-.035em!important;text-wrap:balance}
#primary .ct50-mountain-section-text,#primary .ct50-mountain-section-text p{max-width:610px;color:#5f6a64;font-family:"Manrope",sans-serif;font-size:1rem;line-height:1.85}
#primary .ct50-mountain-story__values{gap:0;border-top:1px solid rgba(20,35,27,.18);border-bottom:1px solid rgba(20,35,27,.18)}
#primary .ct50-mountain-value{flex:1 1 220px;padding:22px 22px 22px 0}
#primary .ct50-mountain-value+.ct50-mountain-value{border-left:1px solid rgba(20,35,27,.18);padding-left:22px}
#primary .ct50-mountain-value__index{font:700 .67rem/1 "Manrope",sans-serif;color:#9a7c4e;letter-spacing:.14em}
#primary .ct50-mountain-value__title .elementor-heading-title{margin-top:12px;color:var(--ct50-mountain-ink)!important;font-family:"Cormorant Garamond",serif!important;font-size:1.5rem!important}
#primary .ct50-mountain-value__text,#primary .ct50-mountain-value__text p{color:#68716c;font-size:.78rem;line-height:1.55}
#primary .ct50-button--ink .elementor-button{align-self:flex-start;border-radius:999px;background:var(--ct50-mountain-ink);color:#fff}
#primary .ct50-mountain-cabins{padding:130px 0;background:#fff}
#primary .ct50-mountain-cabins__inner{gap:55px}
#primary .ct50-mountain-heading{max-width:760px;gap:16px}
#primary .ct50-mountain-cabin-list .cabanas-grid{gap:28px}
#primary .ct50-mountain-cabin-list .cabanas-card{border:0;border-radius:0;box-shadow:none;background:transparent}
#primary .ct50-mountain-cabin-list .cabanas-card:nth-child(2){transform:translateY(54px)}
#primary .ct50-mountain-cabin-list .cabanas-card__media{aspect-ratio:4/5;border-radius:0}
#primary .ct50-mountain-cabin-list .cabanas-card__body{padding:22px 0}
#primary .ct50-mountain-cabin-list .cabanas-card__body h3{font-family:"Cormorant Garamond",serif;font-size:2rem}
#primary .ct50-mountain-cabin-list .cabanas-card__badge{border-radius:0;background:rgba(17,35,25,.72);font-size:.62rem;letter-spacing:.1em}
#primary .ct50-mountain-cabin-list .cabanas-button{border-radius:999px}
#primary .ct50-mountain-gallery{padding:140px 0;background:#15271e;color:#fff}
#primary .ct50-mountain-gallery__inner{gap:55px}
#primary .ct50-mountain-gallery__copy{max-width:900px;gap:15px}
#primary .ct50-mountain-gallery__title .elementor-heading-title{color:#fff!important;font-family:"Cormorant Garamond",serif!important;font-size:clamp(3.5rem,6vw,7rem)!important;font-weight:500!important;line-height:.9!important;letter-spacing:-.04em!important}
#primary .ct50-mountain-gallery__grid{gap:18px;align-items:stretch}
#primary .ct50-mountain-media{position:relative;overflow:hidden;min-height:340px}
#primary .ct50-mountain-media--tall{flex:1 1 38%;min-height:650px}
#primary .ct50-mountain-media--wide{flex:1 1 55%;min-height:410px}
#primary .ct50-mountain-media--small{flex:1 1 55%;min-height:220px;margin-left:calc(38% + 18px);margin-top:-238px}
#primary .ct50-mountain-media__image,#primary .ct50-mountain-media__image .elementor-widget-container,#primary .ct50-mountain-media__image img{width:100%;height:100%}
#primary .ct50-mountain-media__image img{object-fit:cover;transition:transform .6s ease}
#primary .ct50-mountain-media:hover img{transform:scale(1.035)}
#primary .ct50-mountain-media__label .elementor-heading-title{position:absolute;left:20px;bottom:18px;padding:8px 11px;background:rgba(10,26,17,.68);color:#fff!important;font:700 .67rem/1 "Manrope",sans-serif!important;letter-spacing:.13em;text-transform:uppercase;backdrop-filter:blur(12px)}
#primary .ct50-mountain-promise{padding:72px 0;background:var(--ct50-mountain-sand)}
#primary .ct50-mountain-promise__inner{gap:35px}
#primary .ct50-mountain-promise__title .elementor-heading-title{max-width:850px;color:var(--ct50-mountain-ink)!important;font-family:"Cormorant Garamond",serif!important;font-size:clamp(2.3rem,4vw,4.3rem)!important;font-weight:500!important;line-height:1!important}
#primary .ct50-button--sand .elementor-button{border-radius:999px;background:var(--ct50-mountain-ink);color:#fff;white-space:nowrap}

/* Boutique — contemporary editorial luxury */
#primary .ct50-home--boutique,
.cabanas-demo-home--boutique{--ct50-boutique-ink:#35272e;--ct50-boutique-paper:#f4ede5;--ct50-boutique-rose:#b27878;--ct50-boutique-line:rgba(53,39,46,.17)}
#primary .ct50-boutique-hero{padding:130px 0 80px;background:var(--ct50-boutique-paper)}
#primary .ct50-boutique-hero__grid{display:grid!important;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);min-height:760px;gap:0;align-items:stretch}
#primary .ct50-boutique-hero__copy{justify-content:center;gap:25px;padding:70px clamp(30px,5vw,88px) 70px 0;border-top:1px solid var(--ct50-boutique-line);border-bottom:1px solid var(--ct50-boutique-line)}
#primary .ct50-boutique-edition{font:600 .65rem/1.2 "Inter",sans-serif;letter-spacing:.19em;text-transform:uppercase;color:#8a5a62}
#primary .ct50-boutique-hero__title .elementor-heading-title{color:var(--ct50-boutique-ink)!important;font-family:"Bodoni Moda",serif!important;font-size:clamp(4rem,6.7vw,7.6rem)!important;font-weight:500!important;line-height:.88!important;letter-spacing:-.055em!important;text-wrap:balance}
#primary .ct50-boutique-hero__text,#primary .ct50-boutique-hero__text p{max-width:560px;color:#6d5f65;font:400 1rem/1.8 "Inter",sans-serif}
#primary .ct50-boutique-actions{gap:26px;align-items:center}
#primary .ct50-button--boutique .elementor-button{background:var(--ct50-boutique-ink);color:#fff}
#primary .ct50-text-link--boutique .elementor-button{color:var(--ct50-boutique-ink)}
#primary .ct50-boutique-signature{margin-top:25px;color:#9a858b;font:500 .65rem/1.3 "Inter",sans-serif;letter-spacing:.16em;text-transform:uppercase}
#primary .ct50-boutique-hero__media{position:relative;min-height:760px}
#primary .ct50-boutique-hero__image,#primary .ct50-boutique-hero__image .elementor-widget-container,#primary .ct50-boutique-hero__image img{width:100%;height:100%}
#primary .ct50-boutique-hero__image img{object-fit:cover}
#primary .ct50-boutique-floating-card{position:absolute;left:-56px;bottom:42px;width:260px;padding:27px;background:rgba(255,252,247,.94);box-shadow:0 28px 70px rgba(46,30,36,.18);backdrop-filter:blur(15px)}
#primary .ct50-boutique-floating-card__label{font:600 .62rem/1.2 "Inter",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#9b666d}
#primary .ct50-boutique-floating-card__title .elementor-heading-title{margin-top:12px;color:var(--ct50-boutique-ink)!important;font-family:"Bodoni Moda",serif!important;font-size:1.7rem!important}
#primary .ct50-boutique-floating-card__text,#primary .ct50-boutique-floating-card__text p{color:#766970;font:400 .78rem/1.55 "Inter",sans-serif}
#primary .ct50-boutique-search-shell{padding:52px 0;background:#fff;border-bottom:1px solid var(--ct50-boutique-line)}
#primary .ct50-boutique-search-shell__inner{gap:45px}
#primary .ct50-boutique-search-copy{flex:0 0 250px;padding-right:35px;border-right:1px solid var(--ct50-boutique-line)}
#primary .ct50-boutique-search-copy__number{font:500 2.6rem/1 "Bodoni Moda",serif;color:#b7898d}
#primary .ct50-boutique-search-copy__title .elementor-heading-title{margin-top:10px;color:var(--ct50-boutique-ink)!important;font:500 1.35rem/1.25 "Bodoni Moda",serif!important}
#primary .ct50-boutique-search{flex:1 1 auto}
#primary .ct50-boutique-search .cabanas-availability-search{grid-template-columns:1fr 1fr .7fr .7fr .7fr auto;gap:14px}
#primary .ct50-boutique-search input{border:0!important;border-bottom:1px solid var(--ct50-boutique-line)!important;border-radius:0!important;padding-inline:0!important}
#primary .ct50-boutique-search label{font-family:"Inter",sans-serif;color:#59474f}
#primary .ct50-boutique-search .cabanas-button{border-radius:0;background:var(--ct50-boutique-ink)}
#primary .ct50-boutique-manifesto{padding:140px 0;background:var(--ct50-boutique-ink);color:#fff}
#primary .ct50-boutique-manifesto__inner{max-width:1120px!important;text-align:center;align-items:center;gap:28px}
#primary .ct50-boutique-manifesto__label{font:600 .67rem/1 "Inter",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#c6969b}
#primary .ct50-boutique-manifesto__title .elementor-heading-title{color:#fff!important;font-family:"Bodoni Moda",serif!important;font-size:clamp(3.5rem,6.5vw,7.4rem)!important;font-weight:500!important;line-height:.93!important;letter-spacing:-.045em!important;text-wrap:balance}
#primary .ct50-boutique-manifesto__text,#primary .ct50-boutique-manifesto__text p{max-width:620px;color:rgba(255,255,255,.62);font:400 .95rem/1.8 "Inter",sans-serif}
#primary .ct50-boutique-stays{padding:145px 0;background:#fff}
#primary .ct50-boutique-stays__inner{gap:62px}
#primary .ct50-boutique-section-head{display:grid!important;grid-template-columns:180px minmax(0,1fr) minmax(220px,.55fr);gap:35px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--ct50-boutique-line)}
#primary .ct50-boutique-section-head__index{font:600 .64rem/1.3 "Inter",sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#9c6e75}
#primary .ct50-boutique-section-head__title .elementor-heading-title{color:var(--ct50-boutique-ink)!important;font-family:"Bodoni Moda",serif!important;font-size:clamp(3rem,5vw,5.6rem)!important;font-weight:500!important;line-height:.95!important;letter-spacing:-.04em!important}
#primary .ct50-boutique-section-head__text,#primary .ct50-boutique-section-head__text p{color:#76686e;font:400 .9rem/1.7 "Inter",sans-serif}
#primary .ct50-boutique-cabin-list .cabanas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 28px}
#primary .ct50-boutique-cabin-list .cabanas-card{border:0;border-radius:0;background:transparent;box-shadow:none}
#primary .ct50-boutique-cabin-list .cabanas-card__media{aspect-ratio:16/11;border-radius:0}
#primary .ct50-boutique-cabin-list .cabanas-card__body{padding:24px 0;border-bottom:1px solid var(--ct50-boutique-line)}
#primary .ct50-boutique-cabin-list .cabanas-card__body h3{font-family:"Bodoni Moda",serif;font-size:2.25rem;font-weight:500}
#primary .ct50-boutique-cabin-list .cabanas-card__badge{border-radius:0;background:#f4ede5;color:#5d4149}
#primary .ct50-boutique-cabin-list .cabanas-button{border-radius:0;background:var(--ct50-boutique-ink)}
#primary .ct50-boutique-concierge{padding:140px 0;background:var(--ct50-boutique-paper)}
#primary .ct50-boutique-concierge__grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(55px,8vw,110px);align-items:center}
#primary .ct50-boutique-concierge__media{position:relative;min-height:700px}
#primary .ct50-boutique-concierge__image,#primary .ct50-boutique-concierge__image .elementor-widget-container,#primary .ct50-boutique-concierge__image img{width:100%;height:100%}
#primary .ct50-boutique-concierge__image img{object-fit:cover}
#primary .ct50-boutique-concierge__caption{position:absolute;right:-36px;top:50%;transform:translateY(-50%) rotate(90deg);font:600 .63rem/1 "Inter",sans-serif;letter-spacing:.17em;text-transform:uppercase;color:#74545c}
#primary .ct50-boutique-concierge__copy{gap:0}
#primary .ct50-boutique-concierge__title .elementor-heading-title{margin:28px 0 40px;color:var(--ct50-boutique-ink)!important;font-family:"Bodoni Moda",serif!important;font-size:clamp(3rem,5vw,5.4rem)!important;font-weight:500!important;line-height:.95!important}
#primary .ct50-boutique-detail{display:grid!important;grid-template-columns:34px 170px 1fr;gap:16px;padding:23px 0;border-top:1px solid var(--ct50-boutique-line)}
#primary .ct50-boutique-detail:last-of-type{border-bottom:1px solid var(--ct50-boutique-line)}
#primary .ct50-boutique-detail__index{font:600 .65rem/1 "Inter",sans-serif;color:#a57278}
#primary .ct50-boutique-detail__title .elementor-heading-title{color:var(--ct50-boutique-ink)!important;font:500 1.1rem/1.2 "Bodoni Moda",serif!important}
#primary .ct50-boutique-detail__text,#primary .ct50-boutique-detail__text p{color:#776970;font:400 .78rem/1.55 "Inter",sans-serif}
#primary .ct50-text-link--boutique-dark{align-self:flex-start;margin-top:24px}
#primary .ct50-text-link--boutique-dark .elementor-button{color:var(--ct50-boutique-ink)}
#primary .ct50-boutique-gallery{padding:140px 0;background:#fff}
#primary .ct50-boutique-gallery__inner{gap:35px}
#primary .ct50-boutique-gallery__grid{gap:18px}
#primary .ct50-boutique-gallery__image--one{flex:1 1 56%}
#primary .ct50-boutique-gallery__image--two{flex:1 1 34%;margin-top:100px}
#primary .ct50-boutique-gallery__image--one img{width:100%;height:680px;object-fit:cover}
#primary .ct50-boutique-gallery__image--two img{width:100%;height:470px;object-fit:cover}
#primary .ct50-boutique-gallery__quote{flex:1 1 34%;align-self:flex-end;padding:42px;margin-bottom:35px;background:var(--ct50-boutique-paper)}
#primary .ct50-boutique-gallery__quote-mark{font:500 5rem/1 "Bodoni Moda",serif;color:#b67d83}
#primary .ct50-boutique-gallery__quote-title .elementor-heading-title{color:var(--ct50-boutique-ink)!important;font:500 2rem/1.15 "Bodoni Moda",serif!important}
#primary .ct50-boutique-cta{padding:120px 0;background:#a86f75;color:#fff}
#primary .ct50-boutique-cta__inner{align-items:center;text-align:center;gap:24px}
#primary .ct50-boutique-cta__label{font:600 .67rem/1 "Inter",sans-serif;letter-spacing:.2em;text-transform:uppercase}
#primary .ct50-boutique-cta__title .elementor-heading-title{max-width:1000px;color:#fff!important;font-family:"Bodoni Moda",serif!important;font-size:clamp(4rem,7vw,8rem)!important;font-weight:500!important;line-height:.9!important;letter-spacing:-.05em!important}
#primary .ct50-button--ivory .elementor-button{margin-top:15px;background:#fff;color:var(--ct50-boutique-ink)}

/* Family — warm, playful and conversion-led */
#primary .ct50-home--family,
.cabanas-demo-home--family{--ct50-family-ink:#153f3c;--ct50-family-paper:#fffaf0;--ct50-family-mint:#dceee4;--ct50-family-peach:#ff9270;--ct50-family-yellow:#f4c95d}
#primary .ct50-family-hero{padding:145px 0 72px;background:linear-gradient(145deg,#fffaf0 0%,#f6f1e6 100%)}
#primary .ct50-family-hero__inner{display:grid!important;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:45px 70px;align-items:center}
#primary .ct50-family-hero__copy{gap:23px}
#primary .ct50-family-kicker{font-family:"Nunito Sans",sans-serif;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#dd674b}
#primary .ct50-family-hero__title .elementor-heading-title{color:var(--ct50-family-ink)!important;font-family:"Fraunces",serif!important;font-size:clamp(3.7rem,6.7vw,7.2rem)!important;font-weight:700!important;line-height:.94!important;letter-spacing:-.045em!important;text-wrap:balance}
#primary .ct50-family-hero__text,#primary .ct50-family-hero__text p{max-width:590px;color:#61716e;font:500 1.04rem/1.75 "Nunito Sans",sans-serif}
#primary .ct50-family-actions{gap:22px;align-items:center}
#primary .ct50-button--family .elementor-button{border-radius:999px;background:var(--ct50-family-peach);color:var(--ct50-family-ink);box-shadow:0 16px 34px rgba(228,102,70,.2)}
#primary .ct50-text-link--family .elementor-button{color:var(--ct50-family-ink)}
#primary .ct50-family-mosaic{position:relative;display:grid!important;grid-template-columns:1.25fr .75fr;grid-template-rows:310px 240px;gap:14px;min-height:565px}
#primary .ct50-family-mosaic__image,#primary .ct50-family-mosaic__image .elementor-widget-container,#primary .ct50-family-mosaic__image img{width:100%;height:100%}
#primary .ct50-family-mosaic__image img{object-fit:cover;border-radius:28px}
#primary .ct50-family-mosaic__image--main{grid-row:1/3}
#primary .ct50-family-mosaic__badge{position:absolute;left:-36px;bottom:32px;width:250px;padding:22px;border:8px solid var(--ct50-family-paper);border-radius:22px;background:var(--ct50-family-yellow);transform:rotate(-2deg)}
#primary .ct50-family-mosaic__badge-title .elementor-heading-title{color:var(--ct50-family-ink)!important;font:700 1.15rem/1.2 "Fraunces",serif!important}
#primary .ct50-family-mosaic__badge-text,#primary .ct50-family-mosaic__badge-text p{color:#385a56;font:700 .68rem/1.5 "Nunito Sans",sans-serif}
#primary .ct50-family-search{grid-column:1/-1;padding:22px;border:1px solid rgba(21,63,60,.1);border-radius:24px;background:#fff;box-shadow:0 22px 65px rgba(25,69,64,.11)}
#primary .ct50-family-search .cabanas-availability-search{grid-template-columns:1fr 1fr .75fr .75fr .75fr auto;gap:10px}
#primary .ct50-family-search input{border-color:#dce6df!important;border-radius:13px!important;background:#fbfaf6!important}
#primary .ct50-family-search label{color:var(--ct50-family-ink)}
#primary .ct50-family-search .cabanas-button{border-radius:13px;background:var(--ct50-family-ink)}
#primary .ct50-family-glance{padding:32px 0;background:var(--ct50-family-ink)}
#primary .ct50-family-glance__grid{gap:0}
#primary .ct50-family-glance-card{flex:1 1 230px;padding:23px 26px;border-right:1px solid rgba(255,255,255,.15)}
#primary .ct50-family-glance-card:last-child{border-right:0}
#primary .ct50-family-glance-card__index{font:800 .68rem/1 "Nunito Sans",sans-serif;color:var(--ct50-family-yellow)}
#primary .ct50-family-glance-card__title .elementor-heading-title{margin-top:10px;color:#fff!important;font:700 1.12rem/1.2 "Fraunces",serif!important}
#primary .ct50-family-glance-card__text,#primary .ct50-family-glance-card__text p{color:rgba(255,255,255,.66);font:500 .76rem/1.5 "Nunito Sans",sans-serif}
#primary .ct50-family-cabins{padding:125px 0;background:#fff}
#primary .ct50-family-cabins__inner{gap:50px}
#primary .ct50-family-section-head{max-width:830px;gap:14px}
#primary .ct50-family-section-head--center{margin-inline:auto;text-align:center;align-items:center}
#primary .ct50-family-section-title .elementor-heading-title{color:var(--ct50-family-ink)!important;font-family:"Fraunces",serif!important;font-size:clamp(3rem,5.2vw,5.6rem)!important;font-weight:700!important;line-height:.98!important;letter-spacing:-.04em!important;text-wrap:balance}
#primary .ct50-family-section-text,#primary .ct50-family-section-text p{color:#667773;font:500 .98rem/1.75 "Nunito Sans",sans-serif}
#primary .ct50-family-cabin-list .cabanas-grid{gap:24px}
#primary .ct50-family-cabin-list .cabanas-card{border:1px solid rgba(21,63,60,.09);border-radius:28px;box-shadow:0 18px 50px rgba(23,69,63,.08);background:#fff}
#primary .ct50-family-cabin-list .cabanas-card__media{aspect-ratio:4/3;border-radius:27px 27px 0 0}
#primary .ct50-family-cabin-list .cabanas-card__badge{border-radius:999px;background:var(--ct50-family-yellow);color:var(--ct50-family-ink)}
#primary .ct50-family-cabin-list .cabanas-card__body{padding:25px}
#primary .ct50-family-cabin-list .cabanas-card__body h3{font-family:"Fraunces",serif;font-size:1.55rem}
#primary .ct50-family-cabin-list .cabanas-card__facts span{border-radius:999px;background:var(--ct50-family-mint)}
#primary .ct50-family-cabin-list .cabanas-button{border-radius:999px;background:var(--ct50-family-ink)}
#primary .ct50-family-planner{padding:125px 0;background:var(--ct50-family-mint)}
#primary .ct50-family-planner__inner{gap:50px}
#primary .ct50-family-planner__title-wrap{max-width:870px;gap:15px}
#primary .ct50-family-planner__steps{gap:18px;counter-reset:family}
#primary .ct50-family-step{position:relative;flex:1 1 280px;min-height:275px;padding:30px;border-radius:26px;background:#fff}
#primary .ct50-family-step__index{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--ct50-family-peach);color:var(--ct50-family-ink);font:800 1rem/1 "Nunito Sans",sans-serif}
#primary .ct50-family-step__title .elementor-heading-title{margin-top:50px;color:var(--ct50-family-ink)!important;font:700 1.6rem/1.15 "Fraunces",serif!important}
#primary .ct50-family-step__text,#primary .ct50-family-step__text p{color:#687975;font:500 .88rem/1.6 "Nunito Sans",sans-serif}
#primary .ct50-family-activities{padding:125px 0;background:var(--ct50-family-paper)}
#primary .ct50-family-activities__inner{gap:45px}
#primary .ct50-family-activities__grid{gap:18px}
#primary .ct50-family-activity{position:relative;flex:1 1 30%;min-height:320px;overflow:hidden;border-radius:28px}
#primary .ct50-family-activity--large{flex-basis:54%;min-height:560px}
#primary .ct50-family-activity__image,#primary .ct50-family-activity__image .elementor-widget-container,#primary .ct50-family-activity__image img{width:100%;height:100%}
#primary .ct50-family-activity__image img{object-fit:cover}
#primary .ct50-family-activity__label .elementor-heading-title{position:absolute;left:18px;right:18px;bottom:18px;padding:15px 17px;border-radius:15px;background:rgba(255,253,248,.92);color:var(--ct50-family-ink)!important;font:700 1rem/1.2 "Fraunces",serif!important;backdrop-filter:blur(12px)}
#primary .ct50-family-questions{padding:125px 0;background:#fff}
#primary .ct50-family-questions__grid{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px;align-items:start}
#primary .ct50-family-questions__copy{position:sticky;top:120px;gap:20px}
#primary .ct50-family-questions__list{border-top:1px solid rgba(21,63,60,.15)}
#primary .ct50-family-question{display:grid!important;grid-template-columns:48px 220px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid rgba(21,63,60,.15)}
#primary .ct50-family-question__index{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--ct50-family-mint);color:var(--ct50-family-ink);font-weight:800}
#primary .ct50-family-question__title .elementor-heading-title{color:var(--ct50-family-ink)!important;font:700 1.08rem/1.25 "Fraunces",serif!important}
#primary .ct50-family-question__text,#primary .ct50-family-question__text p{color:#6d7b78;font:500 .82rem/1.6 "Nunito Sans",sans-serif}
#primary .ct50-family-cta{padding:80px 0;background:var(--ct50-family-peach)}
#primary .ct50-family-cta__inner{gap:35px}
#primary .ct50-family-cta__title .elementor-heading-title{max-width:850px;color:var(--ct50-family-ink)!important;font-family:"Fraunces",serif!important;font-size:clamp(2.8rem,5vw,5.2rem)!important;font-weight:700!important;line-height:.98!important}
#primary .ct50-button--family-dark .elementor-button{border-radius:999px;background:var(--ct50-family-ink);color:#fff;white-space:nowrap}

/* Adventure — dark, kinetic field interface */
#primary .ct50-home--adventure,
.cabanas-demo-home--adventure{--ct50-adventure-ink:#071316;--ct50-adventure-panel:#102126;--ct50-adventure-orange:#ff6a2a;--ct50-adventure-ice:#dfe9e7}
#primary .ct50-adventure-hero{position:relative;min-height:100svh!important;padding:125px 0 35px;isolation:isolate;color:#fff}
#primary .ct50-adventure-hero:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(3,12,15,.94),rgba(4,15,18,.68) 55%,rgba(4,14,17,.18)),linear-gradient(180deg,transparent 50%,rgba(2,9,11,.92))}
#primary .ct50-adventure-hero:after{content:"";position:absolute;top:0;bottom:0;left:58%;z-index:0;width:1px;background:rgba(255,255,255,.14)}
#primary .ct50-adventure-hero__inner{position:relative!important;z-index:1;min-height:calc(100svh - 155px);display:grid!important;grid-template-columns:minmax(0,1fr) 310px;grid-template-rows:auto 1fr auto;gap:32px 55px}
#primary .ct50-adventure-topline{grid-column:1/-1;padding:15px 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}
#primary .ct50-adventure-mono{font:700 .64rem/1.2 "Manrope",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
#primary .ct50-adventure-mono--orange{color:var(--ct50-adventure-orange)}
#primary .ct50-adventure-hero__copy{align-self:center;max-width:930px;gap:22px}
#primary .ct50-adventure-hero__title .elementor-heading-title{color:#fff!important;font-family:"Barlow Condensed",sans-serif!important;font-size:clamp(5.5rem,11.5vw,13rem)!important;font-weight:700!important;line-height:.72!important;letter-spacing:-.045em!important;text-transform:uppercase}
#primary .ct50-adventure-hero__text,#primary .ct50-adventure-hero__text p{max-width:650px;color:rgba(255,255,255,.75);font:500 1rem/1.75 "Manrope",sans-serif}
#primary .ct50-adventure-actions{gap:25px;align-items:center}
#primary .ct50-button--adventure .elementor-button{background:var(--ct50-adventure-orange);color:var(--ct50-adventure-ink);text-transform:uppercase}
#primary .ct50-text-link--adventure .elementor-button{color:#fff;text-transform:uppercase}
#primary .ct50-adventure-meta{align-self:center;padding:28px;border:1px solid rgba(255,255,255,.23);background:rgba(5,19,22,.38);backdrop-filter:blur(13px)}
#primary .ct50-adventure-meta__title .elementor-heading-title{margin-top:28px;color:#fff!important;font:700 2.35rem/.95 "Barlow Condensed",sans-serif!important;text-transform:uppercase}
#primary .ct50-adventure-meta__text,#primary .ct50-adventure-meta__text p{color:rgba(255,255,255,.64);font:500 .78rem/1.6 "Manrope",sans-serif}
#primary .ct50-adventure-search{grid-column:1/-1;padding:16px;border:1px solid rgba(255,255,255,.24);background:rgba(7,19,22,.85);backdrop-filter:blur(16px)}
#primary .ct50-adventure-search .cabanas-availability-search{grid-template-columns:1fr 1fr .72fr .72fr .72fr auto;gap:8px}
#primary .ct50-adventure-search label{color:rgba(255,255,255,.7);font-family:"Manrope",sans-serif}
#primary .ct50-adventure-search input{border:1px solid rgba(255,255,255,.15)!important;border-radius:0!important;background:rgba(255,255,255,.08)!important;color:#fff!important}
#primary .ct50-adventure-search .cabanas-button{border-radius:0;background:var(--ct50-adventure-orange);color:var(--ct50-adventure-ink)!important;text-transform:uppercase}
#primary .ct50-adventure-route{padding:120px 0;background:var(--ct50-adventure-ice)}
#primary .ct50-adventure-route__inner{gap:55px}
#primary .ct50-adventure-section-head{display:grid!important;grid-template-columns:190px minmax(0,760px);gap:40px;align-items:start}
#primary .ct50-adventure-section-title .elementor-heading-title{color:var(--ct50-adventure-ink)!important;font-family:"Barlow Condensed",sans-serif!important;font-size:clamp(3.7rem,6.5vw,7rem)!important;font-weight:700!important;line-height:.87!important;letter-spacing:-.025em!important;text-transform:uppercase}
#primary .ct50-adventure-section-title--light .elementor-heading-title{color:#fff!important}
#primary .ct50-adventure-section-text,#primary .ct50-adventure-section-text p{color:#607074;font:500 .9rem/1.7 "Manrope",sans-serif}
#primary .ct50-adventure-section-text--light,#primary .ct50-adventure-section-text--light p{color:rgba(255,255,255,.6)}
#primary .ct50-adventure-route__steps{gap:0;border-top:1px solid rgba(7,19,22,.22)}
#primary .ct50-adventure-step{position:relative;flex:1 1 260px;min-height:270px;padding:27px;border-right:1px solid rgba(7,19,22,.22);border-bottom:1px solid rgba(7,19,22,.22)}
#primary .ct50-adventure-step:first-child{border-left:1px solid rgba(7,19,22,.22)}
#primary .ct50-adventure-step__index{font:700 3.6rem/1 "Barlow Condensed",sans-serif;color:var(--ct50-adventure-orange)}
#primary .ct50-adventure-step__title .elementor-heading-title{margin-top:50px;color:var(--ct50-adventure-ink)!important;font:700 1.8rem/1 "Barlow Condensed",sans-serif!important;text-transform:uppercase}
#primary .ct50-adventure-step__text,#primary .ct50-adventure-step__text p{color:#607074;font:500 .78rem/1.55 "Manrope",sans-serif}
#primary .ct50-adventure-cabins{padding:120px 0;background:var(--ct50-adventure-ink)}
#primary .ct50-adventure-cabins__inner{gap:55px}
#primary .ct50-adventure-section-head--light{max-width:980px}
#primary .ct50-adventure-cabin-list .cabanas-grid{gap:14px}
#primary .ct50-adventure-cabin-list .cabanas-card{border:1px solid rgba(255,255,255,.12);border-radius:0;background:var(--ct50-adventure-panel);box-shadow:none;color:#fff}
#primary .ct50-adventure-cabin-list .cabanas-card__media{aspect-ratio:16/11;border-radius:0;filter:saturate(.7) contrast(1.08)}
#primary .ct50-adventure-cabin-list .cabanas-card__body{padding:22px}
#primary .ct50-adventure-cabin-list .cabanas-card__body h3{font-family:"Barlow Condensed",sans-serif;font-size:2rem;text-transform:uppercase}
#primary .ct50-adventure-cabin-list .cabanas-card__eyebrow,
#primary .ct50-adventure-cabin-list .cabanas-card__excerpt,
#primary .ct50-adventure-cabin-list .cabanas-card__facts,
#primary .ct50-adventure-cabin-list .cabanas-card__rates small{color:rgba(255,255,255,.65)}
#primary .ct50-adventure-cabin-list .cabanas-card__facts span,
#primary .ct50-adventure-cabin-list .cabanas-card__rates span{border-color:rgba(255,255,255,.12);border-radius:0;background:rgba(255,255,255,.05)}
#primary .ct50-adventure-cabin-list .cabanas-card__rates strong{color:#fff}
#primary .ct50-adventure-cabin-list .cabanas-card__badge{border-radius:0;background:var(--ct50-adventure-orange);color:var(--ct50-adventure-ink)}
#primary .ct50-adventure-cabin-list .cabanas-button{border-radius:0;background:var(--ct50-adventure-orange);color:var(--ct50-adventure-ink)!important;text-transform:uppercase}
#primary .ct50-adventure-terrain{padding:120px 0;background:#e6e2d8}
#primary .ct50-adventure-terrain__inner{gap:45px}
#primary .ct50-adventure-terrain__head{display:flex!important;flex-direction:row;align-items:end;justify-content:space-between;gap:30px}
#primary .ct50-adventure-terrain__title .elementor-heading-title{color:var(--ct50-adventure-ink)!important;font-family:"Barlow Condensed",sans-serif!important;font-size:clamp(5rem,12vw,12rem)!important;font-weight:700!important;line-height:.72!important;letter-spacing:-.04em!important}
#primary .ct50-adventure-terrain__grid{gap:14px;align-items:stretch}
#primary .ct50-adventure-media{position:relative;overflow:hidden}
#primary .ct50-adventure-media--hero{flex:1 1 58%;min-height:650px}
#primary .ct50-adventure-media--side{flex:1 1 35%;min-height:430px;margin-top:110px}
#primary .ct50-adventure-media--wide{flex:1 1 100%;min-height:320px}
#primary .ct50-adventure-media__image,#primary .ct50-adventure-media__image .elementor-widget-container,#primary .ct50-adventure-media__image img{width:100%;height:100%}
#primary .ct50-adventure-media__image img{object-fit:cover;filter:saturate(.8) contrast(1.08)}
#primary .ct50-adventure-media__label .elementor-heading-title{position:absolute;left:0;bottom:0;padding:12px 15px;background:var(--ct50-adventure-orange);color:var(--ct50-adventure-ink)!important;font:800 .72rem/1 "Manrope",sans-serif!important;letter-spacing:.12em}
#primary .ct50-adventure-gear{padding:120px 0;background:#fff}
#primary .ct50-adventure-gear__grid{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:75px}
#primary .ct50-adventure-gear__copy{gap:20px}
#primary .ct50-adventure-checklist{display:grid!important;grid-template-columns:1fr 1fr;border-top:1px solid rgba(7,19,22,.2);border-left:1px solid rgba(7,19,22,.2)}
#primary .ct50-adventure-check{padding:25px;border-right:1px solid rgba(7,19,22,.2);border-bottom:1px solid rgba(7,19,22,.2)}
#primary .ct50-adventure-check__index{color:var(--ct50-adventure-orange);font-weight:800}
#primary .ct50-adventure-check__title .elementor-heading-title{margin-top:22px;color:var(--ct50-adventure-ink)!important;font:700 1.55rem/1 "Barlow Condensed",sans-serif!important;text-transform:uppercase}
#primary .ct50-adventure-check__text,#primary .ct50-adventure-check__text p{color:#657276;font:500 .76rem/1.55 "Manrope",sans-serif}
#primary .ct50-adventure-cta{padding:95px 0;background:var(--ct50-adventure-orange)}
#primary .ct50-adventure-cta__inner{display:grid!important;grid-template-columns:150px minmax(0,1fr) auto;gap:35px;align-items:center}
#primary .ct50-adventure-cta__title .elementor-heading-title{color:var(--ct50-adventure-ink)!important;font-family:"Barlow Condensed",sans-serif!important;font-size:clamp(4rem,8vw,9rem)!important;font-weight:800!important;line-height:.75!important;letter-spacing:-.035em!important}
#primary .ct50-button--adventure-dark .elementor-button{background:var(--ct50-adventure-ink);color:#fff;text-transform:uppercase;white-space:nowrap}

/* Minimal — architectural and typographic */
#primary .ct50-home--minimal,
.cabanas-demo-home--minimal{--ct50-minimal-ink:#1d1d1b;--ct50-minimal-paper:#f4f3ee;--ct50-minimal-gray:#d9d8d2}
#primary .ct50-minimal-hero{padding:0;background:var(--ct50-minimal-paper)}
#primary .ct50-minimal-hero__grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:780px;gap:0}
#primary .ct50-minimal-hero__copy{justify-content:center;gap:32px;padding:70px clamp(35px,7vw,110px) 70px 0;border-right:1px solid var(--ct50-minimal-ink)}
#primary .ct50-minimal-overline{gap:25px;padding-bottom:18px;border-bottom:1px solid var(--ct50-minimal-ink)}
#primary .ct50-minimal-label{font:600 .64rem/1.2 "Instrument Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ct50-minimal-ink)}
#primary .ct50-minimal-hero__title .elementor-heading-title{color:var(--ct50-minimal-ink)!important;font-family:"Instrument Serif",serif!important;font-size:clamp(4.2rem,7.8vw,8.7rem)!important;font-weight:400!important;line-height:.86!important;letter-spacing:-.055em!important;text-wrap:balance}
#primary .ct50-minimal-hero__text,#primary .ct50-minimal-hero__text p{max-width:520px;color:#575752;font:400 1rem/1.75 "Instrument Sans",sans-serif}
#primary .ct50-minimal-actions{gap:28px;align-items:center}
#primary .ct50-button--minimal .elementor-button{border:1px solid var(--ct50-minimal-ink);background:var(--ct50-minimal-ink);color:#fff}
#primary .ct50-text-link--minimal .elementor-button{color:var(--ct50-minimal-ink)}
#primary .ct50-minimal-hero__media{position:relative;min-height:780px}
#primary .ct50-minimal-hero__image,#primary .ct50-minimal-hero__image .elementor-widget-container,#primary .ct50-minimal-hero__image img{width:100%;height:100%}
#primary .ct50-minimal-hero__image img{object-fit:cover;filter:saturate(.55)}
#primary .ct50-minimal-caption{position:absolute;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:80px 1fr;gap:20px;padding:24px;background:rgba(244,243,238,.92);backdrop-filter:blur(12px)}
#primary .ct50-minimal-caption__number{font:400 2.2rem/1 "Instrument Serif",serif}
#primary .ct50-minimal-caption__text,#primary .ct50-minimal-caption__text p{max-width:420px;color:#4d4d49;font:400 .75rem/1.55 "Instrument Sans",sans-serif}
#primary .ct50-minimal-search-shell{padding:35px 0;background:#fff;border-top:1px solid var(--ct50-minimal-ink);border-bottom:1px solid var(--ct50-minimal-ink)}
#primary .ct50-minimal-search-shell__inner{gap:45px}
#primary .ct50-minimal-search-shell__inner>.ct50-minimal-label{flex:0 0 140px}
#primary .ct50-minimal-search{flex:1 1 auto}
#primary .ct50-minimal-search .cabanas-availability-search{grid-template-columns:1fr 1fr .7fr .7fr .7fr auto;gap:0}
#primary .ct50-minimal-search .cabanas-availability-search__field{padding:0 15px;border-left:1px solid var(--ct50-minimal-gray)}
#primary .ct50-minimal-search input{border:0!important;border-radius:0!important;padding-inline:0!important}
#primary .ct50-minimal-search label{font-family:"Instrument Sans",sans-serif;color:#4f4f4a}
#primary .ct50-minimal-search .cabanas-button{border-radius:0;background:var(--ct50-minimal-ink)}
#primary .ct50-minimal-cabins{padding:140px 0;background:#fff}
#primary .ct50-minimal-cabins__inner{gap:70px}
#primary .ct50-minimal-section-head{display:grid!important;grid-template-columns:160px minmax(0,1fr) minmax(220px,.5fr);gap:45px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--ct50-minimal-ink)}
#primary .ct50-minimal-section-title .elementor-heading-title{color:var(--ct50-minimal-ink)!important;font-family:"Instrument Serif",serif!important;font-size:clamp(3.2rem,5.6vw,6.2rem)!important;font-weight:400!important;line-height:.92!important;letter-spacing:-.045em!important}
#primary .ct50-minimal-section-text,#primary .ct50-minimal-section-text p{color:#62625d;font:400 .86rem/1.75 "Instrument Sans",sans-serif}
#primary .ct50-minimal-cabin-list .cabanas-grid{gap:1px;background:var(--ct50-minimal-ink)}
#primary .ct50-minimal-cabin-list .cabanas-card{border:0;border-radius:0;background:#fff;box-shadow:none}
#primary .ct50-minimal-cabin-list .cabanas-card:hover{transform:none}
#primary .ct50-minimal-cabin-list .cabanas-card__media{aspect-ratio:1/1;border-radius:0;filter:saturate(.4)}
#primary .ct50-minimal-cabin-list .cabanas-card__badge{left:0;top:0;border-radius:0;background:#fff;color:var(--ct50-minimal-ink)}
#primary .ct50-minimal-cabin-list .cabanas-card__body{padding:25px}
#primary .ct50-minimal-cabin-list .cabanas-card__body h3{font-family:"Instrument Serif",serif;font-size:2rem;font-weight:400}
#primary .ct50-minimal-cabin-list .cabanas-card__facts span,
#primary .ct50-minimal-cabin-list .cabanas-card__rates span{border-radius:0;background:#f4f3ee}
#primary .ct50-minimal-cabin-list .cabanas-button{border-radius:0;background:var(--ct50-minimal-ink)}
#primary .ct50-minimal-philosophy{padding:150px 0;background:var(--ct50-minimal-paper)}
#primary .ct50-minimal-philosophy__grid{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:100px;align-items:start}
#primary .ct50-minimal-philosophy__copy{position:sticky;top:120px;gap:22px}
#primary .ct50-minimal-principles{border-top:1px solid var(--ct50-minimal-ink)}
#primary .ct50-minimal-principle{display:grid!important;grid-template-columns:55px 160px 1fr;gap:25px;padding:31px 0;border-bottom:1px solid var(--ct50-minimal-ink)}
#primary .ct50-minimal-principle__index{font:400 1.25rem/1 "Instrument Serif",serif}
#primary .ct50-minimal-principle__title .elementor-heading-title{color:var(--ct50-minimal-ink)!important;font:400 1.55rem/1 "Instrument Serif",serif!important}
#primary .ct50-minimal-principle__text,#primary .ct50-minimal-principle__text p{color:#62625d;font:400 .78rem/1.6 "Instrument Sans",sans-serif}
#primary .ct50-minimal-gallery{padding:140px 0;background:#fff}
#primary .ct50-minimal-gallery__grid{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:60px;align-items:start}
#primary .ct50-minimal-gallery__main{position:relative;min-height:720px}
#primary .ct50-minimal-gallery__image,#primary .ct50-minimal-gallery__image .elementor-widget-container,#primary .ct50-minimal-gallery__image img{width:100%;height:100%}
#primary .ct50-minimal-gallery__image img{object-fit:cover;filter:saturate(.5)}
#primary .ct50-minimal-label--overlay{position:absolute;left:18px;top:18px;padding:9px 12px;background:#fff}
#primary .ct50-minimal-gallery__side{gap:30px;padding-top:80px}
#primary .ct50-minimal-gallery__title .elementor-heading-title{color:var(--ct50-minimal-ink)!important;font-family:"Instrument Serif",serif!important;font-size:clamp(3rem,5vw,5.8rem)!important;font-weight:400!important;line-height:.92!important}
#primary .ct50-minimal-gallery__image--side img{height:330px}
#primary .ct50-minimal-cta{padding:120px 0;background:var(--ct50-minimal-ink);color:#fff}
#primary .ct50-minimal-cta__inner{display:grid!important;grid-template-columns:150px minmax(0,1fr) auto;gap:45px;align-items:end}
#primary .ct50-minimal-cta .ct50-minimal-label{color:rgba(255,255,255,.65)}
#primary .ct50-minimal-cta__title .elementor-heading-title{max-width:850px;color:#fff!important;font-family:"Instrument Serif",serif!important;font-size:clamp(4rem,7.5vw,8.5rem)!important;font-weight:400!important;line-height:.85!important;letter-spacing:-.055em!important}
#primary .ct50-button--minimal-inverse .elementor-button{border:1px solid #fff;background:#fff;color:var(--ct50-minimal-ink);white-space:nowrap}

/* Footer identity follows each home direction */
body.cabanas-demo-home--mountain .ct32-layout-footer-shell{background:#0f2118}
body.cabanas-demo-home--boutique .ct32-layout-footer-shell{background:#35272e}
body.cabanas-demo-home--family .ct32-layout-footer-shell{background:#153f3c}
body.cabanas-demo-home--adventure .ct32-layout-footer-shell{background:#071316}
body.cabanas-demo-home--minimal .ct32-layout-footer-shell{border-top:1px solid #1d1d1b;background:#f4f3ee;color:#1d1d1b}
body.cabanas-demo-home--minimal .ct32-layout-footer,
body.cabanas-demo-home--minimal .ct32-layout-footer .site-brand__text,
body.cabanas-demo-home--minimal .ct32-layout-footer .elementor-heading-title,
body.cabanas-demo-home--minimal .ct32-layout-footer a,
body.cabanas-demo-home--minimal .ct32-layout-footer p,
body.cabanas-demo-home--minimal .ct32-layout-footer .cabanas-business-info,
body.cabanas-demo-home--minimal .ct32-layout-footer .cabanas-business-info li{color:#1d1d1b!important}
body.cabanas-demo-home--minimal .ct32-layout-footer__bottom,
body.cabanas-demo-home--minimal .ct32-layout-footer .cabanas-business-info li{border-color:rgba(29,29,27,.2)}

/* Tablet */
@media(max-width:1100px){
	body.cabanas-demo-home .ct32-layout-header__nav{order:3;flex-basis:100%}
	#primary .ct50-mountain-hero__inner{grid-template-columns:48px minmax(0,1fr);grid-template-rows:1fr auto auto}
	#primary .ct50-mountain-note{display:none!important}
	#primary .ct50-mountain-search{grid-column:1/-1}
	#primary .ct50-mountain-search .cabanas-availability-search,
	#primary .ct50-boutique-search .cabanas-availability-search,
	#primary .ct50-family-search .cabanas-availability-search,
	#primary .ct50-adventure-search .cabanas-availability-search,
	#primary .ct50-minimal-search .cabanas-availability-search{grid-template-columns:1fr 1fr 1fr}
	#primary .ct50-mountain-search .cabanas-availability-search__submit,
	#primary .ct50-boutique-search .cabanas-availability-search__submit,
	#primary .ct50-family-search .cabanas-availability-search__submit,
	#primary .ct50-adventure-search .cabanas-availability-search__submit,
	#primary .ct50-minimal-search .cabanas-availability-search__submit{grid-column:1/-1}
	#primary .ct50-boutique-hero__grid,#primary .ct50-family-hero__inner,#primary .ct50-minimal-hero__grid{grid-template-columns:1fr 1fr;gap:30px}
	#primary .ct50-boutique-hero__copy{padding-right:25px}
	#primary .ct50-family-mosaic__badge{left:-10px}
	#primary .ct50-adventure-hero__inner{grid-template-columns:minmax(0,1fr) 260px}
	#primary .ct50-adventure-gear__grid,#primary .ct50-minimal-philosophy__grid{gap:50px}
	#primary .ct50-minimal-hero__copy{padding-right:35px}
}

/* Mobile */
@media(max-width:782px){
	body.admin-bar.cabanas-demo-home .ct32-layout-render--header,
	body.admin-bar.cabanas-demo-home--boutique .ct32-layout-render--header,
	body.admin-bar.cabanas-demo-home--family .ct32-layout-render--header{top:46px}
}
@media(max-width:850px){
	body.cabanas-demo-home--boutique .ct32-layout-render--header,
	body.cabanas-demo-home--family .ct32-layout-render--header{left:12px;right:12px}
	body.cabanas-demo-home .ct32-layout-header__nav{flex-basis:auto;order:initial}
	#primary .ct50-mountain-hero{padding-top:120px}
	#primary .ct50-mountain-hero__inner{grid-template-columns:1fr;min-height:auto}
	#primary .ct50-mountain-rail{display:none!important}
	#primary .ct50-mountain-hero__title .elementor-heading-title{font-size:clamp(3.7rem,15vw,6.2rem)!important}
	#primary .ct50-mountain-story__grid,#primary .ct50-boutique-hero__grid,#primary .ct50-boutique-concierge__grid,#primary .ct50-family-hero__inner,#primary .ct50-family-questions__grid,#primary .ct50-adventure-gear__grid,#primary .ct50-minimal-hero__grid,#primary .ct50-minimal-philosophy__grid,#primary .ct50-minimal-gallery__grid{grid-template-columns:1fr}
	#primary .ct50-mountain-story,#primary .ct50-mountain-cabins,#primary .ct50-mountain-gallery,#primary .ct50-boutique-manifesto,#primary .ct50-boutique-stays,#primary .ct50-boutique-concierge,#primary .ct50-boutique-gallery,#primary .ct50-family-cabins,#primary .ct50-family-planner,#primary .ct50-family-activities,#primary .ct50-family-questions,#primary .ct50-adventure-route,#primary .ct50-adventure-cabins,#primary .ct50-adventure-terrain,#primary .ct50-adventure-gear,#primary .ct50-minimal-cabins,#primary .ct50-minimal-philosophy,#primary .ct50-minimal-gallery{padding:88px 0}
	#primary .ct50-mountain-story__media{min-height:570px}
	#primary .ct50-mountain-story__image--main img{height:500px}
	#primary .ct50-mountain-story__image--detail img{height:210px}
	#primary .ct50-mountain-cabin-list .cabanas-card:nth-child(2){transform:none}
	#primary .ct50-mountain-media--tall,#primary .ct50-mountain-media--wide,#primary .ct50-mountain-media--small{flex-basis:100%;min-height:360px;margin:0}
	#primary .ct50-boutique-hero{padding-top:115px}
	#primary .ct50-boutique-hero__copy{order:2;padding:50px 0;border-bottom:0}
	#primary .ct50-boutique-hero__media{min-height:560px}
	#primary .ct50-boutique-floating-card{left:18px}
	#primary .ct50-boutique-search-shell__inner,#primary .ct50-boutique-section-head{grid-template-columns:1fr;display:grid!important}
	#primary .ct50-boutique-search-copy{padding:0 0 25px;border-right:0;border-bottom:1px solid var(--ct50-boutique-line)}
	#primary .ct50-boutique-cabin-list .cabanas-grid{grid-template-columns:1fr}
	#primary .ct50-boutique-concierge__media{min-height:540px}
	#primary .ct50-boutique-detail{grid-template-columns:30px 1fr}
	#primary .ct50-boutique-detail__text{grid-column:2}
	#primary .ct50-boutique-gallery__image--one,#primary .ct50-boutique-gallery__image--two,#primary .ct50-boutique-gallery__quote{flex-basis:100%;margin:0}
	#primary .ct50-family-hero{padding-top:130px}
	#primary .ct50-family-mosaic{min-height:500px;grid-template-rows:280px 200px}
	#primary .ct50-family-glance-card{flex-basis:50%}
	#primary .ct50-family-questions__copy,#primary .ct50-minimal-philosophy__copy{position:static}
	#primary .ct50-family-question{grid-template-columns:40px 1fr}
	#primary .ct50-family-question__text{grid-column:2}
	#primary .ct50-adventure-hero__inner{grid-template-columns:1fr;grid-template-rows:auto 1fr auto auto}
	#primary .ct50-adventure-hero:after,#primary .ct50-adventure-meta{display:none}
	#primary .ct50-adventure-section-head,#primary .ct50-adventure-cta__inner,#primary .ct50-minimal-section-head,#primary .ct50-minimal-cta__inner{grid-template-columns:1fr}
	#primary .ct50-adventure-terrain__head{align-items:flex-start;flex-direction:column}
	#primary .ct50-adventure-media--hero,#primary .ct50-adventure-media--side,#primary .ct50-adventure-media--wide{flex-basis:100%;min-height:390px;margin:0}
	#primary .ct50-minimal-hero__copy{order:2;padding:55px 0;border-right:0}
	#primary .ct50-minimal-hero__media{min-height:620px}
	#primary .ct50-minimal-search-shell__inner{align-items:stretch!important}
	#primary .ct50-minimal-gallery__main{min-height:520px}
}
@media(max-width:600px){
	.cabanas-demo-home .ct50-button,.cabanas-demo-home .ct50-text-link{width:100%}
	.cabanas-demo-home .ct50-button .elementor-button,.cabanas-demo-home .ct50-text-link .elementor-button{width:100%}
	#primary .ct50-mountain-search .cabanas-availability-search,
	#primary .ct50-boutique-search .cabanas-availability-search,
	#primary .ct50-family-search .cabanas-availability-search,
	#primary .ct50-adventure-search .cabanas-availability-search,
	#primary .ct50-minimal-search .cabanas-availability-search{grid-template-columns:1fr}
	#primary .ct50-mountain-search .cabanas-availability-search__submit,
	#primary .ct50-boutique-search .cabanas-availability-search__submit,
	#primary .ct50-family-search .cabanas-availability-search__submit,
	#primary .ct50-adventure-search .cabanas-availability-search__submit,
	#primary .ct50-minimal-search .cabanas-availability-search__submit{grid-column:auto}
	#primary .ct50-mountain-hero__title .elementor-heading-title{font-size:3.85rem!important}
	#primary .ct50-mountain-story__media{min-height:470px}
	#primary .ct50-mountain-story__image--main img{width:92%;height:420px}
	#primary .ct50-mountain-story__image--detail{width:48%}
	#primary .ct50-mountain-story__image--detail img{height:155px;border-width:6px}
	#primary .ct50-mountain-value+.ct50-mountain-value{border-left:0;border-top:1px solid rgba(20,35,27,.18);padding-left:0}
	#primary .ct50-boutique-hero__title .elementor-heading-title{font-size:3.85rem!important}
	#primary .ct50-boutique-hero__media{min-height:470px}
	#primary .ct50-boutique-floating-card{right:18px;width:auto}
	#primary .ct50-boutique-gallery__image--one img,#primary .ct50-boutique-gallery__image--two img{height:420px}
	#primary .ct50-family-hero__title .elementor-heading-title{font-size:3.6rem!important}
	#primary .ct50-family-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:320px 160px}
	#primary .ct50-family-mosaic__image--main{grid-column:1/-1;grid-row:auto}
	#primary .ct50-family-mosaic__badge{left:10px;bottom:130px;width:220px}
	#primary .ct50-family-glance-card{flex-basis:100%;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
	#primary .ct50-family-activity,#primary .ct50-family-activity--large{flex-basis:100%;min-height:360px}
	#primary .ct50-adventure-hero__title .elementor-heading-title{font-size:5rem!important}
	#primary .ct50-adventure-topline__right{display:none}
	#primary .ct50-adventure-step{flex-basis:100%;border-left:1px solid rgba(7,19,22,.22)}
	#primary .ct50-adventure-checklist{grid-template-columns:1fr}
	#primary .ct50-minimal-hero__title .elementor-heading-title{font-size:4rem!important}
	#primary .ct50-minimal-hero__media{min-height:500px}
	#primary .ct50-minimal-search .cabanas-availability-search__field{border-left:0;border-top:1px solid var(--ct50-minimal-gray);padding:12px 0}
	#primary .ct50-minimal-principle{grid-template-columns:42px 1fr}
	#primary .ct50-minimal-principle__text{grid-column:2}
}

@media(prefers-reduced-motion:reduce){
	#primary .ct50-button .elementor-button,#primary .ct50-mountain-media__image img{transition:none}
}

/* =========================================================
   1.3.0 — desktop rhythm, readable display scale and spacing
   ========================================================= */
@media(min-width:1101px){
	#primary .ct50-mountain-hero,
	#primary .ct50-adventure-hero{min-height:780px!important}
	#primary .ct50-mountain-hero__inner,
	#primary .ct50-adventure-hero__inner{min-height:610px}
	#primary .ct50-mountain-hero__inner{grid-template-columns:54px minmax(0,740px) minmax(220px,280px);gap:26px 32px}
	#primary .ct50-mountain-hero__title .elementor-heading-title{font-size:clamp(4.2rem,6.6vw,7rem)!important;line-height:.88!important}
	#primary .ct50-boutique-hero__grid,
	#primary .ct50-family-hero__inner,
	#primary .ct50-minimal-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
	#primary .ct50-boutique-hero__grid,
	#primary .ct50-boutique-hero__media,
	#primary .ct50-minimal-hero__grid,
	#primary .ct50-minimal-hero__media{min-height:720px}
	#primary .ct50-boutique-hero__copy{padding-right:clamp(38px,4vw,58px)}
	#primary .ct50-boutique-hero__title .elementor-heading-title{font-size:clamp(4rem,5.4vw,6.3rem)!important;line-height:.94!important}
	#primary .ct50-family-hero__inner{gap:44px}
	#primary .ct50-family-hero__title .elementor-heading-title{font-size:clamp(3.8rem,5.2vw,6rem)!important;line-height:.98!important}
	#primary .ct50-adventure-hero__inner{grid-template-columns:minmax(0,1fr) 280px;gap:28px 42px}
	#primary .ct50-adventure-hero__title .elementor-heading-title{font-size:clamp(6rem,9vw,10.5rem)!important;line-height:.78!important}
	#primary .ct50-minimal-hero__copy{padding-right:clamp(38px,4.5vw,66px)}
	#primary .ct50-minimal-hero__title .elementor-heading-title{font-size:clamp(4.2rem,5.8vw,7rem)!important;line-height:.93!important}
}

#primary .ct50-mountain-story,
#primary .ct50-mountain-cabins,
#primary .ct50-mountain-gallery,
#primary .ct50-boutique-manifesto,
#primary .ct50-boutique-stays,
#primary .ct50-boutique-concierge,
#primary .ct50-boutique-gallery,
#primary .ct50-family-cabins,
#primary .ct50-family-planner,
#primary .ct50-family-activities,
#primary .ct50-family-questions,
#primary .ct50-adventure-route,
#primary .ct50-adventure-cabins,
#primary .ct50-adventure-terrain,
#primary .ct50-adventure-gear,
#primary .ct50-minimal-cabins,
#primary .ct50-minimal-philosophy,
#primary .ct50-minimal-gallery{padding-block:clamp(82px,8vw,112px)}

@media(max-width:600px){
	#primary .ct50-mountain-hero__title .elementor-heading-title,
	#primary .ct50-boutique-hero__title .elementor-heading-title{font-size:clamp(3rem,14vw,3.45rem)!important;line-height:.94!important}
	#primary .ct50-family-hero__title .elementor-heading-title{font-size:clamp(2.8rem,13vw,3.25rem)!important;line-height:1!important}
	#primary .ct50-adventure-hero__title .elementor-heading-title{font-size:clamp(3.8rem,18vw,4.5rem)!important;line-height:.82!important}
	#primary .ct50-minimal-hero__title .elementor-heading-title{font-size:clamp(3rem,14vw,3.6rem)!important;line-height:.96!important}
}
