/* Extends the current parent design and local fonts. */
.jhe-page-hero { padding: 48px 0 36px; }
.jhe-page-hero h1 { max-width: 22ch; font-size: clamp(2.5rem, 4.5vw, 4.5rem); line-height: 1.04; text-wrap: balance; }
.jhe-page-hero .jh-page-hero__lead { max-width: 68ch; margin-top: 20px; }
.jhe-page-hero .jh-live { margin: 22px 0 0; font-size: 14px; letter-spacing: .06em; }
.jhe-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:24px; }
.jhe-sms { display:inline-flex; min-height:48px; align-items:center; color:var(--bone); text-underline-offset:5px; }
.jhe-page-body { display:grid; grid-template-columns:minmax(0, 1fr); gap:48px; padding-top:48px; padding-bottom:64px; }
.jhe-page-body .jh-prose { max-width:75ch; min-width:0; }
.jhe-page-body .jh-prose h2 { font-size:clamp(1.8rem,3vw,2.4rem); margin-top:1.7em; }
.jhe-page-body .jh-prose section:first-child h2 { margin-top:0; }
.jhe-page-body .jh-prose a { overflow-wrap:anywhere; }
.jhe-page-body details { border-top:1px solid var(--rule); padding:16px 0; }
.jhe-page-body summary { cursor:pointer; min-height:48px; display:list-item; font-weight:700; }
.jhe-contact-panel { align-self:start; background:var(--ink-800); color:var(--bone); padding:28px; border-top:3px solid var(--copper); }
.jhe-contact-panel h2 { font:800 2rem/1.1 var(--display); color:var(--bone); margin:0 0 14px; }
.jhe-panel-number { color:var(--white); font:800 clamp(1.8rem,3vw,2.3rem)/1.2 var(--display); white-space:nowrap; }
.jhe-contact-panel p,.jhe-contact-panel li { font-size:16px; }
.jhe-contact-panel ul { padding-left:20px; margin:22px 0; }
.jhe-contact-panel .jh-text-link { color:var(--copper-light); }
.jhe-portrait { max-width:430px; margin:0 0 32px; }
.jhe-portrait img { width:100%; height:auto; }
.jhe-portrait figcaption { color:var(--steel); font-size:15px; margin-top:10px; }
.jhe-home-links { display:flex; flex-wrap:wrap; gap:12px 28px; padding-top:22px; }
.jh-direct .jhe-home-links .jh-text-link { color:var(--copper-light); }
.jhe-compact-links { margin-top:20px; }
.jhe-compact-links .jh-text-link { display:inline-flex; min-height:48px; align-items:center; }
.jhe-home-directory { padding:36px 0; border-bottom:1px solid var(--rule); }
.jhe-home-directory h2 { font:800 clamp(1.6rem,3vw,2rem)/1.1 var(--display); margin:0; }
.jhe-home-directory .jhe-home-links { padding-top:16px; }
.jhe-home-directory a { min-height:48px; display:inline-flex; align-items:center; }
.jh-nav-list>li>a { min-height:48px; display:inline-flex; align-items:center; }
.jh-mobile-menu { max-height:calc(100dvh - var(--header-h)); overflow-y:auto; overscroll-behavior:contain; }
.jh-mobile-nav-list>li>a { min-height:48px; }
:focus-visible { outline:3px solid var(--copper-light); outline-offset:4px; }
.cookieadmin_law_container { max-height:calc(100dvh - 24px); overflow-y:auto; }
@media(min-width:1024px) { .jhe-page-body { grid-template-columns:minmax(0, 1fr) 310px; gap:72px; } }
@media(max-width:767px) {
 .jhe-page-hero { padding:30px 0; }
 .jhe-page-hero h1 { font-size:clamp(2.2rem,10vw,3rem); }
 .jhe-page-hero .jh-button { max-width:100%; font-size:20px; padding:16px; }
 .jhe-page-hero .jh-button__num { font-size:22px; }
 .jhe-page-body { gap:32px; padding-top:32px; }
 .jhe-contact-panel { padding:24px; }
 .jhe-actions { gap:8px 20px; }
 /* Keep the real consent controls usable. Plugin text/categories stay under plugin ownership. */
 .cookieadmin_law_container { width:calc(100% - 24px)!important; left:12px!important; right:12px!important; bottom:12px!important; max-height:45dvh; }
 .cookieadmin_law_container .cookieadmin_consent_inside { padding:14px!important; }
 .cookieadmin_law_container p { font-size:14px!important; line-height:1.4!important; margin:0 0 10px!important; }
 .cookieadmin_law_container button { min-height:48px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
