/* Preserve the supplied portrait and the approved banner proportions. */
html body main :is(.contact-person>img:first-child,.contact-avatar){border:0!important;object-fit:contain;object-position:center;width:230px;height:230px;border-radius:50%!important}
html body main .story-portrait img[src="/assets/david-fojtik-gray.png"]{height:auto;max-height:none;aspect-ratio:2/3;object-fit:contain}
html body main .ref-banner-hero .ref-hero-image{height:auto;aspect-ratio:1891/831;object-fit:contain}
@media(max-width:600px){html body main :is(.contact-person>img:first-child,.contact-avatar){width:200px;height:200px}}

/* David's requested text-first service pages. */
html body main .service-detail.service-detail-text{grid-template-columns:minmax(0,1fr);gap:0;max-width:860px;margin-inline:auto}
/* Only the opening career panel retains David's photo. */
html body .career-page .career-motivation{background:#29242a}
html body .career-page .career-hero-motivation>.career-motivation{background:linear-gradient(135deg,rgba(41,36,42,.32),rgba(41,36,42,.78)),url('/assets/david-fojtik-office.jpeg') center 38%/cover no-repeat}
html body .name-logo span{white-space:normal;max-width:290px}
@media(max-width:600px){html body .name-logo span{max-width:220px}}

/* Keep the open services panel above the page content. The desktop navigation
   has a horizontal overflow rule for narrow screens; that rule must not clip
   a vertically opened panel. */
@media(min-width:1051px){
  html body .personal-header #navigation{overflow:visible;overflow-x:visible;overflow-y:visible}
  html body .personal-header .nav-group{position:relative;z-index:400}
  html body .personal-header .nav-group .nav-panel{z-index:1000;background:#fff;position:absolute;top:100%;left:-20px;min-width:245px;padding:15px 24px;box-shadow:0 12px 30px #0003;border-top:3px solid #b50050}
}
html body .personal-header{z-index:1000}
/* Explicit services menu control: works reliably on desktop and touch devices. */
html body .personal-header .nav-services-toggle{appearance:none;background:transparent;border:0;color:#444;cursor:pointer;font:inherit;font-size:15px;line-height:1.4;padding:12px 0;white-space:nowrap}
html body .personal-header .nav-services-toggle span{color:#b50050;font-size:19px;margin-left:8px}
html body .personal-header .nav-services-toggle:focus-visible{outline:3px solid #b50050;outline-offset:4px}
html body .personal-header .nav-group .nav-panel[hidden]{display:none!important}
html body .personal-header .nav-group.is-open .nav-panel{display:block}
@media(max-width:1050px){html body .personal-header .nav-services-toggle{display:block;width:100%;text-align:left;padding:10px}html body .personal-header .nav-group .nav-panel{position:static;box-shadow:none;min-width:0;padding:0 10px 10px 24px}}
