@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/barlow-500.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/barlow-600.woff2") format("woff2"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/barlow-700.woff2") format("woff2"); }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/barlow-condensed-500.woff2") format("woff2"); }
@font-face { font-family: "Fira Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/fira-sans-500.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: italic; font-weight: 500; font-display: swap; src: url("/assets/fonts/open-sans-italic.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: italic; font-weight: 700; font-display: swap; src: url("/assets/fonts/open-sans-italic.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/open-sans.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/open-sans.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/open-sans.woff2") format("woff2"); }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/open-sans.woff2") format("woff2"); }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 600; font-display: swap; src: url("/assets/fonts/oswald-600.woff2") format("woff2"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/poppins-500.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/roboto.woff2") format("woff2"); }
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/roboto.woff2") format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-style: normal; font-weight: 400; font-display: swap; src: url("/assets/fonts/roboto-condensed.woff2") format("woff2"); }
@font-face { font-family: "Roboto Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/roboto-condensed.woff2") format("woff2"); }
@font-face { font-family: "Rubik"; font-style: normal; font-weight: 500; font-display: swap; src: url("/assets/fonts/rubik.woff2") format("woff2"); }
@font-face { font-family: "Rubik"; font-style: normal; font-weight: 700; font-display: swap; src: url("/assets/fonts/rubik.woff2") format("woff2"); }
/* ------------------------------------------------------------------
   Ajsli Construction — faithful recreation of the original Divi site
   (2023–2025). Values are taken from the Wayback captures and from the
   identical Divi template still live on districtconstruction.co.uk.
   ------------------------------------------------------------------ */

:root {
  --blue: #027ba7;
  --navy: #111626;
  --ink: #121212;
  --text: #666666;
  --grey-bg: #f9f9f9;
  --line: #eeeeee;
  --link: #2ea3f2;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--text); font-family: "Open Sans", Arial, sans-serif; font-size: 16px; font-weight: 500; line-height: 1.8; -webkit-font-smoothing: antialiased; }
img, video, iframe { max-width: 100%; display: block; }
img { height: auto; }
a { color: var(--link); text-decoration: none; }
p { margin: 0; padding-bottom: 1em; }
p:last-child { padding-bottom: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; padding-bottom: 10px; color: var(--navy); font-family: "Barlow", Arial, sans-serif; font-weight: 500; line-height: 1.2; }
ul { margin: 0; padding: 0 0 23px 1em; line-height: 26px; }
strong { font-weight: 700; }
.skip-link { position: absolute; left: -9999px; top: 0; background: #fff; padding: 10px 16px; z-index: 1000; }
.skip-link:focus { left: 10px; top: 10px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Divi grid: sections 4% padding, rows 80% / max 1080px */
.section { position: relative; padding: 4% 0; background: #fff; }
.section--grey { background: var(--grey-bg); }
.section--flush { padding: 0; }
.row { width: 80%; max-width: 1080px; margin: 0 auto; padding: 2% 0; position: relative; }
.row--wide { width: 90%; max-width: 1139px; }
.row--full { width: 100%; max-width: none; padding: 0; }
.cols { display: flex; gap: 5.5%; }
.cols > * { flex: 1 1 0; min-width: 0; }
.cols--3 { gap: 3%; }
.cols--2-3 > :first-child { flex: 2 1 0; }
.cols--2-3 > :last-child { flex: 3 1 0; }
.cols--center { align-items: center; }
.cols--equal { align-items: stretch; }
.module + .module { margin-top: 27.8px; }
.center { text-align: center; }

/* Buttons (Divi et_pb_button as styled on the original) */
.btn { display: inline-block; font-family: "Rubik", Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 1.7; letter-spacing: 4px; text-transform: uppercase; color: #fff; background: var(--blue); border: 4px solid var(--blue); padding: 12px 30px; transition: background .2s, color .2s; }
.btn:hover { background: #fff; color: var(--blue); }
.btn-wrap { margin-top: 27.8px; }
.btn-wrap--center { text-align: center; }

/* Two-colour heading (Divi Plus "double color heading") */
.dch { margin: 0; padding: 0; font-family: "Barlow", Arial, sans-serif; font-size: 50px; font-weight: 600; line-height: 1.2; color: var(--navy); }
.dch .main { color: var(--blue); padding: 0 5px; }
.dch--sm { font-size: 28px; }
.dch--center { text-align: center; }

/* Header (Theme Builder header) */
.topbar { background: var(--blue); }
.topbar .row { padding: 5px 0; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 4px 40px; font-size: 14px; line-height: 2; }
.topbar a { color: #fff; display: inline-flex; align-items: center; gap: 8px; }
.topbar svg { width: 16px; height: 16px; fill: #fffefe; }
.site-header { background: #fff; box-shadow: 0 0 1.5px 0 rgba(0, 0, 0, .1); position: relative; z-index: 10; }
.site-header .row { width: 84%; max-width: 1495px; padding: 5px 0; display: flex; align-items: center; justify-content: space-between; }
.logo img { height: 82px; width: auto; }
.menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; }
.menu > li { position: relative; }
.menu a { display: block; padding: 30px 11px; font-family: "Barlow", Arial, sans-serif; font-weight: 600; font-size: 18px; line-height: 1.2; color: var(--ink); }
.menu a:hover { opacity: .7; }
.menu a[aria-current="page"], .menu .current > a { color: var(--blue); }
.menu .has-sub > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.menu .sub { list-style: none; margin: 0; padding: 20px 0; position: absolute; top: 100%; left: 0; width: 240px; background: #fff; border-top: 3px solid var(--blue); box-shadow: 0 2px 5px rgba(0, 0, 0, .1); opacity: 0; visibility: hidden; transition: opacity .2s; z-index: 20; }
.menu .has-sub:hover > .sub, .menu .has-sub:focus-within > .sub { opacity: 1; visibility: visible; }
.menu .sub a { padding: 6px 20px; font-size: 18px; }
.menu-toggle, .sub-toggle { display: none; }

@media (max-width: 980px) {
  .site-header .row { flex-wrap: wrap; }
  .logo img { height: 58px; }
  .menu-toggle { display: block; background: none; border: 0; padding: 8px; cursor: pointer; color: var(--blue); }
  .menu-toggle svg { width: 32px; height: 32px; }
  .nav { display: none; width: 100%; border-top: 3px solid var(--blue); box-shadow: 0 2px 5px rgba(0, 0, 0, .1); }
  .nav.is-open { display: block; }
  .menu { flex-direction: column; align-items: stretch; padding: 5% 0; }
  .menu a { padding: 10px 5%; border-bottom: 1px solid rgba(0, 0, 0, .03); }
  .menu .has-sub { display: flex; flex-wrap: wrap; }
  .menu .has-sub > a { flex: 1; }
  .menu .has-sub > a::after { display: none; }
  .sub-toggle { display: block; background: none; border: 0; padding: 0 5%; font-size: 22px; color: var(--ink); cursor: pointer; }
  .menu .sub { position: static; width: 100%; opacity: 1; visibility: visible; display: none; border: 0; box-shadow: none; padding: 0 0 0 20px; }
  .menu .has-sub.is-open > .sub { display: block; }
}

/* Inner-page hero (video/image + navy overlay + wave divider) */
.hero { position: relative; overflow: hidden; background: #464646 center / cover no-repeat; color: #fff; padding: 167px 0; }
.hero--about { padding: 237px 0; }
.hero--contact { padding: 100px 0; }
.hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero::before { content: ""; position: absolute; inset: 0; background: rgba(17, 22, 38, .85); z-index: 1; }
.hero--contact::before { background: linear-gradient(180deg, rgba(17, 22, 38, .08) 0%, rgba(17, 22, 38, .18) 100%); }
.hero .row { z-index: 3; padding: 60px 0; }
.hero h1 { color: #fff; font-size: 60px; font-weight: 600; line-height: 1.2; padding-bottom: 10px; }
.hero--about h1 { font-size: 90px; }
.breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 10px; font-size: 16px; line-height: 26px; color: #fff; }
.breadcrumb a { color: #fff; display: inline-flex; }
.breadcrumb svg { width: 16px; height: 16px; fill: #fff; }
.breadcrumb li + li::before { content: ">"; margin-right: 10px; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 30px; margin-top: 30px; }
.hero-btn { display: inline-flex; align-items: center; gap: 10px; padding: 10px 30px; font-family: "Barlow", Arial, sans-serif; font-size: 18px; font-weight: 500; line-height: 1.7; color: #fff; background: var(--blue); box-shadow: 0 0 0 6px rgba(40, 35, 42, .36); }
.hero-btn--dark { background: var(--ink); }
.hero-btn svg { width: 16px; height: 16px; fill: #fff; }
.hero-btn:hover { opacity: .9; }
.wave { position: absolute; left: 0; right: 0; bottom: 0; height: 100px; z-index: 2; pointer-events: none; background-size: 100% 100px; background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100px' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23f9f9f9'%3E%3Cpath d='M1280 3.4C1050.59 18 1019.4 84.89 734.42 84.89c-320 0-320-84.3-640-84.3C59.4.59 28.2 1.6 0 3.4V140h1280z' fill-opacity='.3'/%3E%3Cpath d='M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V140H0z' fill-opacity='.5'/%3E%3Cpath d='M1280 51.76c-201 12.49-242.43 53.4-513.58 53.4-320 0-320-57-640-57-48.85.01-90.21 1.35-126.42 3.6V140h1280z'/%3E%3C/g%3E%3C/svg%3E"); }
.wave--white { background-image: url("data:image/svg+xml,%3Csvg width='100%25' height='100px' viewBox='0 0 1280 140' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff'%3E%3Cpath d='M1280 3.4C1050.59 18 1019.4 84.89 734.42 84.89c-320 0-320-84.3-640-84.3C59.4.59 28.2 1.6 0 3.4V140h1280z' fill-opacity='.3'/%3E%3Cpath d='M0 24.31c43.46-5.69 94.56-9.25 158.42-9.25 320 0 320 89.24 640 89.24 256.13 0 307.28-57.16 481.58-80V140H0z' fill-opacity='.5'/%3E%3Cpath d='M1280 51.76c-201 12.49-242.43 53.4-513.58 53.4-320 0-320-57-640-57-48.85.01-90.21 1.35-126.42 3.6V140h1280z'/%3E%3C/g%3E%3C/svg%3E"); }
@media (max-width: 980px) {
  .hero { padding: 100px 0; }
  .hero--about { padding: 130px 0; }
  .hero h1, .hero--about h1 { font-size: 46px; }
}

/* Home hero (replaces the Slider Revolution slider) */
.home-hero { position: relative; overflow: hidden; height: 800px; max-height: 100vh; min-height: 520px; background: #111 center / cover no-repeat; color: #fff; display: flex; align-items: center; }
.home-hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero::before { content: ""; position: absolute; inset: 0 50% 0 0; background: linear-gradient(90deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, 0) 100%); z-index: 1; }
.home-hero .row { z-index: 2; }
.home-hero h1 { color: #fff; font-family: "Poppins", Arial, sans-serif; font-weight: 500; font-size: 120px; line-height: 110px; padding: 0 20px 10px; margin-left: -20px; }
.home-hero p { font-family: "Roboto", Arial, sans-serif; font-weight: 500; font-size: 16px; line-height: 24px; color: #fff; max-width: 560px; }
.home-hero .btn-wrap { margin-top: 30px; }
@media (max-width: 1240px) { .home-hero h1 { font-size: 99px; line-height: 90px; } }
@media (max-width: 980px) { .home-hero { height: 620px; } .home-hero h1 { font-size: 75px; line-height: 68px; } }
@media (max-width: 600px) { .home-hero h1 { font-size: 46px; line-height: 41px; } }

/* Home: contact strip */
.contact-strip .row { padding: 0; }
.contact-strip .cols { gap: 0; }
.strip-blurb { background: var(--navy); padding: 40px 30px; text-align: center; color: #fff; }
.strip-blurb:nth-child(2) { background: var(--blue); }
.strip-blurb svg { width: 32px; height: 32px; fill: #fff; margin: 0 auto 15px; }
.strip-blurb h2 { color: #fff; font-size: 22px; font-weight: 500; padding-bottom: 10px; }
.strip-blurb p, .strip-blurb a { color: #fff; font-size: 16px; }

/* Home: intro under "Quality Value Creativity" */
.intro { text-align: center; }
.intro p { margin-top: 1em; }

/* Image cards (Divi Plus image card) */
.card-col { display: flex; flex-direction: column; align-items: center; }
.card { width: 100%; background: #fff; border: 1px solid var(--line); padding: 20px 20px 0; }
.card__img { position: relative; }
.card__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.card__icon { display: flex; justify-content: center; margin-top: -30px; position: relative; }
.card__icon span { width: 60px; height: 60px; border-radius: 50%; background: #fff; display: grid; place-items: center; }
.card__icon svg { width: 32px; height: 32px; fill: var(--blue); }
.card__body { padding: 10px 0 20px; }
.card__body h3 { font-size: 22px; font-weight: 600; line-height: 1.2; padding-bottom: 10px; }
.card__body p { font-size: 16px; line-height: 1.8; }
.card-col .btn-wrap { margin: 27.8px 0 0; }
.cards-row + .cards-row { margin-top: 0; }

/* Home: About section */
.about-home .cols { gap: 0; align-items: stretch; }
.about-home__img img { width: 100%; height: 100%; object-fit: cover; }
.about-home__text { background: #fff; padding: 60px 30px; }
.about-home__text .text { padding: 30px 0; }
.blurb h3 { font-size: 20px; line-height: 1.2; color: var(--blue); padding-bottom: 10px; }
.blurb { padding: 20px 0; }
.blurb:first-of-type { padding-top: 10px; }

/* Home: "Not just another building company" */
.njabc .row { width: 94%; max-width: 1189px; }
.njabc .text-col { padding-left: 60px; }
.njabc h2 { font-size: 42px; font-weight: 700; line-height: 1.2; color: #212121; text-transform: uppercase; }
.divider { width: 40px; height: 4px; background: #212121; margin: 25px 0; }
.njabc .text { font-size: 15px; color: #262626; margin: 50px 0; }
.njabc video { width: 100%; background: #000; }

/* Home: counters */
.counters { background: var(--blue); }
.counters .row { padding: 0; }
.counters .cols { gap: 0; }
.counter { text-align: center; padding: 40px 0; color: #fff; position: relative; }
.counter + .counter { border-left: 1px solid rgba(255, 255, 255, .25); }
.counter svg { width: 70px; height: 70px; fill: rgba(255, 255, 255, .25); margin: 0 auto 10px; }
.counter strong { display: block; font-family: "Fira Sans", Arial, sans-serif; font-size: 60px; font-weight: 500; line-height: 1.2; }
.counter h3 { color: #fff; font-size: 22px; line-height: 1.2; padding: 0; }

/* Services slider replacement (four panels) */
.svc-panels .row { width: 100%; max-width: none; padding: 0; }
.svc-panels .cols { gap: 0; }
.svc-panel { position: relative; min-height: 520px; display: flex; flex-direction: column; justify-content: flex-end; padding: 40px 30px; background: var(--navy) center / cover no-repeat; color: #fff; }
.svc-panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17, 22, 38, .1) 0%, rgba(17, 22, 38, .8) 100%); }
.svc-panel > * { position: relative; }
.svc-panel .num { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 18px; color: #fff; opacity: .8; }
.svc-panel h2 { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 28px; color: #fff; line-height: 1.2; padding: 4px 0 20px; }
.svc-panel .btn { align-self: flex-start; }

/* Gallery (filterable / masonry gallery replacement) */
.filter { list-style: none; display: flex; justify-content: center; gap: 10px; margin: 0 0 30px; padding: 0; }
.filter li { padding: 6px 18px; background: var(--blue); color: #fff; font-family: "Barlow", Arial, sans-serif; font-weight: 600; font-size: 16px; }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.gallery--masonry { display: block; columns: 3; column-gap: 15px; }
.gallery--masonry figure { break-inside: avoid; margin-bottom: 15px; }
.gallery figure { margin: 0; overflow: hidden; background: #eee; }
.gallery button { all: unset; display: block; width: 100%; cursor: zoom-in; }
.gallery button:focus-visible { outline: 3px solid var(--blue); outline-offset: -3px; }
.gallery img { width: 100%; transition: transform .4s; }
.gallery:not(.gallery--masonry) img { aspect-ratio: 4 / 3; object-fit: cover; }
.gallery button:hover img { transform: scale(1.08); }
.lightbox { border: 0; padding: 0; background: transparent; max-width: 94vw; max-height: 92vh; }
.lightbox::backdrop { background: rgba(11, 11, 11, .8); }
.lightbox img { max-height: 86vh; width: auto; margin: 0 auto; }
.lightbox__close { position: fixed; top: 10px; right: 20px; background: none; border: 0; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; }

/* Inner pages: image + text rows */
.reveal img { width: 100%; }
.text h3 { font-size: 22px; padding-bottom: 10px; }
.text strong.lead { display: block; font-family: "Barlow", Arial, sans-serif; font-size: 22px; font-weight: 700; color: var(--navy); line-height: 1.2; }
.text em strong, .text strong em { color: var(--navy); }
.split-word { font-size: 22px; line-height: 1; color: var(--navy); font-family: "Barlow", Arial, sans-serif; font-weight: 600; display: block; padding: 10px 0; }
.services-list { list-style: none; padding: 0; text-align: center; font-weight: 700; color: var(--navy); line-height: 1.9; }
.side-photo { background: #ddd center / cover no-repeat; padding: 40px; min-height: 420px; }

/* Skill bars (Divi Plus bar counter) */
.bar { margin: 20px 0; }
.bar h3 { font-size: 20px; font-weight: 600; line-height: 1.2; text-transform: uppercase; padding: 0 0 10px; }
.bar__track { display: flex; align-items: center; gap: 5px; height: 17px; }
.bar__track i { flex: 1 1 0; height: 17px; background: var(--navy); }
.bar__track span { flex: none; padding-left: 10px; font-family: "Barlow", Arial, sans-serif; font-size: 14px; line-height: 1.2; color: var(--blue); }

/* Portfolio block on service pages */
.portfolio-title { font-family: "Roboto Condensed", Arial, sans-serif; font-weight: 700; font-size: 40px; line-height: 1.2; letter-spacing: 1px; text-transform: uppercase; color: #3a1b1e; text-align: center; padding: 0; }
.portfolio-sub { font-family: "Roboto", Arial, sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 3px; text-transform: uppercase; color: var(--blue); text-align: center; margin: 0 20px; }
.slider { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0; scrollbar-width: thin; }
.slider img { flex: 0 0 100%; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; scroll-snap-align: center; }

/* Services page: alternating full-width rows */
.svc-row .cols { gap: 0; align-items: stretch; }
.svc-row__img img { width: 100%; height: 100%; object-fit: cover; }
.svc-row__text { padding: 60px 7%; display: flex; flex-direction: column; justify-content: center; }
.svc-row__text .text { padding: 30px 0; }
.svc-row__text .dch { text-transform: uppercase; }

/* Contact page */
.contact-box { background: #fff; border: 1px solid var(--line); padding: 60px; }
.contact-box h2 { font-size: 50px; font-weight: 600; line-height: 1.2; padding-bottom: 20px; }
.form { display: grid; gap: 3%; row-gap: 20px; }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.form label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.form input, .form textarea { width: 100%; font: 400 16px/1.8 "Open Sans", Arial, sans-serif; color: #999; background: transparent; border: 0; border-bottom: 1px solid #bbb; padding: 16px; }
.form input:focus, .form textarea:focus { outline: 0; border-bottom-color: var(--blue); color: var(--navy); }
.form textarea { height: 150px; resize: vertical; }
.form .hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.submit { justify-self: end; display: inline-flex; align-items: center; gap: 10px; margin: 20px 6px; padding: 10px 40px 10px 30px; border: 0; cursor: pointer; font: 500 18px/1.7 "Barlow", Arial, sans-serif; color: #fff; background: var(--blue); box-shadow: 0 0 0 6px rgba(2, 123, 167, .42); }
.submit svg { width: 16px; height: 16px; fill: #fff; }
.submit[disabled] { opacity: .6; cursor: wait; }
.form__status { padding: 12px 16px; font-weight: 600; }
.form__status:empty { display: none; }
.form__status.is-success { background: #e7f5ec; color: #1d7a46; }
.form__status.is-error { background: #fdecea; color: #b42318; }
.form__note { font-size: 14px; margin: 0; }
.map iframe { width: 100%; height: 320px; border: 0; }

/* Footer (Theme Builder footer) */
.site-footer { background: var(--blue); padding-top: 3px; }
.footer-box { width: 90%; max-width: 1139px; margin: 50px auto; background: #000; box-shadow: 0 6px 18px 0 rgba(188, 188, 188, .19); display: flex; }
.footer-box > div { flex: 1 1 0; padding: 60px; }
.f-blurb { display: flex; gap: 15px; }
.f-blurb svg { flex: none; width: 43px; height: 43px; fill: #fff; }
.f-blurb h2 { font-family: "Oswald", Arial, sans-serif; font-weight: 600; font-size: 24px; line-height: 1.4; color: #fff; padding: 0; text-transform: uppercase; }
.f-blurb p, .f-list a, .f-blurb a { font-family: "Roboto Condensed", Arial, sans-serif; font-size: 16px; line-height: 1.6; color: #fff; }
.f-heading { font-family: "Oswald", Arial, sans-serif; font-weight: 600; font-size: 24px; line-height: 1.4; color: #fff; padding: 0 0 10px; }
.f-list { list-style: none; margin: 0; padding: 0; }
.f-list li { padding: 0; line-height: 1; margin-bottom: 14px; }
.f-list a { color: var(--link); }
.f-list a:hover, .f-blurb a:hover { text-decoration: underline; }
.f-divider { border-top: 2px solid #f3f3f3; margin: 15px 0; }
.copyright { text-align: center; padding: 25px 5%; font-family: "Oswald", Arial, sans-serif; font-weight: 600; font-size: 16px; line-height: 1.4; color: #000; }

/* Responsive collapse (Divi stacks columns at 980px) */
@media (max-width: 980px) {
  .cols { flex-direction: column; gap: 30px; }
  .cols--3, .contact-strip .cols, .counters .cols, .about-home .cols, .svc-row .cols, .svc-panels .cols { gap: 0; }
  .svc-row .cols--reverse { flex-direction: column-reverse; }
  .dch { font-size: 38px; }
  .njabc .text-col { padding-left: 0; }
  .counter + .counter { border-left: 0; border-top: 1px solid rgba(255, 255, 255, .25); }
  .svc-panel { min-height: 320px; }
  .gallery { grid-template-columns: repeat(2, 1fr); }
  .gallery--masonry { columns: 2; }
  .footer-box { flex-direction: column; }
  .footer-box > div { padding: 40px; }
  .contact-box { padding: 30px; }
  .contact-box h2 { font-size: 38px; }
}
@media (max-width: 600px) {
  .row { width: 90%; }
  .form__row { grid-template-columns: 1fr; }
  .gallery { grid-template-columns: 1fr; }
  .gallery--masonry { columns: 1; }
  .dch { font-size: 32px; }
  .njabc h2 { font-size: 32px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; } }
