.boho-cta{--boho-cta-image-x:50%;--boho-cta-image-y:50%;background:#f4eee3;padding:72px 30px 32px;overflow:hidden}
.boho-cta,.boho-cta *{box-sizing:border-box}
.boho-cta__inner{width:100%;max-width:1280px;margin:0 auto}
.boho-cta__panel{position:relative;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);min-height:590px;background:#173d32;border-radius:34px;overflow:hidden;isolation:isolate}
.boho-cta__panel--media-left .boho-cta__content{order:2}.boho-cta__panel--media-left .boho-cta__media{order:1}
.boho-cta__content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(46px,6vw,92px);position:relative;z-index:2}
.boho-cta__eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#d9b67a}
.boho-cta__eyebrow:before{content:"";width:28px;height:1px;background:currentColor;opacity:.8}
.boho-cta__title{max-width:680px;margin:0;font-size:clamp(42px,5vw,76px);font-weight:500;line-height:1.02;letter-spacing:-.045em;color:#fff;text-wrap:balance}
.boho-cta__description{max-width:610px;margin:26px 0 0;font-size:clamp(16px,1.35vw,20px);line-height:1.7;color:rgba(255,255,255,.74)}
.boho-cta__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.boho-cta__button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 22px;border-radius:999px;border:1px solid transparent;text-decoration:none;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.boho-cta__button:not(.is-static):hover,.boho-cta__button:not(.is-static):focus-visible{transform:translateY(-2px)}
.boho-cta__button:focus-visible,.boho-cta__contact:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:4px}
.boho-cta__button--primary{background:#f5e8cc;color:#173d32}.boho-cta__button--primary:hover,.boho-cta__button--primary:focus-visible{background:#c8914e;color:#fff}
.boho-cta__button--secondary{border-color:rgba(255,255,255,.32);color:#fff}.boho-cta__button--secondary:hover,.boho-cta__button--secondary:focus-visible{background:rgba(255,255,255,.12)}
.boho-cta__button.is-static{cursor:default;opacity:.8}.boho-cta__button-icon{display:inline-flex;transition:transform .25s ease}.boho-cta__button:not(.is-static):hover .boho-cta__button-icon{transform:translateX(3px)}
.boho-cta__media{position:relative;min-width:0;overflow:hidden}
.boho-cta__media::after{content:"";position:absolute;inset:0;background:rgba(13,32,26,.18);z-index:1;pointer-events:none}
.boho-cta__image,.boho-cta__image-fallback{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:var(--boho-cta-image-x) var(--boho-cta-image-y);background:linear-gradient(135deg,#d3b995,#7f947c);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.boho-cta__panel:hover .boho-cta__image{transform:scale(1.035)}
.boho-cta__badge{position:absolute;z-index:2;left:28px;bottom:28px;display:flex;align-items:center;gap:13px;max-width:280px;padding:16px 18px;border-radius:18px;background:rgba(248,241,225,.96);color:#173d32;box-shadow:0 18px 48px rgba(7,22,17,.22);transform:translate3d(var(--boho-badge-x,0),var(--boho-badge-y,0),0);transition:transform .18s ease-out}
.boho-cta__badge-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:rgba(23,61,50,.09)}
.boho-cta__badge span:last-child{display:flex;flex-direction:column;gap:4px}.boho-cta__badge strong{font-size:11px;letter-spacing:.12em}.boho-cta__badge small{font-size:13px;line-height:1.35;opacity:.74}
.boho-cta__contacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 14px 0;border-top:1px solid rgba(23,61,50,.14);border-bottom:1px solid rgba(23,61,50,.14)}
.boho-cta__contact{display:flex;align-items:center;gap:14px;min-width:0;padding:20px 24px;color:#173d32;text-decoration:none;border-right:1px solid rgba(23,61,50,.14);transition:background .25s ease}
.boho-cta__contact:last-child{border-right:0}.boho-cta__contact:not(.is-static):hover{background:rgba(23,61,50,.045)}
.boho-cta__contact-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:50%;background:rgba(23,61,50,.08)}
.boho-cta__contact-copy{display:flex;flex-direction:column;min-width:0;gap:3px}.boho-cta__contact-label{font-size:10px;font-weight:750;letter-spacing:.14em;opacity:.58}.boho-cta__contact-value{font-size:14px;font-weight:650;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:960px){.boho-cta__panel{grid-template-columns:1fr 44%;min-height:540px}.boho-cta__content{padding:52px 42px}.boho-cta__title{font-size:clamp(40px,6vw,62px)}.boho-cta__contacts{grid-template-columns:1fr}.boho-cta__contact{border-right:0;border-bottom:1px solid rgba(23,61,50,.14)}.boho-cta__contact:last-child{border-bottom:0}}
@media(max-width:720px){.boho-cta{padding:38px 16px 22px}.boho-cta__panel,.boho-cta__panel--media-left{display:flex;flex-direction:column;min-height:0;border-radius:24px}.boho-cta__panel--media-left .boho-cta__content{order:1}.boho-cta__panel--media-left .boho-cta__media{order:2}.boho-cta__content{padding:40px 24px 34px}.boho-cta__title{font-size:clamp(38px,12vw,56px)}.boho-cta__description{margin-top:20px;font-size:16px}.boho-cta__actions{width:100%;margin-top:28px}.boho-cta__button{width:100%}.boho-cta__media{min-height:360px}.boho-cta__badge{left:16px;right:16px;bottom:16px;max-width:none}.boho-cta__contacts{margin:14px 0 0}.boho-cta__contact{padding:18px 12px}}
@media(prefers-reduced-motion:reduce){.boho-cta *{scroll-behavior:auto!important}.boho-cta--animated.boho-motion-active [data-boho-reveal]{opacity:1!important;transform:none!important;transition:none!important}.boho-cta__image,.boho-cta__button,.boho-cta__button-icon,.boho-cta__badge{transition:none!important;transform:none!important}}

/* CTA is content-first: frontend visibility never depends on JS. */
.boho-cta,.boho-cta [data-boho-reveal]{opacity:1!important;visibility:visible!important;transform:none!important}
