/* FAQ rules ported from the approved local reference. */
body#sf-faq-page {
    --serif:"DM Serif Display",Georgia,serif !important;
    --sans:"DM Sans",Arial,sans-serif !important;
}
#sf-faq-page .sf-information-intro {
    max-width:680px !important;
    font-size:1.125rem !important;
    line-height:1.8 !important;
}#sf-faq-page .sf-faq-group {
    margin-block:44px !important;
}#sf-faq-page .sf-faq-group details {
    border-top:1px solid var(--line) !important;
}#sf-faq-page .sf-faq-group details:last-child {
    border-bottom:1px solid var(--line) !important;
}#sf-faq-page .sf-faq-group summary {
    padding:22px 8px !important;
    cursor:pointer !important;
    font-size:1rem !important;
    font-weight:600 !important;
    line-height:1.6 !important;
}#sf-faq-page .sf-faq-group details[open] summary {
    color:var(--red) !important;
}#sf-faq-page .sf-faq-group details>div {
    padding:0 24px 20px !important;
}#sf-faq-page .sf-faq-group p {
    margin:0 !important;
    font-size:1rem !important;
    line-height:1.8 !important;
}#sf-faq-page .sf-faq-group a,
#sf-faq-page .sf-journal-empty a {
    color:var(--red) !important;
    text-decoration:underline !important;
    text-underline-offset:4px !important;
}#sf-faq-page .sf-information-callout {
    padding:32px !important;
    background:#f4ede3 !important;
    margin-top:42px !important;
    border-radius:6px !important;
}#sf-faq-page .sf-journal-empty {
    margin-top:40px !important;
    padding:48px !important;
    border:1px solid var(--line) !important;
    border-left:4px solid var(--red) !important;
}#sf-faq-page .sf-journal-empty p {
    max-width:580px !important;
}@media(max-width:600px){#sf-faq-page .sf-faq-group details>div {
    padding-inline:8px !important;
}#sf-faq-page .sf-information-callout,
#sf-faq-page .sf-journal-empty {
    padding:25px !important;
}#sf-faq-page .sf-policy-header > .sf-container nav {
    font-size:14px !important;
}}#sf-faq-page {
    --support-red:#65271f !important;
    --support-text:#55483e !important;
    background:#fcfaf6 !important;
}#sf-faq-page .sf-policy-header > .sf-container {
    padding-block:24px !important;
}#sf-faq-page .sf-policy-header > .sf-container nav a {
    padding-block:10px !important;
}#sf-faq-page [aria-current=page] {
    color:var(--red) !important;
    text-decoration:underline !important;
    text-underline-offset:8px !important;
}#sf-faq-page .sf-eyebrow {
    font-size:12px !important;
}#sf-faq-page .sf-support-hero {
    background:var(--support-red) !important;
    color:#fff8ee !important;
    padding:26px 0 52px !important;
}#sf-faq-page .sf-breadcrumbs {
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    font-size:14px !important;
    color:#edcfb8 !important;
    margin-bottom:38px !important;
}#sf-faq-page .sf-breadcrumbs a {
    text-decoration:underline !important;
    text-underline-offset:4px !important;
}#sf-faq-page .sf-hero-heading {
    display:grid !important;
    grid-template-columns:1.5fr 1fr !important;
    gap:60px !important;
    align-items:center !important;
}#sf-faq-page .sf-support-hero .sf-eyebrow {
    color:#f0c696 !important;
}#sf-faq-page .sf-support-hero h1 {
    font-size:clamp(44px,5.2vw,72px) !important;
    letter-spacing:-.035em !important;
    line-height:1.06 !important;
}#sf-faq-page .sf-support-hero h1 em {
    color:#f3ca94 !important;
}#sf-faq-page .sf-hero-heading>div>p:last-child {
    font-size:17px !important;
    line-height:1.8 !important;
    color:#f1ded0 !important;
    margin-bottom:0 !important;
}#sf-faq-page .sf-hero-side {
    border-left:1px solid #ad7661 !important;
    padding:24px 0 24px 42px !important;
    justify-self:end !important;
}#sf-faq-page .sf-hero-label {
    font-size:12px !important;
    letter-spacing:.12em !important;
}#sf-faq-page .sf-hero-side p {
    font:26px/1.45 var(--serif) !important;
    margin:20px 0 !important;
}#sf-faq-page .sf-hero-side a {
    font-size:14px !important;
    border-bottom:1px solid #c59878 !important;
    padding-bottom:7px !important;
}#sf-faq-page .sf-hero-side small {
    display:block !important;
    max-width:230px !important;
    font-size:14px !important;
    line-height:1.7 !important;
    color:#f0dccc !important;
}#sf-faq-page .sf-faq-search {
    margin-top:36px !important;
    max-width:760px !important;
}#sf-faq-page .sf-faq-search label {
    display:block !important;
    font-size:14px !important;
    margin-bottom:10px !important;
    color:#f5dec9 !important;
}#sf-faq-page .sf-faq-search>div {
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    background:white !important;
    color:var(--ink) !important;
    border-radius:8px !important;
    padding:9px 12px 9px 22px !important;
    box-shadow:0 8px 24px #30160d20 !important;
}#sf-faq-page .sf-faq-search input {
    width:100% !important;
    min-width:0 !important;
    background:transparent !important;
    border:0 !important;
    padding:12px 0 !important;
    font-size:16px !important;
}#sf-faq-page .sf-faq-search button {
    border:1px solid #e1d8cd !important;
    background:#f7f2eb !important;
    border-radius:5px !important;
    padding:10px 14px !important;
    min-height:44px !important;
    font-size:14px !important;
}#sf-faq-page .sf-support-layout {
    display:grid !important;
    grid-template-columns:260px minmax(0,1fr) !important;
    gap:70px !important;
    padding-block:56px 80px !important;
}#sf-faq-page .sf-support-sidebar {
    align-self:start !important;
    position:sticky !important;
    top:24px !important;
}#sf-faq-page .sf-topic-nav {
    display:grid !important;
    gap:8px !important;
}#sf-faq-page .sf-topic-nav button {
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
    text-align:left !important;
    font-size:14px !important;
    padding:15px 17px !important;
    border:1px solid transparent !important;
    background:transparent !important;
    border-radius:6px !important;
    color:var(--support-text) !important;
    min-height:52px !important;
}#sf-faq-page .sf-topic-nav button:hover {
    background:#f1e9dd !important;
}#sf-faq-page .sf-topic-nav button[aria-pressed=true] {
    background:var(--support-red) !important;
    color:#fff8ee !important;
}#sf-faq-page .sf-topic-nav span {
    font-size:12px !important;
    border:1px solid currentColor !important;
    border-radius:4px !important;
    padding:0 6px !important;
    opacity:.85 !important;
}#sf-faq-page .sf-help-note {
    margin-top:30px !important;
    padding:24px !important;
    background:#f1e8db !important;
    border-radius:8px !important;
}#sf-faq-page .sf-help-note h3 {
    font:27px/1.2 var(--serif) !important;
    margin-bottom:12px !important;
}#sf-faq-page .sf-help-note p {
    font-size:14px !important;
    line-height:1.7 !important;
    color:var(--support-text) !important;
}#sf-faq-page .sf-help-note a {
    font-size:16px !important;
    font-weight:600 !important;
    color:var(--red) !important;
    display:block !important;
    overflow-wrap:anywhere !important;
}#sf-faq-page .sf-help-note .sf-help-contact {
    margin-top:14px !important;
    font-size:14px !important;
    font-weight:400 !important;
    text-decoration:underline !important;
    text-underline-offset:4px !important;
}#sf-faq-page .sf-results-top {
    display:flex !important;
    justify-content:space-between !important;
    gap:16px !important;
    align-items:center !important;
    border-bottom:1px solid var(--line) !important;
    padding-bottom:20px !important;
}#sf-faq-page .sf-results-top p {
    margin:0 !important;
    font-size:14px !important;
    color:var(--support-text) !important;
}#sf-faq-page .sf-results-top>span {
    font-size:12px !important;
    letter-spacing:.1em !important;
    color:var(--support-text) !important;
}#sf-faq-page .sf-faq-group {
    margin-block:32px 42px !important;
}#sf-faq-page .sf-group-heading {
    display:flex !important;
    align-items:center !important;
    gap:15px !important;
    margin-bottom:20px !important;
}#sf-faq-page .sf-group-heading>span {
    font-size:14px !important;
    color:var(--red) !important;
    background:#f0e6d9 !important;
    width:36px !important;
    height:36px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:50% !important;
    flex-shrink:0 !important;
}#sf-faq-page .sf-group-heading h2 {
    font:30px/1.2 var(--serif) !important;
    margin:0 !important;
}#sf-faq-page .sf-faq-group details {
    background:#fff !important;
    border:1px solid #e4dcd1 !important;
    border-radius:8px !important;
    margin:10px 0 !important;
    overflow:hidden !important;
    transition:border-color .2s,box-shadow .2s !important;
}#sf-faq-page .sf-faq-group details[open] {
    border-color:#b99a7f !important;
    box-shadow:0 5px 20px #49251108 !important;
}#sf-faq-page .sf-faq-group summary {
    list-style:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    padding:22px 24px !important;
    font-size:16px !important;
    line-height:1.6 !important;
    font-weight:500 !important;
}#sf-faq-page summary::-webkit-details-marker {
    display:none !important;
}#sf-faq-page summary::after {
    content:"+" !important;
    font-size:24px !important;
    font-weight:400 !important;
    color:var(--red) !important;
    flex-shrink:0 !important;
    line-height:1 !important;
    width:26px !important;
    text-align:center !important;
}#sf-faq-page details[open] summary::after {
    content:"−" !important;
}#sf-faq-page .sf-faq-group details>div {
    padding:0 64px 24px 24px !important;
}#sf-faq-page .sf-faq-group details p {
    color:var(--support-text) !important;
    line-height:1.85 !important;
}#sf-faq-page .sf-bottom-help {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:24px !important;
    padding:30px 0 !important;
    border-top:1px solid #d8cab8 !important;
    margin-top:38px !important;
}#sf-faq-page .sf-bottom-help h2 {
    font:30px/1.2 var(--serif) !important;
    margin:0 !important;
}#sf-faq-page .sf-bottom-help .sf-eyebrow {
    margin-bottom:10px !important;
}#sf-faq-page .sf-bottom-help .sf-button {
    white-space:nowrap !important;
}#sf-faq-page .sf-empty-answers {
    padding:60px 24px !important;
    text-align:center !important;
    border:1px dashed #bca38b !important;
    margin-top:24px !important;
    border-radius:8px !important;
}#sf-faq-page .sf-draft-pill {
    border:1px solid #bf9071 !important;
    border-radius:30px !important;
    padding:9px 14px !important;
    font-size:12px !important;
    letter-spacing:.08em !important;
    display:inline-block !important;
}#sf-faq-page .sf-terms-overview {
    display:grid !important;
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
    background:#fff !important;
    border:1px solid var(--line) !important;
    border-radius:10px !important;
    margin-top:30px !important;
    overflow:hidden !important;
}#sf-faq-page .sf-terms-overview a {
    padding:26px 30px !important;
    display:flex !important;
    flex-direction:column !important;
    gap:8px !important;
    border-right:1px solid var(--line) !important;
}#sf-faq-page .sf-terms-overview a:last-child {
    border:0 !important;
}#sf-faq-page .sf-terms-overview a:hover {
    background:#f5eee4 !important;
}#sf-faq-page .sf-terms-overview span {
    font-size:12px !important;
    letter-spacing:.07em !important;
    color:var(--red) !important;
}#sf-faq-page .sf-terms-overview strong {
    font:28px/1.25 var(--serif) !important;
}#sf-faq-page .sf-terms-overview small {
    font-size:14px !important;
    color:var(--support-text) !important;
}#sf-faq-page .sf-terms-nav {
    display:grid !important;
    gap:2px !important;
}#sf-faq-page .sf-terms-nav a {
    display:flex !important;
    gap:12px !important;
    align-items:start !important;
    padding:10px 8px !important;
    font-size:14px !important;
    line-height:1.6 !important;
    border-left:2px solid transparent !important;
}#sf-faq-page .sf-terms-nav a span {
    color:#7a5741 !important;
    font-size:12px !important;
    min-width:22px !important;
    padding-top:2px !important;
}#sf-faq-page .sf-terms-nav a:hover,
#sf-faq-page .sf-terms-nav a[aria-current=location] {
    color:var(--red) !important;
    border-color:var(--red) !important;
    background:#f0e7da !important;
}#sf-faq-page .sf-terms-document {
    min-width:0 !important;
}#sf-faq-page .sf-terms-document .sf-policy-draft {
    margin:0 0 28px !important;
    border-radius:0 8px 8px 0 !important;
    line-height:1.8 !important;
    color:#57402c !important;
    background:#f2e7d6 !important;
}#sf-faq-page .sf-term-card {
    display:grid !important;
    grid-template-columns:38px minmax(0,1fr) !important;
    gap:20px !important;
    padding:30px 0 !important;
    border-top:1px solid #e1d6c8 !important;
    scroll-margin-top:26px !important;
}#sf-faq-page .sf-term-number {
    font:24px var(--serif) !important;
    color:#976847 !important;
    padding-top:2px !important;
}#sf-faq-page .sf-term-card h2 {
    font:30px/1.25 var(--serif) !important;
    margin-bottom:18px !important;
}#sf-faq-page .sf-term-card p {
    font-size:16px !important;
    line-height:1.9 !important;
    color:var(--support-text) !important;
}#sf-faq-page .sf-term-card p:last-child {
    margin-bottom:0 !important;
}#sf-faq-page .sf-term-card a {
    color:var(--red) !important;
    text-decoration:underline !important;
    text-underline-offset:4px !important;
    overflow-wrap:anywhere !important;
}#sf-faq-page .sf-back-top {
    display:inline-block !important;
    font-size:14px !important;
    color:var(--red) !important;
    padding:12px 0 !important;
}#sf-faq-page :focus-visible {
    outline:3px solid #b16e2c !important;
    outline-offset:4px !important;
}#sf-faq-page .sf-support-hero :focus-visible {
    outline-color:#e4b773 !important;
}#sf-faq-page [hidden] {
    display:none !important;
}
@media(max-width:1000px){#sf-faq-page .sf-support-layout {
    gap:35px !important;
    grid-template-columns:230px minmax(0,1fr) !important;
}#sf-faq-page .sf-hero-heading {
    gap:30px !important;
}#sf-faq-page .sf-hero-side {
    padding-left:25px !important;
}#sf-faq-page .sf-terms-overview a {
    padding:24px 20px !important;
}#sf-faq-page .sf-results-top>span {
    display:none !important;
}}
@media(max-width:760px){#sf-faq-page .sf-policy-header > .sf-container {
    flex-wrap:wrap !important;
    gap:22px !important;
}#sf-faq-page .sf-policy-header > .sf-container nav {
    flex-wrap:wrap !important;
    gap:18px !important;
    font-size:14px !important;
}#sf-faq-page .sf-support-hero {
    padding:22px 0 32px !important;
}#sf-faq-page .sf-breadcrumbs {
    margin-bottom:28px !important;
    font-size:14px !important;
}#sf-faq-page .sf-hero-heading {
    grid-template-columns:1fr !important;
    gap:24px !important;
}#sf-faq-page .sf-hero-side {
    display:none !important;
}#sf-faq-page .sf-terms-hero .sf-hero-side {
    display:block !important;
    justify-self:start !important;
    border:0 !important;
    padding:0 !important;
}#sf-faq-page .sf-terms-hero .sf-hero-side p {
    display:none !important;
}#sf-faq-page .sf-terms-hero .sf-hero-side small {
    margin-top:12px !important;
    max-width:none !important;
}#sf-faq-page .sf-support-hero h1 {
    font-size:46px !important;
}#sf-faq-page .sf-hero-heading>div>p:last-child {
    font-size:16px !important;
}#sf-faq-page .sf-faq-search {
    margin-top:26px !important;
}#sf-faq-page .sf-faq-search>div {
    gap:10px !important;
    padding-left:14px !important;
}#sf-faq-page .sf-faq-search input {
    font-size:16px !important;
}#sf-faq-page .sf-faq-search button {
    padding-inline:10px !important;
}#sf-faq-page .sf-support-layout {
    grid-template-columns:1fr !important;
    gap:26px !important;
    padding-block:30px 40px !important;
}#sf-faq-page .sf-support-sidebar {
    position:static !important;
}#sf-faq-page .sf-topic-nav {
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
}#sf-faq-page .sf-topic-nav button {
    border-color:#e0d4c5 !important;
    background:#fff !important;
    padding:12px !important;
    min-height:56px !important;
    font-size:14px !important;
}#sf-faq-page .sf-support-sidebar .sf-help-note {
    display:none !important;
}#sf-faq-page .sf-group-heading h2 {
    font-size:26px !important;
}#sf-faq-page .sf-faq-group summary {
    padding:19px 17px !important;
    gap:14px !important;
}#sf-faq-page .sf-faq-group details>div {
    padding:0 17px 21px !important;
}#sf-faq-page .sf-bottom-help {
    align-items:start !important;
    flex-direction:column !important;
    gap:20px !important;
}#sf-faq-page .sf-terms-overview {
    grid-template-columns:1fr !important;
    margin-top:22px !important;
}#sf-faq-page .sf-terms-overview a {
    padding:20px 23px !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
}#sf-faq-page .sf-terms-overview strong {
    font-size:25px !important;
}#sf-faq-page .sf-terms-nav {
    grid-template-columns:1fr 1fr !important;
    gap:6px !important;
}#sf-faq-page .sf-terms-nav a {
    font-size:14px !important;
    padding:8px 4px !important;
}#sf-faq-page .sf-term-card {
    grid-template-columns:28px minmax(0,1fr) !important;
    gap:12px !important;
    padding:26px 0 !important;
}#sf-faq-page .sf-term-card h2 {
    font-size:26px !important;
}#sf-faq-page .sf-term-number {
    font-size:21px !important;
}#sf-faq-page .sf-terms-layout {
    gap:24px !important;
}#sf-faq-page .sf-terms-document .sf-policy-draft {
    padding:18px !important;
}#sf-faq-page .sf-eyebrow {
    font-size:12px !important;
}}
@media(prefers-reduced-motion:reduce){#sf-faq-page * {
    scroll-behavior:auto !important;
    transition:none !important;
}}

/* WordPress wraps every information template in this class. The approved FAQ
 * reference does not use information-page sizing, so neutralise only that
 * wrapper while retaining its parent-theme reset. */
#sf-faq-page main.sf-information-page {
    max-width:none !important;
    padding-block:0 !important;
}

#sf-faq-page .sf-skip:not(:focus) {
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
}
#sf-faq-page .sf-skip:focus {
    position:relative !important;
    z-index:100000 !important;
    display:block !important;
    padding:10px !important;
    background:#fff !important;
    color:var(--red) !important;
}
