/* Contact module additions — intentionally scoped to prevent WordPress/plugin CSS from distorting the page. */
.contact-page{background:#f4f7fb}.contact-page .site-header{background:rgba(3,11,24,.96)}
.contact-hero{position:relative;overflow:hidden;min-height:680px;padding:170px 0 96px;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(64,120,181,.26),transparent 30%),linear-gradient(125deg,#030b18,#07182d 58%,#0d2847)}
.module-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:105px 105px;pointer-events:none}.contact-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.72fr);gap:72px;align-items:center}.contact-hero h1{max-width:760px;margin:0 0 24px;font-family:"Playfair Display",serif;font-size:clamp(55px,7vw,92px);line-height:.98;letter-spacing:-3px}.contact-hero-copy>p{max-width:720px;color:rgba(255,255,255,.68);font-size:17px;line-height:1.8}.contact-hero-panel{padding:34px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:rgba(255,255,255,.06);box-shadow:0 26px 70px rgba(0,0,0,.24);backdrop-filter:blur(15px)}.panel-kicker,.form-heading>span,.contact-links-band span{display:block;color:var(--gold2);font-size:10px;font-weight:800;letter-spacing:.16em}.contact-hero-panel h2{margin:8px 0 21px;font-family:"Playfair Display",serif;font-size:31px}.contact-route{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1)}.contact-route>i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:rgba(215,175,79,.13);color:var(--gold2)}.contact-route strong,.contact-route span{display:block}.contact-route strong{font-size:14px}.contact-route span{margin-top:3px;color:rgba(255,255,255,.57);font-size:12px;line-height:1.55}
.contact-intro{background:#f4f7fb}.contact-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}.contact-service-grid article{min-height:285px;padding:30px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(6,22,47,.05)}.contact-service-grid article>i{width:48px;height:48px;display:grid;place-items:center;margin-bottom:24px;border-radius:12px;color:var(--gold);background:#07182d}.contact-service-grid h3{margin:0 0 11px;font-family:"Playfair Display",serif;font-size:22px}.contact-service-grid p{margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.7}.contact-service-grid a{color:var(--navy);font-size:12px;font-weight:800}.contact-service-grid a i{margin-left:7px;color:#b99034}
.contact-form-section{color:#fff;background:#051326}.contact-form-layout{display:grid;grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr);gap:70px;align-items:start}.contact-form-copy{position:sticky;top:115px}.contact-form-copy h2,.client-help h2{margin:8px 0 19px;font-family:"Playfair Display",serif;font-size:clamp(42px,5vw,62px);line-height:1.04}.contact-form-copy>p{color:rgba(255,255,255,.64);font-size:14px;line-height:1.8}.contact-guidance{display:grid;grid-template-columns:38px 1fr;gap:13px;padding:19px 0;border-top:1px solid rgba(255,255,255,.1)}.contact-guidance:first-of-type{margin-top:29px}.contact-guidance>i{color:var(--gold2);margin-top:3px}.contact-guidance strong,.contact-guidance span{display:block}.contact-guidance strong{font-size:13px}.contact-guidance span{margin-top:4px;color:rgba(255,255,255,.55);font-size:12px;line-height:1.6}.contact-form-card{padding:34px;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 25px 70px rgba(0,0,0,.24)}.form-heading{padding-bottom:22px;margin-bottom:24px;border-bottom:1px solid var(--line)}.form-heading>span{color:#a27b28}.form-heading h3{margin:7px 0 7px;font-family:"Playfair Display",serif;font-size:31px}.form-heading p{margin:0;color:var(--muted);font-size:13px}
/* Contact Form 7 normalization */
.contact-page .cf7-shell,.contact-page .cf7-shell *{box-sizing:border-box}.contact-page .cf7-shell .wpcf7{margin:0;padding:0;background:transparent}.contact-page .cf7-shell .wpcf7-form p{margin:0 0 17px}.contact-page .cf7-shell label{display:block;color:#26364d;font-family:"DM Sans",Arial,sans-serif;font-size:12px;font-weight:800;line-height:1.5}.contact-page .cf7-shell input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),.contact-page .cf7-shell select,.contact-page .cf7-shell textarea{display:block;width:100%!important;max-width:100%!important;margin:7px 0 0!important;padding:13px 14px!important;border:1px solid #d7dfe9!important;border-radius:10px!important;outline:0!important;background:#f8fafc!important;color:#13223a!important;font-family:"DM Sans",Arial,sans-serif!important;font-size:14px!important;line-height:1.4!important;box-shadow:none!important}.contact-page .cf7-shell textarea{min-height:145px!important;resize:vertical}.contact-page .cf7-shell input:focus,.contact-page .cf7-shell select:focus,.contact-page .cf7-shell textarea:focus{border-color:#c19b43!important;box-shadow:0 0 0 3px rgba(193,155,67,.11)!important}.contact-page .cf7-shell input[type="submit"],.contact-page .cf7-shell .wpcf7-submit{display:inline-flex!important;min-height:48px!important;padding:0 23px!important;border:0!important;border-radius:11px!important;background:linear-gradient(135deg,var(--gold2),var(--gold))!important;color:#06162f!important;font-family:"DM Sans",Arial,sans-serif!important;font-size:13px!important;font-weight:800!important;cursor:pointer!important;box-shadow:none!important}.contact-page .cf7-shell .wpcf7-spinner{vertical-align:middle}.contact-page .cf7-shell .wpcf7-not-valid-tip{margin-top:5px;color:#b42318;font-size:11px}.contact-page .cf7-shell .wpcf7-response-output{margin:18px 0 0!important;padding:12px 14px!important;border-radius:9px!important;font-size:12px}.form-warning{padding:18px;border:1px solid #e1c36d;border-radius:11px;background:#fff8df;color:#5d4917}
.client-help{background:#fff}.client-help-grid{display:grid;grid-template-columns:1fr .8fr;gap:65px;align-items:center}.client-help h2{color:var(--navy)}.client-help p{max-width:690px;color:var(--muted);font-size:14px;line-height:1.8}.button-dark{color:#fff;background:var(--navy)}.help-card{padding:31px;border:1px solid var(--line);border-radius:19px;background:#f4f7fb}.help-card>span{display:block;margin-bottom:14px;color:#8b6c27;font-size:10px;font-weight:800;letter-spacing:.13em}.help-card ul{padding:0;margin:0;list-style:none}.help-card li{display:grid;grid-template-columns:22px 1fr;gap:9px;padding:12px 0;border-top:1px solid #dfe6ef;color:#536278;font-size:12px}.help-card li i{color:#aa842f;margin-top:3px}.contact-links-band{padding:44px 0;color:#fff;background:#030b18}.contact-links-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-links-inner strong{display:block;margin-top:4px;font-family:"Playfair Display",serif;font-size:25px}.contact-links-inner nav{display:flex;gap:10px;flex-wrap:wrap}.contact-links-inner nav a{padding:9px 14px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:rgba(255,255,255,.8);font-size:11px;font-weight:700}.contact-links-inner nav a:hover{border-color:var(--gold);color:var(--gold2)}
@media(max-width:1050px){.contact-service-grid{grid-template-columns:repeat(2,1fr)}.contact-hero-grid,.contact-form-layout,.client-help-grid{grid-template-columns:1fr}.contact-form-copy{position:static}.contact-hero-panel{max-width:700px}}
@media(max-width:640px){.contact-hero{min-height:auto;padding:125px 0 72px}.contact-hero-grid{gap:38px}.contact-hero h1{font-size:48px;letter-spacing:-2px}.contact-hero-panel,.contact-form-card,.help-card{padding:23px}.contact-service-grid{grid-template-columns:1fr}.contact-links-inner{display:block}.contact-links-inner nav{margin-top:20px}.contact-form-copy h2,.client-help h2{font-size:40px}}

/* Contact Center v3 */
.contact-details{background:#f5f7fa}.compact-heading{margin-bottom:34px}.contact-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.contact-detail-card{position:relative;min-height:300px;padding:30px;border:1px solid #dde4ec;border-radius:20px;background:#fff;box-shadow:0 16px 44px rgba(6,22,47,.055)}.detail-icon{width:50px;height:50px;display:grid;place-items:center;margin-bottom:34px;border-radius:14px;background:#07182d;color:#e0bd66;font-size:18px}.contact-detail-card>span{color:#9c7a2e;font-size:9px;font-weight:800;letter-spacing:.16em}.contact-detail-card h3{margin:8px 0 12px;font-family:"Playfair Display",serif;font-size:23px}.contact-detail-card p{min-height:66px;margin:0 0 18px;color:#647186;font-size:13px;line-height:1.7}.contact-detail-card a{color:#07182d;font-size:13px;font-weight:800;overflow-wrap:anywhere}.contact-detail-card small{display:block;color:#7a8493;font-size:11px;line-height:1.6}
.department-section{background:#fff}.department-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.department-grid article{min-height:270px;padding:30px;border:1px solid #e0e6ee;border-radius:18px;background:linear-gradient(180deg,#fff,#fafbfd)}.department-grid article>span{color:#c29b43;font-family:"Playfair Display",serif;font-size:18px}.department-grid h3{margin:23px 0 10px;font-family:"Playfair Display",serif;font-size:24px}.department-grid p{margin:0 0 24px;color:#667389;font-size:13px;line-height:1.75}.department-grid a{color:#0a2342;font-size:11px;font-weight:800}.department-grid a i{margin-left:7px;color:#b88c2d}
.direct-contact-box{display:grid;gap:10px;margin-top:28px;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045)}.direct-contact-box>span{color:#e5c46e;font-size:10px;font-weight:800;letter-spacing:.12em}.direct-contact-box a{color:#fff;font-size:12px}.direct-contact-box i{width:22px;color:#e0bd66}
.security-band{padding:54px 0;color:#fff;background:linear-gradient(120deg,#07182d,#0b2749)}.security-band-grid{display:grid;grid-template-columns:70px 1fr auto;gap:28px;align-items:center}.security-mark{width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(224,189,102,.45);border-radius:50%;color:#e0bd66;font-size:22px}.security-band span{color:#e0bd66;font-size:9px;font-weight:800;letter-spacing:.16em}.security-band h2{margin:5px 0 8px;font-family:"Playfair Display",serif;font-size:31px}.security-band p{max-width:850px;margin:0;color:rgba(255,255,255,.65);font-size:12px;line-height:1.75}
.office-section{background:#f5f7fa}.office-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px;align-items:center}.office-copy h2{margin:9px 0 16px;font-family:"Playfair Display",serif;font-size:46px;color:#07182d}.office-copy>p{margin:0 0 28px;color:#647186;font-size:14px;line-height:1.8}.office-address{display:grid;grid-template-columns:34px 1fr;gap:12px;padding:17px 0;border-top:1px solid #dfe5ec}.office-address i{margin-top:3px;color:#b88c2d}.office-address strong,.office-address span,.office-address a{display:block}.office-address strong{color:#07182d;font-size:12px}.office-address span,.office-address a{margin-top:4px;color:#667389;font-size:12px;line-height:1.6}.map-card{overflow:hidden;min-height:470px;border:1px solid #dde4ec;border-radius:22px;background:#fff;box-shadow:0 20px 55px rgba(6,22,47,.09)}.map-card iframe{display:block;width:100%;height:470px;border:0}
.contact-faq{background:#fff}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.faq-intro{position:sticky;top:120px}.faq-intro h2{margin:8px 0 14px;font-family:"Playfair Display",serif;font-size:46px;color:#07182d}.faq-intro p{color:#667389;font-size:13px;line-height:1.75}.faq-list details{border-bottom:1px solid #dfe5ec}.faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:23px 0;color:#07182d;font-size:14px;font-weight:800;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary i{color:#b88c2d;transition:.2s}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details p{max-width:850px;margin:0;padding:0 40px 23px 0;color:#667389;font-size:13px;line-height:1.75}
.contact-hero-panel .contact-route a{display:block;margin-top:3px;color:rgba(255,255,255,.72);font-size:12px;font-weight:700;overflow-wrap:anywhere}
@media(max-width:1050px){.contact-detail-grid{grid-template-columns:repeat(2,1fr)}.department-grid{grid-template-columns:repeat(2,1fr)}.office-grid,.faq-layout{grid-template-columns:1fr}.faq-intro{position:static}.security-band-grid{grid-template-columns:60px 1fr}.security-band-grid>.button{grid-column:2}}
@media(max-width:700px){.contact-detail-grid,.department-grid{grid-template-columns:1fr}.contact-detail-card{min-height:0}.security-band-grid{grid-template-columns:1fr}.security-band-grid>.button{grid-column:auto}.office-copy h2,.faq-intro h2{font-size:38px}.map-card,.map-card iframe{min-height:360px;height:360px}.contact-hero{padding-top:145px}}

/* Client-visible Contact Form 7 submission confirmation */
.contact-page .contact-success{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;margin:0 0 22px;padding:18px 19px;border:1px solid #9fc7ad;border-radius:12px;background:#eef8f1;color:#123d23;box-shadow:0 10px 26px rgba(26,91,48,.08)}
.contact-page .contact-success[hidden]{display:none!important}.contact-page .contact-success-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#1f7a43;color:#fff;font-size:19px}.contact-page .contact-success strong,.contact-page .contact-success span{display:block}.contact-page .contact-success strong{font-size:14px;line-height:1.45}.contact-page .contact-success span{margin-top:4px;color:#42634d;font-size:12px;line-height:1.6}.contact-page .cf7-shell .wpcf7-form.sent .wpcf7-response-output{border-color:#79b98f!important;background:#eff9f2!important;color:#1b5e32!important}.contact-page .cf7-shell .wpcf7-form.invalid .wpcf7-response-output,.contact-page .cf7-shell .wpcf7-form.failed .wpcf7-response-output,.contact-page .cf7-shell .wpcf7-form.aborted .wpcf7-response-output{background:#fff3f2!important;color:#8a241f!important}

/* Standalone CF7 submission feedback. Kept local so WordPress/theme CSS is not loaded. */
.cf7-shell .wpcf7-response-output {
    display: none;
    margin: 18px 0 0;
    padding: 14px 16px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.55;
}
.cf7-shell .wpcf7-response-output[data-status="mail_sent"] {
    display: block;
    border: 1px solid rgba(31, 122, 67, .32);
    background: rgba(31, 122, 67, .08);
}
.cf7-shell .wpcf7-response-output[data-status]:not([data-status=""]):not([data-status="mail_sent"]) {
    display: block;
    border: 1px solid rgba(173, 49, 49, .28);
    background: rgba(173, 49, 49, .07);
}
.cf7-shell .wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.4;
}
.cf7-shell .wpcf7-not-valid {
    outline: 1px solid rgba(173, 49, 49, .55);
}



/* =========================================================
   VERIFIED LOCAL CORPORATE / BANKING PHOTOGRAPHY
   contact.css loads last, so these rules remain authoritative.
   ========================================================= */
.contact-hero.module-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
      linear-gradient(90deg,rgba(3,15,34,.97) 0%,rgba(6,32,66,.84) 52%,rgba(6,32,66,.50) 100%),
      url("/contact-us/assets/images/banking/wealth-planning-meeting.jpg") center 46% / cover no-repeat !important;
}
.contact-hero .module-grid-lines{opacity:.12 !important;pointer-events:none}
.contact-hero > *{position:relative;z-index:2}

/* Reusable body image panel */
.contact-photo-panel{
    position:relative;
    min-height:360px;
    overflow:hidden;
    border-radius:24px;
    background-image:
      linear-gradient(180deg,rgba(4,18,39,.04),rgba(4,18,39,.18)),
      var(--contact-photo);
    background-size:cover;
    background-position:center;
    box-shadow:0 24px 64px rgba(4,19,42,.15);
    border:1px solid rgba(4,19,42,.08);
}
.contact-photo-panel::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:44%;
    background:linear-gradient(transparent,rgba(4,18,39,.72));
}
.contact-photo-caption{
    position:absolute;
    left:24px;
    right:24px;
    bottom:22px;
    z-index:2;
    color:#fff;
}
.contact-photo-caption small{
    display:block;
    margin-bottom:6px;
    color:#efd276;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.contact-photo-caption strong{
    display:block;
    font-family:"Playfair Display",serif;
    font-size:24px;
    line-height:1.15;
}

/* Departments: photo + specialist grid */
.department-photo-layout{
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:32px;
    align-items:start;
    margin-top:28px;
}

/* Contact form: photography alongside the copy */
.contact-form-copy-photo{
    margin-top:24px;
    min-height:260px;
    border-radius:20px;
    background:
      linear-gradient(180deg,rgba(4,18,39,.03),rgba(4,18,39,.18)),
      url("/contact-us/assets/images/banking/private-banking-consultation.jpg") center/cover no-repeat;
    box-shadow:0 18px 44px rgba(4,19,42,.12);
}

/* Security: subtle corporate photo texture */
.security-band{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:
      linear-gradient(90deg,rgba(5,23,48,.98),rgba(7,37,74,.92)),
      url("/contact-us/assets/images/banking/premium-bank-lobby.jpg") center/cover no-repeat !important;
}
.security-band::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(90deg,rgba(5,23,48,.90),rgba(5,23,48,.58));
}
.security-band > *{position:relative;z-index:1}

/* Office section includes visible bank interior photography */
.office-photo{
    margin-top:24px;
    min-height:250px;
    border-radius:20px;
    background:
      linear-gradient(180deg,rgba(4,18,39,.02),rgba(4,18,39,.16)),
      url("/contact-us/assets/images/banking/premium-bank-lobby.jpg") center/cover no-repeat;
    box-shadow:0 18px 44px rgba(4,19,42,.12);
}

/* FAQ receives a subtle photographic side treatment */
.contact-faq{
    position:relative;
    overflow:hidden;
}
.contact-faq::before{
    content:"";
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:34%;
    opacity:.07;
    background:url("/contact-us/assets/images/banking/wealth-planning-meeting.jpg") center/cover no-repeat;
    pointer-events:none;
}
.contact-faq > *{position:relative;z-index:1}

.contact-image-gallery-section{
    padding:24px 0 76px;
    background:#fff;
}
.contact-image-gallery{
    display:grid;
    grid-template-columns:1.15fr .925fr .925fr;
    gap:18px;
}
.contact-image-tile{
    position:relative;
    min-height:310px;
    overflow:hidden;
    border-radius:21px;
    background-image:var(--tile-photo);
    background-size:cover;
    background-position:center;
    box-shadow:0 18px 48px rgba(4,19,42,.12);
}
.contact-image-tile:first-child{min-height:370px}
.contact-image-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(4,18,39,.03),rgba(4,18,39,.78));
}
.contact-image-caption{
    position:absolute;
    left:23px;
    right:23px;
    bottom:23px;
    z-index:2;
    color:#fff;
}
.contact-image-caption small{
    display:block;
    margin-bottom:6px;
    color:#efd276;
    font-size:10px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.contact-image-caption strong{
    display:block;
    font-family:"Playfair Display",serif;
    font-size:23px;
    line-height:1.15;
}

@media(max-width:900px){
    .department-photo-layout{grid-template-columns:1fr}
    .contact-photo-panel{min-height:320px}
    .contact-image-gallery{grid-template-columns:1fr 1fr}
    .contact-image-tile:first-child{grid-column:1/-1;min-height:350px}
    .contact-faq::before{width:50%}
}
@media(max-width:600px){
    .contact-hero.module-hero{background-position:62% center !important}
    .contact-photo-panel{min-height:250px;border-radius:18px}
    .contact-form-copy-photo,.office-photo{min-height:220px;border-radius:17px}
    .contact-image-gallery{grid-template-columns:1fr}
    .contact-image-tile,.contact-image-tile:first-child{grid-column:auto;min-height:250px;border-radius:18px}
    .contact-faq::before{width:100%;opacity:.045}
}
