/* WeManage: exact type scale and content rhythm from the supplied client HTML.
   Visual-only: preserve existing header/drawer functionality, hero position and brand palette. */
:root {
  --wm-body-font: Georgia, 'Times New Roman', serif;
  --wm-heading-font: -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
  --wm-reference-width: 1120px;
}
html { font-size: 16px; }
body { font-family: var(--wm-body-font) !important; font-size:16px !important; line-height:1.6 !important; letter-spacing:normal !important; }
body :is(h1,h2,h3), body :is(.sans,button,nav,input,select,textarea,label,summary) { font-family:var(--wm-heading-font) !important; }
body h1 { font-size:clamp(1.9rem,4.2vw,2.8rem) !important; line-height:1.1 !important; font-weight:700 !important; letter-spacing:-.02em !important; }
body h2 { font-size:clamp(1.5rem,3.4vw,2.2rem) !important; line-height:1.2 !important; font-weight:700 !important; letter-spacing:-.01em !important; margin-bottom:.7rem !important; }
body h3 { font-size:1.05rem !important; line-height:1.4 !important; font-weight:700 !important; letter-spacing:normal !important; margin-bottom:.35rem !important; }
body p { font-size:inherit; line-height:1.6; max-width:62ch; margin-bottom:.8rem; letter-spacing:normal; }
body .fine, body p.fine { font:normal .8rem/1.45 var(--wm-heading-font) !important; }
body .k { font:600 .75rem/1 var(--wm-heading-font) !important; letter-spacing:.14em !important; margin-bottom:.8rem !important; }
body .w { width:100%; max-width:var(--wm-reference-width); margin-inline:auto; padding-inline:20px; }
body .s { padding-block:64px; }
body .g2 { gap:48px; }
body .g3 { gap:20px; }
body .g4 { gap:18px; }
body .card { padding:24px; }
body .hero p.l { font-size:1.12rem !important; line-height:1.6 !important; }
body .form label { font-size:.8rem !important; font-weight:600 !important; }
body input, body select, body textarea { font-size:.95rem !important; }
body .form h2 { font-size:1.4rem !important; line-height:1.2 !important; }
body .btn { font-family:var(--wm-heading-font) !important; font-size:.95rem !important; font-weight:600 !important; }
body .btn.sm { font-size:.85rem !important; }
body .ev .w { font:normal .86rem/1.6 var(--wm-heading-font) !important; }
body table { font:normal .9rem/1.6 var(--wm-heading-font) !important; }
body th, body td { padding:11px 12px; }
body footer { font:normal .88rem/1.6 var(--wm-heading-font) !important; }
body .legal { font-size:.78rem !important; }
/* Preserve components' grid/mobile behavior while restoring reference spacing. */
@media(max-width:860px) {
  body .s { padding-block:44px; }
  body :is(.g2,.g3,.g4) { gap:24px; }
  body .w { padding-inline:20px; }
}
@media(max-width:480px) {
  body .w { padding-inline:16px; }
  body .card { padding:20px; }
}
