
/* NORTHSTONE BATCH 142 — UNIFIED CTA DESIGN */

/* Main orange CTA links */
.ns142-cta,
a.ns125-button,
a.ns128-button,
a.ns127-primary,
.ns123-cta a,
.ns125-contact a,
.ns119-next a,
.ns116-contact a,
.ns112-cta a,
.ns129-form-inner form button[type="submit"],
.ns129-form-inner form input[type="submit"] {
  display:inline-flex !important;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:#f05025 !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  padding:17px 25px !important;
  min-height:54px;
  font-family:inherit;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.3;
  text-decoration:none !important;
  box-sizing:border-box;
  cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}

/* Diagonal arrow, matching the original screenshot */
.ns142-cta::after,
a.ns125-button::after,
a.ns128-button::after,
a.ns127-primary::after,
.ns123-cta a::after,
.ns125-contact a::after,
.ns119-next a::after,
.ns116-contact a::after,
.ns112-cta a::after,
.ns129-form-inner form button[type="submit"]::after {
  content:"↗";
  display:inline-block;
  font-size:28px;
  font-weight:400;
  line-height:1;
  margin-left:auto;
}

/* Hover */
.ns142-cta:hover,
a.ns125-button:hover,
a.ns128-button:hover,
a.ns127-primary:hover,
.ns123-cta a:hover,
.ns125-contact a:hover,
.ns119-next a:hover,
.ns116-contact a:hover,
.ns112-cta a:hover {
  background:#d9431e !important;
  transform:translateY(-1px);
}

/* Your Portals: orange CTA in the header */
.ns107-header .ns107-desktop-nav a.ns140-portal,
.ns107-header .ns107-desktop-nav a.ns142-portal {
  display:inline-flex !important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-left:auto !important;
  padding:11px 15px !important;
  background:#f05025 !important;
  color:#fff !important;
  border:0 !important;
  font-size:13px !important;
  font-weight:700 !important;
  text-decoration:none !important;
  white-space:nowrap;
}

.ns107-header .ns107-desktop-nav a.ns140-portal::after,
.ns107-header .ns107-desktop-nav a.ns142-portal::after {
  content:"↗";
  font-size:20px;
  font-weight:400;
  line-height:1;
}

/* Mobile portal button */
.ns107-mobile-nav a.ns140-portal,
.ns107-mobile-nav a.ns142-portal {
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  background:#f05025 !important;
  color:white !important;
  padding:14px 18px !important;
  margin-top:10px;
  font-weight:700;
}

.ns107-mobile-nav a.ns140-portal::after,
.ns107-mobile-nav a.ns142-portal::after {
  content:"↗";
  font-size:22px;
}

@media(max-width:700px) {
  .ns142-cta,
  a.ns125-button,
  .ns125-contact a {
    width:100%;
    max-width:100%;
  }
}
