/* Contact page layout around the progressively enhanced city map. */
.company-location-content { min-width:0; }
.company-location-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:clamp(1rem,3vw,3rem); align-items:end; margin:0 0 1.1rem; }
.company-location-heading h2 { margin-bottom:0; }
.company-location-heading > div > p:not(.company-overline) { margin:0; }
.company-location .company-location-route { display:flex; align-items:baseline; flex-wrap:wrap; gap:.15rem .56rem; margin:1.1rem 0 .7rem; max-width:none; color:#365659; font-size:.95rem; font-weight:650; }
.company-location-route > [aria-hidden] { font-weight:400; color:#658082; }
.company-location-content [data-journey-map] { width:100%; max-width:100%; min-width:0; }
.company-location-content > [data-journey-map] > figure { max-width:820px; margin:0 auto; }
.company-location-content .company-map-controls-hint { display:none; font-size:.9rem; margin:.65rem 0 0; color:#405c61; }
.company-location-content:has([data-journey-map] button) .company-map-controls-hint { display:block; }
@media (max-width:785px) {
 .company-location-heading { grid-template-columns:1fr; align-items:start; gap:.65rem; }
 .company-location .company-location-route { font-size:.85rem; gap:.15rem .38rem; margin-top:.8rem; }
}

/* Process selection is native details/summary, including without scripts. */
.company-process-picker { align-items:start; gap:clamp(.7rem,1.6vw,1.45rem); }
.company-process-picker li { border:0; padding:0; }
.company-process-picker details { border:1px solid #537179; border-top:2px solid #74969c; border-radius:5px; overflow:hidden; background:#182f37; }
.company-process-picker details[open] { border-top-color:#ff9e6d; }
.company-process-picker summary { position:relative; display:block; cursor:pointer; list-style:none; color:#f1f8f7; padding:1.05rem clamp(.95rem,1.55vw,1.3rem) 1.2rem; }
.company-process-picker summary::-webkit-details-marker { display:none; }
.company-process-picker summary:hover { background:#203b43; }
.company-process-picker summary:focus-visible { outline:2px solid #ffac7b; outline-offset:-3px; }
.company-process-picker .company-step-icon { margin-bottom:.75rem; }
.company-step-title, .company-step-subtitle { display:block; padding-right:1.65rem; }
.company-step-title { font-size:clamp(1.05rem,1.7vw,1.36rem); font-weight:660; }
.company-step-subtitle { color:#b9d3d3; font-size:.88rem; line-height:1.4; margin-top:.3rem; }
.company-step-toggle { position:absolute; right:1rem; bottom:1.2rem; font-size:1.25rem; line-height:1; color:#a5d7d1; }
.company-process-picker details[open] .company-step-toggle { transform:rotate(45deg); color:#ffaa77; }
.company-step-details { border-top:1px solid #455f67; padding:1rem clamp(.95rem,1.55vw,1.3rem); }
.company-step-details p { color:#deebec; }
.company-step-details .company-step-result { margin-top:.8rem; }
.company-step-result strong { display:block; font-size:.79rem; color:#fbb58f; margin-bottom:.2rem; }

.company-contact .company-city-link dd a { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:.15rem .7rem; }
.company-map-invite { font-size:.88rem; font-weight:570; color:#a6ecdf; text-decoration:underline; text-underline-offset:.2em; }
@supports selector(details::details-content) {
  @media (min-width:786px) {
    .company-process-picker { row-gap:.55rem; }
    .company-process-picker li, .company-process-picker details, .company-process-picker details::details-content { display:contents; }
    .company-process-picker li:nth-child(1) summary { grid-column:1; }
    .company-process-picker li:nth-child(2) summary { grid-column:2; }
    .company-process-picker li:nth-child(3) summary { grid-column:3; }
    .company-process-picker summary { grid-row:1; border:1px solid #537179; border-top:2px solid #74969c; border-radius:5px; background:#1b333d; }
    .company-process-picker details[open] summary { border-top-color:#ff9e6d; background:#213a43; }
    .company-process-picker .company-step-details { grid-row:2; grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:2rem; padding:1.3rem; border:1px solid #48646a; border-radius:5px; background:#1b333d; }
    .company-process-picker details:not([open]) .company-step-details { display:none; }
    .company-step-details .company-step-result { margin:0; border-left:1px solid #63868b; padding-left:1.3rem; }
  }
}

.company-team { scroll-margin-top:7rem; }

/* Direct messenger links retain the platform's choice of web or native app. */
.company-contact .company-messengers { display:flex; flex-wrap:wrap; align-items:stretch; gap:.5rem; margin:.8rem 0 .6rem; }
.company-contact .company-messenger { display:inline-flex; align-items:center; justify-content:flex-start; flex:1 1 8.2rem; min-width:0; min-height:44px; box-sizing:border-box; gap:.45rem; padding:.5rem .65rem; border:1px solid #65888d; border-radius:5px; background:#233e46; color:#f3f9f8; text-decoration:none; font-size:.95rem; font-weight:620; line-height:1.12; }
.company-messenger img { width:25px; height:25px; flex:none; }
.company-messenger-arrow { margin-inline-start:auto; color:#c1e1de; font-size:.85rem; }
@media (hover:hover) { .company-contact .company-messenger:hover { border-color:#a7dfe2; background:#304e57; text-decoration:none; } }
.company-contact .company-messenger:focus-visible { border-color:#ffae7b; outline:2px solid #ffae7b; outline-offset:3px; }
.company-team #custom-plant { scroll-margin-top:7rem; }
@media (max-width:440px) {
  .company-contact .company-messenger { gap:.35rem; padding-inline:.45rem; }
  .company-messenger-arrow { font-size:.76rem; }
}
