.rfl-faq{
    background:var(--rfl-paper);
    padding:140px 0 140px;
    position:relative;
}

.rfl-faq__inner{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:90px;
    align-items:flex-start;
}

.rfl-faq__intro{
    position:sticky;
    top:60px;
}
.rfl-faq__title{
    margin:24px 0 28px;
}
.rfl-faq__title em{font-style:italic;color:var(--rfl-gold);}
.rfl-faq__lead{margin:0 0 40px;}

.rfl-faq__figure{
    margin:0;
    border-radius:var(--rfl-radius-l);
    overflow:hidden;
    position:relative;
    aspect-ratio:5/4;
    box-shadow:var(--rfl-shadow);
}
.rfl-faq__figure img{
    width:100%;height:100%;
    object-fit:cover;
    transition:transform 1.4s var(--rfl-ease);
}
.rfl-faq__figure:hover img{transform:scale(1.05);}
.rfl-faq__figure figcaption{
    position:absolute;
    bottom:18px;left:18px;
    padding:8px 16px;
    background:rgba(255,255,255,.9);
    backdrop-filter:blur(10px);
    border-radius:999px;
    font-size:11px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--rfl-ink);
}

.rfl-faq__list{
    border-top:1px solid var(--rfl-line);
}
.rfl-faq__item{
    border-bottom:1px solid var(--rfl-line);
    padding:0;
    transition:background .4s var(--rfl-ease);
}
.rfl-faq__item[open]{
    background:linear-gradient(180deg,rgba(200,163,90,.06),transparent 60%);
}
.rfl-faq__summary{
    list-style:none;
    cursor:pointer;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:24px;
    padding:30px 0;
    transition:padding .4s var(--rfl-ease);
}
.rfl-faq__summary::-webkit-details-marker{display:none;}
.rfl-faq__item[open] .rfl-faq__summary{padding-bottom:14px;}

.rfl-faq__no{
    font-family:var(--rfl-serif);
    font-style:italic;
    font-size:22px;
    color:var(--rfl-gold);
    min-width:42px;
    transition:color .4s var(--rfl-ease);
}
.rfl-faq__q{
    font-family:var(--rfl-serif);
    font-size:clamp(20px,2vw,28px);
    font-weight:400;
    color:var(--rfl-ink);
    line-height:1.35;
    transition:color .4s var(--rfl-ease);
}
.rfl-faq__item:hover .rfl-faq__q{color:var(--rfl-gold);}
.rfl-faq__toggle{
    width:46px;height:46px;
    border-radius:50%;
    border:1px solid var(--rfl-line);
    color:var(--rfl-ink);
    display:grid;
    place-items:center;
    transition:all .4s var(--rfl-ease);
    flex-shrink:0;
}
.rfl-faq__toggle svg{width:18px;height:18px;}
.rfl-faq__toggle-v{
    transform-origin:center;
    transition:transform .4s var(--rfl-ease);
}
.rfl-faq__item[open] .rfl-faq__toggle{
    background:var(--rfl-gold);
    border-color:var(--rfl-gold);
    color:var(--rfl-ink);
    transform:rotate(180deg);
}
.rfl-faq__item[open] .rfl-faq__toggle-v{transform:scaleY(0);}

.rfl-faq__answer{
    padding:0 0 32px 66px;
    overflow:hidden;
}
.rfl-faq__answer p{
    margin:0;
    font-size:16px;
    line-height:1.75;
    color:var(--rfl-ink-60);
    max-width:60ch;
}

@media (max-width:1024px){
    .rfl-faq{padding:100px 0;}
    .rfl-faq__inner{grid-template-columns:1fr;gap:60px;}
    .rfl-faq__intro{position:static;}
    .rfl-faq__figure{max-width:560px;}
}
@media (max-width:560px){
    .rfl-faq__summary{gap:14px;padding:22px 0;}
    .rfl-faq__no{font-size:18px;min-width:34px;}
    .rfl-faq__answer{padding-left:48px;padding-bottom:24px;}
    .rfl-faq__toggle{width:40px;height:40px;}
}
