.site-footer{background:#fff;border-top:1px solid #d9e5e5;color:#68797b;font-family:FlowInter,Arial,sans-serif;text-align:left}
.footer-inner{padding:40px 56px 32px;max-width:1600px;margin:0 auto}
.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.footer-brand img{display:block;height:32px;width:auto}
.footer-tagline{font-family:FlowMono,monospace;font-size:11px;margin:8px 0 20px}
.footer-nav{display:flex;flex-wrap:wrap;gap:24px}
.site-footer a,.footer-nav button{color:inherit;text-decoration:none;font-size:13px;transition:color .15s}
.footer-nav button{background:none;border:0;border-radius:0;padding:0;font:inherit;font-size:13px;cursor:pointer;letter-spacing:normal;text-transform:none}
.site-footer a:hover,.footer-nav button:hover{color:#198e91}
.site-footer a:focus-visible,.footer-nav button:focus-visible{outline:2px solid #198e91;outline-offset:5px}
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:20px}
.site-footer .footer-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 24px;border-radius:6px;background:#45cdcf;color:#080a0a;font-size:14px}
.site-footer .footer-cta:hover{opacity:.85}
.footer-social{display:flex;align-items:center;gap:16px}
.site-footer .footer-social a{display:inline-flex;align-items:center;padding:6px;margin:-6px;color:inherit}
.site-footer .footer-social a:hover{color:#198e91}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #d9e5e5;margin-top:32px;padding-top:24px}
.footer-legal{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}
.site-footer .footer-legal>a{font-size:inherit}
.footer-bottom p{font:11px/1.8 FlowMono,monospace;margin:0}
/* Keep the mobile footer shallow with all useful navigation visible. */
.footer-mobile-label{display:none}
@media(max-width:700px){
  .footer-inner{padding:16px 20px 20px;display:grid;grid-template-columns:auto auto auto auto;align-items:center;column-gap:16px;row-gap:4px}
  .footer-top,.footer-brand,.footer-contact,.footer-nav,.footer-bottom,.footer-legal{display:contents}
  .footer-brand>a{grid-column:1/3;grid-row:1;justify-self:start;display:flex;align-items:center;min-height:44px}
  .footer-brand img{height:24px;width:auto}
  .site-footer .footer-cta{grid-column:3/5;grid-row:1;justify-self:end;padding:0;background:none;font-size:12px;color:#198e91;white-space:nowrap}
  .footer-tagline,.footer-nav>a,.footer-legal>span:last-child,.footer-desktop-label,.footer-copyright-extra{display:none}
  .footer-mobile-label{display:inline}
  .footer-nav button{display:inline-flex;align-items:center;min-height:44px;font-size:12px;grid-row:2}
  #footer-methodology{grid-column:1}
  #footer-pricing{grid-column:2}
  .footer-legal>a,.footer-legal>span{display:flex;align-items:center;min-height:44px;font-size:12px;grid-row:2;white-space:nowrap}
  .footer-legal>:first-child{grid-column:4}
  .footer-legal>:nth-child(2){grid-column:3}
  .footer-social{display:flex;grid-column:3/5;grid-row:3;justify-self:end;gap:8px;padding-top:4px}
  .site-footer .footer-social a{justify-content:center;width:44px;height:44px;padding:0;margin:0;border:1px solid #d8e9e2;border-radius:9px;background:#f2f9f6;color:#197e74}
  .footer-social svg{width:19px;height:19px}
  .footer-bottom p{grid-column:1/3;grid-row:3;align-self:center;font-size:10px;margin:0;padding-top:4px}
}
@media print{.site-footer{display:none!important}}

/* Pricing dialog uses the same type, teal accent and soft corners as the homepage. */
.pricing-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:32px;border:1px solid #dce7e3;border-radius:20px;background:#fff;color:#15221e;box-shadow:0 24px 80px #102c2833;overflow-y:auto;font-family:var(--font-text,Arial,sans-serif)}
.pricing-dialog::backdrop{background:rgba(12,28,25,.42);backdrop-filter:blur(4px)}
.pricing-dialog .pricing-dismiss{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;padding:8px;border:0;border-radius:50%;background:#f1f5f3;color:#52655d;cursor:pointer}
.pricing-dismiss svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.pricing-eyebrow{margin:0 40px 14px 0;color:#197e74;font-size:10px;font-weight:750;letter-spacing:.1em}
.pricing-dialog h2{margin:0;font-family:var(--font-display,Arial,sans-serif);font-size:28px;line-height:1.2;letter-spacing:-.035em;font-weight:750}
.pricing-dialog .pricing-description{margin:14px 0 22px;color:#5d6c65;font-size:14px;line-height:1.65}
.pricing-offer{padding:22px;border:1px solid #dce9e3;border-radius:12px;background:#f5faf7}
.pricing-offer-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.pricing-offer h3{margin:0;font-size:14px;font-weight:700}
.pricing-available{padding:4px 8px;border-radius:99px;background:#e0f2e9;color:#246e4b;font-size:10px;font-weight:700}
.pricing-amount{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:16px}
.pricing-amount strong{font-size:48px;line-height:1.1;letter-spacing:-.045em}
.pricing-amount>span{font-size:12px;color:#58685f}
.pricing-dialog .pricing-payment-note{margin:6px 0 18px;color:#58685f;font-size:12px}
.pricing-dialog .pricing-includes{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid #dce9e3;display:grid;gap:11px}
.pricing-includes li{position:relative;padding-left:22px;font-size:13px;line-height:1.5;color:#344d42}
.pricing-includes li::before{content:'✓';position:absolute;left:0;color:#16877b;font-weight:700}
.pricing-dialog .pricing-start{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:22px 0 0;padding:15px 18px;border:0;border-radius:9px;background:#43cece;color:#092424;font-size:14px;font-weight:700;cursor:pointer}
.pricing-dialog .pricing-start:hover{background:#32bdbd}
.pricing-dialog button:focus-visible{outline:3px solid #167e79;outline-offset:3px}
.pricing-dialog .pricing-footnote{margin:12px 0 0;text-align:center;font-size:11px;line-height:1.5;color:#64736b}
@media(max-width:480px){.pricing-dialog{padding:26px 20px;border-radius:16px}.pricing-dialog h2{font-size:25px}.pricing-offer{padding:18px}.pricing-amount strong{font-size:42px}.pricing-dialog .pricing-description{font-size:13px}}
@media print{.pricing-dialog{display:none!important}}
