#services .services-grid { align-items: stretch; }
#services .service-card { display: flex; flex-direction: column; align-items: center; }
#services .service-card > p { margin-bottom: 16px; }
#services .pricing-open { margin-top:auto; flex-shrink:0; padding:10px 14px; min-height:44px; font:inherit; font-size:.85rem; }
#pricing-dialog { box-sizing:border-box; width:min(660px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); margin:auto; padding:0; border:1px solid #d4e2d7; border-radius:16px; background:#fff; color:#193c2c; font:inherit; overflow:hidden; box-shadow:0 16px 48px #142e2530; }
#pricing-dialog[open] { display:flex; flex-direction:column; }
#pricing-dialog::backdrop { background:#10291f88; }
#pricing-dialog .pricing-header { flex-shrink:0; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid #e1e9e3; }
#pricing-dialog .pricing-header > div { display:flex; align-items:center; gap:12px; min-width:0; }
#pricing-dialog h2 { font-size:1.25rem; margin:0; }
#pricing-dialog [data-pricing-close] { flex:0 0 44px; height:44px; border:0; border-radius:50%; background:#f1f6f2; color:inherit; font-size:1.7rem; cursor:pointer; }
#pricing-dialog .pricing-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:18px 20px; line-height:1.6; }
#pricing-dialog p { margin:0 0 14px; }
#pricing-dialog table { min-width:0; width:100%; table-layout:fixed; border-collapse:collapse; font-size:.88rem; }
#pricing-dialog th, #pricing-dialog td { padding:10px 7px; border-bottom:1px solid #e1e9e3; text-align:left; overflow-wrap:anywhere; }
#pricing-dialog td { text-align:right; font-variant-numeric:tabular-nums; }
#pricing-dialog .pricing-weight-table th:first-child { width:32%; }
#pricing-dialog tbody th { font-weight:400; }
#pricing-dialog small { display:block; font-size:.75rem; color:#526157; }
#pricing-dialog tbody tr:nth-child(even) { background:#f5f8f5; }
#pricing-dialog [hidden] { display:none !important; }
#pricing-dialog summary { padding:12px 0; font-weight:700; cursor:pointer; }
#pricing-dialog #pricing-expand { margin-top:16px; }
#pricing-dialog .pricing-disclaimer { font-size:.78rem; color:#526157; margin:20px 0 0; }
#pricing-dialog .pricing-footer { flex-shrink:0; padding:14px 20px; border-top:1px solid #e1e9e3; }
#pricing-dialog .pricing-footer .btn { width:100%; box-sizing:border-box; min-height:44px; }
#pricing-dialog :is(button,a,summary):focus-visible { outline:2px solid #39754f; outline-offset:3px; }
.pricing-is-open { overflow:hidden; }
@media(max-width:600px) {
    #pricing-dialog .pricing-header, #pricing-dialog .pricing-body, #pricing-dialog .pricing-footer { padding:14px; }
    #pricing-dialog h2 { font-size:1.1rem; }
    #pricing-dialog .pricing-weight-table thead { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }
    #pricing-dialog .pricing-weight-table, #pricing-dialog .pricing-weight-table tbody { display:block; }
    #pricing-dialog .pricing-weight-table tr { display:block; margin-bottom:12px; border:1px solid #e1e9e3; border-radius:8px; }
    #pricing-dialog .pricing-weight-table th:first-child { display:block; width:auto; font-weight:700; }
    #pricing-dialog .pricing-weight-table td { display:flex; justify-content:space-between; gap:16px; }
    #pricing-dialog .pricing-weight-table td::before { content:attr(data-price-label); text-align:left; }
}

#pricing-dialog table thead th:not(:first-child) { text-align:right; }
