:root{--boho-royale-purple:#65106f;--boho-royale-purple-deep:#43074c;--boho-royale-gold:#d5a928;--boho-royale-ivory:#fbf9f5;--boho-royale-ink:#241f25;--boho-royale-muted:#716970;--boho-royale-line:#e8e0e4}
.boho-homepage-v2-section{--boho-purple:var(--boho-royale-purple);--boho-gold:var(--boho-royale-gold);font-family:inherit;color:var(--boho-royale-ink)}
.boho-homepage-v2-section>.elementor-widget-container{overflow:visible}
.boho-homepage-v2-section .boho-section,.boho-homepage-v2-section .boho-experience-nav,.boho-homepage-v2-section .boho-editorial,.boho-homepage-v2-section .boho-feature-strip{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.boho-homepage-v2-section .boho-video-hero{width:100%;min-height:670px;padding:clamp(84px,10vw,145px) max(28px,calc((100vw - 1180px)/2));background-color:#efe6dd;color:#fff}
.boho-homepage-v2-section .boho-video-hero__overlay{background:linear-gradient(90deg,rgba(40,10,42,.84) 0%,rgba(66,10,75,.56) 38%,rgba(30,10,30,.08) 72%)!important}
.boho-homepage-v2-section .boho-video-hero__content{max-width:660px}
.boho-homepage-v2-section .boho-video-hero__title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,6.5vw,104px);line-height:.92;letter-spacing:-.045em}
.boho-homepage-v2-section .boho-video-hero__description{font-size:17px;max-width:430px}
.boho-homepage-v2-section .boho-btn{border-radius:10px;min-height:48px;padding-inline:22px;text-transform:none;letter-spacing:0;font-size:13px}
.boho-homepage-v2-section .boho-btn--light{background:var(--boho-royale-purple);color:#fff}.boho-homepage-v2-section .boho-btn--glass{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.12)}
.boho-homepage-v2-section .boho-booking{max-width:1120px;margin-top:-45px;border-radius:18px;padding:22px 24px;background:#fff!important;color:var(--boho-royale-ink)!important;border:1px solid rgba(101,16,111,.12);box-shadow:0 22px 60px rgba(63,26,61,.17);grid-template-columns:auto 1fr auto}
.boho-homepage-v2-section .boho-booking__experience.is-active,.boho-homepage-v2-section .boho-booking__submit{background:var(--boho-royale-purple);color:#fff}.boho-homepage-v2-section .boho-booking__submit{border-radius:11px;width:auto;min-width:180px;padding-inline:22px;font-size:13px}
.boho-homepage-v2-section .boho-experience-nav{padding-block:70px 48px}.boho-homepage-v2-section .boho-experience-card{min-height:330px;border-radius:18px;box-shadow:0 14px 35px rgba(54,32,48,.11);transition:transform .35s,box-shadow .35s}.boho-homepage-v2-section .boho-experience-card:hover{transform:translateY(-7px);box-shadow:0 24px 50px rgba(54,32,48,.18)}.boho-homepage-v2-section .boho-experience-card h3{font-size:38px}.boho-homepage-v2-section .boho-experience-card strong{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--boho-royale-gold);color:#fff;font-size:0}.boho-homepage-v2-section .boho-experience-card strong:after{content:'→';font-size:18px}
.boho-homepage-v2-section .boho-editorial{margin-block:30px 70px;border-radius:22px;background:#fff;border:1px solid var(--boho-royale-line);box-shadow:0 16px 46px rgba(53,31,49,.08)}
.boho-homepage-v2-section .boho-editorial__copy{padding:clamp(38px,6vw,78px)}.boho-homepage-v2-section .boho-editorial h2,.boho-homepage-v2-section .boho-section-heading h2{font-family:Georgia,'Times New Roman',serif;color:var(--boho-royale-purple-deep);letter-spacing:-.035em}.boho-homepage-v2-section .boho-editorial__copy>a{color:var(--boho-royale-purple)}
.boho-homepage-v2-section .boho-feature-strip{margin-bottom:78px;padding:20px;border:1px solid rgba(101,16,111,.12);border-radius:22px;background:linear-gradient(100deg,#fff 0%,#fbf5fc 100%);box-shadow:0 14px 45px rgba(65,28,62,.08)}.boho-homepage-v2-section .boho-feature{border-radius:15px;padding:25px 14px;transition:.3s}.boho-homepage-v2-section .boho-feature:hover{background:#fff;transform:translateY(-5px);box-shadow:0 13px 30px rgba(80,32,76,.10)}.boho-homepage-v2-section .boho-feature svg,.boho-homepage-v2-section .boho-feature__icon{color:var(--boho-royale-purple)}
.boho-homepage-v2-section .boho-events{padding:76px 0}.boho-homepage-v2-section.elementor-widget-boho-events{background:var(--boho-royale-ivory)}.boho-homepage-v2-section .boho-events__items{gap:18px}.boho-homepage-v2-section .boho-event-card{background:#fff;border:1px solid var(--boho-royale-line);border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(53,31,49,.07);transition:.3s}.boho-homepage-v2-section .boho-event-card:hover{transform:translateY(-6px);box-shadow:0 20px 42px rgba(53,31,49,.13)}.boho-homepage-v2-section .boho-event-card__image span{background:var(--boho-royale-purple);color:#fff;border-radius:10px}.boho-homepage-v2-section .boho-event-card__copy small,.boho-homepage-v2-section .boho-event-card__copy strong{color:var(--boho-royale-purple)}
.boho-homepage-v2-section .boho-testimonials{padding:78px 0}.boho-homepage-v2-section .boho-testimonials__grid{gap:18px}.boho-homepage-v2-section .boho-testimonial{border:1px solid var(--boho-royale-line);border-radius:17px;background:#fff;box-shadow:0 14px 35px rgba(54,32,48,.08);transition:.3s}.boho-homepage-v2-section .boho-testimonial:hover{transform:translateY(-5px)}.boho-homepage-v2-section .boho-stars{color:var(--boho-royale-gold)}.boho-homepage-v2-section .boho-testimonial blockquote:before{color:var(--boho-royale-purple)}
.boho-homepage-v2-section .boho-cta{border-radius:22px!important;margin-block:70px!important;background-color:var(--boho-royale-purple-deep)!important}.boho-homepage-v2-section .boho-cta:before{background:linear-gradient(90deg,rgba(75,5,83,.94),rgba(101,16,111,.58),rgba(101,16,111,.06))!important}.boho-homepage-v2-section .boho-cta .boho-btn{background:var(--boho-royale-gold);color:#241624}
.boho-homepage-eyebrow{display:block;margin-bottom:12px;color:var(--boho-royale-purple);font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.boho-social-wall{padding:76px 0}.boho-social-wall__header{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:28px}.boho-social-wall__intro{max-width:570px}.boho-social-wall__intro h2{margin:0 0 12px;font:400 clamp(36px,4vw,58px)/1 Georgia,'Times New Roman',serif;color:var(--boho-royale-purple-deep);letter-spacing:-.035em}.boho-social-wall__intro p{margin:0;color:var(--boho-royale-muted);line-height:1.65}.boho-social-wall__profiles{display:flex;gap:18px;margin-top:20px}.boho-social-wall__profiles a{color:var(--boho-royale-purple);font-weight:700;text-decoration:none}.boho-social-wall__filters{display:flex;gap:7px;flex-wrap:wrap}.boho-social-wall__filters button{border:1px solid var(--boho-royale-line);border-radius:999px;background:#fff;color:var(--boho-royale-muted);padding:9px 15px;cursor:pointer;transition:.25s}.boho-social-wall__filters button:hover,.boho-social-wall__filters button.is-active{background:var(--boho-royale-purple);border-color:var(--boho-royale-purple);color:#fff}.boho-social-wall__grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);grid-auto-rows:170px;gap:12px}.boho-social-wall__card{position:relative;display:block;overflow:hidden;border-radius:16px;background:#eee0ea;color:#fff;isolation:isolate;transition:transform .3s,box-shadow .3s}.boho-social-wall__card:nth-child(1){grid-row:span 2}.boho-social-wall__card:nth-child(5){grid-column:span 2}.boho-social-wall__card.is-filtered-out{display:none}.boho-social-wall__card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.boho-social-wall__card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(54,28,50,.2)}.boho-social-wall__card:hover img{transform:scale(1.055)}.boho-social-wall__scrim{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(50,7,55,.82));opacity:.25;transition:.3s}.boho-social-wall__card:hover .boho-social-wall__scrim{opacity:1}.boho-social-wall__platform{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--boho-royale-purple);font-weight:800}.boho-social-wall__caption{position:absolute;left:18px;right:18px;bottom:16px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.45;transform:translateY(14px);opacity:0;transition:.3s}.boho-social-wall__caption strong{color:var(--boho-royale-gold);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.boho-social-wall__card:hover .boho-social-wall__caption{transform:none;opacity:1}.boho-social-wall__placeholder{display:grid;place-items:center;width:100%;height:100%;font:700 22px/1 sans-serif;color:var(--boho-royale-purple)}
.boho-homepage-v2-section [data-boho-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.boho-homepage-v2-section [data-boho-reveal].is-visible{opacity:1;transform:none}
@media(max-width:1024px){.boho-homepage-v2-section .boho-booking{grid-template-columns:1fr}.boho-homepage-v2-section .boho-booking__submit{min-height:50px}.boho-social-wall__header{align-items:flex-start;flex-direction:column}.boho-social-wall__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}.boho-social-wall__card:nth-child(1){grid-row:span 1}.boho-social-wall__card:nth-child(5){grid-column:span 1}}
@media(max-width:767px){.boho-homepage-v2-section .boho-section,.boho-homepage-v2-section .boho-experience-nav,.boho-homepage-v2-section .boho-editorial,.boho-homepage-v2-section .boho-feature-strip{width:min(100% - 28px,1180px)}.boho-homepage-v2-section .boho-video-hero{min-height:620px;padding:95px 22px 130px}.boho-homepage-v2-section .boho-video-hero__title{font-size:55px}.boho-homepage-v2-section .boho-booking{margin-top:-64px;border-radius:18px;padding:18px}.boho-homepage-v2-section .boho-booking__fields{grid-template-columns:1fr}.boho-homepage-v2-section .boho-booking label{padding:14px 0;border-left:0;border-top:1px solid var(--boho-royale-line)}.boho-homepage-v2-section .boho-experience-nav{padding-top:48px}.boho-homepage-v2-section .boho-editorial{grid-template-columns:1fr}.boho-social-wall{padding:60px 0}.boho-social-wall__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.boho-social-wall__card{flex:0 0 82%;height:360px;scroll-snap-align:start}.boho-social-wall__filters{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:5px}}
@media(prefers-reduced-motion:reduce){.boho-homepage-v2-section *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.boho-homepage-v2-section [data-boho-reveal]{opacity:1;transform:none}}

/* Homepage canvas alignment safeguard.
 * Elementor's Full Width setting can still inherit a boxed width from the active
 * theme or an ancestor container. Keep only the outer homepage rows full-bleed;
 * individual section content remains constrained by the existing inner wrappers.
 */
.boho-homepage-v2-row,
.elementor-element.boho-homepage-v2-row {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    align-self: stretch;
    overflow: visible;
}
.boho-homepage-v2-row > .e-con-inner,
.boho-homepage-v2-row > .elementor-container,
.boho-homepage-v2-row > .elementor-widget,
.boho-homepage-v2-row > .elementor-widget > .elementor-widget-container,
.boho-homepage-v2-section,
.boho-homepage-v2-section > .elementor-widget-container {
    width: 100% !important;
    max-width: none !important;
}
/* Prevent an ancestor's inline centring transform from creating a second offset. */
.elementor .boho-homepage-v2-row {
    transform: none;
}
/* In Elementor editor the canvas itself is already the viewport; avoid measuring
 * against the full browser chrome/sidebar and fill the editable canvas instead. */
body.elementor-editor-active .boho-homepage-v2-row,
.elementor-editor-active .boho-homepage-v2-row {
    left: auto;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
@media (max-width: 767px) {
    .boho-homepage-v2-row,
    .elementor-element.boho-homepage-v2-row {
        width: 100vw !important;
        max-width: 100vw !important;
    }
}
/* Existing imported homepage pages may predate the row class. Modern browsers
 * can identify the correct top-level row directly until the JS fallback runs. */
.e-con.e-parent:has(> .elementor-element > .elementor-widget-container > .boho-homepage-v2-section),
.e-con.e-parent:has(.boho-homepage-v2-section) {
    position: relative;
    left: 50%;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body.elementor-editor-active .e-con.e-parent:has(.boho-homepage-v2-section),
.elementor-editor-active .e-con.e-parent:has(.boho-homepage-v2-section) {
    left: auto;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* v1.34.2 — compact homepage guest stories.
 * Keep the existing three-card visual treatment, but remove the excessive
 * vertical canvas created by inherited/flex stretching and oversized type.
 */
.boho-homepage-v2-section .boho-testimonials{
    padding:56px 0 62px;
}
.boho-homepage-v2-section .boho-testimonials .boho-section-heading{
    margin-bottom:28px;
}
.boho-homepage-v2-section .boho-testimonials__grid{
    align-items:stretch;
    grid-auto-rows:auto;
}
.boho-homepage-v2-section .boho-testimonial{
    display:flex;
    flex-direction:column;
    align-self:stretch;
    height:auto!important;
    min-height:340px!important;
    padding:28px 30px;
}
.boho-homepage-v2-section .boho-testimonial blockquote{
    flex:0 0 auto;
    max-width:18ch;
    margin:18px 0 24px;
    font-size:clamp(21px,1.7vw,25px);
    line-height:1.38;
}
.boho-homepage-v2-section .boho-testimonial strong{
    margin-top:auto;
}
@media(max-width:1024px){
    .boho-homepage-v2-section .boho-testimonial{
        min-height:315px!important;
        padding:25px 24px;
    }
    .boho-homepage-v2-section .boho-testimonial blockquote{
        max-width:none;
        font-size:21px;
    }
}
@media(max-width:767px){
    .boho-homepage-v2-section .boho-testimonials{padding:48px 0 54px}
    .boho-homepage-v2-section .boho-testimonial{min-height:0!important;padding:24px 22px}
    .boho-homepage-v2-section .boho-testimonial blockquote{margin:16px 0 22px;font-size:20px}
}
