.analytics-consent{position:relative;z-index:9999}
.analytics-consent-panel{position:fixed;inset-inline:16px;bottom:calc(78px + env(safe-area-inset-bottom,0px));max-width:620px;margin-inline:auto;padding:24px;background:#faf9f6;color:#263b37;border:1px solid #d9d2c5;border-top:3px solid #a0783f;border-radius:16px;box-shadow:0 16px 48px #263b3724;max-height:calc(100dvh - 108px - env(safe-area-inset-bottom,0px));overflow:auto;overscroll-behavior:contain;text-align:start;box-sizing:border-box}
.analytics-consent-panel[hidden]{display:none}
.analytics-consent-heading{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.analytics-consent-logo{width:38px;height:48px;object-fit:contain;flex:0 0 38px}
.analytics-consent .analytics-consent-panel h2{font:inherit;font-weight:700;font-size:22px;letter-spacing:normal;line-height:1.5;margin:0;flex:1;min-width:0;overflow-wrap:anywhere;color:#263b37}
.analytics-consent-panel p{font:inherit;font-size:15px;line-height:1.8;margin:0 0 12px;overflow-wrap:anywhere}
.analytics-consent-panel .analytics-consent-welcome{font-size:14px;color:#58655e;padding-bottom:14px;border-bottom:1px solid #dedfd6;margin-bottom:14px}
.analytics-consent-panel a{display:inline-block;color:#263b37;text-decoration:underline;text-underline-offset:4px;font:inherit;font-size:14px;line-height:1.7;padding:6px 0;overflow-wrap:anywhere}
.analytics-consent-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.analytics-consent-actions button,.analytics-consent-launcher,.analytics-consent-close{font:inherit;font-size:14px;min-height:44px;border:1px solid #263b37;border-radius:8px;background:#fff;color:#263b37;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere}
.analytics-consent-actions button{flex:1 1 220px;padding:12px 16px;line-height:1.5;font-weight:700}
.analytics-consent-actions .analytics-consent-allow{background:#263b37;color:#fff}
.analytics-consent-close{flex:0 0 44px;width:44px;min-height:44px;align-self:flex-start;padding:0;border:1px solid #dedfd6;background:transparent;font-family:Arial,sans-serif;font-size:26px;line-height:1}
.analytics-consent-launcher{position:fixed;bottom:calc(12px + env(safe-area-inset-bottom,0px));inset-inline-start:12px;padding:10px 16px;box-shadow:0 2px 8px #263b3720;background:#faf9f6;max-width:calc(100vw - 92px)}
.analytics-consent button:focus-visible,.analytics-consent a:focus-visible{outline:3px solid #a0783f;outline-offset:3px}
@media(hover:hover){.analytics-consent-actions .analytics-consent-allow:hover{background:#344d45}.analytics-consent-reject:hover,.analytics-consent-launcher:hover,.analytics-consent-close:hover{background:#eef3ef}}
@media(max-width:480px){.analytics-consent-panel{inset-inline:12px;padding:18px;border-radius:12px}.analytics-consent-heading{gap:10px}.analytics-consent .analytics-consent-panel h2{font-size:20px}.analytics-consent-actions button{flex-basis:100%}}
@media print{.analytics-consent{display:none}}

/* Home pages embed their critical styles, reserve footer room there too. */
.site-v3 .footer{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}

/* Keep long translated home headings and practice links within narrow screens. */
.site-v4 .hero h1{overflow-wrap:anywhere}
.practice-entry>div{min-width:0}
.practice-entry h3{overflow-wrap:anywhere}
@media(max-width:480px){html[dir=ltr] .site-v4 .hero h1{font-size:clamp(26px,8vw,38px)}}
.assistant-main h2{overflow-wrap:anywhere}
.analytics-consent-launcher{max-width:calc(100vw - 92px);overflow-wrap:anywhere}
.header .brand-sub{overflow-wrap:anywhere}
