/* Responsive public navigation and footer, shared by home and pricing. */
.ph-mobile-toggle { display:none; }
.ph-mobile { box-sizing:border-box; position:fixed; inset:0 0 0 auto; width:min(420px,100%); height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; color:#071c3b; background:#fff; box-shadow:-12px 0 50px #071c3b24; font:inherit; }
.ph-mobile[open] { display:flex; flex-direction:column; }
.ph-mobile::backdrop { background:#071c3b66; backdrop-filter:blur(4px); }
.ph-mobile * { box-sizing:border-box; }
.ph-mobile__header { flex:none; display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:72px; padding:12px 20px; border-bottom:1px solid #dce7ea; }
.ph-mobile__header h2 { margin:0; font-size:24px; }
.ph-mobile__header button { display:inline-flex; }
.ph-mobile__header button,.ph-mobile-toggle { align-items:center; justify-content:center; width:44px; height:44px; padding:10px; border:1px solid #dce7ea; border-radius:8px; color:#071c3b; background:#fff; cursor:pointer; }
.ph-mobile__content { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:12px 20px; }
.ph-mobile__link,.ph-mobile__group summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:52px; padding:12px 0; color:#071c3b; text-decoration:none; font-size:16px; font-weight:650; border-bottom:1px solid #e6edf1; cursor:pointer; }
.ph-mobile__group summary { list-style:none; }
.ph-mobile__group summary::-webkit-details-marker { display:none; }
.ph-mobile .icon { flex:none; width:20px; height:20px; }
.ph-mobile__group[open] summary { color:#008c80; }
.ph-mobile__group[open] summary>.icon { transform:rotate(180deg); }
.ph-mobile__group > div { padding:8px 12px; border-radius:8px; background:#f2faf8; }
.ph-mobile__group h3 { font-size:13px; color:#536780; margin:12px 0 4px; }
.ph-mobile__group a { display:flex; align-items:center; justify-content:space-between; min-height:44px; gap:12px; padding:10px 0; color:#163251; text-decoration:none; font-size:14px; line-height:1.4; }
.ph-mobile__group a>.icon { width:16px; height:16px; color:#008c80; }
.ph-mobile__footer { flex:none; display:grid; gap:10px; padding:16px 20px max(16px,env(safe-area-inset-bottom)); border-top:1px solid #dce7ea; background:#fff; }
.ph-mobile__footer>a:last-child { display:flex; align-items:center; justify-content:center; gap:10px; min-height:44px; color:#008c80; text-decoration:none; font-size:14px; font-weight:650; }
.ph-mobile :is(a,button,summary):focus-visible { outline:3px solid #00aa9880; outline-offset:2px; }
html.public-mobile-open { overflow:hidden; }

@media (max-width:1024px) {
    html:has(.rl-header--responsive[data-mobile-ready]) { scroll-padding-top:80px; }
    .rl-header--responsive[data-mobile-ready] { height:64px; min-height:64px; }
    .rl-header--responsive[data-mobile-ready] .rl-header__inner { width:calc(100% - 40px); height:64px; min-height:64px; grid-template-columns:auto minmax(0,1fr) auto; grid-template-rows:64px; gap:12px; }
    .rl-header--responsive[data-mobile-ready] .rl-nav { display:none; }
    .rl-header--responsive[data-mobile-ready] .rl-header__actions { justify-self:end; gap:12px; }
    .rl-header--responsive[data-mobile-ready] .rl-login { display:none; }
    .rl-header--responsive[data-mobile-ready] .ph-mobile-toggle { display:inline-flex; }
    .rl-header--responsive .rl-brand { width:144px; }
    .rl-header--responsive .rl-brand .ui-brand-logo { --brand-logo-width:144px; }
    body:has(.rl-header--responsive) .public-site-footer__main { padding:36px 0 28px; gap:28px; }
    body:has(.rl-header--responsive) .public-site-footer__inner { width:calc(100% - 48px); }
}
@media (max-width:640px) {
    .rl-header--responsive[data-mobile-ready] .rl-header__inner { width:calc(100% - 32px); gap:10px; }
    .rl-header--responsive[data-mobile-ready] .rl-header__actions { gap:10px; }
    .rl-header--responsive .rl-header__language { font-size:11px; padding-left:10px; gap:5px; }
    .rl-header--responsive .rl-header__actions .rl-button { min-height:44px; padding-inline:14px; font-size:13px; }
    body:has(.rl-header--responsive) .public-site-footer__inner { width:calc(100% - 32px); }
    body:has(.rl-header--responsive) .public-site-footer__navigation { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
    body:has(.rl-header--responsive) .public-site-footer__navigation>div { gap:8px; }
    body:has(.rl-header--responsive) .public-site-footer__navigation a { font-size:13px; line-height:1.45; min-height:28px; }
    body:has(.rl-header--responsive) .public-site-footer__navigation h2 { font-size:15px; margin-bottom:4px; }
    body:has(.rl-header--responsive) .public-site-footer__contact-links { grid-template-columns:1fr 1fr; gap:12px; }
    body:has(.rl-header--responsive) .public-site-footer__promise { margin:10px 0 16px; font-size:14px; }
    body:has(.rl-header--responsive) .public-site-footer__tagline { margin-top:16px; font-size:18px; }
    body:has(.rl-header--responsive) .public-site-footer__bottom { padding:20px 0; gap:16px; }
    body:has(.rl-header--responsive) .public-site-footer__bottom nav { flex-direction:row; flex-wrap:wrap; gap:10px 16px; }
}
@media (max-width:480px) {
    .rl-header--responsive .rl-brand { width:40px; }
    .rl-header--responsive .rl-brand .ui-brand-logo { --brand-logo-width:40px; }
    .rl-header--responsive .ui-brand-logo--responsive .ui-brand-logo__normal,.rl-header--responsive .ui-brand-logo--responsive .ui-brand-logo__on-dark { display:none!important; }
    .rl-header--responsive .ui-brand-logo--responsive .ui-brand-logo__mark { display:block!important; width:40px; height:40px; }
}
@media (prefers-reduced-motion:reduce) {
    .ph-mobile { animation:none; }
}
