/* Contact mockup implementation. This is the sole Contact layout owner.
 * Form contracts, NAP and shared header/footer are not changed here. */
.psfm-contact-surface { --contact-red:#c8102e; --contact-line:#e1e5ea; --contact-muted:#626975; }
html:root body.psfm-approved-shell:has(.psfm-contact-surface) footer.psfm-approved-footer { margin-top:0!important; }
html:root body.psfm-approved-shell .psfm-contact-surface .container { width:min(100%,1248px); max-width:1248px; padding-inline:24px; }
@media (min-width:992px) {
 html:root body.psfm-approved-shell .psfm-contact-surface .container { width:min(calc(100% - 188px),1248px); padding-inline:0; }
}
html:root body.psfm-approved-shell .psfm-contact-surface .approved-contact-intro { position:relative; isolation:isolate; padding:20px 0 26px; background:#f6f8fa; border-bottom:1px solid var(--contact-line); overflow:hidden; }
.psfm-contact-surface .contact-hero-art { position:absolute; inset:0; z-index:-2; }
.psfm-contact-surface .contact-hero-art::after { content:""; position:absolute; inset:0; background:#c8102e; clip-path:polygon(55% 0,55.14% 0,51.14% 50%,55.14% 100%,55% 100%,51% 50%); opacity:.72; pointer-events:none; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-hero-art img { width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 48%; }
.psfm-contact-surface .approved-contact-intro::after { content:""; position:absolute; inset:0; z-index:-1; background:rgba(255,255,255,.96); clip-path:polygon(0 0,55% 0,51% 50%,55% 100%,0 100%); pointer-events:none; }
.psfm-contact-surface .approved-contact-breadcrumb { margin-bottom:20px; font-size:12px; }
html:root body.psfm-approved-shell main.main .psfm-contact-surface .approved-contact-breadcrumb .breadcrumb-menu { background:transparent!important; font-size:12px; }
html:root body.psfm-approved-shell .psfm-contact-surface .approved-contact-breadcrumb .breadcrumb-menu li { flex:0 1 auto!important; width:auto!important; text-align:start!important; }
.psfm-contact-surface .contact-page-intro { width:52%; min-width:0; margin:0; }
html:root body.psfm-approved-shell main.main .psfm-contact-surface .contact-page-intro h1 { font-size:clamp(28px,2.8vw,38px)!important; font-weight:700!important; line-height:1.16!important; letter-spacing:-.03em; margin:10px 0 12px; text-align:start; }
.psfm-contact-surface .contact-page-intro p { margin:0; max-width:57ch; font-size:15px; line-height:1.6; }
.psfm-contact-surface .contact-kicker { display:block; margin:0 0 8px; color:var(--contact-red)!important; font-size:10px; font-weight:700; letter-spacing:.24em; line-height:1.6; text-transform:uppercase; }
.psfm-contact-surface .contact-hero-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:25px; font-size:11px; line-height:1.5; }
.psfm-contact-surface .contact-hero-values > span { display:flex; align-items:center; gap:10px; padding-inline-end:10px; border-inline-end:1px solid #c7cdd4; }
.psfm-contact-surface .contact-hero-values > span:last-child { border:0; }
.psfm-contact-surface .contact-hero-values i { font-size:22px; color:var(--contact-red); }
.psfm-contact-surface .contact-hero-values b { display:block; color:#15181d; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-area { padding:24px 0 0!important; background:#f8f9fb!important; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-wrapper { width:100%; max-width:none; margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
.psfm-contact-surface .approved-contact-layout { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:30px; align-items:start; }
.psfm-contact-surface .approved-contact-layout > * { min-width:0; }
.psfm-contact-surface .approved-contact-form { order:1; scroll-margin-top:110px; }
.psfm-contact-surface .approved-contact-details { order:2; min-width:0; padding:20px 0 0; }
.psfm-contact-surface .approved-contact-wide { order:3; grid-column:1/-1; }
html:root body.psfm-approved-shell .psfm-contact-surface :is(.contact-content,.contact-form) { height:auto; min-width:0; max-width:100%; margin:0; padding:0; color:#343940; border:0; border-radius:0; background:transparent!important; box-shadow:none!important; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-form { padding:26px; background:#fff!important; border:1px solid #edf0f3; border-radius:7px; box-shadow:0 6px 24px rgba(20,35,55,.025)!important; }
.psfm-contact-surface :is(.contact-content-header,.contact-form-header) { margin-bottom:20px; }
html:root body.psfm-approved-shell .psfm-contact-surface :is(.contact-content-header,.contact-form-header) h2 { margin:0 0 8px; font-size:clamp(22px,2.1vw,28px)!important; line-height:1.24; }
.psfm-contact-surface :is(.contact-content-header,.contact-form-header) p { margin:0; color:var(--contact-muted); font-size:14px; line-height:1.6; }
.psfm-contact-surface .contact-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-info { display:grid; grid-template-columns:26px minmax(0,1fr); gap:12px; width:100%; padding:18px 14px; margin:0; border:1px solid var(--contact-line); border-radius:6px; background:#fff!important; box-shadow:none!important; align-items:start; transform:none!important; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-info-icon { width:26px; height:28px; display:flex; align-items:center; justify-content:center; color:var(--contact-red)!important; background:transparent!important; border-radius:0; font-size:24px; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-info-content :is(a,p,span,bdi) { color:#343940!important; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; font-size:13px; line-height:1.6; }
.psfm-contact-surface .contact-info-icon i { width:auto; height:auto; padding:0; margin:0; background:none; color:inherit; font-size:24px; line-height:1; border-radius:0; }
.psfm-contact-surface .contact-info-content { min-width:0; padding:0; }
.psfm-contact-surface .contact-info-content p { margin:5px 0 0; }
.psfm-contact-surface .contact-info-content a { font-weight:650; text-decoration:none; }
.psfm-contact-surface .contact-info-content a:hover { text-decoration:underline; }
.psfm-contact-surface .contact-info-content :is(.contact-info-label,.contact-email-label) { display:block; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-info-content .contact-info-label { color:#111318!important; font-weight:750; margin:0 0 4px; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-info-content .contact-email-label { font-size:11px; color:var(--contact-muted)!important; }
.psfm-contact-surface .contact-assistance { position:relative; isolation:isolate; min-height:156px; display:flex; align-items:center; padding:20px 16px; margin-top:16px; border:1px solid var(--contact-line); border-radius:6px; overflow:hidden; background:#f0f3f5; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-assistance > img { position:absolute; inset:0; inset-inline-end:auto; z-index:-1; width:32%!important; height:100%!important; object-fit:cover!important; object-position:26% center; }
.psfm-contact-surface .contact-assistance-copy { width:64%; margin-inline-start:auto; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-assistance h3 { font-size:17px; margin:0 0 6px; line-height:1.35; }
.psfm-contact-surface .contact-assistance p { font-size:12px; line-height:1.55; margin:0 0 10px; }
.psfm-contact-surface .contact-assistance .psfm-contact-support-final { display:flex; align-items:center; gap:6px; padding:0; margin:0 0 6px; font-size:11px; line-height:1.5; color:#343940; background:none; border:0; box-shadow:none; }
.psfm-contact-surface .approved-contact-actions { display:flex; flex-wrap:wrap; gap:8px; }
html:root body.psfm-approved-shell .psfm-contact-surface .approved-contact-actions a { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px!important; padding:8px 11px; border:1px solid var(--contact-red); border-radius:3px; background:#fff; color:var(--contact-red); font-size:12px; font-weight:700; }
html:root body.psfm-approved-shell .psfm-contact-surface .psfm-head-office-hours--contact { margin:20px 0 0!important; padding:16px 0 0!important; border:0!important; border-top:1px solid var(--contact-line)!important; border-radius:0; background:transparent!important; box-shadow:none; }
html:root body.psfm-approved-shell .psfm-contact-surface .psfm-head-office-hours__title { margin-bottom:10px; color:#20242a; font-size:13px; }
html:root body.psfm-approved-shell .psfm-contact-surface .psfm-head-office-hours__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px 18px; margin:0; }
html:root body.psfm-approved-shell .psfm-contact-surface .psfm-head-office-hours__row { display:grid; grid-template-columns:minmax(0,1fr) max-content!important; gap:8px!important; margin:0; }
.psfm-contact-surface .psfm-head-office-hours__row :is(dt,dd) { margin:0; font-size:12px; line-height:1.6; }
.psfm-contact-surface .psfm-head-office-hours__row dd { direction:ltr; unicode-bidi:isolate; }
.psfm-contact-surface .contact-context-note { margin:14px 0 0; font-size:12px; line-height:1.6; }
.psfm-contact-surface .contact-form form.row,.psfm-contact-surface .psfm-contact-more-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px 18px; margin:0; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-form :is(form.row,.psfm-contact-more-grid) > [class*="col-"] { width:100%; min-width:0; margin:0!important; padding:0!important; }
.psfm-contact-surface .contact-form :is(form.row,.psfm-contact-more-grid) > .col-12:not(.col-md-6) { grid-column:1/-1; }
.psfm-contact-surface .contact-form :is(label,.form-label) { font-size:14px; margin-bottom:6px; }
.psfm-contact-surface .contact-form :is(.form-control,.form-select) { min-height:44px; padding:9px 12px; font-size:14px; }
.psfm-contact-surface .contact-form textarea.form-control { min-height:94px; }
.psfm-contact-surface .contact-form .form-text { font-size:13px; line-height:1.65; margin-top:5px; }
.psfm-contact-surface .contact-form .psfm-contact-more-details { padding:0; border:1px solid var(--contact-line); border-radius:4px; background:#f8f9fb; box-shadow:none; }
.psfm-contact-surface .contact-form .psfm-contact-more-details summary { padding:10px 12px; min-height:44px; font-size:14px; line-height:1.5; color:#343940; cursor:pointer; }
.psfm-contact-surface .contact-form .psfm-contact-more-details[open] .psfm-contact-more-grid { padding:6px 12px 16px; }
.psfm-contact-surface .contact-form .alert { padding:10px 12px; font-size:14px; line-height:1.55; background:#f6f7f9; color:#454c56; }
.psfm-contact-surface .contact-privacy-note { display:flex; gap:10px; align-items:start; font-size:13px; line-height:1.65; margin:14px 0 0; color:var(--contact-muted); }
.psfm-contact-surface .contact-privacy-note i { font-size:20px; color:#505966; }
.psfm-contact-surface .contact-locations-section { display:grid; grid-template-columns:.8fr 1.25fr .75fr; gap:24px; align-items:start; padding-block:12px; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-locations-section h2 { font-size:26px; line-height:1.3; margin:8px 0 14px; }
.psfm-contact-surface .contact-locations-section p { font-size:14px; line-height:1.65; }
.psfm-contact-surface .contact-outline-link { display:inline-flex; gap:12px; align-items:center; min-height:44px; padding:10px 14px; color:var(--contact-red); background:#fff; border:1px solid var(--contact-red); border-radius:3px; font-size:12px; font-weight:700; }
.psfm-contact-surface .approved-contact-map { min-width:0; background:#eef1f4; border:1px solid var(--contact-line); border-radius:6px; overflow:hidden; }
.psfm-contact-surface .approved-contact-map iframe { display:block; width:100%; height:280px; border:0; }
.psfm-contact-surface .contact-preview-map { display:flex; min-height:280px; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:25px; text-align:center; background:repeating-linear-gradient(45deg,#eef1f4,#eef1f4 25px,#e8edf1 25px,#e8edf1 26px); }
.psfm-contact-surface .contact-preview-map > i { font-size:38px; color:var(--contact-red); }
.psfm-contact-surface .contact-preview-map p { margin:0; font-size:13px; }
.psfm-contact-surface .contact-preview-map + iframe { display:none; }
.psfm-contact-surface .contact-office-card { background:#fff; border:1px solid var(--contact-line); border-radius:6px; overflow:hidden; }
.psfm-contact-surface .contact-office-card figure { margin:0; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-office-card img { width:100%!important; height:130px!important; object-fit:cover!important; }
.psfm-contact-surface .contact-office-card figcaption { padding:4px 12px; color:var(--contact-muted); font-size:10px; }
.psfm-contact-surface .contact-office-card > div { padding:10px 14px 16px; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-office-card h3 { font-size:16px; margin:0 0 6px; }
.psfm-contact-surface .contact-office-card p { font-size:12px; margin:0 0 12px; }
.psfm-contact-surface .contact-faq-card { display:grid; grid-template-columns:.8fr 2fr; gap:30px; padding:6px 0 28px; background:transparent; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-faq-card h2 { font-size:26px; line-height:1.3; margin:6px 0 12px; }
.psfm-contact-surface .contact-faq-card .seo-section-heading p { font-size:13px; margin:0; }
.psfm-contact-surface .contact-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:start; }
@media (min-width:601px) {
 .psfm-contact-surface .contact-faq-item:last-child:nth-child(odd) { grid-column:1/-1; }
}
.psfm-contact-surface .contact-faq-item { padding:0; border:1px solid var(--contact-line); border-radius:4px; background:#fff; box-shadow:none; }
.psfm-contact-surface .contact-faq-item summary { display:flex; justify-content:space-between; gap:15px; padding:12px 14px; min-height:48px; cursor:pointer; list-style:none; }
.psfm-contact-surface .contact-faq-item summary::-webkit-details-marker { display:none; }
.psfm-contact-surface .contact-faq-item summary::after { content:"+"; color:#252a32; font-size:18px; flex:none; }
.psfm-contact-surface .contact-faq-item[open] summary::after { content:"−"; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-faq-item h3 { font-size:13px; line-height:1.55; margin:0; font-weight:600; }
.psfm-contact-surface .contact-faq-item p { padding:0 14px 14px; font-size:13px; line-height:1.7; margin:0; }
.psfm-contact-surface .contact-preserved-details { border-block:1px solid var(--contact-line); padding:0; margin:0 0 10px; }
.psfm-contact-surface .contact-preserved-details > summary { padding:16px 0; cursor:pointer; font-size:14px; font-weight:650; }
html:root body.psfm-approved-shell .psfm-contact-surface :is(.contact-coverage-card,.psfm-corporate-readiness-card) { margin:0; padding:22px 0; border:0!important; border-radius:0; background:transparent!important; box-shadow:none!important; }
.psfm-contact-surface .contact-coverage-card { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.psfm-contact-surface .contact-city-cloud { display:flex; flex-wrap:wrap; align-content:start; gap:8px; }
.psfm-contact-surface .contact-city-cloud span { padding:6px 10px; font-size:12px; color:#343940; border:1px solid var(--contact-line); background:#fff; border-radius:3px; }
.psfm-contact-surface .contact-final-banner { position:relative; overflow:hidden; isolation:isolate; padding:32px 0; background:#bd1028; }
.psfm-contact-surface .contact-final-banner::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(14,24,31,.95),rgba(14,24,31,.8)),url("../img/approved/contact-hero-20260926.jpg") center 58%/cover; clip-path:polygon(0 0,63% 0,56% 100%,0 100%); }
.psfm-contact-surface .contact-final-banner .container > div { max-width:54%; }
.psfm-contact-surface .contact-final-banner .contact-kicker { color:#fff!important; }
html:root body.psfm-approved-shell main.main .psfm-contact-surface .contact-final-banner .theme-btn { color:#b10f25!important; background:#fff!important; border-color:#fff; min-width:220px; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-final-banner .theme-btn i { color:inherit!important; background:transparent!important; width:auto; height:auto; line-height:1; padding:0; border-radius:0; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-final-banner .theme-btn::before { display:none; }
.psfm-contact-surface .contact-final-banner .container { display:flex; align-items:center; justify-content:space-between; gap:28px; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-final-banner h2 { color:#fff!important; font-size:25px; margin:5px 0 9px; line-height:1.3; }
html:root body.psfm-approved-shell .psfm-contact-surface .contact-final-banner p { color:#e7e8eb!important; font-size:13px; margin:0; }
.psfm-contact-surface .contact-final-banner .theme-btn { flex-shrink:0; }
.psfm-contact-surface [dir="rtl"] { text-align:start; }
html[dir="rtl"] .psfm-contact-surface .contact-hero-art { transform:scaleX(-1); }
html[dir="rtl"] .psfm-contact-surface .approved-contact-intro::after { transform:scaleX(-1); }
html[dir="rtl"] .psfm-contact-surface .contact-assistance > img { transform:scaleX(-1); }
html[dir="rtl"] .psfm-contact-surface .contact-final-banner::before { transform:scaleX(-1); }
@media (max-width:991.98px) {
 .psfm-contact-surface .contact-page-intro { width:64%; }
 .psfm-contact-surface .approved-contact-intro::after { clip-path:polygon(0 0,70% 0,66% 50%,70% 100%,0 100%); }
 .psfm-contact-surface .contact-hero-art::after { clip-path:polygon(70% 0,70.2% 0,66.2% 50%,70.2% 100%,70% 100%,66% 50%); }
 .psfm-contact-surface .approved-contact-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
 .psfm-contact-surface .approved-contact-details { padding:0; }
 .psfm-contact-surface .contact-locations-section { grid-template-columns:1fr 1fr; }
 .psfm-contact-surface .contact-locations-copy { grid-column:1/-1; }
 .psfm-contact-surface .contact-faq-card { grid-template-columns:1fr; gap:16px; }
 .psfm-contact-surface .contact-assistance { min-height:180px; }
}
@media (min-width:992px) and (max-width:1199.98px) {
 .psfm-contact-surface .approved-contact-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
 .psfm-contact-surface .approved-contact-details { padding:0; }
}
@media (max-width:600px) {
 html:root body.psfm-approved-shell .psfm-contact-surface .container { padding-inline:18px; }
 html:root body.psfm-approved-shell .psfm-contact-surface .approved-contact-intro { display:flex; flex-direction:column; padding:18px 0 0; }
 .psfm-contact-surface .contact-page-intro { width:100%; }
 .psfm-contact-surface .approved-contact-intro::after { display:none; }
 .psfm-contact-surface .contact-hero-art { position:relative; inset:auto; order:2; z-index:0; width:100%; height:clamp(130px,35vw,180px); margin-top:22px; opacity:1; }
 .psfm-contact-surface .contact-hero-art::after { display:none; }
 .psfm-contact-surface .contact-hero-values { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; margin-top:20px; font-size:12px; line-height:1.4; }
 .psfm-contact-surface .contact-hero-values > span { min-width:0; gap:8px; padding-inline-end:0; border:0; }
 .psfm-contact-surface .contact-hero-values > span:last-child { grid-column:1/-1; border-top:1px solid var(--contact-line); padding-top:8px; }
 .psfm-contact-surface .contact-hero-values i { flex:0 0 20px; font-size:19px; }
 html:root body.psfm-approved-shell .psfm-contact-surface .contact-form { padding:20px 16px; }
 .psfm-contact-surface .contact-form form.row,.psfm-contact-surface .psfm-contact-more-grid,
 .psfm-contact-surface .contact-locations-section,.psfm-contact-surface .contact-coverage-card,
 .psfm-contact-surface .contact-faq-grid { grid-template-columns:minmax(0,1fr); }
 .psfm-contact-surface .contact-form :is(.form-control,.form-select) { font-size:16px; }
 .psfm-contact-surface .contact-detail-grid { grid-template-columns:minmax(0,1fr); }
 .psfm-contact-surface .contact-assistance-copy { width:62%; }
 .psfm-contact-surface .contact-assistance h3 { font-size:15px; }
 .psfm-contact-surface .psfm-head-office-hours__list { grid-template-columns:1fr!important; }
 .psfm-contact-surface .psfm-head-office-hours__row { max-width:300px; }
 .psfm-contact-surface .contact-final-banner .container { flex-direction:column; align-items:flex-start; }
 .psfm-contact-surface .contact-final-banner .container > div { max-width:100%; }
 .psfm-contact-surface .contact-final-banner::before { clip-path:none; background:linear-gradient(120deg,#141e28 0%,#141e28 70%,#a90e23 100%); }
}
