/* Olimo v1.0.9 — homepage FAQ + testimonials, adapted only from requested reference sections */
.olimo-social-proof-heading{display:flex;align-items:center;gap:18px;margin:0 0 22px;padding-inline:4px}.olimo-social-proof-heading h2{margin:0;color:var(--olimo-dark,#101B3D);font-size:clamp(22px,2vw,30px);font-weight:800}.olimo-social-proof-heading-line{height:1px;flex:1;background:rgba(112,35,88,.18)}.olimo-social-proof-heading--center{justify-content:center}.olimo-social-proof-heading--center .olimo-social-proof-heading-line{max-width:220px}

/* FAQ */
.olimo-home-faq{width:100%}.olimo-home-faq .olimo-container{max-width:1180px}.olimo-home-faq-list{display:grid;gap:12px;max-width:900px;margin-inline:auto}.olimo-home-faq-item{overflow:hidden;border:1px solid rgba(112,35,88,.16);border-radius:18px;background:#FFFFFF;box-shadow:0 8px 26px rgba(75,23,63,.05);transition:border-color .28s ease,background-color .28s ease,box-shadow .28s ease,transform .28s ease;opacity:0;transform:translateY(18px);transition-delay:calc(var(--olimo-reveal-index,0)*45ms)}.olimo-home-faq.is-visible .olimo-home-faq-item{opacity:1;transform:translateY(0)}.olimo-home-faq-item:hover{border-color:rgba(112,35,88,.28);box-shadow:0 12px 30px rgba(75,23,63,.07)}.olimo-home-faq-item.is-open{background:#FFFFFF;border-color:rgba(112,35,88,.28)}.olimo-home-faq-item h3{margin:0}.olimo-home-faq-question{width:100%;min-height:60px;padding:15px 18px;border:0;background:transparent;color:#101B3D;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:right;font:inherit;font-size:15px;font-weight:800;cursor:pointer}.olimo-home-faq-question>span{line-height:1.9}.olimo-home-faq-question i{position:relative;display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#F8F4FF;color:#8D2BF4;transition:background-color .25s ease,color .25s ease,transform .35s cubic-bezier(.2,.8,.2,1)}.olimo-home-faq-question i span{position:absolute;width:13px;height:2px;border-radius:3px;background:currentColor;transition:transform .32s ease,opacity .25s ease}.olimo-home-faq-question i span:last-child{transform:rotate(90deg)}.olimo-home-faq-item.is-open .olimo-home-faq-question i{background:#8D2BF4;color:#fff;transform:rotate(180deg)}.olimo-home-faq-item.is-open .olimo-home-faq-question i span:last-child{transform:rotate(0);opacity:0}.olimo-home-faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.2,.75,.25,1)}.olimo-home-faq-answer>div{overflow:hidden}.olimo-home-faq-item.is-open .olimo-home-faq-answer{grid-template-rows:1fr}.olimo-home-faq-answer p{margin:0;padding:0 18px 18px;color:rgba(75,23,63,.76);font-size:14px;line-height:2.1}.olimo-home-faq-more{display:flex;justify-content:center;margin-top:24px}.olimo-home-faq-more-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 22px;border-radius:999px;background:#8D2BF4;color:#fff!important;font-size:13px;font-weight:800;box-shadow:0 10px 24px rgba(75,23,63,.10);transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.olimo-home-faq-more-link:hover{background:#101B3D;color:#fff!important;transform:translateY(-2px);box-shadow:0 14px 30px rgba(75,23,63,.14)}

/* Reviews */
.olimo-home-reviews{width:100%}.olimo-home-reviews-shell{position:relative;padding:24px;border-radius:30px;background:#F8F4FF;box-shadow:0 14px 36px rgba(75,23,63,.07);overflow:hidden}.olimo-home-reviews-shell:before,.olimo-home-reviews-shell:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(213,143,175,.18);pointer-events:none}.olimo-home-reviews-shell:before{right:-70px;top:-100px}.olimo-home-reviews-shell:after{left:-90px;bottom:-130px}.olimo-home-review-track{position:relative;z-index:1;display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding:6px 2px 14px;cursor:grab}.olimo-home-review-track::-webkit-scrollbar{display:none}.olimo-home-review-track.is-dragging{cursor:grabbing;scroll-snap-type:none}.olimo-home-review-card{position:relative;flex:0 0 calc((100% - 36px)/3);min-width:0;min-height:190px;padding:24px;border:1px solid rgba(112,35,88,.14);border-radius:20px;background:#FFFFFF;box-shadow:0 10px 26px rgba(75,23,63,.07);scroll-snap-align:start;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,opacity .35s ease;opacity:0;transform:translateY(20px) scale(.985);transition-delay:calc(var(--olimo-reveal-index,0)*55ms)}.olimo-home-reviews.is-visible .olimo-home-review-card{opacity:1;transform:translateY(0) scale(1)}.olimo-home-review-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(75,23,63,.11)}.olimo-home-review-quote{position:absolute;left:20px;top:17px;width:42px;height:34px;color:#F3EAFF;opacity:.75}.olimo-home-review-quote svg{width:100%;height:100%}.olimo-home-review-head{display:flex;align-items:center;gap:12px;padding-left:48px}.olimo-home-review-head>div{min-width:0}.olimo-home-review-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;object-fit:cover;border:2px solid #F8F4FF;background:#FFFFFF}.olimo-home-review-avatar.is-placeholder{display:grid;place-items:center;color:#8D2BF4}.olimo-home-review-avatar.is-placeholder svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.olimo-home-review-head h3{margin:0 0 5px;color:#101B3D;font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.olimo-home-review-stars{display:inline-flex;direction:ltr;color:#F3EAFF;font-size:13px;letter-spacing:1px}.olimo-home-review-stars em{color:rgba(112,35,88,.22);font-style:normal}.olimo-home-review-card p{margin:18px 0 0;color:rgba(75,23,63,.76);font-size:13px;line-height:2.05;text-align:right}.olimo-home-review-nav{display:flex;gap:8px;margin-right:auto}.olimo-home-review-nav button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #F8F4FF;border-radius:50%;background:#FFFFFF;color:#101B3D;box-shadow:0 7px 18px rgba(75,23,63,.07);cursor:pointer;transition:.2s ease}.olimo-home-review-nav button:hover{background:#8D2BF4;color:#fff;border-color:#8D2BF4;transform:translateY(-1px)}.olimo-home-review-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.olimo-home-review-dots{display:none}

/* Section reveal */
[data-olimo-reveal]>.olimo-container>.olimo-social-proof-heading{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}[data-olimo-reveal].is-visible>.olimo-container>.olimo-social-proof-heading{opacity:1;transform:none}

@media(max-width:1024px){.olimo-home-review-card{flex-basis:calc((100% - 18px)/2)}.olimo-home-reviews-shell{padding:20px}.olimo-home-faq .olimo-container{max-width:none}}

@media(max-width:767px){.olimo-social-proof-heading{gap:10px;margin-bottom:16px}.olimo-social-proof-heading h2{font-size:20px}.olimo-social-proof-heading-line{display:none}.olimo-social-proof-heading--center{justify-content:flex-start}.olimo-home-faq-list{gap:10px}.olimo-home-faq-item{border-radius:15px}.olimo-home-faq-question{min-height:56px;padding:13px 14px;font-size:12.5px;gap:12px}.olimo-home-faq-question i{width:30px;height:30px;flex-basis:30px}.olimo-home-faq-answer p{padding:0 14px 15px;font-size:12px;line-height:2}.olimo-home-faq-more{margin-top:18px}.olimo-home-faq-more-link{min-height:42px;padding-inline:18px;font-size:12px}
.olimo-home-reviews .olimo-social-proof-heading{align-items:center}.olimo-home-review-nav{display:none}.olimo-home-reviews-shell{height:252px;min-height:252px;padding:0;border-radius:24px;overflow:hidden}.olimo-home-reviews-shell:before,.olimo-home-reviews-shell:after{display:none}.olimo-home-review-track{position:relative;display:block;width:100%;height:218px;min-height:218px;padding:0;overflow:hidden;touch-action:pan-y;cursor:grab;isolation:isolate}.olimo-home-review-card{position:absolute;top:20px;left:50%;width:min(84vw,340px);max-width:340px;min-height:160px;max-height:182px;padding:20px 18px;border-radius:18px;scroll-snap-align:none;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-50%) translateY(34px) scale(.82);transition:transform .48s cubic-bezier(.22,1,.36,1),opacity .36s ease,filter .36s ease,visibility .36s ease!important;transition-delay:0s!important;z-index:1;overflow:hidden}.olimo-home-reviews.is-visible .olimo-home-review-card{opacity:0;transform:translateX(-50%) translateY(34px) scale(.82)}.olimo-home-review-card.is-active,.olimo-home-reviews.is-visible .olimo-home-review-card.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1);filter:none;z-index:5}.olimo-home-review-card.is-prev,.olimo-home-reviews.is-visible .olimo-home-review-card.is-prev{opacity:.48;visibility:visible;transform:translateX(calc(-50% - 48px)) translateY(30px) scale(.89);filter:saturate(.88);z-index:2}.olimo-home-review-card.is-next,.olimo-home-reviews.is-visible .olimo-home-review-card.is-next{opacity:.42;visibility:visible;transform:translateX(calc(-50% + 50px)) translateY(38px) scale(.85);filter:saturate(.84);z-index:1}.olimo-home-review-card.is-far{opacity:0!important;visibility:hidden!important}.olimo-home-review-card:hover{transform:translateX(-50%) translateY(0) scale(1)}.olimo-home-review-card.is-prev:hover{transform:translateX(calc(-50% - 48px)) translateY(30px) scale(.89)}.olimo-home-review-card.is-next:hover{transform:translateX(calc(-50% + 50px)) translateY(38px) scale(.85)}.olimo-home-review-quote{left:16px;top:14px;width:36px;height:30px}.olimo-home-review-head{padding-left:38px}.olimo-home-review-avatar{width:42px;height:42px;flex-basis:42px}.olimo-home-review-head h3{font-size:13px}.olimo-home-review-stars{font-size:12px}.olimo-home-review-card p{margin-top:14px;font-size:11.8px;line-height:1.95;max-height:72px;overflow:hidden}.olimo-home-review-dots{position:absolute;z-index:8;left:50%;bottom:11px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:6px}.olimo-home-review-dots button{width:6px;height:6px;padding:0;border:0;border-radius:99px;background:rgba(112,35,88,.25);transition:width .25s ease,background-color .25s ease}.olimo-home-review-dots button.is-active{width:20px;background:#8D2BF4}}

@media(prefers-reduced-motion:reduce){.olimo-home-faq-item,.olimo-home-review-card,[data-olimo-reveal]>.olimo-container>.olimo-social-proof-heading,.olimo-home-faq-answer,.olimo-home-faq-question i{transition:none!important}.olimo-home-review-track{scroll-behavior:auto!important}}


/* Olimo v1.0.12 — compact centered FAQ width on desktop */
@media(min-width:1025px){
  body .olimo-home-faq .olimo-container{width:50%!important;max-width:none!important;margin-inline:auto!important}
  .olimo-home-faq-list{max-width:none;width:100%}
}


/* Olimo v1.0.23 — restore horizontal mouse drag on desktop reviews. */
@media(min-width:768px){
  .olimo-home-review-track{cursor:grab;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
  .olimo-home-review-track.is-dragging{cursor:grabbing;scroll-snap-type:none!important}
}

/* Olimo v1.1.2 — mobile-only benefits relocated between FAQ and reviews. */
.olimo-mobile-benefits{display:none}
@media(max-width:767px){
  .olimo-mobile-benefits{display:block;margin:var(--olimo-home-section-gap-mobile,50px) 0 0;padding:0}
  .olimo-mobile-benefits__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .olimo-mobile-benefit-card{display:flex;min-width:0;align-items:center;gap:10px;padding:12px 10px;border:1px solid rgba(164,60,120,.14);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 10px 26px rgba(75,23,63,.055)}
  .olimo-mobile-benefit-card img{width:46px;height:46px;flex:0 0 46px;padding:8px;border:1px solid rgba(164,60,120,.28);border-radius:50%;background:rgba(255,255,255,.38);object-fit:contain}
  .olimo-mobile-benefit-card h3{margin:0 0 3px;color:#101B3D;font-size:11.5px;font-weight:700;line-height:1.5;white-space:nowrap}
  .olimo-mobile-benefit-card p{margin:0;color:#676B7A;font-size:9.5px;line-height:1.55;white-space:nowrap}
}
