body.page-faq { background: #faf8ff; }
.fq-hero { position: relative; overflow: hidden; display: flex; align-items: center; min-height: clamp(280px, 25vw, 380px); background: linear-gradient(100deg, #fdfdfd 0%, #f8f5fe 55%, #f3edfd 100%); }
.fq-hero__art { position: absolute; inset: 0; pointer-events: none; }
.fq-hero__art::before { content: ""; position: absolute; left: -6%; bottom: -30%; width: 44%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 60% 40%, rgba(179, 77, 255, .1), transparent 70%); }
.fq-hero__media { position: absolute; top: 0; right: 0; bottom: 0; width: 52%; pointer-events: none;
-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%); mask-image: linear-gradient(90deg, transparent 0, #000 16%); }
.fq-hero__media::after { content: ""; position: absolute; left: 4%; top: -35%; width: 90%; height: 170%; border-radius: 50%; border: 1px solid rgba(133, 40, 252, .16); }
.fq-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }
.fq-hero__inner { position: relative; z-index: 1; padding-block: clamp(32px, 3.4vw, 52px); }
.fq-hero__copy { max-width: min(560px, 48%); }
.fq-hero h1 { font-size: clamp(42px, 4.9vw, 74px); line-height: .94; font-weight: 800; letter-spacing: -.045em; color: var(--black); }
.fq-hero__tag { margin-top: 12px; font-size: clamp(17px, 1.65vw, 25px); line-height: 1.25; color: var(--ink-soft); }
.fq-hero__text { margin-top: 14px; font-size: clamp(14px, 1.2vw, 17.5px); line-height: 1.5; color: var(--ink-soft); }
.fq-wrap { max-width: 1330px; margin-inline: auto; padding: clamp(14px, 1.6vw, 22px) var(--gutter) clamp(18px, 2vw, 30px); display: grid; gap: clamp(12px, 1.4vw, 20px); }
.fq-sec { background: #fff; border: 1px solid #ece9f2; border-radius: 16px; box-shadow: 0 10px 28px rgba(60, 30, 110, .06); padding: clamp(14px, 1.6vw, 22px) clamp(14px, 2.4vw, 34px) clamp(16px, 1.8vw, 26px); }
.fq-sec__head { display: flex; align-items: center; gap: clamp(14px, 2vw, 30px); }
.fq-sec__icon { flex: 0 0 auto; width: clamp(52px, 5.8vw, 86px); color: var(--purple-deep); }
.fq-sec__icon svg { display: block; width: 100%; height: auto; }
.fq-sec__titles { flex: 1 1 auto; min-width: 0; }
.fq-sec__row { display: flex; align-items: center; gap: clamp(12px, 1.6vw, 24px); }
.fq-sec h2 { flex: 0 0 auto; font-size: clamp(20px, 2.35vw, 34px); line-height: 1.1; font-weight: 800; letter-spacing: -.035em; color: var(--black); }
.fq-sec__rule { flex: 1 1 30px; height: 1px; background: var(--purple-deep); opacity: .75; min-width: 20px; }
.fq-sec__tag { flex: 0 0 auto; margin: 0 clamp(4px, 1vw, 16px) 0 0; font-size: clamp(10px, .86vw, 13px); font-weight: 800; letter-spacing: .16em; color: var(--purple-deep); white-space: nowrap; }
.fq-sec__text { margin-top: 4px; font-size: clamp(13px, 1.1vw, 16px); color: var(--ink-soft); }
.fq-sec__toggle { flex: 0 0 auto; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; color: var(--purple-deep); cursor: pointer; }
.fq-sec__toggle:hover { background: var(--tint-2); }
.fq-chev { flex: 0 0 22px; display: inline-grid; place-items: center; width: 22px; height: 22px; color: var(--purple-deep); transition: transform .25s ease; }
.fq-chev svg { width: 100%; height: 100%; display: block; }
.fq-chev--up { transform: rotate(180deg); }
.fq-sec.is-collapsed .fq-chev--up { transform: none; }
.fq-sec.is-collapsed .fq-list { display: none; }
.fq-list { list-style: none; margin: clamp(10px, 1.2vw, 16px) 0 0; padding: 0 clamp(0px, 1vw, 14px) 0 clamp(0px, 4.2vw, 62px); display: grid; gap: 8px; }
.fq-item { background: #fff; border: 1px solid #ece9f2; border-radius: 12px; box-shadow: 0 2px 6px rgba(60, 30, 110, .03); overflow: hidden; transition: border-color .2s, box-shadow .2s; }
.fq-item.is-open { border-color: rgba(133, 40, 252, .35); box-shadow: 0 6px 16px rgba(133, 40, 252, .08); }
.fq-item h3 { margin: 0; font-size: inherit; font-weight: inherit; }
.fq-q { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 44px; padding: 10px clamp(14px, 1.5vw, 22px); border: 0; background: transparent; font: inherit; font-size: clamp(14px, 1.18vw, 17px); font-weight: 500; color: var(--ink); text-align: left; cursor: pointer; }
.fq-q > span:first-child { flex: 1 1 auto; min-width: 0; }
.fq-q:hover { background: #fbf9ff; }
.fq-q:focus-visible { outline: 3px solid var(--purple); outline-offset: -3px; border-radius: 12px; }
.fq-q[aria-expanded="true"] .fq-chev { transform: rotate(180deg); }
.fq-q[aria-expanded="true"] { font-weight: 700; }
.fq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.fq-a.is-open { grid-template-rows: 1fr; }
.fq-a__clip { overflow: hidden; min-height: 0; }
.fq-a__body { padding: 2px clamp(14px, 1.5vw, 22px) 16px; padding-right: clamp(40px, 4vw, 60px); font-size: clamp(13.5px, 1.1vw, 16px); line-height: 1.6; color: var(--ink-soft); }
.fq-a__body p { margin: 0; }
.fq-a__body p + p { margin-top: 10px; }
@media (prefers-reduced-motion: reduce) { .fq-a, .fq-chev { transition: none; } }
.fq-cta { position: relative; overflow: hidden; background: linear-gradient(100deg, #f8f5fe 0%, #f1ebfc 55%, #ecdffb 100%); }
.fq-cta__art { position: absolute; inset: 0; pointer-events: none; }
.fq-cta__art::before { content: ""; position: absolute; right: -6%; top: -30%; width: 40%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(179, 77, 255, .18), rgba(179, 77, 255, .05) 70%); }
.fq-cta__art::after { content: ""; position: absolute; left: 30%; top: -60%; width: 70%; height: 180%; border-radius: 50%; border: 1px solid rgba(133, 40, 252, .1); }
.fq-cta__inner { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: clamp(28px, 3.2vw, 48px); }
.fq-cta h2 { font-size: clamp(30px, 3.6vw, 54px); line-height: 1.05; font-weight: 800; letter-spacing: -.04em; color: var(--black); }
.fq-cta__inner p:not(.fq-script) { margin-top: 8px; font-size: clamp(16px, 1.6vw, 24px); color: var(--ink-soft); }
.fq-cta__actions { margin-top: 18px; }
.fq-cta__actions .btn { padding: 13px 30px; font-size: 14.5px; gap: 8px; }
.fq-script { margin: 0; font-family: "Mrs Saint Delafield", "Snell Roundhand", cursive; font-size: clamp(34px, 4.2vw, 66px); line-height: .95; color: var(--purple-deep); transform: rotate(-9deg); margin-right: clamp(0px, 4vw, 70px); }
.fq-script span { display: block; }
.fq-script span + span { margin-left: .5em; }
.fq-heart { display: block; width: .5em; margin: .2em 0 0 3.2em; }
@media (max-width: 1000px) {
.fq-hero__copy { max-width: 52%; }
.fq-sec__row { flex-wrap: wrap; row-gap: 4px; }
.fq-sec__rule { display: none; }
.fq-sec h2 { flex: 1 1 auto; min-width: 0; }
.fq-sec__tag { order: 3; flex: 1 1 100%; margin: 0; }
.fq-list { padding-left: 0; padding-right: 0; }
}
@media (max-width: 760px) {
.fq-hero { min-height: 0; flex-direction: column; align-items: stretch; }
.fq-hero__media { position: relative; order: 2; width: 100%; height: clamp(190px, 52vw, 320px); -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%); mask-image: linear-gradient(180deg, transparent 0, #000 22%); }
.fq-hero__media::after { display: none; }
.fq-hero__media img { object-fit: contain; object-position: 50% 100%; }
.fq-hero__inner { padding-block: 32px 4px; }
.fq-hero__copy { max-width: 620px; }
.fq-sec__icon { width: 46px; align-self: flex-start; margin-top: 4px; }
.fq-cta__inner { flex-direction: column; align-items: flex-start; }
.fq-script { font-size: 40px; transform: rotate(-6deg); margin: 8px 0 0; }
}
@media (max-width: 560px) {
.fq-hero h1 { font-size: 40px; }
.fq-sec { padding-inline: 12px; }
.fq-sec__head { gap: 10px; }
.fq-sec h2 { font-size: 20px; }
.fq-sec__toggle { width: 32px; height: 32px; }
.fq-q { padding-inline: 14px; }
.fq-a__body { padding-right: 14px; }
}
