/* Shared office-information and accessibility controls. */

#hdc-btn{position:fixed;right:26px;bottom:26px;z-index:600;width:60px;height:60px;border-radius:50%;background:var(--aqua);border:none;cursor:pointer;box-shadow:0 10px 30px rgba(24,27,32,.35);display:flex;align-items:center;justify-content:center;transition:.25s}
#hdc-btn:hover{transform:scale(1.07)}
#hdc-btn svg{width:28px;height:28px}
#hdc{position:fixed;right:26px;bottom:100px;z-index:601;width:360px;max-width:calc(100vw - 40px);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(24,27,32,.35);display:none;flex-direction:column;overflow:hidden;font-family:'Inter',sans-serif}
#hdc.open{display:flex}
#hdc .hdc-head{background:var(--teal);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}
#hdc .hdc-head b{font-family:'Highland Standard J','Fraunces',serif;font-size:17px;font-weight:600}
#hdc .hdc-head small{display:block;font-size:11px;color:#c9b98a;margin-top:2px}
#hdc .hdc-close{background:none;border:none;color:#fff;font-size:22px;cursor:pointer;line-height:1}
#hdc .hdc-msgs{padding:16px;height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
#hdc .m{max-width:85%;padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.5}
#hdc .m.bot{background:#fff;border:1px solid rgba(42,45,51,.08);border-bottom-left-radius:4px;align-self:flex-start}
#hdc .m.me{background:var(--aqua);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
#hdc .m a{color:var(--aqua);font-weight:600}
#hdc .m.me a{color:#fff}
#hdc .hdc-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;background:var(--bg)}
#hdc .hdc-chips button{background:#fff;border:1.5px solid rgba(168,134,61,.5);color:var(--ink);border-radius:999px;padding:7px 13px;font-size:12.5px;font-weight:600;cursor:pointer}
#hdc .hdc-chips button:hover{background:var(--aqua);color:#fff;border-color:var(--aqua)}
#hdc .hdc-in{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(42,45,51,.08);background:#fff}
#hdc .hdc-in input{flex:1;border:1.5px solid rgba(42,45,51,.15);border-radius:999px;padding:10px 16px;font-size:14px;font-family:inherit}
#hdc .hdc-in button{background:var(--aqua);color:#fff;border:none;border-radius:50%;width:42px;height:42px;cursor:pointer;font-size:16px}
#hdc .hdc-note{font-size:10px;color:#9aa0a8;text-align:center;padding:0 14px 10px;background:#fff;line-height:1.45}
@media(max-width:640px){#hdc{right:12px;bottom:92px}#hdc-btn{right:16px;bottom:16px}}


#a11y-btn{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:500;background:#22262c;color:#fff;border:none;border-radius:10px 0 0 10px;padding:12px 10px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.25)}
#a11y-btn svg{display:block}
#a11y-panel{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:501;background:#fff;border:1px solid rgba(34,38,44,.15);border-right:none;border-radius:12px 0 0 12px;box-shadow:0 12px 44px rgba(0,0,0,.25);padding:16px;display:none;width:230px;font-family:Arial,sans-serif}
#a11y-panel.open{display:block}
#a11y-panel h3{font-size:14px;margin:0 0 10px;color:#22262c;font-family:inherit}
#a11y-panel button{display:block;width:100%;text-align:left;background:#f5f5f2;border:1px solid rgba(34,38,44,.12);border-radius:8px;padding:9px 12px;margin-bottom:7px;font-size:13.5px;cursor:pointer;color:#22262c}
#a11y-panel button:hover{background:#ece7db}
#a11y-panel button[aria-pressed="true"]{background:#22262c;color:#fff}
#a11y-panel .a11y-close{position:absolute;top:8px;right:10px;width:auto;border:none;background:none;font-size:18px;padding:2px 6px;margin:0}
html.a11y-grayscale{filter:grayscale(1)}
html.a11y-contrast{filter:contrast(1.35)}
html.a11y-negative{filter:invert(1) hue-rotate(180deg)}
html.a11y-negative img{filter:invert(1) hue-rotate(180deg)}
html.a11y-lightbg body{background:#fff !important}
html.a11y-underline a{text-decoration:underline !important}
html.a11y-readable body,html.a11y-readable h1,html.a11y-readable h2,html.a11y-readable h3,html.a11y-readable p,html.a11y-readable a,html.a11y-readable li,html.a11y-readable span{font-family:Arial,Helvetica,sans-serif !important;letter-spacing:.01em}

/* Approved accessibility repairs; retain both established page themes. */
.hd-skip-link{position:fixed;left:12px;top:10px;z-index:3000;padding:12px 18px;background:#fff;color:#22262c;border:3px solid #806023;transform:translateY(-180%);font:600 16px/1.5 Arial,sans-serif}
.hd-skip-link:focus{transform:none}
.hd-modal-open{overflow:hidden}
body #a11y-panel{top:12px;bottom:auto;right:12px;left:auto;transform:none;width:min(280px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;z-index:1200;overscroll-behavior:contain}
body #a11y-panel .a11y-close{position:sticky;top:0;float:right;min-width:44px;min-height:44px;background:#fff;text-align:center;padding:6px;margin:-8px -6px 0 0;z-index:1}
body #a11y-panel h3{padding-top:8px;line-height:1.5}
body #a11y-panel button{min-height:40px}
body #hdc .hdc-note{font-size:12px;color:#545b65;line-height:1.5}
body #hdc .hdc-head small{font-size:12px;color:#eee1c4}
body #hdc .hdc-in button,body #hdc .m.me,body #hdc .hdc-chips button:hover{background:#806023;color:#fff}
body #hdc .m a{color:#755619;text-decoration:underline}
body #hdc .m.urgent{border:2px solid #97352d}
body #hdc .hdc-close{width:44px;height:44px}
body .mobile-call .book,body .side-cta{background:#806023;color:#fff}
.site-home .eyebrow{color:#806023}
.site-home .btn-primary:hover,.site-home .nav-cta:hover{background:#806023}
.site-inner .btn-primary:hover,.site-inner .band.navy .btn-primary:hover{background:#806023;color:#fff}
body #main-content:focus{outline:none}
body .viw-pane[hidden]{display:none}
body .pp-error{margin:12px 0;color:#8b2d25;font-size:16px;font-weight:700}
body .pp-results .budget-total{font-size:16px;font-weight:700;color:#22262c}
@media(max-width:640px){body #a11y-panel{top:12px;bottom:auto;left:12px;right:auto;transform:none;max-height:calc(100dvh - 24px)}}
.site-inner .hero .inner{min-width:0;max-width:100%}
.site-inner .hero h1{overflow-wrap:anywhere}
/* Compose settings without making fixed controls relative to the whole document. */
html{--hd-grayscale:0;--hd-contrast:1;--hd-invert:0;--hd-hue:0deg}
html.a11y-grayscale,html.a11y-contrast,html.a11y-negative{filter:none}
html.a11y-grayscale{--hd-grayscale:1}
html.a11y-contrast{--hd-contrast:1.35}
html.a11y-negative{--hd-invert:1;--hd-hue:180deg}
html:is(.a11y-grayscale,.a11y-contrast,.a11y-negative) body > :not(#a11y-panel):not(#a11y-btn):not(script):not(style){filter:grayscale(var(--hd-grayscale)) contrast(var(--hd-contrast)) invert(var(--hd-invert)) hue-rotate(var(--hd-hue))}

/* October accessibility review: retain the charcoal/gold designs with readable contrast. */
.site-home{--aqua:#806023}
.site-home .dark-section .eyebrow{color:#d3b474}
.site-home .review .gsrc .g-sub{opacity:1}
.site-inner{--gold:#806023}
.site-inner :is(.side,.menu,.band.navy,footer,.viw-note){--gold:#d3b474}
.site-inner :is(.qform,.mp-card,.callout){--gold:#806023}
.site-inner .side-nav .side-cta{background:#806023;color:#fff}
.site-inner .side-nav .side-cta:hover{background:#fff;color:#22262c}
.site-inner .fp .band{--gold:#ecd2a1}
.site-inner .fp .figure figcaption{color:#d0d6dd}
.site-inner .fp .btn-primary,.site-inner .coming-tag{background:#806023;color:#fff}
.site-inner .fp .btn-primary:hover{background:#fff;color:#434e5c}
.site-inner .fp .btn-outline{color:#806023;border-color:#806023}
.site-inner .fp .btn-outline:hover{background:#806023;color:#fff}
body .fineprint{color:#545b65;font-size:13px;line-height:1.6}
body .hd-footer-heading{font-family:inherit;font-size:14px;line-height:1.5;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#fff;margin:0 0 16px}
.site-home .hd-footer-heading{letter-spacing:0;font-size:15px}
/* Give every inner-page footer its own heading scale, independent of page titles. */
.site-inner footer .hd-footer-heading{font-family:'Oswald',sans-serif;font-size:clamp(32px,3.2vw,40px);line-height:1.2;font-weight:600;letter-spacing:.01em;text-transform:none;color:var(--gold,#d3b474);margin:0 0 18px}
/* The body reserves the call bar; this space clears the floating help buttons. */
@media(max-width:920px){.site-inner footer,.site-home footer{padding-bottom:96px}}
body :is(p,li,.callout,.integration-note,.viw-note) > a:not([class]):not(:where(.site-home .nav-links a)){text-decoration:underline;text-underline-offset:.18em}
/* A two-color focus ring remains visible on both the light and charcoal sections. */
body :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #22262c;outline-offset:3px;box-shadow:0 0 0 3px #fff}
body :is(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:calc(var(--header-height,80px) + 16px) calc(var(--mobile-bar-height,0px) + 20px)}
.hd-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.site-home .dd.hd-dismissed > .dd-menu,.site-home .has-fly.hd-dismissed > .dd-fly{display:none}
.site-inner .cmp th[scope="row"]{font-family:inherit;font-size:15px;font-weight:700;letter-spacing:normal;text-transform:none;color:#22262c;background:#fff}
@media(max-width:640px){.site-inner .cmp th[scope="row"]{font-size:13.5px}}
.site-home .guide-band .eyebrow{color:#d3b474}
.site-inner .guide-band{--gold:#d3b474}
.site-inner .guide-band .gform{--gold:#806023}
.site-inner .guide-band .gform p{color:#545b65}
.site-inner .band.navy .clinical-fullsize{color:#806023}
.site-inner .svc-trio .insurance-service-heading{font-family:'Oswald',sans-serif;font-size:19px;font-weight:600;color:#22262c;text-transform:uppercase;margin-bottom:8px;line-height:normal}
.site-inner .side .quick a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.site-inner .endcta h2{overflow-wrap:anywhere}
@media(min-width:1321px){.site-home .dd > a[aria-expanded="true"] + .dd-menu{display:block}.site-home .dd.hd-dismissed > .dd-menu{display:none}}
/* Keep the helper's title and close action visible when a short viewport scrolls. */
body #hdc .hdc-head{position:sticky;top:0;z-index:2}
