:root {
  --navy: #092e50;
  --navy2: #061d35;
  --teal: #078f9a;
  --mint: #11a995;
  --ivory: #f8faf9;
  --slate: #637584;
  --line: #d9e4e8;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 95px;
}
body {
  margin: 0;
  background: #fff;
  color: var(--navy);
  font: 16px/1.7 "DM Sans", sans-serif;
  overflow-x: hidden;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  display: block;
}
button,
input,
textarea {
  font: inherit;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 3px solid #11a995;
  outline-offset: 3px;
}
.custom-container {
  max-width: 1600px;
  padding-inline: clamp(22px, 5.2vw, 100px);
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 10px;
  z-index: 1000;
  background: #fff;
  padding: 12px;
}
.skip-link:focus {
  top: 10px;
}
.site-header {
  z-index: 100;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: 0.35s;
}
.site-header.is-scrolled {
  box-shadow: 0 8px 36px rgba(9, 46, 80, 0.07);
  border-color: var(--line);
}
.navbar {
  min-height: 100px;
  padding-block: 4px;
}
.navbar-brand img {
  width: 120px;
  height: 87px;
  object-fit: contain;
}
.nav-link {
  font-size: 13px;
  font-weight: 700;
  margin-inline: 18px;
  color: var(--navy);
}
.nav-link:hover {
  color: var(--teal);
}
.pill {
  border-radius: 100px;
  padding: 15px 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 800;
  transition: transform 0.25s, background 0.25s, color 0.25s;
  border: 0;
}
.pill:hover {
  transform: translateY(-3px);
}
.pill i {
  font-size: 17px;
}
.dark {
  background: var(--navy);
  color: #fff;
}
.dark:hover,
.primary {
  background: var(--teal);
  color: #fff;
}
.primary:hover {
  background: var(--navy);
  color: white;
}
.hero {
  position: relative;
  padding: 148px 0 100px;
  background: var(--ivory);
  min-height: 790px;
  overflow: hidden;
}
.hero-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3vw;
  align-items: center;
}
.hero-text {
  position: relative;
  z-index: 2;
  padding: 70px 0;
}
.eyebrow,
.kicker,
.label-row,
.form-head {
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 11px;
}
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
}
.spark {
  height: 8px;
  width: 8px;
  border-radius: 50%;
  background: var(--mint);
}
.hero-heading,
.section-title {
  font-family: Manrope, sans-serif;
  letter-spacing: -0.075em;
  line-height: 1.09;
  font-weight: 800;
}
.hero-heading {
  font-size: clamp(54px, 6vw, 100px);
  margin: 25px -50px 30px 0;
}
.headline-line {
  display: block;
  overflow: hidden;
  padding-bottom: 0.07em;
}
.headline-line > span {
  display: block;
}
.headline-line.accent {
  color: var(--teal);
}
.dot {
  color: var(--mint);
}
.hero-description {
  font-size: 17px;
  max-width: 450px;
  color: var(--slate);
}
.hero-actions {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 34px;
  flex-wrap: wrap;
}
.outline-link {
  font-weight: 800;
  font-size: 14px;
  border-bottom: 1px solid var(--navy);
  padding-bottom: 8px;
}
.outline-link i {
  margin-left: 15px;
}
.hero-bottom {
  margin-top: 85px;
  display: flex;
  align-items: center;
  gap: 22px;
  color: #728a9a;
}
.thin-stroke {
  width: 55px;
  height: 1px;
  background: #9eb5bb;
}
.hero-bottom small {
  font-size: 10px;
  letter-spacing: 0.12em;
  font-weight: 700;
}
.hero-photo {
  height: min(650px, 56vw);
  position: relative;
}
.image-frame {
  position: absolute;
  inset: 0 0 0 8%;
  overflow: hidden;
  border-radius: 260px 12px 12px 12px;
  background: linear-gradient(125deg, #0a486a, #16aa95);
}
.image-frame > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-frame:after {
  content: "";
  position: absolute;
  inset: 35% 0 0;
  background: linear-gradient(transparent, rgba(3, 28, 47, 0.43));
}
.photo-tag {
  position: absolute;
  right: 27px;
  bottom: 30px;
  color: white;
  z-index: 2;
  font-size: 11px;
  letter-spacing: 0.15em;
  font-weight: 700;
  display: flex;
  gap: 10px;
}
.round-seal {
  position: absolute;
  left: -40px;
  bottom: 70px;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: var(--teal);
  color: #fff;
  display: grid;
  place-items: center;
  border: 10px solid var(--ivory);
  font-size: 43px;
}
.scroll-note {
  position: absolute;
  bottom: 30px;
  left: 5.4vw;
  font-size: 10px;
  letter-spacing: 0.18em;
  font-weight: 800;
  display: flex;
  gap: 16px;
  align-items: center;
}
.section-space {
  padding: clamp(82px, 10vw, 150px) 0;
}
.label-row {
  border-top: 1px solid var(--line);
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 15px;
  color: #79939d;
  margin-bottom: 75px;
}
.kicker {
  color: var(--teal);
  margin-bottom: 23px;
}
.section-title {
  font-size: clamp(43px, 5.1vw, 78px);
  margin: 0 0 28px;
}
.section-title em {
  font-style: normal;
  color: var(--teal);
}
.body-copy {
  font-size: 17px;
  color: var(--slate);
  max-width: 510px;
  line-height: 1.9;
}
.inline-arrow {
  display: inline-flex;
  gap: 38px;
  border-bottom: 1px solid var(--navy);
  padding-bottom: 12px;
  margin-top: 28px;
  font-weight: 800;
}
.about-image {
  height: 590px;
  position: relative;
  overflow: hidden;
  border-radius: 8px 170px 8px 8px;
  background: var(--navy);
}
.about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.image-inscription {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  padding: 25px;
  color: #fff;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));
  font-size: 11px;
  letter-spacing: 0.15em;
}
.service-section {
  background: var(--navy2);
  color: #fff;
}
.label-row.light {
  border-color: rgba(255, 255, 255, 0.24);
  color: #a8c4c9;
}
.service-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 60px;
}
.service-heading > div {
  max-width: 850px;
}
.light-title em {
  color: #3fcabb;
}
.light-text {
  color: #61d4ca;
}
.light-pill {
  background: #fff;
  color: var(--navy);
}
.light-pill:hover {
  background: var(--mint);
  color: #fff;
}
.services-wrap {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}
.service-item {
  display: grid;
  grid-template-columns: 80px 1fr 60px;
  gap: 28px;
  padding: 43px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  align-items: start;
  transition: padding 0.3s, background 0.3s;
}
.service-item:hover {
  padding-left: 26px;
  background: rgba(255, 255, 255, 0.035);
}
.service-index {
  font-size: 13px;
  color: #64d1cc;
}
.service-item h3 {
  font: 700 clamp(23px, 3vw, 36px) / 1.3 Manrope, sans-serif;
  letter-spacing: -0.04em;
}
.service-item p {
  max-width: 730px;
  color: #b2c4d0;
  font-size: 15px;
  margin: 12px 0 0;
}
.service-icon {
  font-size: 26px;
  color: #66d6cb;
}
.consultation {
  background: var(--ivory);
}
.consult-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 8vw;
}
.consult-left {
  position: relative;
}
.consult-left .label-row {
  margin-bottom: 65px;
}
.consult-deco {
  font-size: 180px;
  color: rgba(7, 143, 154, 0.15);
  line-height: 1;
  margin-top: 100px;
}
.consult-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: clamp(25px, 4vw, 60px);
  box-shadow: 0 25px 75px rgba(9, 46, 80, 0.055);
}
.form-head {
  display: flex;
  justify-content: space-between;
  margin-bottom: 45px;
  color: var(--teal);
}
.consult-card label {
  display: block;
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 9px;
}
.consult-card label b {
  color: var(--teal);
}
.consult-card .form-control {
  border: 1px solid #d9e5e7;
  border-radius: 6px;
  min-height: 55px;
  box-shadow: none;
  padding: 15px;
  background: #fbfcfc;
}
.consult-card .form-control:focus {
  border-color: var(--teal);
  box-shadow: 0 0 0 3px rgba(7, 143, 154, 0.12);
}
.consult-card textarea.form-control {
  min-height: 130px;
  resize: vertical;
}
.submit {
  margin-top: 16px;
  cursor: pointer;
  min-width: 190px;
}
.submit:disabled {
  opacity: 0.6;
  cursor: wait;
}
.form-status {
  min-height: 24px;
  margin: 18px 0 0;
  font-size: 13px;
}
.form-status.error {
  color: #bb3742;
}
.form-status.success {
  color: #047568;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.6fr;
  gap: 10vw;
}
.contact-side {
  align-self: center;
  color: var(--slate);
  font-size: 17px;
}
.contact-side .pill {
  margin-top: 30px;
}
.footer {
  background: var(--navy2);
  color: #d7e5e9;
  padding: 60px 0 25px;
}
.footer-main {
  display: flex;
  justify-content: space-between;
  gap: 45px;
  align-items: start;
}
.footer-brand {
  display: inline-block;
  background: #fff;
  border-radius: 8px;
  padding: 7px 20px;
}
.footer-brand img {
  width: 130px;
  height: 92px;
  object-fit: contain;
}
.footer-main p {
  margin-top: 22px;
  color: #a1b7be;
}
.footer-main nav {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  font-weight: 700;
  font-size: 13px;
}
.footer-main nav a:hover {
  color: #56c9c4;
}
.footer-bottom {
  border-top: 1px solid #315064;
  margin-top: 60px;
  padding-top: 23px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #a1b7be;
}
.footer-bottom span:nth-child(2) {
      max-width: 692px;
}
@media (max-width: 991px) {
  .navbar {
    min-height: 75px;
  }
  .navbar-brand img {
    width: 92px;
    height: 65px;
  }
  .navbar-collapse {
    background: #fff;
    padding: 25px 0 30px;
  }
  .nav-link {
    margin: 5px 0;
  }
  .hero {
    padding-top: 110px;
  }
  .hero-layout {
    grid-template-columns: 1fr;
  }
  .hero-text {
    padding: 35px 0;
  }
  .hero-heading {
    font-size: clamp(52px, 10vw, 85px);
    margin-right: 0;
  }
  .hero-photo {
    height: 540px;
  }
  .hero-bottom {
    margin-top: 45px;
  }
  .scroll-note {
    display: none;
  }
  .consult-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .consult-deco {
    display: none;
  }
  .about-image {
    height: 500px;
  }
  .service-heading {
    align-items: start;
    flex-direction: column;
  }
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .label-row {
    margin-bottom: 40px;
  }
}
@media (max-width: 575px) {
  .hero {
    padding-bottom: 55px;
  }
  .hero-heading {
    font-size: clamp(44px, 12vw, 65px);
  }
  .hero-photo {
    height: 400px;
  }
  .image-frame {
    inset: 0 0 0 5%;
    border-top-left-radius: 170px;
  }
  .round-seal {
    width: 78px;
    height: 78px;
    font-size: 29px;
    border-width: 6px;
    left: -13px;
    bottom: 32px;
  }
  .hero-bottom {
    margin-top: 40px;
  }
  .hero-description {
    font-size: 15px;
  }
  .hero-actions {
    gap: 20px;
  }
  .section-title {
    font-size: clamp(38px, 10vw, 54px);
  }
  .section-space {
    padding: 75px 0;
  }
  .about-image {
    height: 380px;
    border-top-right-radius: 110px;
  }
  .service-item {
    grid-template-columns: 35px 1fr 23px;
    gap: 12px;
    padding: 28px 2px;
  }
  .service-item h3 {
    font-size: 21px;
  }
  .service-icon {
    font-size: 18px;
  }
  .consult-card {
    padding: 24px;
  }
  .footer-main {
    flex-direction: column;
  }
  .footer-main nav {
    gap: 20px;
  }
  .label-row {
    font-size: 9px;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *:before,
  *:after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Motion upgrade: styling is additive; original layout and branding are unchanged. */
:root {
  --line-progress: 0%;
}
.motion-word-mask {
  display: inline-block;
  overflow: clip;
  vertical-align: baseline;
  padding-bottom: 0.13em;
  margin-bottom: -0.13em;
}
.motion-word {
  display: inline-block;
  will-change: auto;
}
.hero-photo {
  perspective: 1300px;
}
.image-frame,
.about-image,
.consult-card,
.service-item {
  transform-style: preserve-3d;
  backface-visibility: hidden;
}
.about-layout .col-lg-7 {
  perspective: 1300px;
}
.services-wrap {
  position: relative;
}
.services-wrap:before {
  content: "";
  position: absolute;
  height: 2px;
  width: var(--line-progress);
  max-width: 100%;
  top: 0;
  left: 0;
  background: var(--mint);
  pointer-events: none;
  z-index: 1;
}
.service-icon,
.service-item h3,
.inline-arrow i,
.pill i,
.outline-link i {
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.25s ease;
}
.service-item:hover .service-icon,
.inline-arrow:hover i,
.pill:hover i,
.outline-link:hover i {
  transform: translate(3px, -3px);
}
.service-item:hover h3 {
  color: #7ee3d7;
  transform: translateX(5px);
}
.site-header .nav-link {
  position: relative;
}
.site-header .nav-link:after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  height: 2px;
  bottom: 3px;
  background: var(--mint);
  transition: right 0.3s ease;
}
.site-header .nav-link:hover:after,
.site-header .nav-link:focus-visible:after {
  right: 0;
}
.about-image img,
.image-frame img {
  transition: scale 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.about-image:hover img,
.image-frame:hover img {
  scale: 1.035;
}
.scroll-note i {
  animation: next-move-scroll 1.8s ease-in-out infinite;
}
@keyframes next-move-scroll {
  0%,
  100% {
    transform: translateY(-2px);
  }
  50% {
    transform: translateY(5px);
  }
}
.consult-card .form-control {
  transition: border-color 0.25s ease, box-shadow 0.25s ease,
    background 0.25s ease;
}
.consult-card .form-control:focus {
  background: white;
}
.footer-main nav a {
  position: relative;
  transition: color 0.25s ease;
}
.footer-main nav a:hover {
  color: #67ddd0;
}
@media (hover: none), (pointer: coarse) {
  .service-item {
    transform: none;
  }
  .service-item:hover {
    padding-left: 8px;
  }
}
@media (max-width: 575px) {
  .motion-word-mask {
    padding-bottom: 0.16em;
    margin-bottom: -0.16em;
  }
  .service-item:hover {
    padding-left: 2px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-note i {
    animation: none;
  }
  .motion-word-mask {
    overflow: visible;
  }
  .about-image img,
  .image-frame img {
    scale: 1 !important;
  }
}

/* GB Realty-inspired motion polish: art-directed reveals rather than busy flips. */
.hero-photo,
.about-image {
  perspective: 1100px;
  isolation: isolate;
}
.hero-photo .image-frame,
.about-image {
  will-change: transform;
}
.hero-photo .image-frame img,
.about-image img {
  transform-origin: center;
}
@media (hover: hover) and (pointer: fine) {
  .hero-photo .image-frame:hover img {
    scale: 1.045;
  }
  .about-image:hover img {
    scale: 1.065;
  }
  .service-item {
    transform-origin: 50% 50%;
  }
}
/* Explicit request: the entire footer is motion-free, including hover transitions. */
.footer,
.footer *,
.footer *::before,
.footer *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
.footer *,
.footer *::before,
.footer *::after {
  transform: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .hero-photo .image-frame,
  .about-image {
    will-change: auto;
  }
}

/* Accessible validation and submission states; no footer animation added */
#consultForm .field-error {
  color: #a32032;
  font-size: 0.78rem;
  margin-top: 0.3rem;
  line-height: 1.4;
}
#consultForm [aria-invalid="true"] {
  border-color: #c83046 !important;
  box-shadow: 0 0 0 2px rgba(200, 48, 70, 0.1);
}
#consultForm button:disabled {
  opacity: 0.7;
  cursor: wait;
}
#formStatus {
  line-height: 1.55;
}
#formStatus.success {
  color: #086754;
}
#formStatus.error {
  color: #a32032;
}

/* Accessible welcome notice. The underlying website remains unchanged. */
.nmc-notice[hidden] { display:none !important; }
.nmc-notice { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:20px; isolation:isolate; }
.nmc-notice__backdrop { position:absolute; inset:0; z-index:-1; background:rgba(2,18,35,.72); backdrop-filter:blur(5px); }
.nmc-notice__panel { position:relative; overflow:hidden; width:min(100%,720px); max-height:min(90vh,850px); padding:clamp(30px,5.5vw,60px) clamp(25px,6vw,70px) 30px; border:1px solid rgba(255,255,255,.2); border-radius:6px; box-shadow:0 28px 85px rgba(0,0,0,.28); color:#fff; text-align:center; background:linear-gradient(150deg,#08345a 0%,#075b70 70%,#078d96 125%); }
.nmc-notice__panel:before,.nmc-notice__panel:after { content:''; position:absolute; pointer-events:none; height:125%; width:120px; border:2px solid rgba(114,231,215,.36); border-radius:50%; transform:rotate(18deg); }
.nmc-notice__panel:before { left:-108px; top:-65%; }
.nmc-notice__panel:after { right:-110px; bottom:-65%; }
.nmc-notice__close { position:absolute; right:18px; top:18px; display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.7); border-radius:6px; color:white; background:transparent; font-size:20px; cursor:pointer; }
.nmc-notice__close:hover,.nmc-notice__close:focus-visible { background:rgba(255,255,255,.15); }
.nmc-notice__icon { display:inline-grid; place-items:center; width:55px; height:55px; margin-bottom:12px; border-radius:50%; background:rgba(255,255,255,.11); font-size:28px; color:#75e4d6; }
.nmc-notice__eyebrow { font:700 11px/1.5 Manrope,sans-serif; letter-spacing:.23em; color:#8df5e6; margin-bottom:15px; }
.nmc-notice__panel h2 { margin:0; font:800 clamp(25px,3vw,35px)/1.26 Manrope,sans-serif; letter-spacing:-.035em; }
.nmc-notice__panel h2 span { color:#bcfff4; }
.nmc-notice__rule { width:76px; height:2px; background:#80f1e0; margin:26px auto 29px; }
.nmc-notice__copy { max-width:560px; margin:auto; font:500 clamp(14px,1.45vw,16px)/1.8 'DM Sans',sans-serif; }
.nmc-notice__copy p { margin:0 0 18px; }
.nmc-notice__copy strong { font-weight:800; color:#fff; }
.nmc-notice__action { display:inline-flex; align-items:center; justify-content:center; gap:22px; margin-top:9px; padding:14px 27px; border:1px solid rgba(255,255,255,.9); border-radius:100px; color:#083653; background:white; font:800 13px Manrope,sans-serif; cursor:pointer; }
.nmc-notice__action:hover { background:#cafff2; }
.nmc-notice__close:focus-visible,.nmc-notice__action:focus-visible { outline:3px solid #fef08a; outline-offset:4px; }
body.nmc-notice-open { overflow:hidden; }
@media (max-width:575px) { .nmc-notice { padding:12px; } .nmc-notice__panel { max-height:calc(100dvh - 24px); padding:58px 22px 25px; } .nmc-notice__close { top:12px; right:12px; } .nmc-notice__copy p { margin-bottom:12px; } }
@media (prefers-reduced-motion:reduce) { .nmc-notice * { animation:none!important; transition:none!important; } }

/* Editorial notice — richer art direction; footer and page layout are untouched. */
.nmc-notice { perspective:1400px; }
.nmc-notice__backdrop { background:rgba(1,15,32,.78); backdrop-filter:blur(10px) saturate(.8); }
.nmc-notice__panel {
  width:min(100%,760px); border-radius:24px;
  background:radial-gradient(ellipse at 94% 4%, rgba(42,211,189,.35), transparent 42%),
    radial-gradient(ellipse at 0% 95%, rgba(13,142,166,.33), transparent 48%),
    linear-gradient(140deg,#061b33 0%,#0b3c57 58%,#087783 100%);
  border:1px solid rgba(169,255,239,.3);
  box-shadow:0 42px 120px rgba(1,12,27,.48),inset 0 1px rgba(255,255,255,.15);
  transform-style:preserve-3d;
}
.nmc-notice__panel::before,.nmc-notice__panel::after { opacity:.56; }
.nmc-notice__panel::before { left:-98px; top:-72%; }
.nmc-notice__panel::after { right:-101px; bottom:-70%; }
.nmc-notice__icon { width:68px;height:68px;border:1px solid rgba(167,255,240,.35);background:linear-gradient(145deg,rgba(130,252,232,.2),rgba(130,252,232,.04));box-shadow:0 14px 42px rgba(2,13,31,.24);font-size:32px; }
.nmc-notice__eyebrow { letter-spacing:.3em; }
.nmc-notice__panel h2 { font-size:clamp(27px,3.4vw,42px);letter-spacing:-.045em; }
.nmc-notice__panel h2 span { color:#9cf4de; }
.nmc-notice__rule { width:92px;height:3px;border-radius:8px;background:linear-gradient(90deg,#17b7b1,#baffeb); }
.nmc-notice__close {border-radius:50%;border-color:rgba(219,255,247,.45);transition:transform .25s,background .25s;}
.nmc-notice__close:hover { transform:rotate(90deg);background:rgba(255,255,255,.16); }
.nmc-notice__action { padding:16px 31px; box-shadow:0 12px 30px rgba(0,15,30,.2);transition:transform .22s,box-shadow .22s,background .22s; }
.nmc-notice__action:hover { transform:translateY(-3px);box-shadow:0 18px 34px rgba(0,15,30,.26); }
.nmc-notice__action i { transition:transform .22s; }
.nmc-notice__action:hover i { transform:translateX(5px); }
@media(max-width:575px){.nmc-notice__panel{border-radius:18px;padding-top:64px;}.nmc-notice__icon{width:56px;height:56px;font-size:26px;}}
@media(prefers-reduced-motion:reduce){.nmc-notice__close,.nmc-notice__action,.nmc-notice__action i{transition:none!important;}}

/* Fix heading text clipping during GSAP reveal */
.section-title {
    line-height: 1.18;
    padding-bottom: 0.10em;
    overflow: visible;
}

.section-title .motion-word-mask {
    overflow: visible;
    padding: 0;
    margin: 0;
    vertical-align: baseline;
}

.section-title .motion-word {
    vertical-align: baseline;
}

.hero-heading {
    line-height: 1.14;
}

.headline-line {
    padding-bottom: 0.13em;
}

/* Contact location and telephone details; no street address displayed */
.contact-locations{display:grid;gap:13px;margin:24px 0 22px;}
.contact-location{display:flex;align-items:center;gap:12px;color:#0b3154;font-weight:650;text-decoration:none;}
.contact-location i{color:#0896a0;font-size:1.15rem;}
.contact-location small{display:inline-block;margin-left:8px;padding:4px 9px;border:1px solid rgba(8,150,160,.25);border-radius:999px;color:#078d98;font-size:.68rem;letter-spacing:.03em;vertical-align:middle;}
.contact-phone:hover,.footer-contact a:hover{color:#078d98;}
.footer-contact{margin-top:14px;line-height:1.9;}
.footer-contact a{color:inherit;text-decoration:none;}
@media(max-width:575.98px){.contact-location small{margin-left:4px;}}

/* Searchable international dialing-code selector */
.nmc-phone-field{position:relative;width:100%;}
.nmc-phone-field .iti{display:block;width:100%;--iti-path-flags-1x:url(https://cdn.jsdelivr.net/npm/intl-tel-input@25.12.5/build/img/flags.webp);--iti-path-flags-2x:url(https://cdn.jsdelivr.net/npm/intl-tel-input@25.12.5/build/img/flags@2x.webp);--iti-path-globe-1x:url(https://cdn.jsdelivr.net/npm/intl-tel-input@25.12.5/build/img/globe.webp);--iti-path-globe-2x:url(https://cdn.jsdelivr.net/npm/intl-tel-input@25.12.5/build/img/globe@2x.webp)}
.nmc-phone-field .iti .form-control{width:100%;padding-left:110px!important;}
.nmc-phone-field .iti__selected-country{background:#edf7f7;border-right:1px solid #d9e5e7;border-radius:6px 0 0 6px;padding:0 10px;}
.nmc-phone-field .iti__selected-dial-code{font-weight:700;color:#092e50;font-size:13px;}
.nmc-phone-field .iti__arrow{border-top-color:#078f9a;}
.iti__dropdown-content{z-index:10001!important;border:1px solid #c9dfe1!important;border-radius:10px!important;box-shadow:0 16px 48px rgba(9,46,80,.16)!important;overflow:hidden;}
.iti__search-input{padding:13px 13px 13px 30px !important;border:0!important;border-bottom:1px solid #d9e5e7!important;outline-color:#078f9a!important;color:#092e50!important;}
.iti__country-list{max-height:270px!important;}
.iti__country{font-size:13px;}
.iti__country.iti__highlight{background:#e9f6f4!important;}
.nmc-phone-help{display:block;color:#667d89;font-size:11px;margin-top:6px;line-height:1.5;}
.nmc-phone-field input[aria-invalid=true]{border-color:#bb3742!important;}
@media(max-width:575px){.iti__dropdown-content{max-width:calc(100vw - 30px)!important;}.iti__country-list{max-height:235px!important;}}
