.faq-section {
  position: relative;
  isolation: isolate;
  overflow: visible;
  scroll-margin-top: 104px;
  padding-block: clamp(24px, 2.5vw, 36px) 12px;
  color: #0a2130;
  background: #f1eee7;
}

.faq-section::before { position: absolute; z-index: 0; inset: 0; background: url("../images/faq-office-editorial-v1.png") left center / cover no-repeat; content: ""; pointer-events: none; -webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,.92) 34%, rgba(0,0,0,.6) 43%, rgba(0,0,0,.22) 51%, transparent 59%); mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,.92) 34%, rgba(0,0,0,.6) 43%, rgba(0,0,0,.22) 51%, transparent 59%); }
.faq-section::after { position: absolute; z-index: 0; top: -92px; inset-inline-start: 0; width: min(54vw, 760px); height: 112px; background: url("../images/faq-office-editorial-v1.png") left top / cover no-repeat; content: ""; opacity: .36; pointer-events: none; -webkit-mask-image: radial-gradient(120% 185% at 0% 118%, #000 0%, rgba(0,0,0,.7) 48%, transparent 76%); mask-image: radial-gradient(120% 185% at 0% 118%, #000 0%, rgba(0,0,0,.7) 48%, transparent 76%); }
.faq-section__wash { position: absolute; z-index: 0; inset: 0; pointer-events: none; background: linear-gradient(to right, rgba(241, 238, 231, 0) 0%, rgba(241, 238, 231, .08) 30%, rgba(241, 238, 231, .48) 43%, rgba(241, 238, 231, .86) 54%, #f1eee7 63%), radial-gradient(ellipse 48% 70% at 11% 43%, rgba(255,255,255,.16), transparent 76%); }
.faq-section__wash::before { position: absolute; top: -92px; inset-inline: 0; height: 114px; background: radial-gradient(108% 178px at 72% 124%, rgba(243, 239, 231, .97) 0%, rgba(243, 239, 231, .72) 38%, transparent 76%), radial-gradient(52% 132px at 16% 124%, rgba(199, 160, 98, .14) 0%, transparent 72%), radial-gradient(48% 138px at 100% 118%, rgba(243, 239, 231, .94) 0%, transparent 76%); content: ""; pointer-events: none; }
.faq-section__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .58fr) minmax(0, .42fr); gap: clamp(42px, 5.1vw, 82px); width: min(1440px, calc(100% - 96px)); margin-inline: auto; align-items: start; }

.faq-intro { position: relative; order: 2; min-height: 100%; padding: clamp(27px, 2.5vw, 36px); overflow: visible; border: 0; border-radius: 0; box-shadow: none; }
.faq-intro::before { position: absolute; z-index: 0; inset: 5% -8% 12% 9%; background: radial-gradient(ellipse at 78% 35%, rgba(250,248,242,.76), rgba(250,248,242,.38) 48%, transparent 75%); content: ""; pointer-events: none; }
.faq-intro__visual { display: none; }
.faq-intro__content { position: relative; z-index: 1; max-width: 390px; }
.faq-eyebrow { display: flex; align-items: center; gap: 13px; color: #5f4828; font-size: .86rem; font-weight: 600; }
.faq-eyebrow::after { width: 40px; height: 1px; background: linear-gradient(to left, #b7894e, transparent); content: ""; }
.faq-intro h2 { display: grid; gap: 4px; margin-top: 22px; color: #0a2030; font-size: clamp(2.2rem, 3.45vw, 3.7rem); font-weight: 600; letter-spacing: -.055em; line-height: 1.22; }
.faq-intro h2 em { color: #ae7a3b; font-style: normal; }
.faq-intro__copy { max-width: 31ch; margin-top: 21px; color: rgba(19, 42, 53, .78); font-size: 1rem; line-height: 2; }

.faq-contact { display: flex; align-items: stretch; margin-top: clamp(24px, 2.2vw, 32px); border: 1px solid rgba(21, 45, 56, .12); border-radius: 13px; background: rgba(253, 252, 248, .62); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .77); backdrop-filter: blur(8px); }
.faq-contact__item { display: flex; flex: 1 1 50%; align-items: center; gap: 10px; min-width: 0; padding: 14px 13px; color: #0b2533; }
.faq-contact__item + .faq-contact__item { border-inline-start: 1px solid rgba(168, 123, 66, .52); }
.faq-contact__item svg { flex: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.faq-contact__item--whatsapp { color: #2d6763; }
.faq-contact__item--phone { color: #8c642e; }
.faq-contact__item span { display: grid; gap: 3px; min-width: 0; }
.faq-contact__item small { color: rgba(10, 32, 45, .72); font-size: .69rem; line-height: 1.4; }
.faq-contact__item strong { color: #0c2432; font-family: var(--font-latin); font-size: .83rem; letter-spacing: .01em; }
.faq-contact__note { display: flex; align-items: center; gap: 12px; margin-top: 15px; color: rgba(16, 39, 49, .72); font-size: .77rem; }
.faq-contact__note::after { width: 34px; height: 1px; background: #b78749; content: ""; }

.faq-content { order: 1; }
.faq-list { display: grid; gap: 9px; }
.faq-item { overflow: clip; border: 1px solid rgba(11, 32, 45, .12); border-radius: 13px; background: rgba(255, 255, 252, .73); box-shadow: 0 8px 18px rgba(13, 31, 43, .05); transition: transform .26s ease, border-color .26s ease, box-shadow .26s ease, background .26s ease; }
.faq-item:hover { border-color: rgba(169, 123, 65, .38); box-shadow: 0 11px 23px rgba(13, 31, 43, .075); transform: translateY(-1px); }
.faq-question { display: grid; grid-template-columns: 36px minmax(0, 1fr) 38px; align-items: center; gap: 17px; width: 100%; min-height: 68px; padding: 14px 18px; color: #0b2637; background: transparent; text-align: start; font-family: inherit; }
.faq-question__number { color: #ae7d42; font-family: var(--font-latin); font-size: .88rem; }
.faq-question__text { font-size: clamp(.98rem, 1.25vw, 1.12rem); font-weight: 600; line-height: 1.5; }
.faq-question__icon { position: relative; width: 34px; height: 34px; border: 1px solid rgba(10, 38, 55, .75); border-radius: 50%; }
.faq-question__icon::before, .faq-question__icon::after { position: absolute; top: 50%; left: 50%; width: 12px; height: 1.5px; background: #0b2a3b; content: ""; transform: translate(-50%, -50%); transition: transform .25s ease, opacity .2s ease; }
.faq-question__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item.is-open { border-color: rgba(174, 125, 66, .62); background: rgba(255, 254, 250, .91); box-shadow: 0 12px 25px rgba(13, 31, 43, .07); }
.faq-item.is-open .faq-question__icon::after { opacity: 0; transform: translate(-50%, -50%) rotate(90deg) scaleX(0); }
.faq-answer { display: grid; grid-template-rows: 0fr; opacity: 0; visibility: hidden; transition: grid-template-rows .32s cubic-bezier(.22, .61, .36, 1), opacity .22s ease, visibility .22s step-end; }
.faq-answer__inner { min-height: 0; overflow: hidden; }
.faq-answer p { max-width: 72ch; margin: 0; padding: 0 71px 20px; color: rgba(17, 42, 54, .78); font-size: .91rem; line-height: 1.85; }
.faq-item.is-open .faq-answer { grid-template-rows: 1fr; opacity: 1; visibility: visible; transition: grid-template-rows .36s cubic-bezier(.22, .61, .36, 1), opacity .25s ease; }

.faq-support { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 20px; padding: 19px 21px; border: 1px solid rgba(193, 146, 77, .68); border-radius: 15px; color: #f7f2e8; background: #082130; box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 13px 27px rgba(12, 31, 40, .12); }
.faq-support strong { color: #e7b66c; font-size: 1rem; }
.faq-support p { margin-top: 4px; color: rgba(238, 239, 232, .76); font-size: .82rem; }
.faq-support a { display: inline-flex; flex: none; align-items: center; gap: 8px; min-height: 42px; padding-inline: 15px; border: 1px solid rgba(173, 221, 205, .58); border-radius: 9px; color: #f8fffc; background: linear-gradient(115deg, #477c77, #29595d); font-size: .81rem; font-weight: 600; transition: transform .22s ease, border-color .22s ease; }
.faq-support a:hover { border-color: rgba(218, 245, 233, .8); transform: translateY(-1px); }
.faq-support svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }

.motion-ready .faq-intro, .motion-ready .faq-item, .motion-ready .faq-support { opacity: 0; transform: translateY(12px); transition: opacity .65s ease, transform .65s cubic-bezier(.22, .61, .36, 1); }
.motion-ready .faq-item:nth-child(2) { transition-delay: .05s; }.motion-ready .faq-item:nth-child(3) { transition-delay: .1s; }.motion-ready .faq-item:nth-child(4) { transition-delay: .15s; }.motion-ready .faq-item:nth-child(5) { transition-delay: .2s; }.motion-ready .faq-item:nth-child(6) { transition-delay: .25s; }.motion-ready .faq-item:nth-child(7) { transition-delay: .3s; }.motion-ready .faq-item:nth-child(8) { transition-delay: .35s; }.motion-ready .faq-support { transition-delay: .34s; }
.motion-ready .faq-intro.is-revealed, .motion-ready .faq-item.is-revealed, .motion-ready .faq-support.is-revealed { opacity: 1; transform: translateY(0); }

:root:dir(ltr) .faq-section::before { background-position: right center; -webkit-mask-image: linear-gradient(to left, #000 0%, #000 25%, rgba(0,0,0,.92) 34%, rgba(0,0,0,.6) 43%, rgba(0,0,0,.22) 51%, transparent 59%); mask-image: linear-gradient(to left, #000 0%, #000 25%, rgba(0,0,0,.92) 34%, rgba(0,0,0,.6) 43%, rgba(0,0,0,.22) 51%, transparent 59%); }
:root:dir(ltr) .faq-section::after { inset-inline-start: auto; inset-inline-end: 0; background-position: right top; -webkit-mask-image: radial-gradient(120% 185% at 100% 118%, #000 0%, rgba(0,0,0,.7) 48%, transparent 76%); mask-image: radial-gradient(120% 185% at 100% 118%, #000 0%, rgba(0,0,0,.7) 48%, transparent 76%); }
:root:dir(ltr) .faq-section__wash { background: linear-gradient(to left, rgba(241, 238, 231, 0) 0%, rgba(241, 238, 231, .08) 30%, rgba(241, 238, 231, .48) 43%, rgba(241, 238, 231, .86) 54%, #f1eee7 63%), radial-gradient(ellipse 48% 70% at 89% 43%, rgba(255,255,255,.16), transparent 76%); }
:root:dir(ltr) .faq-intro { order: 2; }
:root:dir(ltr) .faq-intro::before { background: radial-gradient(ellipse at 22% 35%, rgba(250,248,242,.76), rgba(250,248,242,.38) 48%, transparent 75%); }
:root:dir(ltr) .faq-eyebrow::after { background: linear-gradient(to right, #b7894e, transparent); }
:root:dir(rtl) .faq-contact { direction: ltr; }
:root:dir(rtl) .faq-contact__item { direction: rtl; }

@media (max-width: 1040px) {
  .faq-section__inner { gap: 32px; width: calc(100% - 64px); }
  .faq-intro { padding: 30px; }
  .faq-contact { flex-direction: column; }
  .faq-contact__item + .faq-contact__item { border-block-start: 1px solid rgba(168, 123, 66, .52); border-inline-start: 0; }
}

@media (max-width: 760px) {
  .faq-section { padding-block: 66px 72px; }
  .faq-section::after { top: -76px; width: 78vw; height: 96px; opacity: .28; }
  .faq-section__wash::before { top: -76px; height: 98px; background: radial-gradient(110% 122px at 55% 108%, rgba(243, 239, 231, .94) 0%, rgba(243, 239, 231, .62) 42%, transparent 74%), linear-gradient(90deg, rgba(5, 14, 21, .84) 0%, rgba(13, 29, 32, .58) 34%, rgba(199, 160, 98, .13) 56%, rgba(243, 239, 231, .78) 100%); }
  .faq-section__inner { display: flex; flex-direction: column; gap: 34px; width: calc(100% - 40px); }
  .faq-intro, .faq-content { width: 100%; }
  .faq-intro { order: 1; min-height: 0; padding: 31px 24px; }
  .faq-content { order: 2; }
  .faq-intro__content { max-width: 440px; }
  .faq-intro h2 { font-size: clamp(2rem, 9vw, 2.75rem); }
  .faq-intro__copy { max-width: 34ch; }
  .faq-contact { flex-direction: row; }
  .faq-contact__item + .faq-contact__item { border-block-start: 0; border-inline-start: 1px solid rgba(168, 123, 66, .52); }
  .faq-question { grid-template-columns: 29px minmax(0, 1fr) 34px; gap: 10px; min-height: 64px; padding: 13px 14px; }
  .faq-question__text { font-size: .94rem; }
  .faq-answer p { padding: 0 53px 18px; font-size: .87rem; }
  .faq-support { align-items: flex-start; flex-direction: column; gap: 14px; padding: 18px; }
}

@media (min-width: 761px) and (max-height: 820px) {
  .faq-section { padding-block: 18px 8px; }
  .faq-intro { padding: 25px; }
  .faq-intro h2 { margin-top: 17px; font-size: clamp(2.05rem, 3.2vw, 2.8rem); }
  .faq-intro__copy { margin-top: 15px; line-height: 1.78; }
  .faq-contact { margin-top: 19px; }
  .faq-contact__item { padding-block: 11px; }
  .faq-contact__note { margin-top: 10px; }
  .faq-list { gap: 7px; }
  .faq-question { min-height: 60px; padding-block: 10px; }
  .faq-question__text { font-size: 1rem; }
  .faq-support { min-height: 72px; margin-top: 14px; padding-block: 14px; }
}

@media (max-width: 440px) {
  .faq-contact { flex-direction: column; }
  .faq-contact__item + .faq-contact__item { border-block-start: 1px solid rgba(168, 123, 66, .52); border-inline-start: 0; }
  .faq-question__number { font-size: .78rem; }
  .faq-question__icon { width: 30px; height: 30px; }
  .faq-answer p { padding-inline: 15px; }
}

@media (prefers-reduced-motion: reduce) { .faq-item, .faq-support a, .faq-answer, .faq-question__icon::before, .faq-question__icon::after { transition: none; } }
