.home-faq{ padding: 64px 0; background: #f8f6f3; }
.faq-layout{ display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: start; }
.faq-eyebrow{ margin-bottom: 12px; color: #777; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.faq-content h2{ font-family: "Playfair Display", serif; font-size: clamp(28px, 3vw, 38px); line-height: 1.2; color: #CA468D; margin-bottom: 16px; }
.faq-intro{ color: #666; font-size: 15px; line-height: 1.7; margin-bottom: 28px; }
.faq-item{ border-bottom: 1px solid #ddd; }
.faq-item:first-child{ border-top: 1px solid #ddd; }
.faq-item summary{ display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; list-style: none; cursor: pointer; font-size: 15px; font-weight: 600; line-height: 1.5; color: #333; }
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary::after{ content: "+"; flex-shrink: 0; color: #CA468D; font-size: 24px; font-weight: 400; }
.faq-item[open] summary::after{ content: "−"; }
.faq-answer{ color: #666; font-size: 14px; line-height: 1.8; padding-right: 24px; }
.faq-answer p{ margin: 0 0 20px; }
.faq-answer a{ color: #a62c70; text-underline-offset: 3px; }
.faq-item summary:focus-visible, .faq-slider button:focus-visible{ outline: 3px solid #CA468D; outline-offset: 3px; }
.faq-slider{ min-width: 0; }
.faq-slider-toolbar{ display: flex; gap: 16px; justify-content: space-between; align-items: center; margin-bottom: 16px; }
.faq-slider-toolbar h3{ font-size: 15px; line-height: 1.5; margin: 0; }
.faq-slider-pause{ border: 1px solid #CA468D; padding: 6px 12px; border-radius: 24px; background: transparent; color: #a62c70; font-size: 12px; }
.faq-slide-viewport{ position: relative; overflow: hidden; border-radius: 16px; background: #e9e5df; }
.faq-slide{ margin: 0; }
.faq-slide[hidden], .faq-slider button[hidden]{ display: none; }
.faq-slide img{ display: block; width: 100%; height: 520px; object-fit: contain; }
.faq-slide:not([hidden]){ animation: faq-photo-in .4s ease; }
@keyframes faq-photo-in{ from{ opacity: .4; } to{ opacity: 1; } }
.faq-slider-prev, .faq-slider-next{ position: absolute; top: calc(50% - 22px); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #ffffff80; border-radius: 50%; color: white; background: #0009; font-size: 20px; }
.faq-slider-prev{ left: 12px; }
.faq-slider-next{ right: 12px; }
.faq-slider-prev:hover, .faq-slider-next:hover{ background: #CA468D; }
.faq-slider-footer{ display: flex; justify-content: space-between; gap: 16px; margin-top: 14px; font-size: 12px; color: #777; }
.faq-slider-counter{ white-space: nowrap; }
.home-faq + footer{ margin-top: 0; }
@media (max-width: 991px){
    .faq-layout{ grid-template-columns: 1fr; gap: 40px; }
    .faq-slider{ width: 100%; max-width: 600px; margin: 0 auto; }
}
@media (max-width: 575px){
    .home-faq{ padding: 40px 0; }
    .faq-slide img{ height: 420px; }
    .faq-slider-footer{ font-size: 11px; }
}
@media (prefers-reduced-motion: reduce){ .faq-slide:not([hidden]){ animation: none; } }
