/* Homepage pricing: three offers, followed by readable feature comparisons. */
#pricing { padding-block:72px; background:#fff; color:#003f35; }
#pricing .pricing-heading { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); align-items:end; gap:64px; margin-bottom:36px; }
#pricing .pricing-heading .section-title { margin:0; }
#pricing .pricing-heading .section-title>span { color:#009e68; }
#pricing .pricing-heading .section-lead { margin:0 0 8px; max-width:510px; }
#pricing .pricing-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#pricing .pricing-plan { display:flex; flex-direction:column; min-width:0; padding:28px; border:1px solid rgba(0,63,53,.2); border-radius:26px 26px 5px 26px; background:#f5f7ec; }
#pricing .pricing-plan:last-child { background:#e9eed4; }
#pricing .pricing-plan.pricing-plan-growth { color:#fff; background:#003f35; border-color:#003f35; }
#pricing .pricing-plan-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
#pricing .pricing-plan-head h3 { margin:0; font-size:1.375rem; line-height:1.65; font-weight:700; color:inherit; }
#pricing .pricing-plan-mark { display:grid; place-items:center; width:42px; height:42px; flex-shrink:0; border:1px solid rgba(0,63,53,.22); border-radius:13px 13px 3px 13px; }
#pricing .pricing-plan-mark svg { width:24px; height:24px; }
#pricing .pricing-plan-growth .pricing-plan-mark { color:#c4e970; border-color:rgba(137,227,180,.45); }
#pricing .pricing-billing { margin-top:30px; padding-bottom:24px; border-bottom:1px solid rgba(0,63,53,.18); }
#pricing .pricing-billing-label { display:block; color:#416258; font-size:.875rem; line-height:1.8; }
#pricing .pricing-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px; min-height:76px; margin-top:6px; }
#pricing .pricing-amount { font-size:clamp(2.5rem,3.4vw,3.125rem); font-weight:700; line-height:1.5; letter-spacing:0; }
#pricing .pricing-free { font-size:2.5rem; }
#pricing .pricing-currency { font-size:1rem; }
#pricing .pricing-monthly { margin:3px 0 0; font-size:.9375rem; line-height:1.85; min-height:56px; }
#pricing .pricing-monthly>span { display:block; font-size:.875rem; color:#416258; }
#pricing .pricing-plan-growth .pricing-billing { border-color:rgba(137,227,180,.3); }
#pricing .pricing-plan-growth :is(.pricing-billing-label,.pricing-monthly>span) { color:#89e3b4; }
#pricing .pricing-plan-growth .pricing-amount { color:#c4e970; }
#pricing .pricing-highlights { display:grid; gap:16px; margin:24px 0 28px; }
#pricing .pricing-highlights>div { display:grid; grid-template-columns:95px minmax(0,1fr); gap:12px; align-items:start; }
#pricing .pricing-highlights dt { font-size:.875rem; line-height:1.85; color:#416258; }
#pricing .pricing-highlights dd { margin:0; font-size:1rem; line-height:1.7; font-weight:500; }
#pricing .pricing-plan-growth .pricing-highlights dt { color:#89e3b4; }
#pricing .pricing-cta { display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:52px; padding:12px 18px; margin-top:auto; color:#003f35; background:transparent; border:1px solid #003f35; border-radius:13px 13px 3px 13px; font-size:1rem; line-height:1.75; font-weight:500; text-decoration:none; }
#pricing .pricing-cta:hover { background:#89e3b4; }
#pricing .pricing-plan-growth .pricing-cta { background:#c4e970; border-color:#c4e970; }
#pricing .pricing-plan-growth .pricing-cta:hover { background:#89e3b4; border-color:#89e3b4; }
#pricing :is(.pricing-cta,.pricing-feature-group>summary):focus-visible { outline:3px solid #009e68; outline-offset:4px; }
#pricing .pricing-plan-growth .pricing-cta:focus-visible { outline-color:#89e3b4; }
#pricing .pricing-tax-note { margin:18px 0 0; font-size:.875rem; color:#416258; line-height:1.85; }
#pricing .pricing-comparison { margin-top:48px; }
#pricing :is(.pricing-comparison>h3,.pricing-terms>h3) { margin:0 0 22px; font-size:1.375rem; line-height:1.7; font-weight:700; }
#pricing .pricing-feature-group { border-top:1px solid rgba(0,63,53,.2); }
#pricing .pricing-feature-group:last-child { border-bottom:1px solid rgba(0,63,53,.2); }
#pricing .pricing-feature-group>summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; padding:22px 4px; color:#003f35; font-size:1.125rem; line-height:1.8; font-weight:500; }
#pricing .pricing-feature-group>summary::-webkit-details-marker { display:none; }
#pricing .pricing-disclosure { display:grid; place-items:center; width:30px; height:30px; flex-shrink:0; border:1px solid rgba(0,63,53,.3); border-radius:9px 9px 2px 9px; }
#pricing .pricing-disclosure svg { width:18px; height:18px; }
#pricing .pricing-feature-group[open] .pricing-disclosure { color:#003f35; background:#c4e970; border-color:#c4e970; }
#pricing .pricing-feature-group[open] .pricing-disclosure svg { transform:rotate(45deg); }
#pricing .pricing-table { width:100%; border-collapse:collapse; table-layout:fixed; margin:0 0 26px; font-size:1rem; line-height:1.85; }
#pricing .pricing-table :is(th,td) { width:25%; padding:18px; text-align:right; vertical-align:top; border-bottom:1px solid rgba(0,63,53,.13); overflow-wrap:anywhere; }
#pricing .pricing-table thead th { color:#003f35; background:#e9eed4; font-weight:700; }
#pricing .pricing-table thead th:nth-child(3) { color:#fff; background:#003f35; }
#pricing .pricing-table tbody th { font-weight:500; }
#pricing .pricing-table tbody td { color:#365b4e; }
#pricing .pricing-table tbody td:nth-child(3) { background:#f5f7ec; color:#003f35; }
#pricing .pricing-table tbody tr:last-child :is(th,td) { border-bottom:0; }
#pricing .pricing-mobile-plan { display:none; }
#pricing .pricing-terms { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.8fr); gap:40px; margin-top:38px; padding:30px; border-radius:20px 20px 4px 20px; background:#e9eed4; }
#pricing .pricing-terms>h3 { margin:0; }
#pricing .pricing-terms ul { display:grid; gap:10px; margin:0; padding:0 20px 0 0; color:#365b4e; font-size:1rem; line-height:1.9; }
#pricing .pricing-terms li::marker { color:#009e68; }
#pricing .pricing-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1100px) {
 #pricing .pricing-heading { gap:36px; }
 #pricing .pricing-plan { padding:24px 20px; }
 #pricing .pricing-highlights>div { grid-template-columns:1fr; gap:4px; }
 #pricing .pricing-table :is(th,td) { padding:16px 12px; }
}
@media (max-width:850px) {
 #pricing { padding-block:56px; }
 #pricing .pricing-heading { grid-template-columns:1fr; gap:22px; margin-bottom:28px; }
 #pricing .pricing-heading .section-lead { max-width:680px; margin:0; }
 #pricing .pricing-plans { grid-template-columns:1fr; gap:18px; }
 #pricing .pricing-plan { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px 32px; padding:28px; }
 #pricing .pricing-plan-head { grid-column:1/-1; }
 #pricing .pricing-billing { margin:0; padding:0; border:0; }
 #pricing .pricing-plan-growth .pricing-billing { border:0; }
 #pricing .pricing-highlights { margin:0; gap:12px; }
 #pricing .pricing-cta { grid-column:1/-1; }
 #pricing .pricing-terms { grid-template-columns:1fr; gap:18px; padding:26px; }
}
@media (max-width:600px) {
 #pricing .pricing-plan { padding:24px 20px; gap:22px 16px; }
 #pricing .pricing-plan-head h3 { font-size:1.25rem; }
 #pricing .pricing-amount { font-size:2.5rem; }
 #pricing .pricing-free { font-size:2rem; }
 #pricing .pricing-price { min-height:60px; gap:4px 8px; }
 #pricing .pricing-monthly { font-size:.875rem; }
 #pricing .pricing-highlights dd { font-size:.9375rem; }
 #pricing .pricing-comparison { margin-top:36px; }
 #pricing .pricing-table,#pricing .pricing-table tbody { display:block; }
 #pricing .pricing-table thead { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
 #pricing .pricing-table tbody tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid rgba(0,63,53,.16); padding-bottom:12px; margin-bottom:14px; }
 #pricing .pricing-table tbody tr:last-child { border:0; padding-bottom:0; margin:0; }
 #pricing .pricing-table tbody :is(th,td) { display:block; width:auto; border:0; }
 #pricing .pricing-table tbody th { grid-column:1/-1; padding:12px 8px; font-weight:700; }
 #pricing .pricing-table tbody td { padding:10px 8px; font-size:.9375rem; line-height:1.8; }
 #pricing .pricing-mobile-plan { display:block; color:#003f35; font-size:.875rem; font-weight:700; margin-bottom:8px; }
 #pricing .pricing-feature-group>summary { font-size:1.0625rem; padding-block:20px; }
 #pricing .pricing-terms { padding:24px 20px; }
}
@media (max-width:360px) {
 #pricing .pricing-plan { grid-template-columns:1fr; }
 #pricing .pricing-plan-head,#pricing .pricing-cta { grid-column:1; }
 #pricing .pricing-highlights { padding-top:20px; border-top:1px solid rgba(0,63,53,.18); }
 #pricing .pricing-plan-growth .pricing-highlights { border-color:rgba(137,227,180,.3); }
 #pricing .pricing-highlights>div { grid-template-columns:90px minmax(0,1fr); gap:12px; }
}
#pricing .pricing-more { display:flex; justify-content:center; margin-top:28px; }
#pricing .pricing-details-link { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:14px 24px; min-height:52px; border:1px solid #003f35; border-radius:14px 14px 3px 14px; color:#003f35; background:#e9eed4; font-size:1rem; font-weight:500; line-height:1.8; text-decoration:none; }
#pricing .pricing-details-link:hover { background:#89e3b4; }
#pricing .pricing-details-link:focus-visible { outline:3px solid #009e68; outline-offset:4px; }
