/* Contact page: reuse shared header, hero, footer and typography. */
.nr-entry-body .wp-block-cover.nr-hero.nr-contact-hero {
  height: 711px;
  min-height: 711px !important;
  padding: 210px 24px 130px;
}
.nr-entry-body .nr-contact-hero .nr-eyebrow { margin: 0 0 16px; font-size: 16px; letter-spacing: 0; }
.nr-entry-body .nr-contact-hero h1 { max-width: 650px; margin-inline: auto; font-size: clamp(48px,5vw,80px); }
.nr-entry-body .nr-contact-main.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 88px max(24px,calc((100% - 1648px)/2)) 88px;
  background: #eff7fe;
}
.nr-entry-body .nr-contact-main > .wp-block-columns.nr-contact-layout {
  display: grid;
  grid-template-columns: minmax(0,697fr) minmax(0,882fr);
  align-items: start;
  gap: 54px;
  width: 100%;
  max-width: none;
  margin: 0;
}
.nr-entry-body .nr-contact-layout > .wp-block-column { min-width:0; margin:0; }
.nr-entry-body .nr-contact-panel.wp-block-group {
  box-sizing: border-box;
  width:100%;
  padding:38px;
  background:#dfeffd;
  box-shadow:0 20px 30px rgba(0,0,0,.05);
}
.nr-entry-body .nr-contact-panel .nr-eyebrow {
  margin:0 0 24px;
  font:700 16px/1.3 var(--nr-body);
  letter-spacing:.1em;
  color:#7dbff5;
}
.nr-entry-body .nr-contact-panel h2 {
  margin:0 0 22px;
  font:700 clamp(32px,2.5vw,48px)/1.2 var(--nr-heading);
  color:#012341;
}
.nr-entry-body .nr-contact-panel > p:not(.nr-eyebrow) { margin:0 0 42px; font:400 16px/1.8 var(--nr-body); color:rgba(4,20,66,.72); }
.nr-contact-form-wrap { width:100%; }
.nr-contact-form { width:100%; }
.nr-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; }
.nr-contact-field { display:flex; flex-direction:column; min-width:0; gap:12px; }
.nr-contact-field--full, .nr-contact-field--captcha { grid-column:1/-1; }
.nr-contact-field label { color:#041442; font:700 14px/1.3 var(--nr-body); text-transform:uppercase; }
.nr-contact-field input, .nr-contact-field select, .nr-contact-field textarea {
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:0;
  border:1px solid rgba(4,20,66,.1);
  border-radius:4px;
  background:#fff;
  color:#041442;
  padding:15px 16px;
  font:400 16px/1.5 var(--nr-body);
}
.nr-contact-field input, .nr-contact-field select { min-height:56px; }
.nr-contact-field textarea { min-height:160px; resize:vertical; }
.nr-contact-field :is(input, select, textarea):focus-visible,
.nr-contact-form :is(button):focus-visible { outline:3px solid #456e8d; outline-offset:3px; }
.nr-contact-field--captcha { display:grid; grid-template-columns:minmax(0,1fr) minmax(80px,120px) auto; gap:12px; align-items:center; }
.nr-contact-field--captcha label { grid-column:1; text-transform:none; }
.nr-contact-field--captcha input { grid-column:2; }
.nr-contact-refresh { grid-column:3; border:1px solid #012341; background:transparent; color:#012341; padding:12px 14px; cursor:pointer; font:600 13px/1.3 var(--nr-body); }
.nr-contact-refresh:disabled { opacity:.6; cursor:wait; }
.nr-contact-submit { display:inline-flex; margin-top:32px; padding:18px 40px; border:1px solid #012341; border-radius:0; background:#012341; color:#fff; font:700 16px/1.3 var(--nr-body); text-transform:uppercase; cursor:pointer; }
.nr-contact-submit:hover { background:#456e8d; border-color:#456e8d; }
.nr-contact-honeypot { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.nr-contact-notice { margin:0 0 24px; padding:14px 16px; background:#fff; border-left:4px solid #456e8d; color:#041442; font:500 15px/1.5 var(--nr-body); }
.nr-contact-notice--error { border-left-color:#a43d3d; }
.nr-entry-body .nr-contact-visual.wp-block-group { width:100%; margin:0; }
.nr-entry-body .nr-contact-photo.wp-block-image { width:100%; max-width:none; height:662px; margin:0; box-shadow:0 20px 60px rgba(0,0,0,.05); overflow:hidden; }
.nr-entry-body .nr-contact-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.nr-entry-body .nr-contact-cards.wp-block-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; width:100%; margin:34px 0 0; }
.nr-entry-body .nr-contact-cards > .wp-block-column { box-sizing:border-box; min-width:0; margin:0; padding:24px 30px; background:#dfeffd; box-shadow:0 20px 60px rgba(0,0,0,.05); }
.nr-entry-body .nr-contact-cards h3 { display:flex; gap:8px; align-items:center; margin:0 0 17px; font:800 16px/1.3 var(--nr-body); color:#041442; }
.nr-entry-body .nr-contact-cards p { margin:0 0 12px; font:400 16px/1.4 var(--nr-body); overflow-wrap:anywhere; }
.nr-entry-body .nr-contact-cards a { color:#041442; text-decoration:none; }
.nr-entry-body .nr-contact-cards a:hover { text-decoration:underline; }
/* The OpenStreetMap iframe must break out of Gutenberg's constrained group AND page width. */
.nr-page-content .nr-entry-body > .nr-contact-map.alignfull.wp-block-group {
  position:relative;
  left:50%;
  transform:translateX(-50%);
  box-sizing:border-box;
  display:block;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  padding:0 !important;
  background:#dfeffd;
}
.nr-entry-body .nr-contact-map.wp-block-group > .wp-block-html,
.nr-entry-body .nr-contact-map.wp-block-group > .wp-block-shortcode { display:block; box-sizing:border-box; width:100%; max-width:none !important; margin:0 !important; padding:0; }
.nr-page-content .nr-contact-map .nr-contact-map-frame { display:block; box-sizing:border-box; height:323px; width:100% !important; max-width:none !important; margin:0 !important; border:0; }
.nr-contact-map-link { display:block; margin:0; padding:12px 24px; text-align:center; color:#012341; font:600 14px/1.4 var(--nr-body); }
@media(max-width:1200px) {
  .nr-entry-body .nr-contact-main > .wp-block-columns.nr-contact-layout { gap:30px; }
  .nr-entry-body .nr-contact-panel.wp-block-group { padding:28px; }
  .nr-entry-body .nr-contact-photo.wp-block-image { height:570px; }
  .nr-entry-body .nr-contact-cards.wp-block-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .nr-entry-body .nr-contact-cards > .wp-block-column { padding:20px 14px; }
}
@media(max-width:900px) {
  .nr-entry-body .nr-contact-main.wp-block-group { padding:55px 24px; }
  .nr-entry-body .nr-contact-main > .wp-block-columns.nr-contact-layout { display:flex; flex-direction:column; gap:40px; }
  .nr-entry-body .nr-contact-layout > .wp-block-column { width:100%; }
  .nr-entry-body .nr-contact-photo.wp-block-image { height:460px; }
  .nr-entry-body .nr-contact-cards.wp-block-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .nr-entry-body .wp-block-cover.nr-hero.nr-contact-hero { height:600px; min-height:600px !important; padding:230px 20px 110px; }
  .nr-entry-body .nr-contact-hero h1 { font-size:clamp(42px,10vw,60px); }
  .nr-entry-body .nr-contact-main.wp-block-group { padding:36px 16px 60px; }
  .nr-entry-body .nr-contact-panel.wp-block-group { padding:24px 19px; }
  .nr-entry-body .nr-contact-panel h2 { font-size:31px; }
  .nr-contact-fields { grid-template-columns:1fr; gap:20px; }
  .nr-contact-field--captcha { grid-template-columns:minmax(0,1fr) auto; }
  .nr-contact-field--captcha label { grid-column:1/-1; }
  .nr-contact-field--captcha input { grid-column:1; }
  .nr-contact-refresh { grid-column:2; }
  .nr-entry-body .nr-contact-photo.wp-block-image { height:340px; }
  .nr-entry-body .nr-contact-cards.wp-block-columns { grid-template-columns:1fr; }
  .nr-contact-map-frame { height:320px; }
}
