﻿.pio-contact-page {
    -\-pio-contact-card: #fff;
    -\-pio-contact-surface: var(-\-pio-legal-surface);
    -\-pio-contact-line: var(-\-pio-legal-line);
    -\-pio-contact-ink: var(-\-pio-legal-ink);
    -\-pio-contact-text: var(-\-pio-legal-text);
    -\-pio-contact-accent: var(-\-pio-legal-accent);
    -\-pio-contact-accent-soft: var(-\-pio-legal-accent-soft);
    -\-pio-contact-radius: 24px;
    margin-bottom: calc(-1 * var(-\-pio-section-space));
}
body[data-bs-theme="dark"] .pio-contact-page {
    -\-pio-contact-card: var(-\-pio-legal-hero-bg);
}
.pio-contact-icon {
    display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
    width: 2.5rem; height: 2.5rem; border-radius: 12px;
    background: var(-\-pio-contact-accent-soft); color: var(-\-pio-contact-accent);
}
.pio-contact-icon svg {
    width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor;
    stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
}
.pio-contact-hero-copy .pio-legal-intro { max-width: 46rem; }
.pio-contact-section { padding-block: clamp(3rem, 5vw, 5rem); scroll-margin-top: calc(var(-\-pio-navbar-h, 78px) + 1.5rem); }
.pio-contact-feature {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: stretch;
    border: 1px solid var(-\-pio-contact-line);
    border-radius: var(-\-pio-contact-radius);
    background: var(-\-pio-contact-card);
    overflow: hidden;
}
.pio-contact-media {
    position: relative;
    min-height: 30rem;
    margin: .75rem;
    border-radius: calc(var(-\-pio-contact-radius) - .75rem);
    overflow: hidden;
    background: var(-\-pio-contact-surface);
}
.pio-contact-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% center; }
.pio-contact-media figcaption {
    position: absolute; inset-inline: 1.25rem; bottom: 1.25rem;
    display: flex; align-items: center; gap: .75rem; padding: 1.25rem;
    border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px;
    background: linear-gradient(135deg, var(-\-pio-legal-hero-tint) 0%, rgba(21, 40, 71, 0) 32%), rgba(10, 21, 37, .92);
    color: #fff;
}
.pio-contact-media figcaption > span:last-child { display: grid; gap: .375rem; min-width: 0; }
.pio-contact-media figcaption strong { font-size: .9375rem; font-weight: 700; line-height: 1.6; }
.pio-contact-media figcaption > span:last-child > span { font-size: .8125rem; line-height: 1.6; color: rgba(255, 255, 255, .75); }
.pio-contact-media figcaption .pio-contact-icon { color: var(-\-pio-primary-color, #FFA000); background: rgba(255, 160, 0, .12); }
.pio-contact-office-copy { min-width: 0; padding: clamp(1.5rem, 3vw, 3rem); }
.pio-contact-eyebrow {
    display: flex; align-items: center; gap: .75rem; margin: 0 0 .875rem;
    color: var(-\-pio-contact-accent);
    font-size: calc(var(-\-pio-section-eyebrow-size, 20px) * .75); font-weight: 700; line-height: 1.5;
}
.pio-contact-eyebrow::before { content: ""; flex: 0 0 auto; width: 2.5rem; height: 2px; background: var(-\-pio-primary-color, #FFA000); }
.pio-contact-title {
    margin: 0 0 .75rem;
    color: var(-\-pio-contact-ink);
    font-size: clamp(1.625rem, calc(1.1rem + 1.6vw), var(-\-pio-section-heading-size, 38px));
    font-weight: var(-\-pio-section-heading-weight, 600);
    line-height: 1.35;
}
.pio-contact-country { display: inline-flex; margin: 0 0 1rem; padding: .25rem .75rem; border-radius: 6px; background: var(-\-pio-contact-accent-soft); color: var(-\-pio-contact-accent); font-size: .8125rem; line-height: 1.7; font-weight: 700; }
.pio-contact-lead { margin: 0 0 1.5rem; color: var(-\-pio-contact-text); font-size: var(-\-pio-section-text-size, 16px); font-weight: var(-\-pio-section-text-weight, normal); line-height: 1.8; }
.pio-contact-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.pio-contact-details > *, .pio-contact-detail > div { min-width: 0; }
.pio-contact-detail { display: flex; align-items: flex-start; gap: .75rem; min-width: 0; }
.pio-contact-detail-label { margin: 0 0 .4rem; color: var(-\-pio-contact-ink); font-size: .8125rem; font-weight: 700; line-height: 1.5; }
.pio-contact-detail ul { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.pio-contact-detail a { color: var(-\-pio-contact-text); font-size: .875rem; line-height: 1.75; text-decoration: none; overflow-wrap: anywhere; }
.pio-contact-detail a:hover { color: var(-\-pio-contact-accent); text-decoration: underline; text-underline-offset: 4px; }
.pio-contact-page .pio-contact-number, .pio-contact-page .pio-contact-email { display: inline-block; direction: ltr; unicode-bidi: isolate; text-transform: none; }
.pio-contact-office-copy .pio-contact-details { gap: 1rem; padding-block: 1.25rem; border-block: 1px solid var(-\-pio-contact-line); }
.pio-contact-location {
    display: block; margin-top: 1.5rem; padding: 1.25rem;
    border: 1px solid transparent; border-radius: 16px;
    background: var(-\-pio-contact-surface); color: var(-\-pio-contact-ink);
    text-decoration: none; transition: border-color .2s ease;
}
.pio-contact-location:hover { border-color: var(-\-pio-contact-accent); color: var(-\-pio-contact-ink); }
.pio-contact-location-top { display: flex; align-items: center; gap: .75rem; margin-bottom: .625rem; font-size: .875rem; font-weight: 700; }
.pio-contact-location address { margin: 0; font-size: .875rem; font-style: normal; line-height: 1.8; color: var(-\-pio-contact-text); }
.pio-contact-location address br + br { display: none; }
.pio-contact-map-label { display: inline-flex; align-items: center; gap: .5rem; margin-top: .875rem; color: var(-\-pio-contact-accent); font-size: .8125rem; font-weight: 700; }
.pio-contact-map-label svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pio-contact-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 3rem; margin-bottom: 2rem; }
.pio-contact-section-head > div { max-width: 37rem; }
.pio-contact-section-head .pio-contact-title { margin-bottom: 0; }
.pio-contact-section-head > .pio-contact-lead { max-width: 25rem; margin: 0; }
.pio-contact-offices { background: var(-\-pio-contact-surface); border-block-start: 1px solid var(-\-pio-contact-line); }
.pio-contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.pio-contact-card { display: flex; flex-direction: column; min-width: 0; padding: 1.75rem; border: 1px solid var(-\-pio-contact-line); border-radius: var(-\-pio-contact-radius); background: var(-\-pio-contact-card); }
.pio-contact-card-head { padding-bottom: 1.25rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(-\-pio-contact-line); }
.pio-contact-city { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .625rem; color: var(-\-pio-contact-accent); font-size: .8125rem; font-weight: 700; line-height: 1.5; }
.pio-contact-city::before { content: ""; width: .375rem; height: .375rem; border-radius: 50%; background: var(-\-pio-primary-color, #FFA000); }
.pio-contact-card-head h3 { margin: 0; color: var(-\-pio-contact-ink); font-size: 1.125rem; font-weight: var(-\-pio-section-heading-weight, 600); line-height: 1.6; }
.pio-contact-card .pio-contact-details { grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.pio-contact-card .pio-contact-location { margin-top: auto; padding: 1rem; }
.pio-contact-card .pio-contact-location-top .pio-contact-icon { width: 1.75rem; height: 1.75rem; background: transparent; }
.pio-contact-card .pio-contact-location-top { gap: .375rem; }
.pio-contact-extension { display: block; margin-inline-start: 3.25rem; margin-top: .375rem; color: var(-\-pio-contact-text); font-size: .8125rem; }
.pio-contact-page a:focus-visible { outline: 3px solid var(-\-pio-primary-color, #FFA000); outline-offset: 5px; }
@media (max-width: 1199.98px) {
    .pio-contact-office-copy { padding: 1.5rem; }
    .pio-contact-grid { gap: 1rem; }
    .pio-contact-card { padding: 1.25rem; }
}
@media (max-width: 991.98px) {
    .pio-contact-feature { grid-template-columns: minmax(0, 1fr); }
    .pio-contact-media { min-height: 0; aspect-ratio: 16 / 9; }
    .pio-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .pio-contact-section-head { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .pio-contact-section-head > .pio-contact-lead { max-width: 36rem; }
}
@media (max-width: 575.98px) {
    .pio-contact-grid, .pio-contact-details { grid-template-columns: minmax(0, 1fr); }
    .pio-contact-section { padding-block: 2.5rem; }
    .pio-contact-media { aspect-ratio: 4 / 3; }
    .pio-contact-media figcaption { inset-inline: .75rem; bottom: .75rem; padding: .875rem; gap: .625rem; }
    .pio-contact-media figcaption strong { font-size: .8125rem; }
    .pio-contact-media figcaption > span:last-child > span { font-size: .75rem; }
    .pio-contact-office-copy { padding: 1.25rem; }
    .pio-contact-office-copy .pio-contact-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem .75rem; }
    .pio-contact-office-copy .pio-contact-detail { flex-direction: column; gap: .5rem; }
    .pio-contact-office-copy .pio-contact-extension { margin-inline-start: 0; }
}
@media (max-width: 359.98px) {
    .pio-contact-office-copy .pio-contact-details { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .pio-contact-location { transition: none; }
}
