/*
Theme Name: National Coating Specialists Custom
Theme URI: https://wallandroofcoating.co.uk/
Author: National Coating Specialists
Description: Custom WordPress theme for National Coating Specialists.
Version: 2.4.6
Text Domain: ncs
*/
:root {
  --ink: #142c27;
  --muted: #4c625c;
  --green: #0b4a37;
  --green-2: #11352e;
  --gold: #c8a13e;
  --cream: #f4f1e8;
  --mist: #e9eee9;
  --paper: #fbfaf5;
  --white: #fff;
  --line: rgba(20, 44, 39, .14);
  --shadow: 0 18px 42px rgba(16, 47, 40, .12);
  --shell: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--cream);
  line-height: 1.6;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1rem; }
.ncs-shell { width: min(100% - 40px, var(--shell)); margin-inline: auto; }
.ncs-skip { position: absolute; left: -999px; top: 8px; background: var(--gold); color: var(--ink); padding: 8px 12px; z-index: 100; }
.ncs-skip:focus { left: 8px; }
.ncs-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(10px);
}
.admin-bar .ncs-header { top: 32px; }
.ncs-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 76px; }
.ncs-brand { display: flex; align-items: center; font-weight: 950; color: var(--green); letter-spacing: 0; }
.ncs-brand span { font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: .95; white-space: nowrap; }
.ncs-nav { display: flex; align-items: center; gap: 6px; justify-content: flex-end; }
.ncs-nav__group { position: relative; }
.ncs-nav__group:has(.ncs-nav__menu):after {
  content: "";
  position: absolute;
  left: -8px;
  right: -8px;
  top: 100%;
  height: 12px;
}
.ncs-nav a,
.ncs-nav summary { display: block; padding: 10px 12px; border-radius: 6px; font-weight: 800; font-size: .9rem; white-space: nowrap; cursor: pointer; list-style: none; }
.ncs-nav summary::-webkit-details-marker { display: none; }
.ncs-nav a:hover,
.ncs-nav a:focus-visible,
.ncs-nav summary:hover,
.ncs-nav summary:focus-visible { background: var(--mist); }
.ncs-nav__top:after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.ncs-nav__group:last-child .ncs-nav__top { background: var(--green); color: var(--white); }
.ncs-nav__group:last-child .ncs-nav__top:after { content: none; }
.ncs-nav__menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: 340px;
  max-width: min(340px, calc(100vw - 32px));
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow);
  z-index: 80;
  opacity: 0;
  pointer-events: none;
  transform: translateY(4px);
  transition: opacity .16s ease, transform .16s ease;
}
.ncs-nav__group[open] .ncs-nav__menu,
.ncs-nav__group:hover .ncs-nav__menu,
.ncs-nav__group:focus-within .ncs-nav__menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ncs-nav__menu a {
  padding: 10px 10px;
  color: var(--ink);
  white-space: normal;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.ncs-hero {
  position: relative;
  isolation: isolate;
  min-height: min(640px, calc(100vh - 116px));
  display: flex;
  align-items: center;
  padding: 78px 0 58px;
  overflow: hidden;
  background: #102d27;
  color: var(--white);
}
.ncs-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(9, 31, 27, .9) 0%, rgba(9, 31, 27, .7) 45%, rgba(9, 31, 27, .24) 100%),
    linear-gradient(0deg, rgba(9, 31, 27, .72) 0%, rgba(9, 31, 27, 0) 58%);
}
.ncs-hero__image {
  position: absolute;
  inset: 0;
  z-index: -2;
}
.ncs-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.96) contrast(1.06);
}
.ncs-page-hero {
  position: relative;
  isolation: isolate;
  min-height: 430px;
  display: flex;
  align-items: center;
  padding: 78px 0;
  overflow: hidden;
  background: #102d27 var(--page-hero-image, url("/wp-content/uploads/ncs/hero-generated.png")) center / cover no-repeat;
  color: var(--white);
}
.ncs-page-hero:before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(9, 31, 27, .88) 0%, rgba(9, 31, 27, .66) 50%, rgba(9, 31, 27, .28) 100%),
    linear-gradient(0deg, rgba(9, 31, 27, .52) 0%, rgba(9, 31, 27, .08) 60%);
}
.ncs-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: 54px;
  align-items: center;
}
.ncs-page-hero__grid,
.ncs-two-col,
.ncs-process,
.ncs-content-grid,
.ncs-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr);
  gap: 50px;
  align-items: center;
}
.ncs-hero__copy { max-width: 760px; }
.ncs-eyebrow { margin: 0 0 10px; color: var(--green); font-size: .76rem; text-transform: uppercase; font-weight: 900; letter-spacing: .14em; }
.ncs-hero .ncs-eyebrow { color: #f0d07b; }
.ncs-page-hero .ncs-eyebrow { color: #f0d07b; }
.ncs-hero h1,
.ncs-page-hero h1 {
  margin: 0 0 18px;
  max-width: 780px;
  font-size: clamp(2.2rem, 4vw, 4.35rem);
  line-height: 1.03;
  letter-spacing: 0;
  color: #102d27;
}
.ncs-hero h1 {
  max-width: 820px;
  font-size: clamp(2.95rem, 4.7vw, 5.15rem);
  line-height: .97;
  color: var(--white);
  text-wrap: balance;
}
.ncs-page-hero h1 { font-size: clamp(2.05rem, 3.7vw, 4rem); }
.ncs-lede { font-size: clamp(1.02rem, 1.7vw, 1.24rem); max-width: 700px; color: var(--muted); }
.ncs-hero .ncs-lede { max-width: 680px; color: #edf4ef; text-shadow: 0 1px 18px rgba(0,0,0,.32); }
.ncs-page-hero h1 { color: var(--white); text-wrap: balance; }
.ncs-page-hero .ncs-lede { color: #edf4ef; text-shadow: 0 1px 18px rgba(0,0,0,.32); }
.ncs-page-hero .ncs-button--ghost { border-color: rgba(255,255,255,.58) !important; background: rgba(255,255,255,.12); color: var(--white); backdrop-filter: blur(8px); }
.ncs-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.ncs-button,
.wpforms-submit {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px !important;
  border-radius: 6px !important;
  border: 1px solid transparent !important;
  font-weight: 900 !important;
  font-size: .96rem !important;
  line-height: 1.2 !important;
  cursor: pointer;
}
.ncs-button--gold { background: var(--gold); color: #172d28; }
.ncs-button--solid,
.wpforms-submit { background: var(--green) !important; color: var(--white) !important; }
.ncs-button--ghost { border-color: var(--line) !important; background: rgba(255, 255, 255, .68); color: var(--green); }
.ncs-hero .ncs-button--ghost { border-color: rgba(255,255,255,.58) !important; background: rgba(255,255,255,.12); color: var(--white); backdrop-filter: blur(8px); }
.ncs-proof-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.ncs-proof-row span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: rgba(255, 255, 255, .72); font-weight: 850; font-size: .86rem; }
.ncs-hero .ncs-proof-row span { border-color: rgba(255,255,255,.36); background: rgba(255,255,255,.12); color: var(--white); backdrop-filter: blur(8px); }
.ncs-hero__media img,
.ncs-service-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: var(--shadow);
}
.ncs-section { padding: 70px 0; }
.ncs-section--white { background: var(--white); }
.ncs-section--paper { background: var(--paper); }
.ncs-section--dark { background: var(--green-2); color: var(--white); }
.ncs-section h2,
.ncs-process h2 { margin: 0 0 16px; font-size: clamp(1.7rem, 2.7vw, 2.65rem); line-height: 1.1; letter-spacing: 0; }
.ncs-section-head { max-width: 780px; margin-bottom: 30px; }
.ncs-section-head p:not(.ncs-eyebrow) { color: var(--muted); }
.ncs-trust-strip {
  position: relative;
  z-index: 2;
  background: #0d241f;
  color: var(--white);
  border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.ncs-trust-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
}
.ncs-trust-grid strong {
  min-height: 78px;
  display: flex;
  align-items: center;
  padding: 18px 22px;
  border-left: 1px solid rgba(255,255,255,.12);
  color: #f2d06d;
  font-size: .92rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.ncs-trust-grid strong:last-child { border-right: 1px solid rgba(255,255,255,.12); }
.ncs-feature { overflow: hidden; }
.ncs-feature__grid {
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}
.ncs-feature--reverse .ncs-feature__media { order: 2; }
.ncs-feature--reverse .ncs-feature__copy { order: 1; }
.ncs-feature__media {
  position: relative;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 28px 70px rgba(12, 42, 35, .16);
}
.ncs-feature__media:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(0deg, rgba(9, 31, 27, .42), rgba(9, 31, 27, 0));
  pointer-events: none;
}
.ncs-feature__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transform: scale(1.01);
}
.ncs-feature__copy {
  max-width: 680px;
}
.ncs-feature__copy h2 {
  font-size: clamp(2rem, 3.15vw, 3.15rem);
}
.ncs-feature__copy p:not(.ncs-eyebrow) {
  color: var(--muted);
  font-size: 1.05rem;
}
.ncs-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ncs-card-grid--services { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ncs-service-card,
.ncs-card,
.ncs-side-box,
.ncs-stat,
.ncs-problem,
.ncs-info-card {
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 10px 26px rgba(12, 42, 35, .06);
}
.ncs-service-card strong,
.ncs-card strong,
.ncs-side-box strong,
.ncs-stat strong,
.ncs-problem strong,
.ncs-info-card strong { font-size: 1.06rem; color: var(--green); line-height: 1.25; }
.ncs-service-card span,
.ncs-card span,
.ncs-side-box p,
.ncs-stat span,
.ncs-problem span,
.ncs-info-card span { color: var(--muted); }
.ncs-service-card:hover,
.ncs-card:hover { transform: translateY(-2px); transition: transform .18s ease; }
.ncs-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.ncs-hero .ncs-stats {
  display: none;
}
.ncs-stat strong { font-size: 1.45rem; }
.ncs-problem-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ncs-problem-grid--stack {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 22px;
}
.ncs-project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.ncs-project-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--white);
  box-shadow: 0 18px 46px rgba(12, 42, 35, .1);
}
.ncs-project-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.ncs-project-card div {
  display: grid;
  gap: 10px;
  padding: 18px;
}
.ncs-project-card strong {
  color: var(--green);
  font-size: 1.14rem;
  line-height: 1.2;
}
.ncs-project-card span { color: var(--muted); }
.ncs-card-list {
  display: grid;
  gap: 7px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.ncs-card-list li {
  position: relative;
  padding-left: 18px;
  color: var(--muted);
  font-size: .94rem;
}
.ncs-card-list li:before {
  content: "";
  position: absolute;
  left: 0;
  top: .68em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--gold);
}
.ncs-proof-band {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.ncs-logo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.ncs-logo-badge {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(200,161,62,.12), rgba(255,255,255,0) 52%),
    var(--paper);
  box-shadow: 0 12px 30px rgba(12,42,35,.07);
}
.ncs-logo-badge strong {
  color: var(--green);
  font-size: clamp(1.15rem, 2.1vw, 1.75rem);
  line-height: 1;
  letter-spacing: 0;
}
.ncs-logo-badge span {
  color: var(--muted);
  font-weight: 800;
  font-size: .88rem;
}
.ncs-mini-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.ncs-mini-links .ncs-card {
  min-height: 100%;
  padding: 14px;
  box-shadow: none;
}
.ncs-info-grid--compact {
  margin-top: 20px;
}
.ncs-process { grid-template-columns: .78fr 1.22fr; }
.ncs-process ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; list-style: none; margin: 0; padding: 0; }
.ncs-process li { padding: 20px; border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.06); }
.ncs-process strong,
.ncs-process span { display: block; }
.ncs-process span { margin-top: 8px; color: #dbe7e2; }
.ncs-cta-band { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 32px; border: 1px solid var(--line); border-radius: 8px; background: var(--cream); }
.ncs-page-hero__panel {
  padding: 28px;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 8px;
  background: rgba(11, 48, 40, .62);
  color: var(--white);
  box-shadow: 0 18px 42px rgba(0,0,0,.2);
  backdrop-filter: blur(10px);
}
.ncs-page-hero__panel strong,
.ncs-page-hero__panel span { display: block; }
.ncs-page-hero__panel strong { font-size: 1.35rem; line-height: 1.15; }
.ncs-page-hero__panel span { margin-top: 12px; color: #d9e6e1; }
.ncs-hero__panel { align-self: center; margin-top: 42px; }
.ncs-hero__proof {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 22px;
}
.ncs-hero__proof span {
  display: block;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  background: rgba(255,255,255,.08);
  color: #f4f1e8;
  font-weight: 850;
  font-size: .9rem;
}
.ncs-content-grid { grid-template-columns: minmax(0, 1fr) 330px; align-items: start; }
.ncs-rich-copy { font-size: 1.06rem; }
.ncs-rich-copy h2 { font-size: 1.65rem; margin: 32px 0 14px; }
.ncs-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 18px 0 8px; }
.ncs-check-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.ncs-check-list li { padding: 12px 14px 12px 38px; border: 1px solid var(--line); border-radius: 6px; position: relative; background: #fbfaf6; }
.ncs-check-list li:before { content: ""; position: absolute; left: 14px; top: 18px; width: 10px; height: 10px; border-radius: 999px; background: var(--gold); }
.ncs-faqs { display: grid; gap: 10px; }
.ncs-faqs details { border: 1px solid var(--line); border-radius: 6px; background: #fbfaf6; padding: 14px; }
.ncs-faqs summary { cursor: pointer; font-weight: 900; color: var(--green); }
.ncs-faqs p { margin: 10px 0 0; }
.ncs-side-box { position: sticky; top: 104px; }
.ncs-form-wrap {
  max-width: 780px;
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  box-shadow: 0 12px 30px rgba(12, 42, 35, .07);
}
.ncs-quote-panel {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: clamp(22px, 4vw, 48px);
  align-items: stretch;
}
.ncs-quote-panel__copy {
  padding: clamp(24px, 3.5vw, 38px);
  border-radius: 8px;
  background:
    linear-gradient(150deg, rgba(15, 47, 40, .96), rgba(15, 47, 40, .86)),
    url("/wp-content/uploads/ncs/ai-uk-roof-detail.webp") center / cover;
  color: var(--white);
  box-shadow: 0 20px 52px rgba(12,42,35,.18);
}
.ncs-quote-panel__copy .ncs-eyebrow { color: #f0d07b; }
.ncs-quote-panel__copy h2 {
  margin: 0 0 16px;
  font-size: clamp(1.9rem, 3vw, 3rem);
  line-height: 1.08;
}
.ncs-quote-panel__copy p {
  color: #d9e6e1;
  font-size: 1.04rem;
}
.ncs-call-card {
  display: grid;
  gap: 4px;
  margin: 26px 0;
  padding: 18px;
  border: 1px solid rgba(240,208,123,.46);
  border-radius: 8px;
  background: rgba(255,255,255,.08);
}
.ncs-call-card span {
  color: #f0d07b;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.ncs-call-card strong {
  color: var(--white);
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  line-height: 1;
}
.ncs-quote-steps {
  display: grid;
  gap: 12px;
}
.ncs-quote-steps div {
  padding: 14px 0 0;
  border-top: 1px solid rgba(255,255,255,.18);
}
.ncs-quote-steps strong,
.ncs-quote-steps span {
  display: block;
}
.ncs-quote-steps strong { color: var(--white); }
.ncs-quote-steps span {
  color: #d9e6e1;
  margin-top: 4px;
}
.ncs-form-wrap--premium {
  max-width: none;
  padding: clamp(24px, 3vw, 38px);
  background: #fffefa;
  box-shadow: 0 22px 58px rgba(12,42,35,.13);
}
.ncs-form-wrap--premium .wpforms-field {
  padding: 10px 0 !important;
}
.ncs-form-wrap--premium .wpforms-field-label {
  margin-bottom: 8px !important;
  font-size: .96rem !important;
}
.ncs-form-wrap--premium input,
.ncs-form-wrap--premium textarea,
.ncs-form-wrap--premium select {
  background: var(--white) !important;
  border: 1px solid rgba(20,44,39,.22) !important;
  box-shadow: inset 0 1px 0 rgba(20,44,39,.04) !important;
}
.ncs-form-wrap--premium input:focus,
.ncs-form-wrap--premium textarea:focus,
.ncs-form-wrap--premium select:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(200,161,62,.18) !important;
  outline: none !important;
}
.ncs-form-wrap--premium .wpforms-submit-container {
  padding-top: 18px !important;
}
.ncs-form-wrap--premium .wpforms-submit {
  width: 100%;
  min-height: 56px !important;
  font-size: 1.04rem !important;
}
.ncs-form-wrap .wpforms-container { margin: 0 !important; }
.ncs-form-wrap input,
.ncs-form-wrap textarea,
.ncs-form-wrap select {
  border-color: rgba(20, 44, 39, .28) !important;
  border-radius: 5px !important;
  min-height: 46px !important;
}
.ncs-form-wrap label { color: var(--ink) !important; font-weight: 850 !important; }
.ncs-form-wrap .fluentform,
.ncs-form-wrap .frm-fluent-form { margin: 0 !important; }
.ncs-form-wrap .ff-el-group { margin-bottom: 18px !important; }
.ncs-form-wrap .ff-el-input--label label {
  color: var(--ink) !important;
  font-weight: 900 !important;
  font-size: .96rem !important;
}
.ncs-form-wrap .ff-el-form-control {
  min-height: 48px !important;
  border: 1px solid rgba(20, 44, 39, .24) !important;
  border-radius: 6px !important;
  background: var(--white) !important;
  color: var(--ink) !important;
  box-shadow: inset 0 1px 0 rgba(20,44,39,.04) !important;
}
.ncs-form-wrap textarea.ff-el-form-control {
  min-height: 150px !important;
}
.ncs-form-wrap .ff-el-form-control:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(200,161,62,.18) !important;
  outline: none !important;
}
.ncs-form-wrap .ff-btn-submit {
  width: 100%;
  min-height: 56px !important;
  border-radius: 6px !important;
  border: 0 !important;
  background: var(--green) !important;
  color: var(--white) !important;
  font-weight: 950 !important;
  font-size: 1.04rem !important;
}
.ncs-footer { padding: 46px 0 24px; background: #0f2f28; color: #eaf1ee; }
.ncs-footer__grid { grid-template-columns: 1.2fr .8fr .8fr; align-items: start; }
.ncs-footer strong { display: block; margin-bottom: 12px; color: #fff; }
.ncs-footer a { display: block; color: #d9e6e1; margin: 7px 0; }
.ncs-footer-quote { font-weight: 900; color: var(--gold) !important; }
.ncs-footer__bottom { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255,255,255,.15); margin-top: 32px; padding-top: 18px; color: #bed0ca; font-size: .92rem; }
@media (max-width: 1080px) {
  .ncs-header__inner { align-items: flex-start; flex-direction: column; gap: 10px; padding: 12px 0; }
  .ncs-nav { width: 100%; align-items: stretch; justify-content: flex-start; overflow: visible; padding-bottom: 2px; }
  .ncs-nav__menu { left: 0; right: auto; }
  .ncs-hero__grid,
  .ncs-page-hero__grid,
  .ncs-two-col,
  .ncs-process,
  .ncs-content-grid,
  .ncs-footer__grid { grid-template-columns: 1fr; }
  .ncs-card-grid,
  .ncs-card-grid--services,
  .ncs-process ol,
  .ncs-problem-grid,
  .ncs-project-grid,
  .ncs-mini-links,
  .ncs-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ncs-feature__grid { grid-template-columns: 1fr; }
  .ncs-quote-panel { grid-template-columns: 1fr; }
  .ncs-feature--reverse .ncs-feature__media,
  .ncs-feature--reverse .ncs-feature__copy { order: initial; }
  .ncs-side-box { position: static; }
  .ncs-cta-band { align-items: flex-start; flex-direction: column; }
  .ncs-hero { min-height: 640px; }
}
@media (max-width: 640px) {
  .admin-bar .ncs-header { top: 0; }
  .ncs-shell { width: min(100% - 32px, var(--shell)); }
  .ncs-brand span { font-size: 1.65rem; white-space: normal; line-height: 1; }
  .ncs-nav { display: grid; grid-template-columns: 1fr; overflow: visible; gap: 10px; }
  .ncs-nav__group { border: 1px solid var(--line); border-radius: 8px; background: var(--white); }
  .ncs-nav__top { font-size: .92rem; padding: 10px 12px; }
  .ncs-nav__menu { position: static; width: auto; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; border: 0; border-top: 1px solid var(--line); border-radius: 0 0 8px 8px; padding: 6px; }
  .ncs-nav__group:not([open]) .ncs-nav__menu { display: none; }
  .ncs-nav__menu a { font-size: .82rem; padding: 7px 8px; }
  .ncs-hero { min-height: 590px; padding: 46px 0 30px; align-items: center; }
  .ncs-hero:before {
    background:
      linear-gradient(90deg, rgba(9, 31, 27, .9) 0%, rgba(9, 31, 27, .66) 100%),
      linear-gradient(0deg, rgba(9, 31, 27, .78) 0%, rgba(9, 31, 27, .12) 58%);
  }
  .ncs-page-hero { min-height: 360px; padding: 46px 0; }
  .ncs-hero h1,
  .ncs-page-hero h1 { font-size: clamp(2rem, 11vw, 2.7rem); line-height: 1.04; }
  .ncs-hero h1 { font-size: clamp(2.35rem, 11.3vw, 3.25rem); line-height: .96; }
  .ncs-hero .ncs-lede { font-size: 1rem; line-height: 1.48; }
  .ncs-section { padding: 48px 0; }
  .ncs-card-grid,
  .ncs-card-grid--services,
  .ncs-process ol,
  .ncs-stats,
  .ncs-problem-grid,
  .ncs-info-grid,
  .ncs-trust-grid,
  .ncs-project-grid,
  .ncs-mini-links,
  .ncs-logo-grid { grid-template-columns: 1fr; }
  .ncs-trust-grid strong { min-height: 58px; border-right: 1px solid rgba(255,255,255,.12); }
  .ncs-feature__media img { aspect-ratio: 16 / 11; }
  .ncs-actions,
  .ncs-button,
  .wpforms-submit { width: 100%; }
  .ncs-form-wrap { padding: 18px; }
  .ncs-quote-panel__copy { padding: 22px; }
  .ncs-footer__bottom { flex-direction: column; }
  .ncs-cta-band { padding: 22px; }
}
