body.admin-bar .site-header { top: calc(32px + env(safe-area-inset-top, 0px)); }
@media (max-width: 782px) { body.admin-bar .site-header { top: calc(46px + env(safe-area-inset-top, 0px)); } }
.owl-menu, .owl-menu > li { list-style: none; margin: 0; padding: 0; }
.desktop-nav > .owl-menu, .site-footer nav > .owl-menu { display: flex; align-items: center; gap: inherit; }
.site-footer nav > .owl-menu { flex-wrap: wrap; }
.mobile-nav nav > .owl-menu { display: grid; gap: 8px; }
.mobile-nav nav .owl-menu a { display: flex; margin-top: 0; min-height: 48px; padding: 12px 16px; border: 1px solid #dec18c35; border-radius: var(--da-radius-sm); color: inherit; }
.team-profile-description { white-space: pre-line; }
.company-pages [data-team-directory] { margin-top: var(--da-space-6); }
.team-directory-overview > .team-photo-preview { margin-top: var(--da-space-6); margin-bottom: 0; }
.team-carousel-portrait { display: block; flex-shrink: 0; overflow: hidden; aspect-ratio: 4 / 5; }
/* Frame Ivana's original photograph to match the team's head-and-torso portraits. */
.team-carousel-member img[src$="/ivana-popovic.jpeg"],
.company-pages .team-person-photo img[src$="/ivana-popovic.jpeg"],
.company-pages .team-profile-portrait img[src$="/ivana-popovic.jpeg"] {
  aspect-ratio: 4 / 5;
  object-position: center 25%;
  scale: 1.2;
  transform-origin: center 15%;
}
@media (max-width: 600px) {
  .company-pages .team-profile-portrait img[src$="/ivana-popovic.jpeg"] {
    object-position: center 12%;
    transform-origin: center top;
  }
}
.team-department-overview { margin-top: clamp(48px, 6vw, 80px); }
.team-department-cards { margin-top: var(--da-space-6); }
.dispatch-site .wp-content { padding-block: var(--da-section); min-height: 60vh; }
.dispatch-site .wp-content > * + * { margin-top: 24px; }
.company-pages .office-story-grid { grid-auto-rows: minmax(180px, auto); }
.company-overlay [hidden] { display: none !important; }

/* Keep the website form layout while using Contact Form 7's native controls. */
.application-panel > .wpcf7 { min-width: 0; width: 100%; }
.contact-form-panel > .wpcf7 { display: flex; flex-direction: column; flex: 1; }
.owl-contact-form .wpcf7-form-control-wrap { display: block; min-width: 0; width: 100%; }
.owl-contact-form [hidden] { display: none !important; }
.owl-contact-form .form-consent .wpcf7-list-item { margin: 0; }
.owl-contact-form .form-consent .wpcf7-list-item > label { display: flex; align-items: flex-start; gap: var(--da-space-3); }
.owl-contact-form .form-consent .wpcf7-list-item-label { min-width: 0; }
.owl-contact-form .cv-dropzone > .wpcf7-form-control-wrap { order: 4; }
.owl-contact-form .wpcf7-not-valid-tip { margin-top: 8px; color: #d75555; font-size: 13px; line-height: 1.5; }
.dispatch-site .owl-contact-form input.wpcf7-submit { min-height: 54px; padding: 16px 24px; border: 1px solid var(--da-gold); border-radius: var(--da-radius-sm); background: transparent; color: var(--da-gold); font: 600 14px/1.5 var(--da-font); text-align: center; cursor: pointer; }
.dispatch-site .owl-contact-form input.wpcf7-submit:hover { background: transparent; border-color: var(--da-gold-hover); color: var(--da-gold-hover); }
.dispatch-site .owl-contact-form input.wpcf7-submit:disabled { cursor: wait; opacity: .6; }
.dispatch-site .wpcf7 .wpcf7-spinner { align-self: center; margin: -12px 0 0; }
.dispatch-site .wpcf7 form .wpcf7-response-output { margin: 0; padding: 16px 20px; border: 1px solid var(--da-gold); border-radius: var(--da-radius-sm); color: var(--da-text); font-size: var(--da-text-sm); line-height: 1.7; }
.dispatch-site .wpcf7 form:is(.invalid, .failed, .aborted, .spam) .wpcf7-response-output { border-color: #d75555; }

/* Comfortable controls and safe spacing in iPhone Safari, including landscape. */
.dispatch-site :where(a, button, summary) { touch-action: manipulation; -webkit-tap-highlight-color: #dec18c26; }
.dispatch-site :is(button, input[type="submit"]) { -webkit-appearance: none; appearance: none; }
.wrap { width: calc(100% - max(var(--da-gutter), env(safe-area-inset-left, 0px)) - max(var(--da-gutter), env(safe-area-inset-right, 0px))); }
.site-header, .announcement {
  padding-left: max(var(--da-gutter), calc((100% - 1280px) / 2), env(safe-area-inset-left, 0px));
  padding-right: max(var(--da-gutter), calc((100% - 1280px) / 2), env(safe-area-inset-right, 0px));
}
.announcement { padding-top: calc(8px + env(safe-area-inset-top, 0px)); }
.site-header { top: env(safe-area-inset-top, 0px); }
.site-footer { padding-bottom: max(var(--da-space-6), env(safe-area-inset-bottom, 0px)); }
.dispatch-site section[id], .dispatch-site [id="privacy"] { scroll-margin-top: calc(var(--header-height) + env(safe-area-inset-top, 0px) + 16px); }
.dispatch-site :is(.button, .text-link, .service-card a, input[type="submit"]):active { background: #dec18c12; }
.service-card a:hover, .team-card:hover .team-card-link { border-color: var(--da-gold); }
.contact-breadcrumb .text-link { border: 0; padding: 8px 0; }
.company-pages .department-page-nav .text-link[aria-current="page"] { border: 1px solid var(--da-gold); }

@media (max-width: 1100px) {
  .site-header, .site-header.is-scrolled { background: #101820; }
  .mobile-nav nav {
    max-height: calc(100svh - var(--header-height) - env(safe-area-inset-top, 0px) - 24px);
    max-height: calc(100dvh - var(--header-height) - env(safe-area-inset-top, 0px) - 24px);
    padding-bottom: max(20px, env(safe-area-inset-bottom, 0px));
    padding-left: max(var(--da-gutter), env(safe-area-inset-left, 0px));
    padding-right: max(var(--da-gutter), env(safe-area-inset-right, 0px));
  }
  .dispatch-site :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), select, textarea) { font-size: 16px; }
}
@media (max-width: 600px) {
  .hero-actions .text-link { width: 100%; }
  .team-carousel-controls { gap: 8px; }
  .form-consent { min-height: 44px; padding-block: 8px; }
  .company-pages .company-overlay {
    height: 100vh;
    height: 100dvh;
    padding: max(12px, env(safe-area-inset-top, 0px)) max(12px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
  }
  .company-pages .team-profile-card { max-height: calc(100dvh - 180px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); }
  .company-pages .office-viewer-photo img { max-height: calc(100dvh - 220px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); }
}
@media (hover: none) {
  .team-carousel-controls button:hover:not(:disabled), .reviews-controls button:hover:not(:disabled) { background: transparent; color: var(--da-gold); }
  .team-card:hover, .company-pages .company-person:hover { transform: none; }
}
