/* Sofia pricing: concise plan cards with a complete, accessible comparison. */
.sfp-page { background:#f8faf6; padding:24px 0 70px; color:#263d2e; }
.sfp-page .sf-wrap { max-width:1280px; }
.sfp-hero { display:grid; grid-template-columns:1.25fr 1fr; gap:25px; padding:48px 52px; border-radius:23px; background:#193f36; color:white; overflow:hidden; position:relative; }
.sfp-eyebrow { display:flex; align-items:center; gap:10px; font-size:8px; letter-spacing:1.2px; color:#c4d6ba; font-weight:600; }
.sfp-eyebrow > span { font-size:23px; color:#d4e6af; }
.sfp-hero h1 { font-size:clamp(40px,4.4vw,62px); line-height:1.09; font-weight:550; letter-spacing:-2.9px; margin:21px 0 20px; color:#fff; }
.sfp-hero h1 em { color:#d5e5b2; font-style:normal; }
.sfp-hero-copy > p { max-width:400px; color:#bdd0c3; font-size:13px; line-height:1.9; }
.sfp-growth-art { position:relative; align-self:center; height:220px; width:340px; max-width:100%; justify-self:center; }
.sfp-orbit { position:absolute; width:275px; height:275px; border:1px solid #d3e6b528; border-radius:50%; top:-15px; left:32px; }
.sfp-orbit-inner { inset:10px auto auto 57px; width:225px; height:225px; border-style:dashed; }
.sfp-art-card { position:absolute; border:1px solid #dae4cc; border-radius:12px; box-shadow:0 12px 35px -20px #061a15; }
.sfp-art-small { top:12px; left:5px; padding:15px 20px; display:flex; align-items:center; gap:12px; background:#edf3e3; color:#607947; transform:rotate(-7deg); }
.sfp-art-small i { font-size:24px; }
.sfp-art-small span { font-size:7px; letter-spacing:1px; }
.sfp-art-large { top:90px; right:3px; min-width:245px; padding:20px 60px 20px 22px; background:#f0e4cb; color:#645a37; transform:rotate(4deg); }
.sfp-art-large > span:first-child { display:block; font-size:7px; letter-spacing:1.1px; margin-bottom:10px; }
.sfp-art-large strong { font-size:20px; font-weight:550; letter-spacing:-.6px; }
.sfp-art-arrow { position:absolute; right:15px; top:28px; font-size:32px; }
.sfp-art-spark { position:absolute; right:8px; top:5px; color:#c9df9e; font-size:65px; line-height:1; }
.sfp-art-note { position:absolute; bottom:2px; left:54px; color:#98b5a1; font-size:9px; }
.sfp-selection-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:39px 0 27px; }
.sfp-section-label { display:block; color:#7c916e; font-size:8px; font-weight:600; letter-spacing:1.25px; }
.sfp-selection-bar h2 { margin-top:10px; font-size:26px; font-weight:550; letter-spacing:-.9px; }
.sfp-billing { display:flex; gap:3px; background:#eaf0e3; border:1px solid #e0e8d8; border-radius:11px; padding:5px; }
.sfp-billing button { border:0; background:transparent; border-radius:7px; padding:12px 22px; font-size:12px; font-weight:550; color:#6b7c62; }
.sfp-billing button[aria-pressed=true] { background:white; color:#26462e; box-shadow:0 2px 5px #203c1810; }
.sfp-billing button:hover { color:#193f36; background:#ffffff80; }
.sfp-plans { display:grid; grid-template-columns:repeat(var(--sfp-columns,4),minmax(0,1fr)); gap:16px; align-items:stretch; }
.sfp-plan { display:flex; flex-direction:column; padding:25px 22px 20px; border:1px solid #dde6d7; border-radius:15px; background:white; min-width:0; position:relative; }
.sfp-plan-header { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:21px; }
.sfp-plan-icon { display:grid; place-items:center; width:37px; height:37px; border:1px solid #e2e9da; background:#f3f7ed; color:#809465; font-size:18px; border-radius:10px; }
.sfp-featured-label { color:#d7e8b4; font-size:7px; letter-spacing:.7px; font-weight:600; }
.sfp-plan h3 { font-size:19px; line-height:1.3; font-weight:600; letter-spacing:-.65px; min-height:25px; }
.sfp-plan-description { color:#7c8b73; font-size:11px; line-height:1.8; margin:12px 0 24px; min-height:80px; }
.sfp-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; }
.sfp-price strong { font-size:48px; line-height:1.1; letter-spacing:-2.5px; font-weight:550; }
.sfp-price > span { font-size:10px; color:#899580; }
.sfp-billing-note { font-size:10px; color:#899580; margin:8px 0 0; }
.sfp-choose { display:flex; align-items:center; justify-content:space-between; padding:13px 16px; font-size:11px; font-weight:650; background:#f0f5e9; border:1px solid #dfe9d4; border-radius:8px; margin:24px 0; color:#314d2e!important; transition:background .15s; }
.sfp-choose:hover { background:#e0eccf; }
.sfp-choose > span { font-size:17px; }
.sfp-highlights { border-top:1px solid #e9eee3; padding-top:21px; margin-top:auto; }
.sfp-highlights > p { font-size:7px; letter-spacing:.9px; font-weight:600; color:#899a7a; margin:0 0 13px; }
.sfp-highlights ul { list-style:none; padding:0; margin:0; }
.sfp-highlights li { display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding:8px 0; font-size:11px; }
.sfp-highlights li > span { display:flex; align-items:baseline; gap:7px; color:#5f7657; }
.sfp-highlights li i { color:#7d9a66; font-size:9px; }
.sfp-highlights li strong { font-size:11px; font-weight:550; text-align:end; }
.sfp-details-link { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #e9eee3; margin-top:17px; padding-top:17px; font-size:10px; font-weight:550; color:#7d906e; }
.sfp-featured { background:#234b3c; border-color:#234b3c; color:#fff; box-shadow:0 12px 24px -19px #143c32a0; }
.sfp-featured .sfp-plan-icon { border-color:#577749; background:#355c40; color:#d5e5b0; }
.sfp-featured .sfp-plan-description { color:#bfd0b4; }
.sfp-featured .sfp-price > span,.sfp-featured .sfp-billing-note { color:#afc5a2; }
.sfp-featured .sfp-choose { background:#d6e7b4; border-color:#d6e7b4; color:#27432c!important; }
.sfp-featured .sfp-choose:hover { background:#e4efcf; }
.sfp-featured .sfp-highlights,.sfp-featured .sfp-details-link { border-color:#ffffff22; }
.sfp-featured .sfp-highlights > p,.sfp-featured .sfp-details-link { color:#abc49a; }
.sfp-featured .sfp-highlights li > span { color:#d0dfc6; }
.sfp-featured .sfp-highlights li i { color:#b6d793; }
.sfp-comparison { margin-top:26px; border:1px solid #dde6d7; border-radius:15px; background:white; scroll-margin-top:100px; overflow:hidden; }
.sfp-comparison summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:25px; padding:26px 30px; cursor:pointer; }
.sfp-comparison summary::-webkit-details-marker { display:none; }
.sfp-comparison summary strong { display:block; margin-top:10px; font-size:25px; font-weight:550; letter-spacing:-.85px; }
.sfp-summary-copy { display:block; font-size:11px; color:#7a8d70; margin-top:8px; }
.sfp-compare-toggle { display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; background:#eff5e8; color:#849b6b; border-radius:50%; font-size:27px; font-weight:300; }
.sfp-comparison[open] .sfp-compare-toggle { transform:rotate(45deg); }
.sfp-table-scroll { overflow-x:auto; border-top:1px solid #e0e8d8; contain:layout paint; }
.sfp-table-scroll table { border-collapse:collapse; min-width:780px; width:100%; table-layout:fixed; }
.sfp-table-scroll th,.sfp-table-scroll td { padding:15px 14px; border-bottom:1px solid #e9eee3; text-align:center; font-size:11px; line-height:1.6; overflow-wrap:anywhere; }
.sfp-table-scroll th:first-child { width:25%; text-align:start; padding-inline-start:28px; }
.sfp-table-scroll thead th { padding-block:22px; font-size:12px; font-weight:600; background:#f9fbf6; }
.sfp-table-scroll thead th > span { display:block; color:#819274; font-weight:400; margin-top:5px; }
.sfp-table-scroll tbody th { font-weight:450; color:#667b5c; }
.sfp-table-scroll tr > th:first-child { position:sticky; inset-inline-start:0; z-index:1; background:#f9fbf6; }
.sfp-table-scroll td { color:#365c35; }
.sfp-table-scroll .sfp-table-featured { background:#f0f6e7; }
.sfp-cell-unavailable { color:#abb5a5; }
.sfp-table-footnote { padding:18px 28px; font-size:10px; color:#8b9981; }
.sfp-table-tip { display:none; padding:0 20px 15px; color:#7a8d70; font-size:10px; }
@media(max-width:800px) { .sfp-table-tip { display:block; } }
.sfp-guidance { display:flex; align-items:center; gap:28px; padding:35px; border:1px solid #dde6d3; background:#edf3e3; border-radius:17px; margin-top:35px; }
.sfp-guidance-icon { width:64px; height:64px; flex-shrink:0; border:1px solid #c7d7b5; background:#e2ecd6; color:#7f9863; display:grid; place-items:center; border-radius:17px; font-size:29px; transform:rotate(-6deg); }
.sfp-guidance h2 { font-size:28px; letter-spacing:-1px; font-weight:550; margin-top:10px; }
.sfp-guidance p { color:#7b8e6d; font-size:12px; margin-top:10px; }
.sfp-guidance-actions { display:flex; flex-direction:column; align-items:center; margin-inline-start:auto; gap:14px; flex-shrink:0; }
.sfp-guidance-actions .sf-button { background:#234b3c; font-size:12px; }
.sfp-guidance-actions > a:last-child { font-size:10px; color:#637f50; }
.sfp-page :is(a,button,summary,[tabindex]):focus-visible { outline:2px solid #9fb777; outline-offset:4px; }
@media(min-width:1450px) { .sfp-hero { padding:52px 60px; } .sfp-plan { padding:27px; } }
@media(max-width:1100px) { .sfp-hero { padding:38px; } .sfp-hero h1 { font-size:47px; } .sfp-plans { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } .sfp-plan-description { min-height:40px; } }
@media(max-width:800px) { .sfp-hero { grid-template-columns:1fr; padding:36px; } .sfp-growth-art { display:none; } .sfp-hero h1 { font-size:49px; } .sfp-selection-bar { align-items:start; } .sfp-selection-bar h2 { font-size:23px; } .sfp-billing button { padding-inline:14px; } .sfp-guidance { gap:20px; padding:28px; flex-wrap:wrap; } .sfp-guidance-actions { flex-direction:row; margin-inline-start:84px; } }
@media(max-width:640px) { .sfp-page { padding:16px 0 40px; } .sfp-hero { padding:28px 22px; border-radius:17px; } .sfp-eyebrow { font-size:6.5px; letter-spacing:.8px; gap:8px; } .sfp-eyebrow > span { font-size:21px; } .sfp-hero h1 { font-size:39px; letter-spacing:-1.8px; margin-block:18px; } .sfp-hero-copy > p { font-size:12px; } .sfp-selection-bar { flex-direction:column; padding:29px 0 22px; gap:20px; } .sfp-selection-bar h2 { font-size:25px; } .sfp-billing { width:100%; } .sfp-billing button { flex:1; padding:12px 8px; } .sfp-plans { grid-template-columns:1fr; gap:18px; } .sfp-plan { padding:24px; } .sfp-plan-header { margin-bottom:17px; } .sfp-plan h3 { font-size:23px; } .sfp-plan-description { font-size:12px; min-height:0; margin-bottom:22px; } .sfp-price strong { font-size:48px; } .sfp-choose { font-size:12px; } .sfp-highlights li,.sfp-highlights li strong { font-size:12px; } .sfp-highlights > p { font-size:8px; } .sfp-details-link { font-size:11px; } .sfp-comparison summary { padding:24px 20px; gap:15px; } .sfp-comparison summary strong { font-size:23px; } .sfp-compare-toggle { width:35px; height:35px; } .sfp-guidance { display:block; padding:26px; margin-top:24px; } .sfp-guidance-icon { margin-bottom:25px; } .sfp-guidance h2 { font-size:27px; } .sfp-guidance-actions { margin:23px 0 0; justify-content:start; gap:22px; } }
