/*
 * NBC "modern" layer, loaded last: a visible refresh of the legacy design that keeps its identity (same colours,
 * fonts, page structure, slider, skewed bands and footer). Larger type scale and whitespace, light navigation pills,
 * brand accent lines, gradient hero overlay, card lists, real form fields, white cookie box, header that shrinks on
 * scroll (html.nbc-scrolled, set by js/site.js) and a back-to-top button (.nbc-top, added by js/site.js).
 * Remove the <link> in partials/head.blade.php to get the untouched legacy look back.
 */
:root {
  --nbc-blue: #2185c5;
  --nbc-blue-dark: #1a6fa6;
  --nbc-blue-light: #7bc6f1;
  --nbc-blue-pale: #eaf4fb;
  --nbc-navy: #071e2c;
  --nbc-green: #61bc47;
  --nbc-green-dark: #3b945e;
  --nbc-text: #2b3542;
  --nbc-muted: #6b7280;
  --nbc-border: #e3e8ee;
  --nbc-radius: .8rem;
  --nbc-radius-lg: 1.4rem;
  --nbc-shadow-sm: 0 1px 2px rgba(7, 30, 44, .05), 0 1px 4px rgba(7, 30, 44, .08);
  --nbc-shadow-md: 0 12px 32px -12px rgba(7, 30, 44, .28);
  --nbc-shadow-lg: 0 24px 48px -20px rgba(7, 30, 44, .35);
  --nbc-accent: linear-gradient(90deg, var(--nbc-blue) 0%, var(--nbc-blue-light) 55%, var(--nbc-green) 100%);
  --nbc-ease: cubic-bezier(.2, .7, .2, 1);
}

/* ---------- base typography and rhythm ---------- */
html { scroll-behavior: smooth; }
body { color: var(--nbc-text); font-size: 1.7rem; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
p, li, td, th { line-height: 1.7; }
p { margin: 0 0 1.6rem; }
h1, h2, h3, h4, h5, h6 { font-weight: 600; letter-spacing: -.015em; line-height: 1.2; }
h1 { font-size: 3.8rem; }
h2 { font-size: 3rem; margin: 0 0 1.8rem; }
h3 { font-size: 2.2rem; }
/* accent bar under content headings (not in hero, cards, footer, forms) */
.main-content h2:not(.slideTitle):not(.MessagesTitle):not(.SearchsTitle)::after {
  content: "";
  display: block;
  width: 5.2rem;
  height: .4rem;
  margin-top: 1.2rem;
  border-radius: 999px;
  background: var(--nbc-accent);
}
a { transition: color .15s var(--nbc-ease); }
.main-content p a:not(.button), .main-content li a:not(.button) {
  text-decoration: underline;
  text-decoration-color: rgba(33, 133, 197, .35);
  text-decoration-thickness: .12em;
  text-underline-offset: .22em;
  transition: text-decoration-color .15s var(--nbc-ease), color .15s var(--nbc-ease);
}
.main-content p a:not(.button):hover, .main-content li a:not(.button):hover { text-decoration-color: currentColor; }
:focus-visible { outline: 3px solid rgba(33, 133, 197, .45); outline-offset: 2px; border-radius: .3rem; }
::selection { background: var(--nbc-blue-light); color: #fff; }
blockquote { border-left: .4rem solid var(--nbc-blue-light); padding-left: 2rem; color: #4b5563; font-size: 2rem; }
hr { border: 0; border-top: 1px solid var(--nbc-border); margin: 3rem 0; }
.main-content img { border-radius: var(--nbc-radius); }
.main-content img.responsive { border-radius: var(--nbc-radius-lg); box-shadow: var(--nbc-shadow-md); }
table { border-collapse: collapse; width: 100%; }
th, td { padding: 1rem 1.2rem; border-bottom: 1px solid var(--nbc-border); text-align: left; }
th { background: var(--nbc-blue-pale); color: var(--nbc-navy); }

/* more breathing room in the normal content rows (not in skewed bands and the service boxes) */
.main-content > section.normal > .container { padding-top: 2rem; padding-bottom: 2rem; } /* keep Turret's side padding */
.main-content > section.normal + section.normal > .container { padding-top: 0; }
.skewed { padding: 6rem 0 !important; }

/* ---------- header and navigation ---------- */
header { border-bottom: 0; box-shadow: 0 10px 30px -18px rgba(7, 30, 44, .25); }
header::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: .4rem; background: var(--nbc-accent); }
@media (min-width: 1280px) {
  nav > div:not(.usernav) > ul > li > a {
    background: transparent;
    background-image: none;
    color: var(--nbc-blue-dark);
    border: 1.5px solid transparent;
    border-radius: 999px;
    font-weight: 600;
    font-size: 1.6rem;
    letter-spacing: .01em;
    padding: .9rem 1.9rem !important;
    transition: background .2s var(--nbc-ease), color .2s var(--nbc-ease), box-shadow .2s var(--nbc-ease), transform .2s var(--nbc-ease);
  }
  nav > div:not(.usernav) > ul > li > a:hover { background: var(--nbc-blue-pale); color: var(--nbc-blue-dark); transform: translateY(-1px); }
  nav > div:not(.usernav) > ul > li > a.active { background: var(--nbc-blue); color: #fff; box-shadow: 0 8px 18px -8px rgba(33, 133, 197, .7); }
  nav > div.usernav > ul > li > a {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--nbc-muted);
    padding: .5rem 1.2rem !important;
    border-radius: 999px;
    transition: background .15s var(--nbc-ease), color .15s var(--nbc-ease);
  }
  nav > div.usernav > ul > li > a:hover { background: var(--nbc-blue-pale); color: var(--nbc-blue-dark); }
  ul.dropdown ul {
    border-radius: var(--nbc-radius-lg);
    overflow: hidden;
    border: 1px solid var(--nbc-border);
    box-shadow: var(--nbc-shadow-lg) !important;
    padding: .6rem 0;
    margin-top: .6rem;
  }
  ul.dropdown ul li a { font-size: 1.5rem; padding: 1rem 1.6rem; transition: background .15s var(--nbc-ease), color .15s var(--nbc-ease); }
  .blue-black ul.dropdown ul li a:hover { background: var(--nbc-blue-pale); color: var(--nbc-blue-dark); }
  /* compact header after scrolling (html.nbc-scrolled is toggled by site.js) */
  header { transition: height .3s var(--nbc-ease), box-shadow .3s var(--nbc-ease); }
  html.nbc-scrolled header { height: 8.6rem; box-shadow: 0 16px 32px -20px rgba(7, 30, 44, .35); }
  html.nbc-scrolled header #header-logo { width: 78%; margin-top: .6rem; }
  html.nbc-scrolled nav > div.usernav { opacity: 0; pointer-events: none; }
  html.nbc-scrolled nav > div.mainnav { top: 2.2rem; }
  nav > div.usernav { transition: opacity .2s var(--nbc-ease); }
  nav > div.mainnav { transition: top .3s var(--nbc-ease); }
  html.nbc-scrolled body:not(.scrolled) main { margin-top: 12rem; }
}
@media (max-width: 1279px) {
  .nav.blue-black { box-shadow: 0 2px 12px rgba(0, 0, 0, .25); }
  ul.dropdown { box-shadow: 0 16px 32px -16px rgba(7, 30, 44, .4); border-radius: 0 0 var(--nbc-radius-lg) var(--nbc-radius-lg); padding: .6rem !important; }
  ul.dropdown li a { padding: 1.1rem 1.4rem; border-radius: var(--nbc-radius); }
  ul.dropdown > li > a { font-weight: 600; }
}

/* ---------- hero slider ---------- */
.slideTitleContainer {
  background: linear-gradient(90deg, rgba(7, 30, 44, .78) 0%, rgba(7, 30, 44, .5) 55%, rgba(7, 30, 44, .05) 100%);
  padding: 4rem 0;
  backdrop-filter: blur(1px);
}
.slideTitle { font-size: 5.2rem; margin-bottom: 1.2rem; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); color: #fff; }
.slideSlogan { font-size: 2.2rem; font-weight: 400; color: #e8f4fc; margin-top: 0; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.slideButton { margin-top: 1.8rem; padding: 1.3rem 2.6rem; font-size: 1.6rem; }
@media (max-width: 767px) { .slideTitle { font-size: 3.2rem; } .slideSlogan { font-size: 1.7rem; } }

/* ---------- title bands ---------- */
.page-title { background: linear-gradient(100deg, var(--nbc-blue) 0%, var(--nbc-blue-dark) 100%); position: relative; overflow: hidden; }
.page-title::after { content: ""; position: absolute; right: -10%; top: -60%; width: 40%; height: 220%; background: rgba(255, 255, 255, .06); transform: skewX(-18deg); pointer-events: none; }
.page-title h1 { padding: 2.4rem 0; font-size: 3.4rem; position: relative; }
.footer-title { background: linear-gradient(100deg, var(--nbc-blue-light) 0%, #5fb3e8 100%); }
.footer-title h1 { padding: 2rem 0; font-size: 2.8rem; }

/* ---------- buttons ---------- */
a.button, button, .button, input[type=submit] {
  border-radius: 999px;
  padding: 1.1rem 2.4rem;
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: .01em;
  box-shadow: 0 6px 16px -8px rgba(97, 188, 71, .7);
  transition: background .2s var(--nbc-ease), border-color .2s var(--nbc-ease), transform .2s var(--nbc-ease), box-shadow .2s var(--nbc-ease), color .2s;
}
a.button:hover, button:not(:disabled):hover, .button:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -10px rgba(59, 148, 94, .7); }
a.button:active, button:not(:disabled):active, .button:active { transform: translateY(0); }
.button-block { border-radius: var(--nbc-radius-lg); padding: 1.6rem 2.4rem; font-size: 1.8rem; }
.button-xlarge { font-size: 1.8rem; padding: 1.4rem 3rem; }
button:disabled { opacity: .6; cursor: not-allowed; }

/* ---------- service boxes (skewed-box) as cards ---------- */
.skewed-box > div > .row > div > div {
  border-radius: var(--nbc-radius-lg);
  box-shadow: var(--nbc-shadow-md);
  padding: 3.2rem !important;
  transition: transform .25s var(--nbc-ease), box-shadow .25s var(--nbc-ease);
}
.skewed-box > div > .row > div > div:hover { box-shadow: var(--nbc-shadow-lg); }
.skewed-box .button { margin-top: .8rem; }

/* ---------- sliders and carousels ---------- */
.slick-arrow, .slick-button, .plugin--Slider .slick-button-slider {
  border-radius: 999px;
  width: 4.6rem;
  height: 4.6rem;
  padding: 0;
  line-height: 4.6rem;
  text-align: center;
  background: rgba(255, 255, 255, .95);
  color: var(--nbc-blue);
  border: 1px solid var(--nbc-border);
  box-shadow: var(--nbc-shadow-md);
  font-weight: 700;
  font-size: 1.8rem;
  transition: background .2s var(--nbc-ease), color .2s, transform .2s var(--nbc-ease);
}
.slick-arrow:hover, .slick-button:hover, .plugin--Slider .slick-button-slider:hover {
  background: var(--nbc-blue) !important;
  border-color: var(--nbc-blue) !important;
  color: #fff;
}
/* arrows at the edges of the slide itself (not inside the text container), text kept clear of them */
.arrowSliders > .container { position: static; top: auto; transform: none; }
.arrowSliders .row, .arrowSliders [class*=column-] { position: static; }
.plugin--Slider .slick-button-slider { top: 50%; transform: translateY(-50%); }
.plugin--Slider .slick-prev-slider { left: 2rem; }
.plugin--Slider .slick-next-slider { right: 2rem; }
.plugin--Slider .slick-button-slider:hover { transform: translateY(-50%) scale(1.06); }
@media (min-width: 768px) {
  .slideTitleContainer .row > .column-1 > .column-1 { padding-left: 8rem; padding-right: 8rem; }
}
@media (max-width: 767px) {
  .plugin--Slider .slick-button-slider { top: auto; bottom: 1.2rem; transform: none; width: 3.6rem; height: 3.6rem; line-height: 3.6rem; font-size: 1.5rem; }
  .plugin--Slider .slick-button-slider:hover { transform: none; }
  .plugin--Slider .slick-prev-slider { left: auto; right: 6rem; }
}
.plugin--Carousel { padding: 1rem 0; }
.plugin--Carousel img { border-radius: var(--nbc-radius); transition: transform .25s var(--nbc-ease), filter .25s var(--nbc-ease); filter: grayscale(.15); }
.plugin--Carousel a:hover img { transform: translateY(-4px); filter: none; }
.slick-buttons { margin-top: 1rem; }

/* ---------- magazine covers ---------- */
.plugin--PDFViewerRecent img, .plugin--PDFViewerHistory img, .plugin--PDFViewer img {
  border-radius: .8rem;
  box-shadow: 0 18px 36px -16px rgba(7, 30, 44, .65);
  transition: transform .3s var(--nbc-ease), box-shadow .3s var(--nbc-ease);
}
.plugin--PDFViewerRecent a:hover img, .plugin--PDFViewerHistory a:hover img {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 28px 48px -18px rgba(7, 30, 44, .7);
}

/* ---------- reviews band ---------- */
.plugin--Reviews { padding: 1.2rem 0; }
.plugin--Reviews p { font-size: 1.8rem; color: var(--nbc-muted); }
.plugin--Reviews .starRating { font-size: 3.4rem; }
.plugin--Reviews .starRating i { color: #f2b01e; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .15)); }

/* ---------- news and search lists as cards ---------- */
.plugin--Messages ul.layout-rows > li, .plugin--Searchs ul.layout-rows > li {
  background: #fff;
  border: 1px solid var(--nbc-border);
  border-radius: var(--nbc-radius-lg);
  box-shadow: var(--nbc-shadow-sm);
  padding: 2.8rem;
  margin: 1.6rem 0;
  transform: none;
  transition: transform .25s var(--nbc-ease), box-shadow .25s var(--nbc-ease), border-color .25s;
}
.plugin--Messages ul.layout-rows > li:hover, .plugin--Searchs ul.layout-rows > li:hover {
  transform: translateY(-4px);
  background: #fff;
  border-color: #cfdbe7;
  box-shadow: var(--nbc-shadow-md);
}
.plugin--Messages ul.layout-rows > li img, .MessagesImage { border: 0; border-radius: var(--nbc-radius); box-shadow: var(--nbc-shadow-md); width: 100%; height: auto; }
.MessagesTitle, .SearchsTitle { font-size: 2.4rem; margin: 0 0 .4rem; }
.MessagesTitle a { color: var(--nbc-green-dark); }
.MessagesDate { color: var(--nbc-muted); font-size: 1.3rem; text-transform: uppercase; letter-spacing: .08em; }
.MessagesSummary { color: #4b5563; }
.SearchsType { color: var(--nbc-muted); text-transform: uppercase; letter-spacing: .08em; font-size: 1.2rem; }
.MessagesMore, .SearchsMore {
  display: inline-block;
  margin-top: 1.4rem;
  padding: .7rem 1.6rem;
  border: 1.5px solid var(--nbc-blue);
  border-radius: 999px;
  font-weight: 600;
  font-size: 1.4rem;
  transition: background .2s var(--nbc-ease), color .2s var(--nbc-ease);
}
.MessagesMore::after, .SearchsMore::after { content: "\2192"; display: inline-block; margin-left: .6rem; transition: transform .2s var(--nbc-ease); }
.MessagesMore:hover, .SearchsMore:hover { background: var(--nbc-blue); color: #fff; }
.MessagesMore:hover::after, .SearchsMore:hover::after { transform: translateX(.4rem); }
.plugin_Messages_pagination a, .plugin_Searchs_pagination a, .MessagesFirst, .MessagesPrev, .MessagesNext, .MessagesLast, .SearchsFirst, .SearchsPrev, .SearchsNext, .SearchsLast {
  display: inline-block;
  min-width: 4rem;
  padding: .7rem 1.1rem !important;
  border-radius: 999px;
  border: 1px solid var(--nbc-border);
  background: #fff;
  text-align: center;
  font-weight: 600;
  transition: background .15s var(--nbc-ease), color .15s, border-color .15s;
}
.plugin_Messages_pagination a:hover, .plugin_Searchs_pagination a:hover, .MessagesPrev:hover, .MessagesNext:hover { background: var(--nbc-blue-pale); border-color: var(--nbc-blue-light); }
.plugin_Messages_pagination li.active a, .plugin_Searchs_pagination li.active a { background: var(--nbc-blue); border-color: var(--nbc-blue); color: #fff; }
.Searchs-filter li { padding: .6rem 0; font-weight: 600; }

/* ---------- grid items as cards ---------- */
.plugin--GridView ul.layout-grid > li, .plugin--GridView ul.layout-rows > li {
  background: #fff;
  border: 1px solid var(--nbc-border);
  border-radius: var(--nbc-radius-lg);
  box-shadow: var(--nbc-shadow-sm);
  padding: 1.6rem;
  transition: transform .25s var(--nbc-ease), box-shadow .25s var(--nbc-ease);
}
.plugin--GridView ul.layout-grid > li:hover { transform: translateY(-4px); box-shadow: var(--nbc-shadow-md); }
.plugin--GridView img { border-radius: var(--nbc-radius); }
.plugin--GridView ul.layout-grid > li > p { margin: 0; font-weight: 600; color: var(--nbc-navy); }

/* ---------- sub pages ---------- */
.plugin--SubPages ul, .plugin--SubPages ul ul { list-style: none !important; padding-left: 0; }
.plugin--SubPages ul ul li { margin: .3rem 0; }
.plugin--SubPages ul ul li a {
  display: block;
  padding: .8rem 1.4rem;
  border-radius: var(--nbc-radius);
  border-left: .3rem solid var(--nbc-border);
  transition: border-color .15s, background .15s var(--nbc-ease), padding-left .15s var(--nbc-ease);
}
.plugin--SubPages ul ul li a:hover { border-left-color: var(--nbc-green); background: var(--nbc-blue-pale); padding-left: 1.8rem; }

/* ---------- forms ---------- */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=search], input[type=url], input[type=date], select, textarea {
  border: 1.5px solid #d3dce6;
  border-radius: var(--nbc-radius);
  padding: 1.1rem 1.4rem;
  font-size: 1.6rem;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(7, 30, 44, .04);
  transition: border-color .15s var(--nbc-ease), box-shadow .15s var(--nbc-ease);
}
input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, input[type=url]:focus, input[type=date]:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--nbc-blue);
  box-shadow: 0 0 0 4px rgba(33, 133, 197, .16);
}
.form-render label, .MailingListsForm label, .AuthenticationLoginForm label { font-weight: 600; font-size: 1.45rem; color: #374151; margin-bottom: .4rem; }
.form-render .control { font-weight: 400; }
.form-render .control-indicator { border-radius: .5rem; transition: background .15s, border-color .15s; }
.form-render .control.radio .control-indicator { border-radius: 999px; }
.form-render .small { color: var(--nbc-muted); font-size: 1.3rem; }
.form-render .required { color: #d9534f !important; }
.form-render .error input, .form-render .error select, .form-render .error textarea { border-color: #d9534f; box-shadow: 0 0 0 4px rgba(217, 83, 79, .14); }
.form-render .file { border-radius: var(--nbc-radius); background: var(--nbc-blue-pale); border-color: #cfe3f2; }
.form-render h2, .form-render h3 { margin-top: 2.4rem; }
.search-icon { border-radius: var(--nbc-radius) 0 0 var(--nbc-radius) !important; background: var(--nbc-blue-pale) !important; color: var(--nbc-blue); }
.search-input { border-radius: 0 var(--nbc-radius) var(--nbc-radius) 0 !important; }
.Authentication-Tabs section fieldset { border-radius: 0 0 var(--nbc-radius-lg) var(--nbc-radius-lg); }

/* ---------- modals ---------- */
.modal { border-radius: var(--nbc-radius-lg) !important; box-shadow: 0 30px 80px -24px rgba(7, 30, 44, .55) !important; }
/* no overflow on .modal: the close cross sits outside the box, and the blocker behind the modal already scrolls tall content */
/* image popups (carousel, content links to images): shrink to the image, never upscale, never taller than the screen */
.modal.modal--image { width: auto !important; max-width: min(1400px, 92vw) !important; padding: 1rem !important; line-height: 0; }
.modal.modal--image img { display: block; width: auto; max-width: 100%; height: auto; max-height: 84vh; margin: 0 auto; border-radius: .4rem; }
/* pdf popups: a fixed viewer box that fits the screen */
.modal.modal--pdf { width: 92vw !important; max-width: 1400px !important; height: 90vh; padding: 0 !important; }
.modal.modal--pdf object { border-radius: var(--nbc-radius-lg); }
.modal.modal--pdf object { display: block; width: 100%; height: 100%; }
.blocker { background: rgba(7, 30, 44, .62) !important; backdrop-filter: blur(3px); }

/* ---------- cookie box: white card in the brand colours ---------- */
#ct-ultimate-gdpr-cookie-popup {
  background: #fff !important;
  color: var(--nbc-text) !important;
  border-radius: var(--nbc-radius-lg) !important;
  box-shadow: var(--nbc-shadow-lg), 0 0 0 1px var(--nbc-border) !important;
}
#ct-ultimate-gdpr-cookie-popup .ct-header-popup { color: var(--nbc-navy) !important; }
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-content, #ct-ultimate-gdpr-cookie-popup p { color: #4b5563 !important; }
#ct-ultimate-gdpr-cookie-popup .ct-skin-dark-icon { opacity: .12; }
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-accept,
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-read-more,
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-change-settings {
  border-radius: 999px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  border: 1.5px solid transparent !important;
}
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-accept { background: var(--nbc-blue) !important; color: #fff !important; }
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-accept:hover { background: var(--nbc-blue-dark) !important; }
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-change-settings { background: #fff !important; color: var(--nbc-blue) !important; border-color: var(--nbc-blue) !important; }
#ct-ultimate-gdpr-cookie-popup #ct-ultimate-gdpr-cookie-read-more { background: #f3f4f6 !important; color: #374151 !important; }
#ct-ultimate-gdpr-cookie-open { border-radius: 999px; }
#ct-ultimate-gdpr-cookie-modal .ct-ultimate-gdpr-cookie-modal-content { border-radius: var(--nbc-radius-lg) !important; }

/* ---------- back to top (added by site.js) ---------- */
.nbc-top {
  position: fixed;
  right: 2rem;
  bottom: 8rem;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 999px;
  background: var(--nbc-blue);
  color: #fff !important;
  font-size: 2rem;
  line-height: 4.4rem;
  text-align: center;
  box-shadow: var(--nbc-shadow-md);
  opacity: 0;
  transform: translateY(1rem);
  pointer-events: none;
  z-index: 98;
  transition: opacity .25s var(--nbc-ease), transform .25s var(--nbc-ease), background .2s;
}
.nbc-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.nbc-top:hover { background: var(--nbc-blue-dark); }

/* ---------- footer ---------- */
footer { background: linear-gradient(180deg, #0b2a3d 0%, var(--nbc-navy) 100%); color: #9aa5b1; }
footer::before { content: ""; display: block; height: .4rem; background: var(--nbc-accent); }
footer .row { padding: 4rem 0 2.4rem; }
footer h2 { font-size: 1.4rem; letter-spacing: .14em; text-transform: uppercase; color: var(--nbc-blue-light); margin-bottom: 1.6rem; }
footer h2::after { content: ""; display: block; width: 2.8rem; height: .3rem; margin-top: .8rem; border-radius: 999px; background: var(--nbc-green); }
footer p { color: #aeb8c2; font-size: 1.5rem; }
footer p span[style] { color: inherit !important; }
footer a { color: var(--nbc-blue-light); transition: color .15s var(--nbc-ease); }
footer a:hover { color: #fff; }
.footer-extra { border-top: 1px solid rgba(255, 255, 255, .08); }
.footer-extra .row { padding: 1.6rem 0; }
.footer-extra .footerModal { font-size: 1.4rem; color: #9aa5b1; }
.footer-extra .footerModal:hover { color: #fff; }
.footer-extra span { color: #3d5466; font-size: 1.4rem; margin: 0 .6rem; }
.footer-extra .facebook, .footer-extra .twitter, .footer-extra .linkedin, .footer-extra .instagram {
  display: inline-flex;
  width: 3.8rem;
  height: 3.8rem;
  margin-left: .6rem;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 1.7rem;
  transition: background .2s var(--nbc-ease), transform .2s var(--nbc-ease);
}
.footer-extra .facebook:hover, .footer-extra .twitter:hover, .footer-extra .linkedin:hover, .footer-extra .instagram:hover { background: var(--nbc-blue); transform: translateY(-2px); }

/* ---------- error page ---------- */
.error-icon { color: #f2b01e; }

/* ---------- motion preference ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto; }
}
