/* Public policies, editorial pages and standalone communication forms share
   the homepage palette, type and spacing. Keep legacy page rules out of this scope. */
body.vof-journey-shell { margin:0; }
.vof-public-page { box-sizing:border-box; width:100%; max-width:1080px; margin:0 auto; padding:48px 48px 16px; color:var(--vof-ink); font:17px/1.65 var(--vo-font-body, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); overflow-wrap:anywhere; }
.vof-public-page * { box-sizing:border-box; }
.vof-public-heading { margin:0 0 28px; }
.vof-public-page h1 { margin:0 0 16px; color:var(--vof-ink); font:500 clamp(34px,4.5vw,52px)/1.12 var(--vo-font-display, Georgia,"Times New Roman",serif); letter-spacing:-.02em; text-transform:none; }
.vof-public-page .vof-public-heading>p { max-width:70ch; margin:0; color:var(--vof-muted); font-size:18px; }
.vof-public-page .eyebrow,.vof-public-page .vof-public-heading>.eyebrow { margin:0 0 12px; color:var(--vof-teal); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.vof-public-card,.vof-public-page .sms-card { padding:clamp(24px,4vw,40px); border:1px solid var(--vof-line); border-radius:16px; background:#fff; box-shadow:none; }
.vof-public-page h2 { margin:32px 0 14px; color:var(--vof-ink); font:500 clamp(25px,3vw,32px)/1.25 var(--vo-font-display, Georgia,"Times New Roman",serif); letter-spacing:normal; text-transform:none; }
.vof-public-page h3,.vof-public-page h4 { margin:28px 0 12px; color:var(--vof-ink); font:600 20px/1.4 var(--vo-font-body, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); text-transform:none; }
.vof-public-card>h2:first-child,.vof-public-card>section:first-child>h2:first-child { margin-top:0; }
.vof-public-page p { margin:0 0 18px; font:inherit; color:inherit; }
.vof-public-page ul,.vof-public-page ol { margin:0 0 20px; padding-left:24px; font:inherit; }
.vof-public-page li { margin:8px 0; font:inherit; }
.vof-public-page a { color:var(--vof-teal); text-decoration:underline; text-underline-offset:3px; }
.vof-public-page a:hover { color:var(--vo-action-hover, #104f4c); text-decoration-thickness:2px; }
.vof-public-page :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--vo-focus, #956423); outline-offset:4px; }
.vof-public-page [id] { scroll-margin-top:28px; }
.vof-public-page img,.vof-public-page video,.vof-public-page iframe { max-width:100%; }
.vof-public-page img { height:auto; }
.vof-public-page table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.vof-public-page th,.vof-public-page td { padding:12px; border:1px solid var(--vof-line); text-align:left; }
.vof-public-page blockquote { margin:24px 0; padding:12px 20px; border-left:3px solid var(--vof-teal); background:var(--vof-paper); }
.vof-public-page .sms-note { background:var(--vof-paper); border-left:3px solid var(--vof-teal); border-radius:4px; padding:16px 18px; font-size:15px; }
.vof-public-page .sms-field { display:block; font-weight:600; margin:24px 0 6px; }
.vof-public-page .sms-input { display:block; width:100%; min-height:48px; padding:12px 14px; border:1px solid #9dafad; border-radius:8px; color:var(--vof-ink); font:inherit; }
.vof-public-page .sms-hint,.vof-public-page .sms-policies { margin:12px 0 20px; font-size:14px; color:var(--vof-muted); }
.vof-public-page .sms-consent { display:flex; align-items:flex-start; gap:12px; padding:20px; border:1px solid var(--vof-line); border-radius:8px; background:var(--vof-paper); font-size:15px; }
.vof-public-page .sms-consent input { flex:0 0 auto; width:20px; height:20px; margin:4px 0; accent-color:var(--vof-teal); }
.vof-public-page .sms-button { width:100%; min-height:48px; padding:14px 24px; border:1px solid var(--vof-teal); border-radius:8px; background:var(--vof-teal); color:#fff; font:600 17px/1.4 var(--vo-font-body, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); cursor:pointer; }
.vof-public-page .sms-button:hover { background:var(--vo-action-hover, #104f4c); }
.vof-public-page .sms-error { padding:16px; border:1px solid #b9644d; border-radius:8px; background:#fff4ed; color:#813814; }
.vof-public-page .sms-check { display:inline-grid; place-items:center; width:50px; height:50px; margin-bottom:24px; border-radius:50%; background:#e3eeeb; color:var(--vof-teal); font-size:28px; }
.vof-public-page .sms-back { display:inline-block; margin-top:8px; }
.vof-public-page .sms-trap { display:none; }
.vof-public-post+ .vof-public-post { border-top:1px solid var(--vof-line); padding-top:8px; margin-top:28px; }
.vof-public-newsletter { margin-top:28px; }
.vof-public-newsletter form { max-width:600px; }
.vof-public-newsletter .form-group { margin:0 0 18px; }
.vof-public-newsletter label { display:block; color:var(--vof-ink); font:600 16px/1.5 var(--vo-font-body, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); }
.vof-public-newsletter .form-control { display:block; width:100%; min-height:48px; margin:6px 0 0; padding:12px 14px; border:1px solid #9dafad; border-radius:8px; background:#fff; color:var(--vof-ink); font:inherit; }
.vof-public-newsletter input[type=checkbox] { appearance:auto; width:20px; height:20px; accent-color:var(--vof-teal); vertical-align:middle; }
.vof-public-newsletter input[type=submit] { display:block; width:auto; min-height:48px; margin:16px 0 0; padding:12px 24px; border:1px solid var(--vof-teal); border-radius:8px; background:var(--vof-teal); color:#fff; font:600 17px/1.4 var(--vo-font-body, -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); }
.vof-public-newsletter input[type=submit]:hover { background:var(--vo-action-hover, #104f4c); }
.vof-public-newsletter input[type=submit]:disabled { opacity:.55; cursor:not-allowed; }
.vof-public-newsletter p.error { color:#9a3029; font-size:14px; }
.vof-public-policy-links { display:flex; flex-wrap:wrap; gap:4px 24px; padding:20px 0 0; font-size:14px; }
.vof-public-policy-links a { display:inline-flex; align-items:center; min-height:44px; }
.vof-public-skip { position:absolute; left:16px; top:-100px; padding:12px 16px; background:#fff; color:#14635f; z-index:100; }
.vof-public-skip:focus { top:12px; }
@media(max-width:700px) {
  .vof-public-page { padding:28px 20px 8px; font-size:16px; }
  .vof-public-heading { margin-bottom:24px; }
  .vof-public-page .vof-public-heading>p { font-size:16px; }
  .vof-public-card,.vof-public-page .sms-card { padding:24px 20px; border-radius:12px; }
  .vof-public-page .sms-consent { padding:16px; }
}
@media(max-width:400px) {
  .vof-public-newsletter .g-recaptcha { transform:scale(.74); transform-origin:left top; height:60px; }
}
@media print {
  .vof-site-header,.vof-site-footer,.vof-public-skip,.vof-public-policy-links { display:none; }
  .vof-public-page { max-width:none; padding:0; }
  .vof-public-card,.vof-public-page .sms-card { border:0; padding:0; }
}
