
/* Northstone — dedicated enquiry page */

.ns129-page {
  font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;
  color:#2d4051;
  background:#fff;
}

.ns129-hero {
  background:#edf3f7;
  padding:65px 7%;
}

.ns129-hero-inner {
  max-width:1180px;
  margin:auto;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:55px;
  align-items:center;
}

.ns129-eyebrow {
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  color:#f05025;
  text-transform:uppercase;
  margin-bottom:18px;
}

.ns129-hero h1 {
  font-size:clamp(42px,5vw,66px);
  line-height:1.1;
  margin:0 0 25px;
  color:#2d4051;
}

.ns129-hero p {
  max-width:620px;
  font-size:19px;
  line-height:1.75;
}

.ns129-hero-image {
  margin:0;
}

.ns129-hero-image img {
  width:100%;
  height:350px;
  object-fit:cover;
  display:block;
  border-radius:5px;
}

.ns129-form-section {
  padding:65px 7% 90px;
}

.ns129-form-inner {
  max-width:900px;
  margin:auto;
}

.ns129-form-intro {
  margin-bottom:35px;
}

.ns129-form-intro h2 {
  font-size:clamp(30px,3.5vw,43px);
  margin:0 0 18px;
}

.ns129-form-intro p {
  font-size:17px;
  line-height:1.8;
}

.ns129-form-inner form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  width:100%;
  box-sizing:border-box;
}

.ns129-form-inner form > * {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.ns129-form-inner form label {
  display:block;
  font-size:15px;
  font-weight:600;
  margin-bottom:8px;
}

.ns129-form-inner form input:not([type="checkbox"]):not([type="radio"]),
.ns129-form-inner form select,
.ns129-form-inner form textarea {
  display:block;
  width:100%;
  max-width:100%;
  padding:13px 15px;
  border:1px solid #cbd5dc;
  border-radius:4px;
  background:#fff;
  font:inherit;
  box-sizing:border-box;
}

.ns129-form-inner form textarea {
  min-height:150px;
  resize:vertical;
}

.ns129-form-inner form > *:has(textarea),
.ns129-form-inner form > *:has(button),
.ns129-form-inner form > *:has(input[type="submit"]),
.ns129-form-inner form > fieldset {
  grid-column:1 / -1;
}

.ns129-form-inner form button,
.ns129-form-inner form input[type="submit"] {
  background:#f05025;
  color:white;
  border:0;
  padding:15px 28px;
  border-radius:4px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

@media(max-width:800px) {
  .ns129-hero-inner,
  .ns129-form-inner form {
    grid-template-columns:1fr;
  }

  .ns129-hero,
  .ns129-form-section {
    padding:45px 6%;
  }

  .ns129-hero-image img {
    height:270px;
  }
}
