.faq-section{background:var(--white);border-top:1px solid rgba(82,100,71,.18)}
.faq-rate-grid{display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden;border-radius:var(--radius);background:var(--taupe-light);box-shadow:var(--shadow)}
.faq-rate-grid>div{padding:28px 32px;border-right:1px solid rgba(82,100,71,.2);color:var(--navy)}
.faq-rate-grid>div:last-child{border-right:0}
.faq-rate-grid span,.faq-rate-grid small{display:block}
.faq-rate-grid span{color:var(--cream);font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.faq-rate-grid strong{display:block;margin:4px 0 0;font-family:'Cormorant Garamond',Georgia,serif;font-size:2.7rem;line-height:1;color:var(--navy)}
.faq-rate-grid small{color:var(--muted);font-size:.82rem}
.faq-intro{max-width:820px;margin:24px auto 64px;text-align:center;color:var(--muted)}
.faq-group{display:grid;grid-template-columns:280px 1fr;gap:50px;padding:52px 0;border-top:1px solid rgba(8,41,75,.12)}
.faq-group-heading{display:flex;align-items:flex-start;gap:18px;position:sticky;top:120px;align-self:start}
.faq-group-heading>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--sage-light);color:var(--sage);font-size:.78rem;font-weight:800}
.faq-group-heading .eyebrow{margin-bottom:4px}
.faq-group-heading h3{margin:0;color:var(--navy);font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;line-height:1.05}
.faq-list{border-top:1px solid rgba(8,41,75,.14)}
.faq-list details{border-bottom:1px solid rgba(8,41,75,.14);background:transparent}
.faq-list summary{position:relative;list-style:none;cursor:pointer;padding:22px 52px 22px 0;color:var(--navy);font-size:1.05rem;font-weight:700;line-height:1.35}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';position:absolute;right:8px;top:16px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--cream);color:var(--sage);font-size:1.35rem;transition:.25s}
.faq-list details[open] summary::after{content:'−';background:var(--taupe-light);color:var(--sage-dark)}
.faq-list details p{margin:0;padding:0 54px 24px 0;color:var(--muted);max-width:850px}
.faq-list summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:4px}
.faq-contact{margin-top:36px;padding:34px 38px;border-radius:var(--radius);background:var(--sage-light);display:flex;align-items:center;justify-content:space-between;gap:24px}
.faq-contact .eyebrow{margin-bottom:4px}
.faq-contact h3{margin:0;color:var(--navy);font-family:'Cormorant Garamond',Georgia,serif;font-size:2.35rem}
.faq-contact .btn-primary{flex:0 0 auto}
@media(max-width:980px){.faq-group{grid-template-columns:1fr;gap:24px}.faq-group-heading{position:static}.faq-rate-grid{grid-template-columns:1fr}.faq-rate-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.faq-rate-grid>div:last-child{border-bottom:0}}
@media(max-width:640px){.faq-rate-grid>div{padding:24px}.faq-group{padding:40px 0}.faq-list summary{padding-right:46px;font-size:1rem}.faq-list details p{padding-right:8px}.faq-contact{align-items:flex-start;flex-direction:column;padding:28px}.faq-contact .btn{width:100%}}
