/* TSG Gives Back: question-led program overview. */
.gives-back-hero-picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.gives-back-hero-picture img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gives-back-hero .subpage-hero-shade { background: linear-gradient(90deg, rgba(15,10,16,.82), rgba(15,10,16,.28)), linear-gradient(0deg, rgba(15,10,16,.45), transparent 65%); }
.gives-back-hero .subpage-hero-content { max-width: 800px; }
.gives-back-hero h1 { font-size: clamp(3rem, 5.5vw, 5.4rem); }
.gives-back-hero .gives-back-eyebrow { margin: 0 0 1.2rem; font-size: .8rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.gives-back-question { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.gives-back-question h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.25rem); }
.gives-back-question .section-label { margin-top: 0; margin-bottom: 1rem; }
.gives-back-answer { max-width: 720px; }
.gives-back-answer > :first-child { margin-top: 0; }
.gives-back-answer > :last-child { margin-bottom: 0; }
.gives-back-answer p { line-height: 1.8; }
.gives-back-soft { background: #faf6f8; }
.gives-back-status { display: inline-block; padding: .8rem 1rem; border-left: 3px solid var(--pink); background: #faf0f6; color: #6b164e; font-weight: 700; }
.gives-back-answer .button { margin-top: .75rem; max-width: 100%; white-space: normal; text-align: center; }
.gives-back-email { overflow-wrap: anywhere; }
.gives-back-email a { color: var(--pink); }
@media (max-width: 760px) {
  .gives-back-hero .subpage-hero-content { width: 100%; }
  .gives-back-hero h1 { font-size: clamp(2.4rem, 11vw, 3.75rem); line-height: 1.05; }
  .gives-back-hero .subpage-hero-content > p { font-size: clamp(1.2rem, 4.8vw, 1.3rem); line-height: 1.55; }
  .gives-back-hero .subpage-hero-shade { background: linear-gradient(0deg, rgba(15,10,16,.88), rgba(15,10,16,.22) 100%); }
  .gives-back-question { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .gives-back-question h2 { font-size: clamp(2rem, 7.5vw, 2.75rem); }
}

/* 2027 details, accessible disclosures, and the separate application. */
.gb-table { width:100%; border-collapse:collapse; margin:1.5rem 0; text-align:left; }
.gb-table caption { text-align:left; font-weight:700; margin-bottom:.75rem; }
.gb-table th,.gb-table td { padding:.9rem .6rem; border-bottom:1px solid #e3d8e3; font-size:1rem; }
.gb-table thead { background:#f6eff7; }
.gb-table tbody th { font-weight:500; }
.gb-list,.gb-steps { padding-left:1.35rem; line-height:1.8; }
.gb-list li,.gb-steps li { margin-bottom:.8rem; padding-left:.3rem; }
.gb-note { font-size:.95rem; line-height:1.65; color:#655969; }
.gb-faq details,.gb-provider-list details { border-bottom:1px solid #ded3e0; }
.gb-faq summary,.gb-provider-list summary { cursor:pointer; padding:1.2rem 1.6rem 1.2rem .1rem; font-weight:650; line-height:1.5; font-size:1.08rem; }
.gb-faq details p,.gb-provider-list details p { margin:0 0 1.25rem; }
.gb-faq summary::marker,.gb-provider-list summary::marker { color:#9a247e; }
.gb-document { max-width:900px; margin:0 auto; padding:calc(var(--header-height,100px) + 3rem) 1.5rem 5rem; }
.gb-document h1 { font-size:clamp(2.4rem,5vw,4rem); margin:1rem 0 2rem; }
.gb-document p { line-height:1.85; }
.gb-application { background:#fcfafd; color:#2c2330; }
.gb-form-header { padding:1.2rem clamp(1.25rem,6vw,6rem); background:white; border-bottom:1px solid #e9dfeb; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.gb-form-header img { display:block; width:200px; max-width:45vw; height:auto; }
.gb-form-header a:last-child { font-size:1rem; color:#85206e; }
.gb-form-main { width:min(920px,100%); margin:0 auto; padding:3.5rem 1.4rem 4rem; }
.gb-form-main h1 { font-size:clamp(2.6rem,6vw,4.4rem); line-height:1.08; margin:1rem 0 1.5rem; }
.gb-form-main h1 em { color:#9a247e; }
.gb-form-main > p { line-height:1.8; }
.gb-callout { padding:1.3rem 1.5rem; background:#f2eaf5; border-left:3px solid #9a247e; margin:1.8rem 0; border-radius:0 10px 10px 0; }
.gb-callout p { margin:.5rem 0; line-height:1.7; }
.gb-callout h2 { font-size:1.45rem; margin:0 0 .7rem; }
.gb-form-nav { display:flex; flex-wrap:wrap; gap:.6rem; margin:2rem 0; }
.gb-form-nav a { padding:.65rem 1rem; border:1px solid #dfd0e3; border-radius:5px; font-size:.95rem; background:white; }
.gb-application a { color:#85206e; text-underline-offset:.2em; }
#gb-application fieldset { border:1px solid #dfd1e4; border-radius:12px; padding:1.7rem; margin:2.5rem 0; background:white; min-width:0; scroll-margin-top:1.5rem; }
#gb-application legend { padding:0 .5rem; font-size:1.6rem; font-weight:650; }
.gb-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.5rem; }
.gb-full { grid-column:1/-1; }
.gb-field { min-width:0; }
.gb-field label { display:block; font-size:1rem; font-weight:650; line-height:1.5; margin-bottom:.6rem; }
.gb-field label span { font-size:.85rem; font-weight:400; color:#6b5c70; }
.gb-field input,.gb-field textarea { display:block; box-sizing:border-box; width:100%; max-width:100%; border:1px solid #bdaec3; border-radius:5px; padding:.85rem; background:#fefcfe; color:#2c2330; font:inherit; font-size:1rem; line-height:1.5; }
.gb-field textarea { resize:vertical; }
.gb-field .gb-note { margin:.2rem 0 .6rem; }
.gb-check { display:flex; align-items:flex-start; gap:.8rem; font-size:1rem; line-height:1.65; cursor:pointer; }
.gb-check input { margin-top:.3rem; width:20px; height:20px; flex-shrink:0; accent-color:#9a247e; }
.gb-check strong { font-size:.8rem; color:#6b5c70; font-weight:400; }
.gb-application :focus-visible,.gives-back-page details :focus-visible { outline:3px solid #9a247e; outline-offset:4px; }
.gb-submit-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin:1.5rem 0; }
.gb-submit-actions .button { font-size:1rem; white-space:normal; }
.gb-secondary { background:white!important; color:#85206e!important; border:1px solid #bdaec3!important; }
#gb-submit:disabled { opacity:.65; cursor:not-allowed; }
.gb-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#gb-result:not(:empty) { padding:1.2rem; border:2px solid #9a247e; border-radius:8px; margin-top:1.5rem; line-height:1.7; }
.gb-form-footer { padding:2rem; border-top:1px solid #e9dfeb; text-align:center; font-size:.9rem; }
@media(max-width:600px) {
 .gb-form-grid { grid-template-columns:minmax(0,1fr); }
 #gb-application fieldset { padding:1.2rem 1rem; }
 #gb-application legend { font-size:1.3rem; }
 .gb-form-main { padding-top:2rem; }
 .gb-callout { padding:1rem; }
 .gb-submit-actions { align-items:stretch; flex-direction:column; }
 .gb-form-header { padding:1rem; }
}
@media print {
 .gb-form-header,.gb-form-nav,.gb-submit-actions,.gb-form-footer,.gb-honeypot { display:none!important; }
 .gb-application,.gb-form-main,#gb-application fieldset { background:white!important; color:black!important; }
 .gb-form-main { width:100%; padding:0; }
 .gb-field textarea { height:auto; min-height:5rem; overflow:visible; }
 .gb-field input,.gb-field textarea { border:1px solid #aaa; }
 .gb-callout { background:white; border:1px solid #aaa; }
 .gb-form-grid { display:block; }
 .gb-field,.gb-check { margin-bottom:1rem; break-inside:avoid; }
 #gb-application fieldset { break-inside:auto; }
}
.gb-form-header img { filter:brightness(0); opacity:.85; }

/* Align each pair of field labels, hints, and controls at shared row boundaries. */
.gb-form-grid > .gb-field {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  row-gap: .15rem;
  margin-bottom: .65rem;
}
.gb-field > label { grid-row: 1; align-self: start; }
.gb-field > .gb-note { grid-row: 2; align-self: start; }
.gb-field > input, .gb-field > textarea { grid-row: 3; align-self: start; }
.gb-terms-section { background: #faf6f8; }
.gb-terms-section > h2 { font-size: clamp(2rem, 3.4vw, 3.25rem); }
.gb-terms-section > p { max-width: 900px; }
.gb-terms-section > .button { margin-top: 1.5rem; max-width: 100%; white-space: normal; text-align: center; }
.gb-terms-panel { padding: 1.1rem 1.25rem; margin: 1.5rem 0; border: 1px solid #d9ccd9; background: #fff; border-radius: 6px; }
.gb-terms-panel > summary { cursor: pointer; font-size: 1rem; font-weight: 700; line-height: 1.6; }
.gb-terms-panel[open] > summary { margin-bottom: 1.5rem; }
.gb-terms-content { font-size: .875rem; line-height: 1.75; overflow-wrap: anywhere; }
.gb-terms-content p, .gb-terms-content li { font-size: inherit; line-height: inherit; }
.gb-terms-clause { margin: 1.75rem 0; }
.gb-terms-clause h3 { margin: 0 0 .75rem; font-family: "Raleway", sans-serif; font-size: 1rem; line-height: 1.5; }
.gb-terms-content .gb-terms-review { color: #635568; font-size: .85rem; }
.gb-application-terms { scroll-margin-top: 1.5rem; margin-top: 2.5rem; }
.gb-application-terms > h2 { font-size: 1.6rem; }
.gb-terms-intro { color: #635568; }
@supports not (grid-template-rows: subgrid) {
 .gb-form-grid > .gb-field { display: flex; flex-direction: column; }
 .gb-field > label { min-height: 3rem; }
 .gb-field > input, .gb-field > textarea { margin-top: auto; }
}
@media (max-width: 600px) {
 .gb-terms-panel { padding: 1rem; }
 .gb-form-grid > .gb-field { margin-bottom: .85rem; }
}
@media print {
 .gb-terms-panel > summary { display: none; }
 .gb-terms-panel { border: 0; padding: 0; }
 .gb-terms-panel > .gb-terms-content { display: block; }
 .gb-form-grid > .gb-field { display: block; }
}

/* A personal letter, distinct from the program's question sections. */
.gb-andy-message { background: #f7f2eb; }
.gb-andy-letter { width: min(100%, 1120px); margin: 0 auto; padding: clamp(1.5rem, 4.5vw, 4rem); border: 1px solid #ad729c; background: #fffdf9; border-radius: 3px; box-shadow: 0 12px 40px rgba(65, 35, 52, .045); }
.gb-andy-letter-heading { text-align: center; margin-bottom: clamp(2rem, 4vw, 3.25rem); }
.gb-andy-letter-heading .section-label { display: block; margin: 0 0 1rem; }
.gb-andy-letter-heading .section-label::after { display: none; }
.gb-andy-letter-heading h2 em { display: inline-block; }
.gb-andy-letter-heading h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.25rem); }
.gb-andy-letter-body { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; }
.gb-andy-portrait { text-align: center; }
.gb-andy-portrait img { display: block; width: 240px; height: 240px; max-width: 100%; margin: 0 auto; border-radius: 50%; object-fit: cover; }
.gb-andy-portrait p { margin: 1.2rem 0 0; font-size: 1rem; font-weight: 650; line-height: 1.7; }
.gb-andy-portrait span { display: block; font-size: .85rem; font-weight: 400; color: #6b5c66; }
.gb-andy-letter-copy { max-width: 620px; min-width: 0; }
.gb-andy-letter-copy > p { font-size: 1rem; line-height: 1.85; margin: 0 0 1.3rem; }
.gb-andy-letter-copy blockquote { margin: 2rem 0; padding: 0; border: 0; }
.gb-andy-letter-copy blockquote p { margin: 0; color: #95216f; font-family: "Playfair Display", Georgia, serif; font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 500; font-style: italic; line-height: 1.5; }
.gb-andy-letter-copy .gb-andy-signoff { margin: 1.75rem 0 0; }
.gb-andy-signoff span { display: block; margin-top: .3rem; color: #95216f; font-family: "Playfair Display", Georgia, serif; font-size: 2rem; font-style: italic; }
@media (max-width: 760px) {
 .gb-andy-message { padding-left: 1rem; padding-right: 1rem; }
 .gb-andy-letter { padding: 2rem 1.4rem; }
 .gb-andy-letter-body { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
 .gb-andy-portrait img { width: 176px; height: 176px; }
 .gb-andy-letter-copy { margin: 0 auto; }
}

/* Distinct layouts for the gift, eligibility, application, review, and partner sections. */
.gb-feature-heading { max-width: 850px; margin: 0 auto 2.5rem; text-align: center; }
.gb-feature-heading .section-label { display: block; margin: 0 0 1rem; }
.gb-feature-heading .section-label::after { display: none; }
.gb-feature-heading h2 { margin: 0; font-size: clamp(2rem, 3.4vw, 3.25rem); }
.gb-gift-section { background: #fff; }
.gb-gift-panel { max-width: 1120px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3.5rem); border: 1px solid #dac6d6; border-radius: 16px; background: #faf6f8; }
.gb-gift-panel > p { max-width: 850px; margin: 1.2rem auto; line-height: 1.8; }
.gb-gift-panel > .gb-gift-label { display: table; margin: 0 auto 1.75rem; padding: .6rem 1rem; border: 1px solid #b97aa4; border-radius: 30px; color: #85206b; font-size: .85rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-align: center; }
.gb-coverage { margin: 2.25rem 0; }
.gb-coverage h3 { margin: 0 0 1.25rem; text-align: center; font-family: "Raleway", sans-serif; font-size: 1rem; font-weight: 650; }
.gb-coverage-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; list-style: none; padding: 0; margin: 0; }
.gb-coverage-grid li { display: flex; flex-direction: column; gap: 1.25rem; padding: 1.5rem 1rem; border-radius: 10px; background: #fff; border: 1px solid #eadde7; }
.gb-coverage-grid li > span { font-size: .9rem; line-height: 1.5; }
.gb-coverage-grid strong { display: block; margin-top: auto; color: #85206b; font-size: clamp(1.6rem, 2.5vw, 2.3rem); line-height: 1.15; font-weight: 600; }
.gb-coverage-grid small { display: block; margin-top: .5rem; font-size: .85rem; font-weight: 400; color: #655969; }
.gb-eligibility-section { background: #f6f3f8; }
.gb-eligibility-card { max-width: 1040px; margin: 0 auto; padding: clamp(1.5rem, 4vw, 3rem); border-radius: 14px; border-top: 4px solid #95216f; background: #fff; }
.gb-eligibility-card > p, .gb-eligibility-card .gb-list { line-height: 1.8; }
.gb-eligibility-card > :last-child { margin-bottom: 0; }
.gb-eligibility-facts { display: grid; grid-template-columns: .7fr 1.2fr 1.2fr; gap: 1.5rem; margin: 2rem 0; padding: 1.75rem 0; border-top: 1px solid #e4d8e4; border-bottom: 1px solid #e4d8e4; }
.gb-eligibility-facts span { display: block; margin-bottom: .6rem; color: #655969; font-size: .8rem; }
.gb-eligibility-facts strong { display: block; color: #85206b; font-size: clamp(1.2rem, 1.8vw, 1.7rem); line-height: 1.35; font-weight: 650; }
.gb-eligibility-facts p { margin: .6rem 0 0; font-size: .9rem; line-height: 1.6; }
.gb-apply-section { color: #382e38; background: #f1e8f0; }
.gb-apply-section h2 { color: #392333; }
.gb-apply-section h2 em { color: #85206b; }
.gb-apply-section .section-label { color: #705469; }
.gb-apply-section .section-label::after { background: #b995ae; }
.gb-apply-section .gb-application-dates { margin: 2.5rem 0 0; padding: .2rem 0 .2rem 1.25rem; border-left: 3px solid #ad458c; }
.gb-application-dates span { display: block; margin: .8rem 0; font-size: .95rem; color: #685668; }
.gb-application-dates strong { display: block; color: #61244f; font-size: clamp(1.5rem, 2.3vw, 2.15rem); line-height: 1.3; font-weight: 600; }
.gb-apply-section .gives-back-answer p { color: #382e38; }
.gb-apply-section .gives-back-answer > p:first-child { margin-top: 0; }
.gb-apply-section .gives-back-answer .gb-note { color: #5e4c5a; }
.gb-apply-section a:not(.button) { color: #78205f; text-decoration: underline; text-underline-offset: .2em; }
.gb-apply-section .button { min-width: 240px; padding: 1.15rem 1.8rem; color: #fff; background: #a81778; border: 2px solid #a81778; font-size: 1rem; font-weight: 700; box-shadow: 0 5px 14px rgba(99, 25, 77, .16); }
.gb-apply-section .button:hover { color: #fff; background: #871260; border-color: #871260; }
.gb-apply-section a:focus-visible { outline: 3px solid #78205f; outline-offset: 5px; }
.gb-process-section { background: #fff; }
.gb-process-body { max-width: 1200px; margin: 0 auto; }
.gb-process-grid { counter-reset: gb-step; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; list-style: none; padding: 0; margin: 0; }
.gb-process-grid li { counter-increment: gb-step; position: relative; padding: 1.6rem; border-top: 2px solid #cfb4c7; background: #faf6f8; border-radius: 0 0 10px 10px; font-size: .95rem; line-height: 1.8; }
.gb-process-grid li::before { content: counter(gb-step, upper-alpha); display: block; margin-bottom: 1rem; color: #95216f; font-family: "Playfair Display", Georgia, serif; font-size: 2.5rem; line-height: 1; font-weight: 500; }
.gb-process-grid li > strong { display: block; margin-bottom: .7rem; font-size: 1.05rem; line-height: 1.5; }
.gb-process-body > p { max-width: 900px; margin: 2rem auto 0; padding-top: 1.5rem; border-top: 1px solid #e8dfe5; line-height: 1.8; text-align: center; }
.gb-business-section { background: #f5f0f6; }
.gb-business-body { max-width: 1040px; margin: 0 auto; }
.gb-business-body > p { max-width: 850px; margin: 1.2rem auto; line-height: 1.8; }
.gb-business-body > .lead { max-width: 800px; text-align: center; margin-top: 0; }
.gb-business-body > .lead + p { text-align: center; }
.gb-business-body .gb-provider-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; margin: 2.5rem 0; }
.gb-business-body .gb-provider-list details { min-width: 0; padding: 0 1.25rem; border: 1px solid #dfd0df; border-radius: 8px; background: #fff; }
.gb-business-body .gb-provider-list summary { font-size: 1rem; padding: 1.2rem 0; }
.gb-business-body .gb-provider-list p { font-size: .95rem; line-height: 1.75; }
.gb-business-body > .button { display: table; margin: 2rem auto 0; max-width: 100%; white-space: normal; text-align: center; }
.gb-business-body > .gives-back-email { text-align: center; }
.gb-business-body > .gb-note { margin-top: 2rem; }
@media (max-width: 1000px) {
 .gb-coverage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .gb-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
}
@media (max-width: 760px) {
 .gb-feature-heading { margin-bottom: 2rem; }
 .gb-coverage-grid { gap: .75rem; }
 .gb-coverage-grid li { padding: 1.25rem .9rem; }
 .gb-eligibility-facts { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
 .gb-eligibility-facts > div + div { padding-top: 1.25rem; border-top: 1px solid #eee5ed; }
 .gb-process-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
 .gb-process-grid li { margin-left: 1rem; padding: 0 0 2rem 2rem; border-top: 0; border-left: 2px solid #cfb4c7; border-radius: 0; background: transparent; }
 .gb-process-grid li:last-child { padding-bottom: 0; }
 .gb-process-grid li::before { position: absolute; top: 0; left: -1rem; width: 2rem; padding: .3rem 0; background: #fff; font-size: 1.4rem; text-align: center; }
 .gb-process-body > p { text-align: left; }
 .gb-business-body .gb-provider-list { grid-template-columns: minmax(0, 1fr); }
}

@media (min-width: 761px) {
 .gb-feature-heading .gb-desktop-line { white-space: nowrap; }
 .gb-feature-heading .gb-desktop-line br { display: none; }
}

/* FAQ topics keep the initial list short; questions remain individual disclosures. */
.gb-faq-groups { display: grid; gap: 1rem; }
.gb-faq-groups > .gb-faq-group { border: 1px solid #dfd0df; border-radius: 8px; background: #faf6f8; overflow: hidden; }
.gb-faq-groups > .gb-faq-group > summary { padding: 1.2rem 1.3rem; font-size: 1.1rem; font-weight: 700; }
.gb-faq-count { display: block; margin: .35rem 0 0 1.1rem; color: #6b5c70; font-size: .85rem; font-weight: 400; line-height: 1.5; }
.gb-faq-group[open] > summary { border-bottom: 1px solid #e5d8e3; }
.gb-faq-group-questions { padding: 0 1.25rem .5rem; background: #fff; }
.gb-faq-group-questions > details { border-bottom: 1px solid #e5d8e3; }
.gb-faq-group-questions > details:last-child { border-bottom: 0; }
.gb-faq-group-questions > details > summary { font-size: 1rem; font-weight: 650; }
.gb-faq-group-questions > details > p { font-size: 1rem; line-height: 1.8; }
.gb-faq-group > summary:focus-visible, .gb-faq-group-questions summary:focus-visible { outline: 3px solid #85206b; outline-offset: -4px; }
@media (max-width: 760px) {
 .gb-faq-groups > .gb-faq-group > summary { padding: 1rem; font-size: 1.05rem; }
 .gb-faq-group-questions { padding: 0 1rem .4rem; }
}

/* A lightweight, hand-drawn heart fills the open side of the desktop hero. */
.gives-back-hero-heart { display: none; }
@media (min-width: 1280px) {
 .gives-back-hero-heart { display: block; position: absolute; z-index: 1; top: 54%; right: 4vw; width: min(36vw, 600px); height: auto; transform: translateY(-50%) rotate(-7deg); fill: none; stroke: #d995c5; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; opacity: .64; pointer-events: none; }
 .gives-back-heart-sketch { stroke-width: 2; opacity: .45; }
}

/* Smaller doodles mix a loose pen line, a double pencil stroke, and a narrow ink heart. */
.gives-back-heart-loose { stroke: #edb8d6; stroke-width: 3; }
.gives-back-heart-pencil { stroke: #bda7e5; stroke-width: 1.8; }
.gives-back-heart-ink { stroke: #c877ad; stroke-width: 4; }

/* Responsive, decorative wedding photo with a dark overlay behind the FAQ. */
.gb-faq-photo { position: relative; isolation: isolate; overflow: hidden; background: #241a23; }
.gb-faq-photo .gb-faq-picture { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.gb-faq-picture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.gb-faq-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(22, 13, 23, .82), rgba(22, 13, 23, .62)); pointer-events: none; }
.gb-faq-photo h2 { color: #fff; }
.gb-faq-photo h2 em { color: #efbadd; }
.gb-faq-photo .gb-faq-groups { color: #2c2330; }
@media (max-width: 760px) {
 .gb-faq-photo::before { background: rgba(22, 13, 23, .72); }
 .gb-faq-picture img { object-position: 50% 42%; }
}
