/* Sofia knowledge and contact pages. */
.sff-page,.sfc-page { background:#f8faf6; color:#263d2e; padding:0 0 75px; }
.sfk-eyebrow { display:flex; align-items:center; gap:10px; font-size:9px; letter-spacing:1.1px; font-weight:600; color:#6b815b; line-height:1.6; }
.sfk-eyebrow > span { color:#9caf83; font-size:23px; }
.sff-hero { display:grid; grid-template-columns:1.4fr 1fr; gap:55px; align-items:center; padding:64px 0 57px; border-bottom:1px solid #e1e8d9; }
.sff-hero h1,.sfc-hero h1 { font-size:clamp(42px,4.8vw,65px); line-height:1.09; letter-spacing:-2.8px; font-weight:550; margin:23px 0; }
.sff-hero h1 em,.sfc-hero h1 em { font-style:normal; color:#789364; }
.sff-hero-copy > p,.sfc-hero-copy > p { max-width:450px; font-size:14px; line-height:1.9; color:#677b5c; }
.sff-search { display:flex; align-items:center; gap:13px; padding:6px 6px 6px 18px; border:1px solid #d8e2ce; border-radius:11px; background:white; max-width:540px; margin-top:27px; box-shadow:0 4px 16px #29482406; }
.sff-search > i { color:#92a47f; font-size:15px; }
.sff-search input { flex:1; width:100px; min-width:0; border:0; box-shadow:none; outline:none; background:transparent; color:#355033; height:44px; font-size:12px; }
.sff-search input::placeholder { color:#9caa92; }
.sff-search:focus-within { outline:2px solid #bfcea9; outline-offset:3px; }
.sff-search button { display:flex; align-items:center; gap:15px; border:0; padding:15px 17px; border-radius:7px; background:#234b3c; color:white; font-size:11px; font-weight:550; }
.sff-search button:hover { background:#316348; }
.sff-search-ideas { display:flex; flex-wrap:wrap; align-items:center; gap:9px 14px; margin-top:15px; font-size:11px; color:#738465; }
.sff-search-ideas a { color:#6e8659; }
.sff-search-ideas a:hover { text-decoration:underline; }
.sff-answer-art { width:350px; max-width:100%; height:320px; position:relative; justify-self:center; }
.sff-art-disc { position:absolute; inset:8px 25px 20px 0; border-radius:50%; background:#edf2e4; }
.sff-art-disc::after { content:''; position:absolute; inset:-16px; border:1px solid #e1e8d4; border-radius:50%; }
.sff-art-spark { position:absolute; top:5px; right:0; font-size:68px; line-height:1; color:#a5b77c; }
.sff-question-card { position:absolute; top:13px; left:22px; width:225px; height:240px; padding:24px; background:#234b3c; border:1px solid #234b3c; border-radius:14px; transform:rotate(-7deg); text-align:center; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 12px 30px -23px #173628a0; }
.sff-question-card > span { color:#b4c9a4; font-size:6px; letter-spacing:1.25px; }
.sff-question-card > strong { color:#d9e8be; font-size:132px; line-height:1; font-weight:450; }
.sff-reply-card { position:absolute; bottom:-12px; right:-7px; display:flex; align-items:center; gap:13px; background:#f2e7d1; color:#756542; padding:20px; border:1px solid #e5d9bf; border-radius:11px; transform:rotate(5deg); font-size:11px; line-height:1.8; }
.sff-reply-card > i { font-size:23px; }
.sff-reply-card strong { font-weight:550; }
.sff-answers-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:70px; padding-top:48px; align-items:start; }
.sff-sidebar { position:sticky; top:108px; }
.sff-sidebar h2 { font-size:31px; line-height:1.18; letter-spacing:-1.1px; font-weight:550; margin:18px 0; }
.sff-sidebar > p { font-size:12px; line-height:1.85; color:#6e7f60; }
.sff-sidebar-links { margin:23px 0 30px; }
.sff-sidebar-links a { display:flex; align-items:center; gap:11px; padding:14px 0; border-bottom:1px solid #e1e8d9; font-size:11px; font-weight:500; color:#6b825b; }
.sff-sidebar-links a > span { margin-inline-start:auto; }
.sff-sidebar-links i { color:#91a77a; }
.sff-personal-help { padding:26px; background:#234b3c; color:white; border-radius:14px; }
.sff-personal-help > i { font-size:25px; color:#bfd6a1; }
.sff-personal-help h3 { font-size:20px; font-weight:550; letter-spacing:-.5px; margin:19px 0 10px; }
.sff-personal-help p { color:#b7cca8; font-size:11px; line-height:1.8; }
.sff-personal-help a { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #ffffff25; padding-top:17px; margin-top:23px; font-size:10px; font-weight:550; color:#e3edcf; }
.sff-results-heading { display:flex; align-items:baseline; justify-content:space-between; gap:18px; margin-bottom:20px; }
.sff-results-heading h2 { font-size:16px; font-weight:550; letter-spacing:-.3px; overflow-wrap:anywhere; }
.sff-results-heading > span { color:#8fa07f; font-size:9px; flex-shrink:0; }
.sff-clear-search { display:inline-block; color:#6a865a; font-size:11px; margin-bottom:20px; }
.sff-answer-list { display:grid; gap:11px; }
.sff-answer { border:1px solid #e0e7d8; border-radius:12px; background:#fff; overflow:hidden; }
.sff-answer summary { display:flex; gap:18px; align-items:center; list-style:none; cursor:pointer; padding:23px; font-size:16px; line-height:1.5; font-weight:550; letter-spacing:-.35px; }
.sff-answer summary::-webkit-details-marker { display:none; }
.sff-answer-number { color:#9baa8c; font-size:9px; font-weight:450; letter-spacing:.5px; flex-shrink:0; }
.sff-answer-toggle { display:grid; place-items:center; margin-inline-start:auto; width:29px; height:29px; background:#f1f6e9; color:#90a374; border-radius:50%; flex-shrink:0; font-size:23px; font-weight:300; line-height:1; }
.sff-answer[open] { background:#eef4e5; border-color:#d7e3c8; }
.sff-answer[open] .sff-answer-toggle { transform:rotate(45deg); background:#dee9ce; color:#6a8554; }
.sff-answer-copy { padding:0 65px 25px 57px; font-size:13px; line-height:1.95; color:#647a53; white-space:pre-line; }
.sff-answer summary:hover { color:#608247; }
.sff-empty { padding:42px 30px; background:#eef4e5; border:1px solid #dce6d1; border-radius:14px; text-align:center; }
.sff-empty > i { font-size:27px; color:#8da473; }
.sff-empty h3 { font-size:25px; font-weight:550; letter-spacing:-.7px; margin:19px 0 12px; }
.sff-empty p { font-size:12px; line-height:1.9; color:#809270; }
.sff-empty a { display:inline-block; color:#48693e; font-size:11px; font-weight:550; margin-top:24px; }
.sff-pagination { margin-top:27px; }
.sfc-hero { display:grid; grid-template-columns:1.3fr 1fr; gap:30px; align-items:center; padding:70px 0 65px; }
.sfc-hero h1 { font-size:clamp(40px,4.45vw,60px); letter-spacing:-2.6px; }
.sfc-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:23px; margin-top:28px; }
.sfc-hero-actions .sf-button { background:#234b3c; color:white; font-size:11px; padding:15px 19px; }
.sfc-text-link { color:#617d50; font-size:11px; font-weight:550; }
.sfc-email { display:inline-block; color:#809571; font-size:11px; margin-top:20px; overflow-wrap:anywhere; }
.sfc-conversation { width:360px; max-width:100%; height:335px; position:relative; justify-self:center; }
.sfc-orbit { position:absolute; inset:20px -5px 15px 10px; background:#eaf0df; border-radius:47% 53% 42% 58%; transform:rotate(8deg); }
.sfc-orbit::before { content:''; position:absolute; inset:20px; border:1px solid #d8e3c6; border-radius:50%; }
.sfc-spark { position:absolute; right:5px; top:-4px; font-size:65px; color:#acbd84; line-height:1; }
.sfc-hello-card { display:flex; flex-direction:column; position:absolute; top:19px; left:4px; width:265px; padding:26px; transform:rotate(-7deg); background:white; border:1px solid #dce5d2; border-radius:15px; box-shadow:0 10px 28px -20px #28492850; }
.sfc-hello-card > i { width:39px; height:39px; display:grid; place-items:center; border:1px solid #e0e9d4; background:#f0f5e9; border-radius:10px; color:#8aa371; font-size:21px; margin-bottom:22px; }
.sfc-hello-card > span:nth-child(2) { font-size:6px; letter-spacing:1.1px; color:#94a47f; }
.sfc-hello-card strong { font-size:25px; letter-spacing:-1px; font-weight:550; margin:12px 0 22px; }
.sfc-message-line { height:5px; border-radius:3px; background:#e9eee2; width:100%; margin-bottom:8px; }
.sfc-short-line { width:67%; }
.sfc-reply-card { position:absolute; right:-10px; bottom:31px; display:flex; align-items:center; gap:13px; padding:20px; background:#234b3c; color:#d4e5ba; border:1px solid #234b3c; border-radius:11px; transform:rotate(5deg); font-size:11px; line-height:1.7; }
.sfc-reply-card > i { font-size:25px; }
.sfc-reply-card strong { font-weight:550; color:#edf4e3; }
.sfc-reply-card > span:last-child { font-size:25px; margin-inline-start:8px; }
.sfc-conversation-note { position:absolute; bottom:-6px; left:35px; color:#93a37f; font-size:8px; }
.sfc-paths { border-top:1px solid #e0e7d8; padding-top:35px; scroll-margin-top:105px; }
.sfc-paths-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:27px; }
.sfc-paths-heading h2 { font-size:30px; line-height:1.2; letter-spacing:-1px; font-weight:550; margin-top:14px; }
.sfc-paths-heading > p { max-width:275px; font-size:11px; line-height:1.85; color:#6f815f; }
.sfc-path-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sfc-path { display:flex; flex-direction:column; min-width:0; border:1px solid #dfe7d5; background:white; padding:29px; border-radius:15px; color:#29422e!important; transition:transform .18s,border-color .18s; }
.sfc-path:hover { transform:translateY(-3px); border-color:#9db786; }
.sfc-path-top { display:flex; justify-content:space-between; align-items:center; }
.sfc-path-top > span:first-child { width:43px; height:43px; display:grid; place-items:center; border:1px solid #e2e9d8; background:#f1f6e9; border-radius:11px; color:#879f6a; font-size:22px; }
.sfc-path-number { font-size:9px; color:#9baa8a; }
.sfc-path h3 { font-size:27px; line-height:1.18; font-weight:550; letter-spacing:-.95px; margin:26px 0 16px; }
.sfc-path p { font-size:12px; line-height:1.9; color:#6c7e5e; margin-bottom:25px; }
.sfc-path-action { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #e4eadb; padding-top:20px; margin-top:auto; font-size:11px; font-weight:550; color:#668052; }
.sfc-path-action > span { font-size:19px; }
.sfc-path-dark { background:#234b3c; border-color:#234b3c; color:#fff!important; }
.sfc-path-dark .sfc-path-top > span:first-child { background:#345d41; border-color:#4c704c; color:#c8dfa5; }
.sfc-path-dark p,.sfc-path-dark .sfc-path-number { color:#b7cca5; }
.sfc-path-dark .sfc-path-action { border-color:#ffffff26; color:#dbe8c3; }
.sfc-path-warm { background:#f3ebd9; border-color:#e7dcc6; }
.sfc-path-warm .sfc-path-top > span:first-child { background:#e9dfc7; border-color:#ddd0b3; color:#a3915c; }
.sfc-path-warm p { color:#82724f; }
.sfc-path-warm .sfc-path-action { border-color:#e2d7c0; color:#8d7d51; }
.sfc-contact-details { display:grid; grid-template-columns:1fr 1fr; gap:45px; padding:35px 0 0; margin-top:38px; border-top:1px solid #e0e7d8; }
.sfc-contact-details h2 { margin-top:15px; font-size:23px; line-height:1.3; letter-spacing:-.7px; font-weight:550; }
.sfc-contact-details dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:24px; align-items:center; }
.sfc-contact-details dt { display:flex; align-items:center; gap:10px; color:#8b9d7a; font-size:9px; text-transform:uppercase; letter-spacing:.8px; }
.sfc-contact-details dt i { color:#95a87f; font-size:15px; }
.sfc-contact-details dd { color:#5c7750; font-size:12px; line-height:1.8; margin:10px 0 0; overflow-wrap:anywhere; }
:is(.sff-page,.sfc-page) :is(a,button,summary):focus-visible { outline:2px solid #98b17b; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .sfc-path { transition:none; } .sfc-path:hover { transform:none; } }
@media(max-width:1100px) { .sff-hero { gap:30px; } .sff-answers-layout { grid-template-columns:235px minmax(0,1fr); gap:35px; } .sff-answer-art { transform:scale(.9); } .sfc-hero { grid-template-columns:1.2fr 1fr; gap:20px; } .sfc-conversation { transform:scale(.85); } .sfc-path { padding:25px; } .sfc-path h3 { font-size:24px; } }
@media(max-width:850px) { .sff-hero { grid-template-columns:1fr; padding-block:43px; } .sff-answer-art { display:none; } .sff-hero h1 { font-size:53px; } .sff-hero-copy { max-width:620px; } .sff-answers-layout { grid-template-columns:1fr; gap:30px; padding-top:32px; } .sff-sidebar { position:static; order:2; display:grid; grid-template-columns:1fr 1fr; gap:0 30px; } .sff-sidebar > .sfk-eyebrow,.sff-sidebar > h2,.sff-sidebar > p { grid-column:1; } .sff-sidebar-links { grid-column:1; margin-bottom:0; } .sff-personal-help { grid-column:2; grid-row:1/5; } .sfc-hero { grid-template-columns:1fr; padding:45px 0; } .sfc-hero h1 { font-size:53px; } .sfc-conversation { display:none; } .sfc-path-grid { gap:13px; } .sfc-path { padding:22px; } .sfc-path h3 { font-size:22px; } .sfc-path p { font-size:11px; } }
@media(max-width:640px) { .sff-page,.sfc-page { padding-bottom:42px; } .sff-hero,.sfc-hero { padding:36px 0; } .sfk-eyebrow { font-size:7px; letter-spacing:.85px; gap:8px; } .sff-hero h1,.sfc-hero h1 { font-size:42px; letter-spacing:-2px; margin:20px 0; } .sff-hero-copy > p,.sfc-hero-copy > p { font-size:12px; } .sff-search { gap:8px; padding-inline-start:13px; margin-top:23px; } .sff-search input { font-size:11px; } .sff-search button { padding:15px 12px; font-size:10px; } .sff-search button > span { display:none; } .sff-search-ideas { font-size:9px; gap:10px; } .sff-results-heading { gap:12px; } .sff-results-heading h2 { font-size:15px; } .sff-answer summary { padding:19px 15px; gap:12px; font-size:14px; } .sff-answer-number { font-size:8px; } .sff-answer-toggle { width:24px; height:24px; font-size:21px; } .sff-answer-copy { padding:0 22px 23px 39px; font-size:12px; } .sff-sidebar { display:block; padding-top:4px; } .sff-sidebar > .sfk-eyebrow,.sff-sidebar > h2,.sff-sidebar > p,.sff-sidebar-links { display:none; } .sff-personal-help { padding:27px; } .sff-empty { padding:30px 22px; } .sff-empty h3 { font-size:23px; } .sfc-hero-actions { gap:20px; } .sfc-hero-actions .sf-button { font-size:11px; } .sfc-text-link { font-size:10px; } .sfc-paths { padding-top:28px; } .sfc-paths-heading { display:block; margin-bottom:24px; } .sfc-paths-heading h2 { font-size:28px; } .sfc-paths-heading > p { margin-top:14px; } .sfc-path-grid { grid-template-columns:1fr; gap:16px; } .sfc-path { padding:27px; } .sfc-path h3 { font-size:28px; margin:22px 0 14px; } .sfc-path p { font-size:12px; margin-bottom:24px; } .sfc-contact-details { grid-template-columns:1fr; gap:25px; margin-top:28px; padding-top:28px; } .sfc-contact-details h2 { font-size:23px; } .sfc-contact-details dl { gap:24px; } }
