/* Dedicated help and policy compositions; the approved Home remains untouched. */
.help-hero { background:#111827; color:#fff; padding:34px 0 58px; border-bottom:4px solid #e8be60; }
.help-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; font-size:13px; margin-bottom:30px; }
.help-breadcrumb a { color:inherit; }
.help-hero h1 { margin:18px 0; }
.help-hero p { margin:0; }
.help-layout { display:grid; grid-template-columns:minmax(210px,.8fr) minmax(0,2fr); gap:clamp(30px,5vw,70px); padding-block:56px 72px; align-items:start; }
.help-aside h2 { margin:15px 0; }
.help-aside nav { display:grid; margin:24px 0; }
.help-aside nav a { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #e3e7ed; padding:14px 0; color:#062449; font-weight:600; }
.help-aside-note { background:#f7f3e9; border-radius:14px; padding:24px; margin-top:30px; }
.help-aside-note h3 { font-size:19px; }
.help-aside-note a { color:#062449; font-weight:600; }
.help-search { display:grid; grid-template-columns:1fr 1fr; gap:16px; background:#f7f8fa; padding:24px; border:1px solid #e3e7ed; border-radius:14px; }
.help-search-text { grid-column:1/-1; }
.help-search label { display:block; font-size:13px; font-weight:600; margin-bottom:7px; }
.help-search :is(input,select) { min-height:46px; font-size:14px; }
.help-search button { grid-column:1/-1; justify-self:start; }
.help-count { display:flex; justify-content:space-between; gap:16px; padding:24px 0 12px; margin:0; color:#586677; font-size:13px; }
.help-count a { color:#062449; text-decoration:underline; }
.help-results .accordion-item { border:1px solid #e3e7ed; border-radius:12px; overflow:hidden; margin-bottom:12px; }
.help-results .accordion-button { font:600 16px/1.5 var(--font-body); padding:21px 22px; color:#062449; background:#fff; box-shadow:none; gap:18px; }
.help-results .accordion-button:not(.collapsed) { background:#faf6ec; }
.help-results .accordion-button:focus-visible { outline-offset:-4px; }
.help-results .accordion-body { padding:4px 22px 24px; background:#faf6ec; color:#475569; }
.help-results .accordion-body p { margin:10px 0 0; line-height:1.8; }
.help-topic { font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:#76530a; font-weight:700; }
.help-empty { padding:32px; border:1px dashed #cbd5e1; border-radius:12px; }
.help-empty h2 { font-size:24px; }
.policy-hero { padding:30px 0 46px; background:#f7f3e9; border-bottom:1px solid #e8dfcc; }
.policy-hero h1 { margin:18px 0; max-width:850px; }
.policy-hero p { color:#586677; margin:0; }
.policy-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:64px; padding-block:52px 72px; align-items:start; }
.policy-nav { position:sticky; top:calc(var(--public-header-height) + 24px); }
.policy-nav h2 { font-size:14px; text-transform:uppercase; letter-spacing:.06em; }
.policy-nav nav { display:grid; gap:16px; margin:24px 0; }
.policy-nav a { color:#475569; font-size:14px; }
.policy-nav > span { font-size:12px; color:#657183; }
.policy-article { max-width:72ch; min-width:0; font-size:17px; line-height:1.85; }
.policy-article section + section { margin-top:36px; padding-top:28px; border-top:1px solid #e3e7ed; }
.policy-article h2 { font:600 25px/1.35 var(--font-heading); margin:10px 0 16px; }
.policy-article p,.policy-article li { color:#475569; }
.policy-article li { margin:12px 0; }
.policy-notice { padding:26px; border-left:3px solid #c49028; background:#fcf9f1; border-radius:0 12px 12px 0; }
.policy-help-link { display:inline-block; margin:16px 22px; color:#062449; text-decoration:underline; }
@media(max-width:991px) { .help-layout { grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr); gap:28px; } .policy-layout { grid-template-columns:190px minmax(0,1fr); gap:28px; } }
@media(max-width:767px) { .help-layout,.policy-layout { grid-template-columns:minmax(0,1fr); padding-block:32px 44px; } .help-results { grid-row:1; } .help-aside nav { margin:12px 0; } .help-hero { padding-block:24px 36px; } .help-breadcrumb { margin-bottom:22px; } .help-search { padding:18px; } .policy-nav { position:static; } .policy-nav nav { display:flex; flex-wrap:wrap; gap:12px 24px; margin-block:16px; } .policy-notice { padding:20px; } }
@media(max-width:400px) { .help-search { grid-template-columns:minmax(0,1fr); } }
.playlist-layout { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr); gap:48px; padding-block:48px 64px; align-items:start; }
.playlist-intro > img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:14px; margin-bottom:24px; }
.playlist-intro h2 { font:600 28px/1.3 var(--font-heading); margin:14px 0; }
.playlist-intro p { color:#586677; }
.playlist-lessons { list-style:none; margin:0; padding:0; }
.playlist-lessons li { border-bottom:1px solid #e3e7ed; }
.playlist-lessons li:first-child { border-top:1px solid #e3e7ed; }
.playlist-lessons li > a { display:flex; align-items:start; gap:20px; color:#062449; padding:26px 12px; border-radius:8px; }
.playlist-lessons li > a:hover { background:#faf6ec; }
.playlist-number { font:500 24px/1.5 var(--font-heading); color:#a07825; }
.playlist-lessons h3 { font:600 20px/1.4 var(--font-heading); margin:0 0 8px; }
.playlist-lessons p { color:#586677; margin:0 0 8px; font-size:15px; }
.playlist-lessons small { color:#586677; }
.playlist-play { margin-left:auto; flex-shrink:0; border:1px solid #d6c193; border-radius:50%; width:40px; height:40px; display:grid; place-items:center; font-size:12px; }
@media(max-width:767px) { .playlist-layout { grid-template-columns:minmax(0,1fr); gap:28px; padding-block:32px; } .playlist-intro > img { max-width:440px; } .playlist-lessons li > a { gap:12px; padding-inline:0; } }
.pricing-hero { background:#f7f3e9; padding:30px 0 52px; }
.pricing-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:64px; align-items:center; }
.pricing-intro h1 { margin:18px 0; }
.pricing-intro > div > p { max-width:48ch; font-size:17px; color:#586677; margin-bottom:26px; }
.pricing-free { border:1px solid #dfd6c5; border-radius:16px; padding:30px; background:#fff; }
.pricing-free h2 { font:600 25px/1.35 var(--font-heading); margin:18px 0 12px; }
.pricing-free p { font-size:15px; color:#586677; }
.pricing-free > div { display:grid; gap:10px; margin:22px 0; }
.pricing-free > div a { color:#062449; font-size:14px; font-weight:600; }
.pricing-content { padding-block:52px 64px; }
.pricing-heading { max-width:700px; margin-bottom:36px; }
.pricing-heading h2 { font:600 clamp(26px,2.5vw,36px)/1.3 var(--font-heading); margin:16px 0; }
.pricing-heading p,.pricing-product-heading p { color:#586677; }
.pricing-product { margin-top:36px; }
.pricing-product-heading { display:flex; gap:18px; align-items:center; border-bottom:1px solid #e3e7ed; padding-bottom:20px; }
.pricing-product-heading h3 { font-size:24px; margin:0 0 6px; }
.pricing-product-heading p { margin:0; font-size:15px; }
.pricing-product-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:12px; background:#faf2dc; color:#956719; flex-shrink:0; font-size:24px; }
.pricing-plan { display:flex; flex-direction:column; align-items:start; border:1px solid #dfe5ed; border-radius:14px; padding:28px; box-shadow:0 5px 20px #06244905; }
.pricing-plan h4 { font:600 21px/1.4 var(--font-heading); margin:20px 0 10px; }
.pricing-plan > p { color:#586677; font-size:15px; }
.pricing-plan .public-plan-price { margin-top:auto; padding-top:20px; }
.pricing-plan .approved-button { width:100%; margin-top:12px; }
@media(max-width:767px) { .pricing-intro { grid-template-columns:minmax(0,1fr); gap:28px; } .pricing-hero { padding-block:24px 32px; } .pricing-free { padding:24px; } .pricing-content { padding-block:32px 44px; } }

/* Shared reading layout for the three legal review drafts. */
.sofl-public-policy .policy-layout { display:block; max-width:980px; padding-block:48px 72px; }
.sofl-public-policy .policy-article { max-width:none; font-family:var(--font-body); overflow-wrap:anywhere; }
.sofl-public-policy .policy-article > section { padding-top:20px; scroll-margin-top:calc(var(--public-header-height, 80px) + 24px); }
.sofl-public-policy .policy-article h2 { color:var(--public-navy, #062449); font-size:clamp(20px, 2vw, 25px); }
.sofl-public-policy .policy-article p { margin:0 0 16px; }
.sofl-public-policy .policy-notice strong { color:#755418; }
.sofl-public-policy .policy-notice p { margin:10px 0 0; }
.sofl-public-policy .policy-support { margin-top:36px; padding-top:28px; border-top:1px solid #e3e7ed; }
@media(max-width:767px) { .sofl-public-policy .policy-layout { padding-block:32px 44px; } .sofl-public-policy .policy-article { font-size:16px; line-height:1.75; } .sofl-public-policy .policy-hero { padding-block:24px 32px; } .sofl-public-policy .policy-article > section { margin-top:26px; padding-top:22px; } }

/* Public FAQ browser: database-backed product and query button filters. */
.sofl-public-faq-page .help-layout{grid-template-columns:minmax(240px,.75fr) minmax(0,2.5fr);gap:clamp(28px,4vw,60px);padding-block:clamp(40px,5vw,72px)}
.sofl-public-faq-page .help-aside h2{font-size:clamp(28px,2.6vw,40px);line-height:1.3;margin:20px 0}
.sofl-public-faq-page .help-aside p{color:#4d4d4d;font-size:18px;line-height:1.6}
.sofl-public-faq-page .help-aside nav{margin:30px 0}
.sofl-public-faq-page .help-aside-note{background:#faf8f4;padding:28px}
.sofl-public-faq-page .help-aside-note h3{font-size:23px}
.sofl-public-faq-page .help-aside-note>a{display:inline-flex;gap:10px;align-items:center;margin:10px 0 24px}
.sofl-public-faq-page .help-aside .help-ticket-note{border-top:1px solid #e3e7ed;padding-top:20px;font-size:14px;margin:0}
.sofl-public-faq-page .help-search{display:flex;flex-direction:column;gap:20px;padding:22px;background:#fff;box-shadow:0 5px 20px #09244906}
.help-search-bar{display:flex;gap:14px;align-items:stretch}
.help-search-bar .help-search-text{position:relative;flex:1;min-width:0}
.help-search-bar .help-search-text>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#4d4d4d}
.help-search-bar input{height:100%;padding-left:44px;min-height:52px}
.help-search-bar>.approved-button{flex-shrink:0}
.help-filter-buttons{margin:0;padding:0;border:0;min-width:0}
.help-filter-buttons legend{font-size:14px;font-weight:700;color:#062449;margin:0 0 10px}
.help-filter-buttons>div{display:flex;flex-wrap:wrap;gap:8px}
.sofl-public-faq-page .help-filter-buttons label{position:relative;margin:0;cursor:pointer}
.help-filter-buttons input{position:absolute;opacity:0;width:1px;height:1px;min-height:0!important}
.help-filter-buttons span{display:block;padding:9px 14px;border:1px solid #dce5f0;border-radius:8px;color:#062449;font-size:14px;line-height:1.4;transition:background .15s,border-color .15s}
.help-filter-buttons input:checked+span{background:#bb8c2b;border-color:#bb8c2b;color:#fff}
.help-filter-buttons input:focus-visible+span{outline:3px solid #bb8c2b;outline-offset:3px}
.help-filter-buttons label:hover span{border-color:#bb8c2b}
.sofl-public-faq-page .help-count{font-size:16px;padding:26px 0 18px;color:#4d4d4d}
.sofl-public-faq-page .help-results .accordion-button{font-size:clamp(17px,1.6vw,21px);font-weight:700;padding:23px 26px}
.sofl-public-faq-page .help-results .accordion-body,.sofl-public-faq-page .help-results .accordion-button:not(.collapsed){background:#faf8f4;color:#062449}
.sofl-public-faq-page .help-results .accordion-body p{color:#4d4d4d}
@media(max-width:991px){.sofl-public-faq-page .help-layout{grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);gap:24px}.sofl-public-faq-page .help-aside-note{padding:20px}}
@media(max-width:767px){.sofl-public-faq-page .help-layout{grid-template-columns:minmax(0,1fr)}.sofl-public-faq-page .help-search{padding:16px}.help-search-bar{flex-wrap:wrap}.help-search-bar .help-search-text{flex-basis:100%}.sofl-public-faq-page .help-results .accordion-button{padding:20px}.sofl-public-faq-page .help-aside h2 br{display:none}}

/* Query-only FAQ navigation uses normal links, including without JavaScript. */
.sofl-public-faq-page .help-layout{width:100%;max-width:1600px;margin-inline:auto;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:clamp(28px,4vw,64px);padding-inline:clamp(20px,4vw,48px)}
.sofl-public-faq-page .help-results{min-width:0}
.help-query-filters{padding:24px;border:1px solid #e3e7ed;border-radius:14px;background:#fff;scroll-margin-top:110px}
.help-query-filters h2{font-size:22px;margin:0 0 16px}
.help-query-buttons{display:flex;flex-wrap:wrap;gap:10px}
.help-query-buttons a{display:inline-flex;align-items:center;padding:11px 16px;border:1px solid #dce5f0;border-radius:8px;color:#062449;font-size:16px;font-weight:600;line-height:1.4;text-decoration:none;overflow-wrap:anywhere;transition:background .15s,border-color .15s}
.help-query-buttons a[aria-current=true]{background:#bb8c2b;border-color:#bb8c2b;color:#fff}
.help-query-buttons a:hover{border-color:#bb8c2b}
.help-query-buttons a:focus-visible{outline:3px solid #bb8c2b;outline-offset:3px}
@media(max-width:991px){.sofl-public-faq-page .help-layout{grid-template-columns:minmax(190px,230px) minmax(0,1fr);gap:24px}}
@media(max-width:767px){.sofl-public-faq-page .help-layout{grid-template-columns:minmax(0,1fr);padding-inline:20px}.help-query-filters{padding:18px}.help-query-buttons{gap:8px}.help-query-buttons a{padding:10px 12px}}

.sofl-public-policy .policy-provided{display:block;max-width:1200px;padding-inline:clamp(20px,4vw,48px)}
.policy-provided .policy-article{max-width:90ch;margin-inline:auto;overflow-wrap:anywhere}
.policy-provided .policy-updated{margin:0 0 28px;font-size:15px}
.policy-provided .policy-updated time{margin-left:8px}
.policy-provided .policy-article section+section{margin-top:32px;padding-top:28px}
.policy-provided .policy-article h2{font-size:clamp(21px,2vw,27px);line-height:1.4}
.policy-provided .policy-article p{margin:0 0 16px;color:#4d4d4d}
.policy-provided .policy-article ul{padding-left:24px;margin:16px 0 22px}
.policy-provided .policy-article li{padding-left:4px;color:#4d4d4d}
.policy-provided .policy-article a:not(.approved-button){color:#062449;text-decoration:underline;text-underline-offset:3px}
.policy-provided .policy-support{margin-top:36px;padding-top:28px;border-top:1px solid #e3e7ed}

.sofl-public-faq-page .help-product-aside h2{font-size:22px;margin:0 0 20px}
.sofl-public-faq-page .help-product-aside .help-product-links{display:flex;flex-direction:column;gap:10px;margin:0}
.sofl-public-faq-page .help-product-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #dce5f0;border-radius:9px;background:#fff;color:#062449;font-weight:600;text-decoration:none}
.sofl-public-faq-page .help-product-links a[aria-current=true]{background:#bb8c2b;border-color:#bb8c2b;color:#fff}
.sofl-public-faq-page .help-product-links a:hover{border-color:#bb8c2b}
@media(max-width:767px){.sofl-public-faq-page .help-product-aside{grid-row:1}.sofl-public-faq-page .help-results{grid-row:auto}.sofl-public-faq-page .help-product-aside .help-product-links{flex-direction:row;flex-wrap:wrap}.sofl-public-faq-page .help-product-links a{font-size:14px;padding:10px 12px}}
