/* Variables
----------------------- */
:root {
  --color-primary: #C25700;
  --color-secondary: #6e7c03;
  --color-primary-light: #f2e8dd;
  --bg-body: #f9f6f3;
  --text-color: #3f3f3f;
  --gray-color: #767676;
  --bold-color: #222222;
  --light: #fffbf6;
  --color-dark: #221f1d;
  --border: #dbdbd3;
  --shadow: 0 0 8px 1px #cccccc;
  --shadow-primary: 0 0 10px 1px var(--color-primary);
  --shadow-secondary: 0 0 10px 1px var(--color-secondary);
  --font-text: "open sans", sans-serif;
  --font-heading: "roboto", sans-serif;
}

/* Default Box sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* HTML and Body
----------------------- */
html:focus-within {
  scroll-behavior: smooth;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

html,
body {
  height: 100%;
}

body {
  background-color: var(--bg-body);
  color: var(--text-color);
  font-family: var(--font-text), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  min-height: 100vh;
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

/* Regions
----------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section {
  display: block;
}

template,
[hidden] {
  display: none;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

/* Typography
----------------------- */
/* Typography -> Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--bold-color);
  font-family: var(--font-heading);
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  margin: 0 0 10px 0;
}

h1 {
  font-size: 2.1rem;
}

h2 {
  font-size: 1.8rem;
}

h3 {
  font-size: 1.5rem;
}

h4 {
  font-size: 1.3rem;
}

h5, h6 {
  font-size: 1.2rem;
  text-transform: uppercase;
}

/* Typography -> Paragraph */
p {
  margin: 0 0 1.2rem 0;
}

/* Typography -> Links */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

a {
  color: var(--color-primary);
  background-color: transparent;
  text-decoration: none;
  transition: color 0.4s ease;
}

a:active,
a:hover,
a:focus {
  background-color: transparent;
  text-decoration: none;
  border: 0;
  outline: 0;
}

a:hover {
  color: var(--color-secondary);
}

a:active,
li a.active {
  color: var(--color-primary);
}

/* Typography -> Abbreviation */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

abbr {
  cursor: help;
}

acronym {
  border-bottom: 1px dotted;
  cursor: help;
}

/* Typography -> Text styling */
b,
strong {
  font-weight: bolder;
  color: var(--bold-color);
}

em,
dfn,
cite {
  font-style: italic;
}

mark,
ins {
  display: inline-block;
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 2px 4px;
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

small {
  font-size: 80%;
}

big {
  font-size: 125%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

tt,
var {
  font-family: monospace, monospace;
  font-style: italic;
}

/* Typography -> Blockquote */
blockquote,
[dir=rtl] blockquote {
  position: relative;
  background-color: #ffffff;
  margin: 0.5rem 0 1rem 0;
  padding: 1rem;
  box-shadow: var(--shadow);
  isolation: isolate;
}

blockquote:before {
  position: absolute;
  content: "\e008";
  top: 0;
  left: 0;
  font-family: "tara";
  color: var(--color-primary-light);
  font-size: 4rem;
  line-height: 1;
  z-index: -1;
}

blockquote p:last-of-type {
  margin: 0;
}

/* Typography -> HTML code tags */
pre {
  overflow: auto;
}

kbd {
  background-color: #ffffff;
  padding: 4px 10px;
  font-family: monospace, monospace;
  font-size: 1rem;
}

pre,
samp {
  background-color: #ffffff;
  margin: 1rem 0;
  padding: 1rem;
  font-family: monospace, monospace;
  font-size: 1rem;
  box-shadow: var(--shadow);
}

code {
  padding: 2px 10px;
  font-family: monospace, monospace;
  font-size: 1rem;
  background: #ffffff;
}

pre code {
  padding: 0;
}

/* Typography -> Address */
address {
  margin: 0 0 1.75rem;
  font-style: italic;
}

/* Typography -> Description Lists */
dl {
  margin: 0 0 1.75rem;
}

dt {
  font-weight: 400;
  color: var(--bold-color);
}

dd {
  margin: 0 0 1.75rem;
}

/* Typography -> HTML Elements */
hr {
  clear: both;
  width: 100%;
  margin: 0.5rem 0;
  border: 0;
  border-bottom: 2px solid var(--border);
  box-sizing: content-box;
}

/* Forms
----------------------- */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  line-height: 1.6;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border: 0;
  border-style: none;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 0;
}

button[disabled],
html input[disabled] {
  cursor: not-allowed;
  opacity: 0.7;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

input {
  line-height: normal;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search] {
  padding: 10px;
  background: #ffffff;
  max-width: 100%;
  border: 1px solid var(--border);
  border-radius: 4px;
  transition: border 0.3s linear;
}

textarea {
  width: 100%;
  max-width: 100%;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: auto;
  transition: border 0.3s linear;
  vertical-align: top;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
textarea:focus {
  border: 1px solid var(--color-primary);
  outline: 0;
}

input[type=submit],
input[type=button],
input[type=reset],
button,
.button {
  display: inline-block;
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 8px 1rem;
  border: 3px solid #ffffff;
  border-radius: 2rem;
  transition: all 0.4s ease-in-out;
  line-height: 1.6;
}

input[type=submit]:hover,
input[type=button]:hover,
input[type=reset]:hover,
button:hover,
.button:hover,
input[type=submit]:focus,
input[type=button]:focus,
input[type=reset]:focus,
button:focus,
.button:focus {
  background-color: transparent;
  border: 3px solid var(--bold-color);
  color: var(--bold-color);
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
  box-sizing: border-box;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  outline-offset: -2px;
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
}

fieldset {
  margin: 0 0 10px 0;
  padding: 0.35rem 0.5rem 0.5rem 0;
  border: 1px solid var(--border);
}

fieldset > :last-child {
  margin-bottom: 0;
}

legend {
  display: table;
  max-width: 100%;
  padding: 0;
  color: inherit;
  border: 0;
  box-sizing: border-box;
  white-space: normal;
}

optgroup {
  font-weight: bold;
}

select {
  padding: 4px 8px;
}

form label {
  display: table;
  font-weight: bold;
}

label[for] {
  cursor: pointer;
}

.page-content input[type=text],
.page-content input[type=password],
.page-content input[type=search] {
  padding: 9px 6px;
  outline: 0;
}

/* Drupal form elements */
.form-item {
  margin-bottom: 1rem;
}

.form-required:after {
  content: "*";
  display: inline-block;
  padding-left: 4px;
  color: var(--color-primary);
}

.form-item label {
  display: block;
}

label.option {
  display: inline;
  font-weight: normal;
}

/* placeholder */
::-webkit-input-placeholder {
  color: #8a8a8a;
}

:-moz-placeholder {
  color: #8a8a8a;
}

::-moz-placeholder {
  color: #8a8a8a;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #8a8a8a;
}

/* List
----------------------- */
ul,
ol {
  margin: 0;
  padding: 0 0 0.25rem 1rem; /* LTR */
}

[dir=rtl] ul,
[dir=rtl] ol {
  padding: 0 1rem 0.25rem 0;
}

ol ol,
ul ul {
  margin: 0;
  padding: 0 0 0.25rem 1rem; /* LTR */
}

[dir=rtl] ol ol,
[dir=rtl] ul ul {
  padding: 0 1rem 0.25rem 0;
}

ul {
  list-style: disc;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

[dir=rtl] ul,
[dir=rtl] ol {
  padding: 0 1em 0.25em 0;
}

.node-content li {
  padding: 6px 0;
}

/* Table
----------------------- */
table {
  width: 100%;
  margin-bottom: 1.2rem;
  border-spacing: 0;
  border-collapse: collapse;
}

th,
tr,
td {
  vertical-align: middle;
}

th {
  background: var(--color-primary);
  font-family: var(--font-heading);
  color: #ffffff;
  margin: 0;
  padding: 10px;
  border: 2px solid var(--border);
  text-align: left;
  text-shadow: none;
}

th a {
  color: #ffffff;
}

td {
  padding: 5px 10px;
  border: 2px solid var(--border);
}

/* Media
----------------------- */
img,
picture,
svg {
  max-width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: middle;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  max-width: 100%;
  height: auto;
  margin: 1em 0;
  border: 0;
}

figcaption {
  padding: 4px;
  font-size: 0.8rem;
  background: #ffffff;
  border: 1px solid var(--border);
  text-align: center;
}

.align-left,
img.align-left,
figure.align-left {
  float: left;
  margin: 20px 20px 20px 0;
}

.align-right,
img.align-right,
figure.align-right {
  float: right;
  margin: 20px 0 20px 20px;
}

.align-center,
img.align-center,
figure.align-center {
  display: block;
  clear: both;
  margin: 20px auto;
}

figure.align-center {
  display: table;
}

figure.align-center img {
  display: block;
  clear: both;
  margin: 0 auto;
}

/* Drupal image filed */
.image-field {
  margin: 0 0 1rem 0;
}

.feed-icon {
  display: block;
}

details {
  margin-bottom: 1rem;
}

summary {
  background-color: #ffffff;
  color: var(--text-color);
  padding: 0.5rem;
  cursor: pointer;
  box-shadow: var(--shadow);
}

details .form-details-wrapper {
  background-color: #ffffff;
  padding: 1rem;
}

/* Misc
----------------------- */
::-moz-selection {
  background: var(--color-primary);
  color: #ffffff;
  text-shadow: none;
}
::selection {
  background: var(--color-primary);
  color: #ffffff;
  text-shadow: none;
}

::-moz-selection {
  background: var(--color-primary);
  color: #ffffff;
  text-shadow: none;
}

/* Page layout -> container */
.container {
  position: relative;
  width: 100%;
  max-width: 1170px;
  height: auto;
  margin: 0 auto;
  padding: 0 10px;
}

/* content warpper including main, sidebar */
.main-wrapper {
  position: relative;
  display: block;
  background: var(--bg-body);
  width: 100%;
  padding: 1rem 0;
  z-index: 2;
}

.main-container {
  position: relative;
  display: grid;
  gap: 1rem;
  width: 100%;
  margin: 0;
}

/* Main */
.no-sidebar .main-container {
  grid-template-columns: 100%;
}

.sidebar-left .main-container {
  grid-template-columns: 25% 75%;
}

.sidebar-right .main-container {
  grid-template-columns: 75% 25%;
}

.two-sidebar .main-container {
  grid-template-columns: 25% 50% 25%;
}

#sidebar-left {
  order: 1;
}

#main {
  position: relative;
  background: var(--bg-body);
  width: 100%;
  margin: 0;
  padding: 0;
  order: 2;
  z-index: 2;
}

#sidebar-right {
  order: 3;
}

@font-face {
  font-display: auto;
  font-family: "tara";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/tara.woff2") format("woff2");
}
[class=icon], [class^=icon-], [class*=" icon-"] {
  display: inline-block;
  font-family: "tara" !important;
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.icon-minus:before {
  content: "\e000";
}

.icon-plus:before {
  content: "\e001";
}

.icon-close:before {
  content: "\e002";
}

.icon-comment-add:before {
  content: "\e003";
}

.icon-check:before {
  content: "\e004";
}

.icon-alert:before {
  content: "\e005";
}

.icon-alert-circle:before {
  content: "\e006";
}

.icon-clock:before {
  content: "\e007";
}

.icon-quote:before {
  content: "\e008";
}

.icon-arrow-left:before {
  content: "\e009";
}

.icon-arrow-right:before {
  content: "\e00a";
}

.icon-angle-right:before {
  content: "\e00b";
}

.icon-angle-left:before {
  content: "\e00c";
}

.icon-comment:before {
  content: "\e00d";
}

.icon-info:before {
  content: "\e00e";
}

.icon-bell:before {
  content: "\e00f";
}

.icon-horn:before {
  content: "\e010";
}

.icon-arrow-up:before {
  content: "\e011";
}

.icon-phone:before {
  content: "\e012";
}

.icon-map:before {
  content: "\e013";
}

.icon-mail:before {
  content: "\e014";
}

.icon-share:before {
  content: "\e015";
}

.icon-telegram:before {
  content: "\e016";
}

.icon-hashtag:before {
  content: "\e017";
}

.icon-vimeo:before {
  content: "\e018";
}

.icon-whatsapp:before {
  content: "\e019";
}

.icon-vk:before {
  content: "\e01a";
}

.icon-instagram:before {
  content: "\e01b";
}

.icon-youtube:before {
  content: "\e01c";
}

.icon-file:before {
  content: "\e01d";
}

.icon-comments:before {
  content: "\e01e";
}

.icon-linkedin:before {
  content: "\e01f";
}

.icon-github:before {
  content: "\e020";
}

.icon-facebook:before {
  content: "\e021";
}

.icon-twitter:before {
  content: "\e022";
}

/* Sitewide verified social profiles */
.site-footer-meta {
  box-sizing: border-box;
  clear: both;
  display: flex;
  position: relative;
  z-index: 5;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 1.15rem 1rem 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, .1);
  background: rgba(3, 14, 19, .92);
  text-align: center;
}

.site-footer-meta .site-social-copyright {
  display: block;
  width: 100%;
  max-width: none;
  margin: .75rem auto 0 !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .68);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .025em;
  line-height: 1.5;
  text-align: center !important;
}

.site-social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.site-social-links a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 42px;
  padding: .62rem .95rem;
  border: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.site-social-links a:hover,
.site-social-links a:focus-visible {
  border-color: #ffca05;
  background: rgba(255, 202, 5, .1);
  transform: translateY(-2px);
}

.site-social-icon {
  display: inline-grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  border: 1px solid #ffca05;
  background: rgba(255, 202, 5, .12);
  color: #ffca05;
}

.site-social-icon svg {
  width: 1rem;
  height: 1rem;
  overflow: visible;
}

.site-social-icon--instagram svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-social-icon--instagram .site-social-icon-dot {
  fill: currentColor;
  stroke: none;
}

.site-social-icon--facebook svg {
  fill: currentColor;
  stroke: none;
}

@media (max-width: 480px) {
  .site-social-links {
    align-items: stretch;
    width: min(100%, 320px);
  }

  .site-social-links a {
    flex: 1 1 135px;
    justify-content: center;
  }
}

.icon-calendar:before {
  content: "\e023";
}

.icon-user:before {
  content: "\e024";
}

.icon-search:before {
  content: "\e025";
}

.icon-bookmark:before {
  content: "\e026";
}

.local-action {
  list-style: none;
}

.button-action {
  background-color: var(--color-secondary);
  color: #ffffff;
  padding: 6px 12px;
}

.button-action:hover {
  background-color: var(--color-primary);
  color: #ffffff;
}

/* Vertical tabs */
.vertical-tabs .vertical-tabs__panes {
  padding: 1rem;
}

/* Header
--------------------------------------*/
/* Header container */
#header,
.header-top,
.header {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  z-index: 3;
}

/* Header top */
.header-top {
  background-color: var(--color-primary-light);
}

.header-top-container {
  position: relative;
  display: flex;
  padding: 6px 0;
  justify-content: space-between;
  align-items: center;
}

/* header top left block region */
.header-top-block p:last-of-type {
  margin: 0;
}

.header-top-left a {
  color: var(--bold-color);
}

.header-top ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.header-top .contextual-links {
  display: none;
}

/* header top left block region */
.header-top-left i {
  background: var(--light);
  color: var(--color-primary);
  width: 2rem;
  height: 2rem;
  border: 2px solid #ffffff;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s ease;
}

/* header for branding and main menu */
.header {
  background-color: #ffffff;
}

.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: 1rem 0;
}

/* site branding */
.site-branding {
  display: flex;
  align-items: center;
}

.site-branding img {
  width: auto;
  max-height: 80px;
}

.site-name-slogan {
  display: flex;
  flex-direction: column;
}

.site-name {
  position: relative;
  font-family: var(--font-heading);
  font-size: 1.8rem;
  line-height: 1.1;
  color: var(--bold-color);
  text-transform: uppercase;
}

.site-name a,
.site-name a:hover {
  color: var(--bold-color);
}

.site-slogan {
  font-size: 0.9rem;
  color: var(--bold-color);
  line-height: 1;
}

/* header right */
.header-right {
  position: relative;
  display: flex;
  align-items: center;
}

/* main menu */
.mobile-menu {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 40px;
  height: 30px;
  overflow: hidden;
  cursor: pointer;
  margin-right: 6px;
}

.mobile-menu span {
  width: 100%;
  height: 3px;
  background-color: var(--color-primary);
  transform-origin: left;
  transition: all 0.6s ease;
}

.mobile-menu span:nth-child(2) {
  background-color: var(--bold-color);
}

.menu-icon-active span:first-child {
  transform: rotate(45deg);
}

.menu-icon-active span:last-child {
  transform: rotate(-45deg);
}

.menu-icon-active span:nth-child(2) {
  display: none;
}

.close-mobile-menu {
  position: absolute;
  top: 2px;
  right: 2px;
  display: grid;
  place-content: center;
  color: #ffffff;
  font-size: 1rem;
  width: 34px;
  height: 34px;
  z-index: 200;
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  cursor: pointer;
}

.primary-menu-wrapper {
  font-family: var(--font-heading);
  font-weight: 400;
}

.menu-wrap {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 90%;
  max-width: 320px;
  height: 100%;
  z-index: 10;
  transform: translateX(-100%);
  transition: all 0.4s ease;
  padding-top: 30px;
}

.active-menu .menu-wrap {
  background: rgba(0, 0, 0, 0.9);
  transform: translateX(0);
  overflow-y: auto;
  overflow-x: hidden;
}

.active-menu .menu-wrap .main-menu,
.active-menu .menu-wrap .menu {
  overflow-y: scroll;
  overflow-x: hidden;
}

.region-primary-menu .menu,
.region-primary-menu .submenu {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.region-primary-menu .menu {
  display: flex;
  color: #ffffff;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 400;
  flex-direction: column;
  gap: 0;
  padding: 0.5rem;
  z-index: 10;
}

.region-primary-menu .menu-item-level-1 {
  position: relative;
  padding: 0;
  border-bottom: 1px solid var(--text-color);
}

.region-primary-menu .menu a {
  display: block;
  color: #ffffff;
  padding: 0.5rem 0;
}

.menu-item-has-children {
  position: relative;
}

.menu-item-has-children::after {
  position: absolute;
  content: "+";
  right: 0;
  top: 0.5rem;
  color: var(--color-primary);
}

.region-primary-menu .submenu {
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
  padding: 0 0 0 2rem;
}

.region-primary-menu .submenu li {
  border-top: 1px solid var(--text-color);
}

/* search box */
.full-page-search {
  position: relative;
}

.search-icon {
  position: relative;
  margin: 0;
  padding: 0 0 0 10px;
  border-left: 1px solid var(--border);
  cursor: pointer;
}

.search-icon i {
  color: var(--color-primary);
  font-size: 1.2rem;
  line-height: 1;
}

.search-box {
  position: fixed;
  display: none;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 20;
  transition: all 0.2s linear;
  flex-direction: column;
}

.search-box-content {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 60%;
  margin: 0 auto;
  animation: slideDown 0.5s linear forwards;
  text-align: center;
}

.search-box-content .block-region {
  width: 100%;
}

.search-box-content .block-title {
  color: #ffffff;
}

.search-box-content form label {
  display: none;
}

.search-box-content input[type=search] {
  background-color: #121212;
  color: #ffffff;
  width: 100%;
  padding: 1.4rem;
  border: 2px solid var(--text-color);
  border-radius: 6px;
  outline: 0;
  box-shadow: none;
}

.search-box-content input[type=submit] {
  padding: 10px 2rem;
  text-transform: uppercase;
  transition: all 0.3s ease;
}

.search-box-content input[type=submit]:hover {
  color: #ffffff;
  border-color: var(--color-primary);
}

.search-box-close {
  flex: 1;
  cursor: pointer;
}

/* Sidebar
-------------------------------------------- */
.sidebar {
  position: relative;
  margin: 0;
}

.region-sidebar-first,
.region-sidebar-second {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.sidebar .block {
  background-color: #ffffff;
  padding: 15px 10px;
  border-radius: 6px;
  box-shadow: var(--shadow);
}

.sidebar .block-title {
  font-size: 1.3rem;
  padding-left: 6px;
  border-left: 2px solid var(--color-primary);
}

.sidebar ul {
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.sidebar li {
  padding: 6px 0;
  border-bottom: 2px solid var(--border);
}

.sidebar li:last-child {
  border: 0;
}

/* search block in sidebar */
.sidebar .form-search {
  width: 100%;
}

/* Footer
--------------------------------------*/
#last-section {
  position: relative;
  visibility: hidden;
  width: 100%;
  min-height: 1px;
  z-index: 12;
}

#footer {
  display: block;
  position: fixed;
  background: var(--color-primary-light);
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 4px solid #ffffff;
  z-index: 0;
}

.footer,
.footer-top,
.footer-bottom {
  position: relative;
  width: 100%;
}

.footer-top,
.footer-bottom {
  padding: 1rem 0;
}

.region-footer-top,
.region-footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.region-footer-top .block p:last-of-type,
.region-footer-bottom .block p:last-child {
  margin: 0;
}

.footer-blocks {
  position: relative;
  display: flex;
  padding: 1rem 0;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer-block {
  flex: 1 0 260px;
}

.footer .block-title {
  position: relative;
  font-size: 1.3rem;
  padding-left: 6px;
  border-left: 2px solid var(--color-primary);
}

/* footer list style */
.footer ul {
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.footer li {
  padding: 4px 0;
  border-bottom: 1px solid #bbb0a1;
}

.footer li:last-child {
  border-bottom: 0;
}

/* Footer -> Footer Bottom Middle */
.footer-bottom-middle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 3px double #bbb0a1;
  padding: 1rem 0;
}

/* Footer -> Footer Bottom last*/
/* Node Content
--------------------------------------*/
/* Page title */
.page-title-wrap {
  position: relative;
  margin: 0;
}

.page-title-wrap h1.page-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--bold-color);
}

/* common for all nodes */
.node,
.node-promoted,
.node-sticky,
.node-unpublished,
.node-view-mode-full {
  position: relative;
}

/* node in teaser view */
.node-view-mode-teaser {
  position: relative;
  background-color: var(--light);
  margin-bottom: 3rem;
  padding: 1rem;
  box-shadow: var(--shadow);
  border-radius: 8px;
}

.node-view-mode-teaser.node-sticky {
  background: #ffffff;
}

/* node author and submitted details */
.node-header {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--border);
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
}

.author-picture img {
  width: auto;
  height: 30px;
  padding-right: 6px;
  margin: 0;
}

.node-submitted-details {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.node-submitted-details i {
  color: var(--color-primary);
}

.node-submitted-details a {
  color: var(--text-color);
}

.node-tags a {
  position: relative;
}

.node-tags a::before {
  content: "#";
  color: var(--color-primary);
}

.node-submitted-details i.fa-calendar,
.node-submitted-details i.fa-th-large {
  margin-left: 14px;
}

/* node taxonomy and links */
.node-taxonomy-container,
.node-links-container {
  position: relative;
  display: block;
  width: 100%;
  margin: 0.5rem 0;
  padding: 0.5rem 0;
  border-top: 1px solid var(--border);
}

.node-links-container {
  border-bottom: 1px solid var(--border);
}

.term-title {
  font-size: 1.1rem;
  line-height: 1;
}

.term-title i {
  font-size: 1.1em;
  color: var(--color-primary);
}

.taxonomy-terms {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/* Node links */
.node-links-container {
  width: 100%;
}

.node-links-container .links.inline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.node-readmore a {
  border-bottom: 2px solid var(--bold-color);
}

.node-links-container li {
  margin-right: 20px;
  float: left;
}

.node-links-container li.node-readmore {
  margin-left: 0;
  float: right;
}

.node-links-container .comment-comments::before {
  font-family: "tara";
  content: "\e01e";
  padding-right: 4px;
}

.node-links-container .comment-add::before {
  font-family: "tara";
  content: "\e003";
  padding-right: 4px;
}

.node-readmore {
  float: left;
}

li.node-readmore a {
  padding: 6px 12px;
  background: var(--color-primary);
  color: #ffffff;
  transition: background 0.4s ease;
}

li.node-readmore a:hover {
  background: var(--bold-color);
  color: #ffffff;
}

.node-view-mode-teaser li.comment-add,
.node-view-mode-teaser li.comment-forbidden {
  text-align: right;
}

/* Block Regions
--------------------------*/
.block-title {
  position: relative;
  line-height: 1.2;
}

/* Breadcrumb
--------------------------*/
#breadcrumb {
  position: relative;
  background-color: var(--color-primary-light);
  width: 100%;
  margin: 0;
  padding: 10px 0;
  z-index: 2;
}

.breadcrumb-items {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

ol.breadcrumb-items li {
  padding: 0;
}

.breadcrumb-item-seperator {
  margin: 0 10px;
}

/* Highlight region */
#highlighted {
  position: relative;
  background: var(--light);
  z-index: 2;
}

.region-highlighted {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.region-highlighted .block {
  margin: 0;
  padding: 10px 0;
}

/* content top and content bottom block region */
#content-top,
#content-bottom {
  width: 100%;
}

.region-content-top,
.region-content-bottom {
  display: flex;
  flex-direction: column;
}

.region-content-bottom {
  margin-top: .15rem;
}

.region-content-top .block,
.region-content-bottom .block {
  margin: 0 0 1rem 0;
  padding: 1rem;
  background-color: var(--light);
  box-shadow: var(--shadow);
}

/* Comments
-------------------------------------------- */
#comments i {
  color: var(--color-primary);
}

.comment-form-wrap {
  position: relative;
  background-color: #ffffff;
  margin: 10px 0;
  padding: 20px;
  box-shadow: var(--shadow);
}

.filter-wrapper {
  font-size: 0.9rem;
  border: 2px solid #ffffff;
}

.filter-wrapper ul {
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.filter-wrapper ul li {
  padding: 6px 0;
  border-bottom: 1px solid #ffffff;
}

.filter-wrapper ul li:last-child {
  border: 0;
}

/* single comment */
.single-comment {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  margin-bottom: 1rem;
  padding: 1rem;
  box-shadow: var(--shadow);
}

.comment-header {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--border);
}

.comment-user-picture {
  background-color: var(--border);
  width: 80px;
  border-radius: 8px;
}

.comment-user-picture img {
  width: 80px;
  height: auto;
  margin: 0;
  border-radius: 8px;
}

.comment-head {
  display: flex;
  flex-direction: column;
}

.comment-head mark {
  background-color: var(--color-dark);
  padding: 0 4px;
}

.single-comment-title {
  margin: 0;
  font-size: 22px;
}

.single-comment-meta,
.single-comment-meta a {
  color: var(--gray-color);
}

.single-comment-body .links.inline li {
  padding: 0;
}

.single-comment-body .links.inline a {
  background-color: var(--color-primary);
  color: #ffffff;
  padding: 4px 10px;
  transition: all 0.3s ease-in-out;
}

.single-comment-body .links.inline a:hover {
  background-color: var(--color-dark);
  color: #ffffff;
}

#comments .indented {
  margin-left: 50px;
}

/* Homepage
-------------------------------------------- */
/* Front page hero */
.hero-slider{
  position:relative;
  min-height:calc(100vh - 78px);
  overflow:hidden;
  background:#111;
}

.hero-slider .slide{
  position:relative;
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:center;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}

.hero-slider .slide::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.58) 45%, rgba(0,0,0,.22) 100%),
    radial-gradient(circle at 24% 42%, rgba(255,193,7,.24), transparent 34%);
}

.hero-slider .overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(0,0,0,.14), rgba(0,0,0,.5));
  pointer-events:none;
}

.hero-center{
  position:relative;
  z-index:2;
  width:min(100% - 48px, 1180px);
  margin:0 auto;
  padding:clamp(5.5rem, 8vw, 8rem) 0 clamp(4.5rem, 7vw, 7rem);
}

.hero-content{
  max-width:820px;
  color:#fff;
  animation:homeHeroLift .9s cubic-bezier(.2,.8,.2,1) both;
}

.hero-kicker{
  display:inline-flex;
  width:fit-content;
  margin-bottom:1rem;
  padding:.52rem .78rem;
  border-left:4px solid #ffc107;
  background:rgba(0,0,0,.48);
  color:#ffc107;
  font-size:.76rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.hero-content h2{
  margin:0;
  color:#fff;
  font-size:clamp(3.2rem, 8vw, 7.4rem);
  line-height:.9;
  font-weight:950;
  letter-spacing:0;
  text-transform:uppercase;
  text-shadow:0 18px 42px rgba(0,0,0,.5);
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.hero-content h2 span{
  display:block;
  color:#ffc107;
}

.hero-content p{
  max-width:760px;
  margin:1.35rem 0 0;
  color:rgba(255,255,255,.9);
  font-size:clamp(1.02rem, 1.45vw, 1.22rem);
  line-height:1.55;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
  margin-top:1.8rem;
}

.hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:.95rem 1.55rem;
  border:2px solid #ffc107;
  border-radius:999px;
  background:#ffc107;
  color:#111 !important;
  font-size:.9rem;
  font-weight:900;
  line-height:1;
  text-decoration:none !important;
  text-transform:uppercase;
  letter-spacing:.03em;
  box-shadow:0 16px 32px rgba(0,0,0,.28);
  transition:transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}

.hero-cta.secondary{
  background:rgba(0,0,0,.28);
  color:#fff !important;
  border-color:rgba(255,255,255,.62);
}

.hero-cta:hover{
  transform:translateY(-3px);
  background:#fff;
  border-color:#fff;
  color:#111 !important;
}

@keyframes homeHeroLift{
  from{ opacity:0; transform:translateY(26px); }
  to{ opacity:1; transform:translateY(0); }
}

@media (max-width:760px){
  .hero-slider,
  .hero-slider .slide{
    min-height:calc(100vh - 70px);
  }

  .hero-center{
    width:calc(100% - 32px);
    padding:5.5rem 0 4.5rem;
  }

  .hero-content h2{
    font-size:clamp(2.7rem, 14vw, 4.5rem);
    line-height:.92;
  }

  .hero-content p{
    font-size:1rem;
  }

  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }

  .hero-cta{
    width:100%;
  }
}
/*
.home-slider .owl-dots {
  position: relative;
  display: flex;
  justify-content: center;
  z-index: 15;
}
.home-slider .owl-dots button {
  width: 14px;
  height: 14px;
  border: 2px solid #ffffff;
  border-radius: 50%;
  margin: 0 4px;
  background: var(--bold-color);
}
.owl-dots button.active {
  background: var(--color-primary);
}
.owl-item {
  display: flex;
  align-items: center;
  height: 100vh;
}
  */
.last-section,
.content-home {
  position: relative;
  z-index: 2;
}

.content-home .block {
  margin-bottom: 4rem;
}

.content-home .block-title {
  margin-bottom: 20px;
  padding-bottom: 10px;
  font-size: 2rem;
  font-weight: 300;
  text-align: center;
}

.content-home .block-title::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  width: 50px;
  height: 2px;
  margin-left: -25px;
  background: var(--color-primary);
}

.region-content-home {
  display: flex;
  flex-direction: column;
}

/* Pages
-------------------------------------------- */
/* maintenance page*/
.header-maintenance {
  padding: 1rem 0;
}

.maintenance-main {
  width: 100%;
  text-align: center;
  padding: 2rem 0;
}

.maintenance-icon {
  margin-bottom: 1.5rem;
}

.maintenance-icon svg {
  max-height: 20rem;
}

/* Error page */
.error-page {
  text-align: center;
}

.error-page h1,
.error-page h2,
.error-page h3 {
  font-size: 5rem;
}

.links.inline {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

/* Search result page */
.search-advanced summary {
  margin: 10px 0;
  cursor: pointer;
}

.search-advanced .form-details-wrapper {
  padding: 0.5rem 1.4rem;
  border: 1px solid var(--border);
}

.search-advanced .form-wrapper {
  padding: 0.5rem 1.4rem;
}

ol.search-results {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--border);
  list-style: none;
  list-style-type: none;
}

ol.search-results li {
  margin: 0 0 16px 0;
  padding: 0 0 12px 0;
  border-bottom: 1px solid var(--border);
}

/* Status message
------------------------*/
.message {
  position: relative;
  color: #ffffff;
  text-shadow: none;
  margin: 1rem 0;
  padding: 14px 14px 14px 64px;
}

.message em {
  color: #ffffff;
  font-style: italic;
  border-bottom: 1px dotted #ffffff;
}

.message p:last-of-type {
  margin: 0;
}

.message a {
  color: #ffffff;
  text-decoration: none;
}

.message-status {
  background-color: #89ad32;
}

.message-status::before {
  content: "\e004";
  background-color: #759625;
}

.message-error {
  background-color: #c94d1c;
}

.message-error::before {
  content: "\e005";
  background-color: #b3461b;
}

.message-warning {
  background-color: #cd5a0a;
}

.message-warning::before {
  content: "\e006";
  background-color: #a44707;
}

.message::before {
  font-family: "tara";
  position: absolute;
  left: 0;
  top: 0;
  width: 53px;
  text-align: center;
  height: 100%;
  line-height: 53px;
  font-size: 30px;
}

.status-message-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
}

/* Form
------------------------*/
form .description {
  font-size: 0.9em;
}

/* Admin Tabs
------------------------*/
.page-tabs {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0.5rem 0;
  padding: 0;
  border-bottom: 2px solid var(--border);
}

.page-tabs li {
  background-color: var(--border);
  padding: 0;
  border-right: 2px solid #ffffff;
  text-shadow: 1px 1px #ffffff;
}

.page-tabs li:last-child {
  border-right: 0;
}

.page-tabs li a {
  display: block;
  padding: 5px 10px;
  color: var(--bold-color);
  transition: all 0.3s ease;
}

.page-tabs .active-page-tab {
  background-color: var(--color-primary);
  text-shadow: none;
}

.page-tabs .active-page-tab a {
  color: #ffffff;
}

.page-tabs li:hover {
  background: var(--color-secondary);
  text-shadow: none;
}

.page-tabs li:hover a {
  color: #ffffff;
}

/* Pager
------------------------*/
.pager {
  width: 100%;
  margin-top: .15rem;
}

.pager-items {
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pager-item {
  display: grid;
  place-content: center;
  color: var(--bold-color);
  height: 44px;
  min-width: 44px;
  border-radius: 4px;
  border: 2px solid var(--bold-color);
}

.pager-item-control {
  border-color: var(--color-primary);
}

.pager-item a {
  display: grid;
  place-content: center;
  background-color: var(--color-primary);
  color: #ffffff;
  height: 40px;
  min-width: 40px;
}

/* pager full */
.pager__item:hover {
  border-color: var(--color-primary);
}

.pager__item a {
  background-color: transparent;
  color: var(--bold-color);
  padding: 0 2px;
}

.pager .is-active {
  border-color: var(--color-primary);
}

.pager__item a:hover,
.pager__item.is-active a {
  background-color: var(--color-primary);
  color: #ffffff;
  border-color: #ffffff;
}

/* Header and footer social icons */
.social-icons {
  list-style: none;
  list-style-type: none;
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
}

.social-icons li,
.footer .social-icons li {
  padding: 0;
  border: 0;
}

.social-icons li:hover,
.footer .social-icons li:hover {
  padding: 0;
}

.social-icons li a {
  background-color: var(--color-primary-light);
  color: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  border: 2px solid var(--color-primary-light);
  border-radius: 50%;
  transition: background 0.4s ease;
}

.social-icons a {
  color: var(--color-primary);
}

.header-top .social-icons {
  gap: 6px;
}

.header-top .social-icons li a,
.footer .social-icons li a {
  background: var(--light);
}

ul.social-icons a:hover {
  background: var(--color-primary);
  color: #ffffff;
}

/* Field Label
-------------------------------------- */
.field:not(:last-child) {
  margin-bottom: 1rem;
}

.field__label {
  font-weight: bold;
}

[dir=ltr] .field--label-inline .field__label, [dir=ltr] .field--label-inline .field__items {
  float: left;
}

[dir=rtl] .field--label-inline .field__label, [dir=rtl] .field--label-inline .field__items {
  float: right;
}

[dir=ltr] .field--label-inline .field__label, [dir=ltr] .field--label-inline > .field__item, [dir=ltr] .field--label-inline .field__items {
  padding-right: 0.5em;
}

[dir=rtl] .field--label-inline .field__label, [dir=rtl] .field--label-inline > .field__item, [dir=rtl] .field--label-inline .field__items {
  padding-left: 0.5em;
}

.field--label-inline .field__label::after {
  content: ":";
}

/* Calendar
-------------------------------------- */
.calendar-calendar .full {
  display: table;
}

.calendar-calendar .empty {
  display: table-cell;
}

.view-header {
  margin-bottom: 1rem;
}

/* View footer */
.view-footer {
  margin-top: .15rem;
}

/* Text align
------------------------------ */
.text_left,
.text-left {
  text-align: left;
}

.text_right,
.text-right {
  text-align: right;
}

.text_center,
.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.center {
  margin: 0 auto;
}

/* Highlight
------------------------- */
.highlight {
  padding: 2px 4px;
  background: var(--bold-color);
  color: #ffffff;
}

/* Text Size
------------------------------ */
.size-2x {
  font-size: 2rem;
}

.size-3x {
  font-size: 3rem;
}

.size-4x {
  font-size: 4rem;
}

.size-5x {
  font-size: 5rem;
}

.size-6x {
  font-size: 6rem;
}

.size-7x {
  font-size: 7rem;
}

.size-8x {
  font-size: 8rem;
}

/* List styles
------------------------------ */
.list-check {
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.list-check li {
  position: relative;
}

.list-check li::before {
  content: "\e004";
  font-family: "tara";
  padding-right: 5px;
  color: var(--color-primary);
  vertical-align: middle;
}

/* column
------------------------------ */
.full {
  position: relative;
  display: flex;
  width: 100%;
  gap: 1.4rem;
  margin: 1rem 0;
  flex-wrap: wrap;
}

.one_half,
.one_three,
.one_four,
.one_four_first,
.one_four_last {
  flex: 1;
}

.full > div {
  flex: 1 0 250px;
}

/* Animation
------------------------------ */
/*slide up */
@keyframes slideUp {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
/*slide Down */
@keyframes slideDown {
  0% {
    transform: translateY(-100px);
    opacity: 0;
  }
  100% {
    transform: translateY(0px);
    opacity: 1;
  }
}
/* Custom components
------------------------------ */
/* welcome message */
.welcome-message {
  text-align: center;
}

/* services */
.services {
  position: relative;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
}

.service {
  flex: 1 0 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: #ffffff;
  text-align: center;
  box-shadow: var(--shadow);
}

.service i {
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 3em;
  background: var(--light);
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  border-radius: 50%;
  margin: 0 auto;
  transition: all 0.4s linear;
}

.service:hover i {
  background: var(--color-primary);
  color: #ffffff;
}

.service p:last-of-type {
  margin: 0;
}

/* Projects */
.projects {
  position: relative;
  display: flex;
  width: 100%;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 0 0 1rem 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.project {
  position: relative;
  flex: 1 0 300px;
  border: 6px solid #ffffff;
  border-radius: 10px;
  box-shadow: 0 0 1rem #dddddd;
}

.project img {
  position: relative;
  border-radius: 10px;
  margin: 0;
}

.project-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-content: center;
  background: rgba(0, 0, 0, 0.8);
  padding: 1rem;
  color: #ffffff;
  cursor: pointer;
  text-align: center;
  opacity: 0;
}

.project:hover .project-content {
  animation: slideUp 0.8s ease;
  opacity: 1;
}

.project-content h1,
.project-content h2,
.project-content h3,
.project-content h4,
.project-content h5 {
  font-weight: 300;
  color: #ffffff;
}

.project-content a,
.project-content a:visited,
.project-content a:hover {
  color: #ffffff;
}

/* Scroll To Top
------------------------- */
.scrolltop {
  position: fixed;
  display: none;
  justify-content: center;
  align-items: center;
  right: 10px;
  bottom: 10px;
  width: 48px;
  height: 48px;
  background: var(--bold-color);
  color: #ffffff;
  border-radius: 6px;
  z-index: 20;
  cursor: pointer;
  transition: background 0.3s ease;
  text-align: center;
}

.scrolltop i {
  font-size: 1.6rem;
  line-height: 1;
}

.scrolltop:hover {
  background: var(--color-primary);
}

/* Responsive view
------------------------- */
.view-in-mobile {
  display: block;
}

.view-in-desktop {
  display: none;
}

/* Inline content
------------------------- */
.inline {
  display: inline-block;
}

.inline:not(:last-child) {
  padding-right: 1rem;
}

/* Content direction
------------------------- */
.rtl {
  direction: rtl;
}

.ltr {
  direction: ltr;
}

/* Font Size
------------------------- */
.font-small {
  font-size: 0.75rem;
}

.font-medium {
  font-size: 1.25rem;
}

.font-large {
  font-size: 1.5rem;
}

.font-2x {
  font-size: 2rem;
}

.font-3x {
  font-size: 2.5rem;
}

.font-4x {
  font-size: 3rem;
}

.font-5x {
  font-size: 4rem;
}

.font-6x {
  font-size: 5rem;
}

.font-7x {
  font-size: 6rem;
}

.font-8x {
  font-size: 7rem;
}

/* image icons size
------------------------- */
.icon-s {
  max-height: 1rem;
}

.icon-m {
  max-height: 1.5rem;
}

.icon-l {
  max-height: 2rem;
}

.icon-xl {
  max-height: 3rem;
}

.icon-x2 {
  max-height: 4rem;
}

.icon-x3 {
  max-height: 5rem;
}

.icon-x4 {
  max-height: 6rem;
}

.icon-x5 {
  max-height: 7rem;
}

.icon-x6 {
  max-height: 8rem;
}

.icon-x7 {
  max-height: 9rem;
}

.icon-x8 {
  max-height: 10rem;
}

/* Content width
------------------------- */
.width30,
.width40,
.width50,
.width60,
.width70,
.width80,
.width90 {
  width: 100%;
  clear: both;
  display: block;
}

/* Empty width and height
------------------------- */
.w20px {
  display: inline-block;
  width: 20px;
}

.w30px {
  display: inline-block;
  width: 30px;
}

.w40px {
  display: inline-block;
  width: 40px;
}

.w50px {
  display: inline-block;
  width: 50px;
}

.w70px {
  display: inline-block;
  width: 70px;
}

.w100px {
  display: inline-block;
  width: 100px;
}

.empty,
.spacer,
.spacer-x2,
.spacer-x3 {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.empty,
.spacer {
  padding: 1rem 0;
}

.spacer-x2 {
  padding: 2rem 0;
}

.spacer-x3 {
  padding: 3rem 0;
}

/* sections
--------------------------------- */
.section,
.section-small,
.section-large,
.unit {
  display: block;
  width: 100%;
}

.section {
  padding: 2rem 0;
}

.section-small {
  padding: 1rem 0;
}

.section-large,
.unit {
  padding: 3rem 0;
}

/* Responsive Columns
------------------------- */
.flex,
.grid,
.items,
.columns,
.grid-container,
.flex-container {
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.flex,
.flex-container,
.columns {
  display: flex;
}

.columns {
  flex-wrap: wrap;
}

.grid {
  display: grid;
}

.grid-container {
  display: grid;
  grid-auto-flow: column;
}

.items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(265px, 1fr));
  grid-gap: 1rem;
  gap: 1rem;
}

.item img {
  display: block;
}

/* Create Equal width columns with no gap */
.column {
  flex: 1 1 230px;
  margin: 0;
  padding: 0;
}

/* flex-items width */
.w10,
.w20,
.w30,
.w40,
.w50,
.w60,
.w70,
.w80,
.w90 {
  flex: 1 1 100%;
}

/* Flex and grid properties
--------------------------------- */
.space-between {
  justify-content: space-between;
}

.v-center {
  align-items: center;
}

.h-center {
  justify-content: center;
}

.vh-center {
  justify-content: center;
  align-items: center;
}

.gap {
  gap: 1rem;
}

.gap-2x {
  gap: 2rem;
}

.gap-small {
  gap: 0.5rem;
}

.no-gap {
  gap: 0;
}

/* Flex properties */
.flex-row {
  flex-direction: row;
}

.flex-column {
  flex-direction: column;
}

.wrap {
  flex-wrap: wrap;
}

.no-wrap {
  flex-wrap: nowrap;
}

/* Box
------------------------- */
.box {
  position: relative;
  background-color: #ffffff;
  box-shadow: var(--shadow);
  padding: 1rem;
}

.box p:last-of-type {
  margin: 0;
}

/* Media - Image */
img.round {
  border-radius: 14px;
}

img.border {
  border: 5px solid var(--border);
}

img.border-primary {
  border: 5px solid var(--color-primary);
}

img.border-secondary {
  border: 5px solid var(--color-secondary);
}

img.shadow {
  box-shadow: 0 0 1rem #444444;
}

img.shadow-primary {
  box-shadow: var(--shadow-primary);
}

img.shadow-secondary {
  box-shadow: var(--shadow-secondary);
}

/* Media - Audio, video */
.section-audio audio {
  min-width: 300px;
  width: 100%;
}

.section-audio audio:focus {
  outline-width: 2px;
  outline-style: solid;
}

.section-video video {
  vertical-align: middle;
  width: 100%;
}

/* Separator */
hr.line-dot {
  border-bottom: 2px dotted var(--border);
}

hr.line-dash {
  border-bottom: 2px dashed var(--border);
}

hr.line-double {
  height: 5px;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

/* EU Cookie Compliance module */
div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {
  background-color: #ffffff;
  box-shadow: 0 0 6px 2px var(--border);
  left: 0;
}

#sliding-popup {
  padding: 2rem;
  max-width: 600px;
}

#sliding-popup .popup-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.eu-cookie-compliance-content {
  max-width: 100%;
}

.eu-cookie-compliance-message {
  float: none;
  margin: 0;
  max-width: 100%;
}

#sliding-popup div,
#sliding-popup h2 {
  color: var(--bold-color);
}

#sliding-popup h2 {
  font-size: 1.2rem;
}

#sliding-popup p {
  display: block;
  color: var(--text-color);
  font-size: 0.9rem;
}

.eu-cookie-compliance-message button {
  background-color: transparent;
  color: var(--color-primary);
  margin: 0;
  padding: 0;
}

.eu-cookie-compliance-message button:hover {
  background-color: transparent;
  color: var(--bold-color);
}

.eu-cookie-compliance-buttons {
  display: flex;
  gap: 1rem;
  float: none;
  margin: 0;
  max-width: 100%;
}

.eu-cookie-compliance-buttons .button {
  background-color: transparent;
  background-image: none;
  color: var(--color-primary);
  font-weight: 400;
  margin: 0;
  padding: 8px 1rem;
  border: 2px solid var(--bold-color);
  text-shadow: none;
  box-shadow: none;
  border-radius: 0;
}

.eu-cookie-compliance-buttons .button:hover {
  background-color: var(--bold-color);
  color: #ffffff;
}

/* Clearing
-------------------------------------------- */
.clear {
  clear: both;
  width: 100%;
}

#last-section::before {
  content: "";
  display: table;
  clear: both;
}

#last-section::after {
  content: "";
  display: table;
  clear: both;
}

#homepage-content-wrapper::before,
#homepage-content-wrapper::after {
  content: "";
  display: table;
  clear: both;
}

.page-title-wrap::before,
.page-title-wrap::after,
.node-content::before,
.node-content::after {
  content: "";
  display: table;
  clear: both;
}

.node-header::before,
.node-header::after,
.node-taxonomy-container::before,
.node-taxonomy-container::after,
.node-links-container::before,
.node-links-container::after {
  content: "";
  display: table;
  clear: both;
}

#node-comment::before,
#node-comment::after {
  content: "";
  display: table;
  clear: both;
}

@media (max-width: 500px) {
  .search-box-content input[type=search] {
    padding: 15px;
  }
  .search-box-content input[type=submit] {
    padding: 10px 20px;
  }
  .align-left,
  img.align-left,
  figure.align-left,
  .align-right,
  img.align-right,
  figure.align-right,
  .align-center,
  img.align-center,
  figure.align-center {
    clear: both;
    margin: 0 auto;
    float: none;
  }
  /* Homepage -> Slider */
  .home-slider h1,
  .home-slider h2,
  .home-slider h3 {
    font-size: 1.6rem;
  }
  .home-slider p {
    display: block;
    margin-bottom: 6px;
    font-size: 1.1rem;
  }
  /* Layout -> Sidebar */
  .sidebar,
  #sidebar-left,
  #sidebar-right,
  .two-sidebar #sidebar-left {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  /* Footer */
  .footer-blocks {
    flex-direction: column;
  }
  .footer-block {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: 1.6rem;
  }
}
@media only screen and (min-width: 501px) and (max-width: 767px) {
  /* Layout -> Column */
  .one_four,
  .one_four_first,
  .one_four_last {
    width: 50%;
    padding: 2%;
  }
  /* Homepage -> Slider */
  .home-slider h1,
  .home-slider h2,
  .home-slider h3 {
    font-size: 2rem;
  }
  .home-slider p {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
  }
  /* Sidebar */
  .sidebar,
  #sidebar-left,
  #sidebar-right,
  .two-sidebar #sidebar-left {
    float: left;
    width: 50%;
    height: 100%;
    margin: 0;
  }
  #sidebar-left {
    float: left;
    padding: 0 1% 0 0;
  }
  #sidebar-right {
    float: right;
    padding: 0 0 0 1%;
  }
  /* Footer */
  .footer-block {
    flex: 1 1 50%;
    width: 50%;
    max-width: 50%;
    margin-bottom: 1.6em;
  }
  .footer-block:nth-child(even) {
    padding: 0;
  }
  .footer-block {
    padding-right: 1.6em;
  }
}
@media screen and (max-width: 767px) {
  body {
    -webkit-text-size-adjust: none;
  }
  .container {
    width: 100%;
    max-width: 767px;
  }
  /* Admin tabs */
  .page-tabs li {
    font-size: 0.9rem;
  }
  .page-tabs li a {
    padding: 2px 4px;
    border-right: 1px solid #ffffff;
  }
  /* Layout -> Header -> Header top*/
  .header-container {
    padding: 6px 0;
  }
  .header-top-container {
    flex-direction: column;
  }
  .header-top-left {
    margin-bottom: 6px;
  }
  .header-top-left i,
  ul.social-icons li {
    font-size: 0.8rem;
  }
  .header-top-left i,
  ul.social-icons li a {
    width: 30px;
    height: 30px;
  }
  .search-icon {
    padding: 10px 0 10px 10px;
  }
  .search-box-content {
    width: 90%;
  }
  /* Slider */
  .owl-item {
    text-align: center;
  }
  /* Breadcrumb */
  #breadcrumb {
    padding: 6px 0;
  }
  .breadcrumb {
    font-size: 0.8rem;
  }
  .breadcrumb-item-seperator {
    margin: 0 6px;
  }
  /* Layout -> Page layout */
  .no-sidebar .main-container,
  .sidebar-left .main-container,
  .sidebar-right .main-container,
  .two-sidebar .main-container {
    grid-template-columns: 100%;
  }
  #main {
    order: 1;
  }
  #sidebar-left {
    order: 2;
  }
  #sidebar-right {
    order: 3;
  }
  /* Node Content */
  .page-title-wrap {
    padding: 16px 0;
  }
  .page-title-wrap h1.page-title {
    font-size: 1.6rem;
  }
  #node-comment .indented {
    margin-left: 20px;
  }
  /* Layout -> Footer */
  #footer {
    position: relative;
    z-index: 2;
  }
  .footer-bottom-middle {
    flex-direction: column;
  }
  .copyright {
    margin-bottom: 12px;
  }
  /* Content -> Form */
}
@media (min-width: 768px) {
  html {
    font-size: 18px;
  }
  /* Header main menu */
  .primary-menu-wrapper {
    position: relative;
    background-color: transparent;
    padding: 0;
    transform: translateX(0);
    z-index: 10;
  }
  .menu-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 0;
    transform: none;
    z-index: 10;
  }
  .region-primary-menu .menu {
    flex-direction: row;
    gap: 0.5rem;
    padding: 0;
  }
  .region-primary-menu .menu-item-level-1 {
    border: 0;
  }
  .region-primary-menu .menu-item-level-1:hover {
    background-color: var(--bold-color);
    color: #ffffff;
  }
  .region-primary-menu .menu-item-level-1:hover > a {
    color: #ffffff;
  }
  .region-primary-menu .menu-item-level-1 a,
  .region-primary-menu .menu-item-level-1 > span {
    display: block;
    color: var(--bold-color);
    padding: 0.5rem;
  }
  .region-primary-menu .menu-item-level-1 a:hover,
  .region-primary-menu .menu-item-level-1 > span:hover {
    background-color: var(--bold-color);
    color: #ffffff;
  }
  .menu-item-has-children {
    position: relative;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
  }
  .menu-item-has-children::after {
    position: relative;
    top: 0;
    color: var(--bold-color);
  }
  .region-primary-menu .submenu {
    position: absolute;
    background-color: var(--bold-color);
    top: 100%;
    min-width: 200px;
    max-width: 300px;
    padding: 0 0.5rem;
    border-radius: 0 0 8px 8px;
    opacity: 0;
    visibility: hidden;
  }
  .region-primary-menu .submenu li {
    padding: 0;
    border-top: 0;
    border-bottom: 1px solid var(--text-color);
  }
  .region-primary-menu .submenu li:first-child {
    border-top: none;
  }
  .region-primary-menu .submenu a,
  .region-primary-menu .submenu li > span {
    color: #ffffff;
    padding: 0.5rem 0;
    width: calc(100% - 1rem);
  }
  .menu-item-has-children:hover > .submenu {
    visibility: visible;
    animation: slideUp 0.5s forwards;
  }
  .region-primary-menu .submenu a:hover {
    color: var(--color-primary);
  }
  /* third level menu */
  .region-primary-menu .submenu .submenu {
    left: 100%;
    top: 0;
  }
  .submenu .menu-item-has-children::after {
    color: #ffffff;
  }
  .mobile-menu,
  .close-mobile-menu {
    display: none;
  }
  .view-in-mobile {
    display: none;
  }
  .view-in-desktop {
    display: block;
  }
  /* shortcodes -> content width */
  .width30 {
    width: 30%;
  }
  .width40 {
    width: 40%;
  }
  .width50 {
    width: 50%;
  }
  .width60 {
    width: 60%;
  }
  .width70 {
    width: 70%;
  }
  .width80 {
    width: 80%;
  }
  .width90 {
    width: 90%;
  }
  /* shortcodes -> responsive column */
  .w10 {
    flex-basis: calc(10% - 10px);
  }
  .w20 {
    flex-basis: calc(20% - 10px);
  }
  .w30 {
    flex-basis: calc(30% - 10px);
  }
  .w40 {
    flex-basis: calc(40% - 10px);
  }
  .w50 {
    flex-basis: calc(50% - 10px);
  }
  .w60 {
    flex-basis: calc(60% - 10px);
  }
  .w70 {
    flex-basis: calc(70% - 10px);
  }
  .w80 {
    flex-basis: calc(80% - 10px);
  }
  .w90 {
    flex-basis: calc(90% - 10px);
  }
}/*# sourceMappingURL=style.css.map */

/* ================= CALDRIN CUSTOM DESIGN ================= */

body {
  background: #f6f3ee;
}

.sticky-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(17, 17, 17, .94);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

body.toolbar-fixed .sticky-nav {
  top: 79px;
}

.nav-container {
  min-height: 78px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  margin: 0;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: -.03em;
}

.logo a,
.logo a:hover {
  color: #fff;
}

.nav-links {
  display: flex;
  gap: 1.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-links a {
  color: #fff;
  font-weight: 700;
}

.nav-links a:hover {
  color: #ffc107;
}

.section {
  padding: 6rem 0;
}

.section-label {
  display: inline-block;
  margin-bottom: .8rem;
  color: #c25700;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.section-title {
  margin: 0 0 1rem;
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1.05;
  font-weight: 900;
  color: #191919;
}

.section-intro {
  max-width: 760px;
  margin: 0 auto;
  color: #555;
  font-size: 1.1rem;
}

.dark-section {
  background: #141414;
  color: #fff;
}

.dark-section .section-title,
.dark-section h2,
.dark-section h3 {
  color: #fff;
}

.process-grid,
.services-home {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
  margin-top: 3rem;
}

.process-card,
.service-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,.09);
  transition: transform .3s ease, box-shadow .3s ease;
}

.process-card {
  padding: 2rem;
  border: 1px solid #e7dfd6;
}

.process-card:hover,
.service-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 26px 70px rgba(0,0,0,.16);
}

.process-number {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 1.2rem;
  background: #ffc107;
  color: #111;
  border-radius: 50%;
  font-weight: 900;
}

.service-card {
  display: block;
  color: inherit;
}

.service-card__image {
  position: relative;
  height: 340px;
  overflow: hidden;
}

.service-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}

.service-card:hover img {
  transform: scale(1.08);
}

.service-card__overlay {
  position: absolute;
  inset: auto 0 0;
  padding: 4rem 1.4rem 1.4rem;
  color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,.92));
}

.service-card__overlay h3 {
  color: #fff;
  margin-bottom: .4rem;
  font-weight: 900;
}

.service-card__overlay p {
  margin: 0;
  color: #eee;
}

.cta-band {
  background: #ffc107;
  color: #111;
  padding: 4rem 0;
}

.cta-band-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 2rem;
}

.cta-band h2 {
  margin: 0;
  font-weight: 900;
}

.contact-button {
  display: inline-flex;
  padding: .9rem 1.5rem;
  background: #111;
  color: #fff;
  border-radius: 999px;
  font-weight: 900;
}

.site-footer {
  background: #111;
  color: #ddd;
  padding: 4rem 0 2rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 2rem;
}

.site-footer h3 {
  color: #fff;
}

.site-footer p {
  color: #cfcfcf;
}

.copyright {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.12);
  text-align: center;
}


/* Modern shared footer */
.modern-footer{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(13,13,13,.98), rgba(31,27,22,.98)),
    repeating-linear-gradient(135deg, rgba(255,193,7,.08) 0 1px, transparent 1px 18px);
  color:#fff;
  padding:clamp(2.8rem, 5vw, 4.5rem) 0 1.25rem;
  border-top:3px solid #ffc107;
}

.modern-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,193,7,.14), transparent 30%),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:auto, 74px 100%;
  opacity:.85;
}

.modern-footer .container{
  position:relative;
  z-index:1;
}

.footer-hazard-line{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:6px;
  background:repeating-linear-gradient(135deg, #ffc107 0 18px, #111 18px 36px);
  opacity:.9;
}

.modern-footer-hero{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:clamp(1rem, 3vw, 2rem);
  margin-bottom:clamp(1.5rem, 3vw, 2.3rem);
  padding:clamp(1.35rem, 2.6vw, 2rem);
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  box-shadow:0 22px 55px rgba(0,0,0,.26);
}

.footer-kicker{
  display:block;
  margin-bottom:.45rem;
  color:#ffc107;
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
}

.modern-footer-hero h2{
  margin:0;
  color:#fff;
  font-size:clamp(1.75rem, 3vw, 3rem);
  line-height:1.05;
  font-weight:950;
  letter-spacing:0;
  text-transform:none;
}

.modern-footer-hero p{
  max-width:780px;
  margin:.7rem 0 0;
  color:rgba(255,255,255,.76);
  font-size:clamp(.95rem, 1.1vw, 1.05rem);
  line-height:1.6;
}

.footer-main-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:.9rem 1.35rem;
  border:2px solid #ffc107;
  border-radius:999px;
  background:#ffc107;
  color:#111 !important;
  font-size:.82rem;
  font-weight:950;
  line-height:1;
  text-decoration:none !important;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 16px 30px rgba(0,0,0,.28);
}

.modern-footer-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(230px, .8fr) minmax(280px, .95fr);
  gap:clamp(1rem, 2vw, 1.35rem);
  align-items:stretch;
}

.modern-footer-card{
  min-width:0;
  padding:clamp(1rem, 2vw, 1.35rem);
  border:1px solid rgba(255,255,255,.11);
  background:rgba(0,0,0,.26);
}

.footer-mark{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  margin-bottom:.85rem;
  border:2px solid #ffc107;
  border-radius:50%;
  color:#ffc107;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.06em;
}

.footer-mark.footer-mark--image{
  width:220px;
  height:133px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:hidden;
}

.footer-mark.footer-mark--image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}

@media(max-width:520px){
  .footer-brand-head{align-items:center;gap:16px;margin-bottom:24px}
  .footer-brand-head>span{max-width:none;text-align:left;line-height:1.55;white-space:nowrap}
  .footer-mark.footer-mark--image{width:180px;height:109px;padding:5px}
  .site-premium-footer .footer-brand-card h3{max-width:none;font-size:clamp(1.9rem,8vw,2.15rem);line-height:1;letter-spacing:-.035em}
  .site-premium-footer .footer-brand-card h3>span{display:block}
  .site-premium-footer .footer-brand-card h3 .footer-company-nowrap{white-space:nowrap}
}

.modern-footer-card h3{
  margin:0 0 .8rem;
  color:#fff;
  font-size:1rem;
  line-height:1.2;
  font-weight:950;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.modern-footer-card p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:.93rem;
  line-height:1.6;
}

.modern-footer-list{
  display:grid;
  gap:.55rem;
  margin:0;
  padding:0;
  list-style:none;
}

.modern-footer-list li{
  color:rgba(255,255,255,.78);
  font-size:.93rem;
  line-height:1.35;
  border:0;
  padding:0;
}

.modern-contact-row{
  display:grid;
  grid-template-columns:minmax(76px, auto) minmax(0, 1fr);
  gap:.85rem;
  align-items:start;
  margin:.55rem 0;
}

.modern-contact-row span{
  color:#ffc107;
  font-size:.72rem;
  font-weight:950;
  line-height:1.35;
  letter-spacing:.11em;
  text-transform:uppercase;
  white-space:nowrap;
}

.modern-contact-row strong{
  min-width:0;
  color:rgba(255,255,255,.86);
  font-size:.94rem;
  line-height:1.35;
  font-weight:750;
  overflow-wrap:break-word;
}

.modern-footer-bottom{
  margin-top:clamp(1.25rem, 2.5vw, 2rem);
  padding-top:1rem;
  border-top:1px solid rgba(255,255,255,.12);
  text-align:center;
}

.modern-footer-bottom p{
  margin:0;
  color:rgba(255,255,255,.58);
  font-size:.82rem;
  line-height:1.45;
}

@media (max-width:900px){
  .modern-footer{
    padding-top:2.4rem;
  }

  .modern-footer-hero,
  .modern-footer-grid{
    grid-template-columns:1fr;
  }

  .modern-footer-hero{
    padding:1.15rem;
  }

  .footer-main-btn{
    width:100%;
  }
}

@media (max-width:520px){
  .modern-footer .container{
    width:calc(100% - 32px);
  }

  .modern-footer-hero h2{
    font-size:clamp(1.55rem, 8vw, 2.1rem);
  }

  .modern-contact-row{
    grid-template-columns:1fr;
    gap:.25rem;
  }
}@media (max-width: 900px) {
  .nav-links{
    display:none !important;
  }

  .mobile-menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(0,0,0,.65);
  color:#fff;
  cursor:pointer;
  position:relative;
  z-index:999999;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  padding:0;
  pointer-events:auto;
  touch-action:manipulation;
}

  .nav-container{
  min-height:78px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
  z-index:999998;
}
}
  to { transform: rotate(360deg); }
}

@media (max-width: 900px) {
  .modern-footer-hero,
  .modern-footer-grid {
    grid-template-columns: 1fr;
  }
}

/* ===== MODERN EXPERTISE SECTION ===== */

.modern-expertise-section {
  position: relative;
  padding: 7rem 0;
  background:
    linear-gradient(
      135deg,
      #f7f3ed 0%,
      #ffffff 50%,
      #f3ede2 100%
    );
  overflow: hidden;
}

.modern-expertise-section::before {
  content: "";
  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px);

  background-size: 42px 42px;

  opacity: .5;
}

.modern-section-heading {
  position: relative;
  z-index: 2;
  max-width: 980px;
  margin-bottom: 4rem;
}

.modern-section-heading h2 {
  margin: 0 0 1rem;

  color: #111;

  font-size: clamp(2.8rem, 5vw, 5rem);

  line-height: .95;

  font-weight: 900;

  letter-spacing: -.05em;
}

.modern-section-heading p {
  max-width: 760px;

  color: #555;

  font-size: 1.15rem;

  line-height: 1.9;
}

.modern-feature-grid {
  position: relative;
  z-index: 2;

  display: grid;

  grid-template-columns: repeat(3, 1fr);

  gap: 1.8rem;
}

.modern-feature-card {
  position: relative;

  min-height: 340px;

  padding: 2.5rem;

  background: rgba(255,255,255,.82);

  border: 1px solid rgba(0,0,0,.08);

  border-top: 8px solid #ffc107;

  border-radius: 34px;

  overflow: hidden;

  box-shadow:
    0 24px 70px rgba(0,0,0,.08),
    0 10px 25px rgba(0,0,0,.04);

  backdrop-filter: blur(12px);

  transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}

.modern-feature-card::before {
  content: "";

  position: absolute;

  right: -70px;
  bottom: -70px;

  width: 220px;
  height: 220px;

  background:
    radial-gradient(
      circle,
      rgba(255,193,7,.25),
      transparent 70%
    );

  transition: transform .5s ease;
}

.modern-feature-card:hover {
  transform:
    translateY(-14px)
    rotateX(2deg);

  box-shadow:
    0 40px 100px rgba(0,0,0,.16),
    0 18px 40px rgba(0,0,0,.10);

  border-color: rgba(255,193,7,.45);
}

.modern-feature-card:hover::before {
  transform: scale(1.25);
}

.feature-icon {
  width: 74px;
  height: 74px;

  display: grid;
  place-items: center;

  margin-bottom: 1.6rem;

  background:
    linear-gradient(
      135deg,
      #ffc107,
      #ffb300
    );

  color: #111;

  border-radius: 22px;

  font-size: 1.45rem;

  font-weight: 900;

  box-shadow:
    0 18px 40px rgba(255,193,7,.22);
}

.modern-feature-card h3 {
  margin: 0 0 1rem;

  color: #111;

  font-size: 1.9rem;

  line-height: 1.05;

  font-weight: 900;
}

.modern-feature-card p {
  color: #666;

  line-height: 1.9;

  font-size: 1rem;
}

@media (max-width: 1000px) {

  .modern-feature-grid {
    grid-template-columns: 1fr;
  }

}

/* ===== FORCE UPGRADE CURRENT PLAIN FOOTER ===== */

.site-footer {
  position: relative !important;
  margin-top: 6rem !important;
  padding: 0 0 2rem !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,193,7,.22), transparent 32%),
    linear-gradient(135deg, #080808 0%, #171717 65%, #2a1f07 100%) !important;
  color: #fff !important;
  overflow: hidden !important;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 42px 42px;
  opacity: .45;
}

.site-footer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 12px;
  width: 100%;
  background: repeating-linear-gradient(
    135deg,
    #ffc107 0,
    #ffc107 24px,
    #111 24px,
    #111 48px
  );
}

.site-footer .container {
  position: relative !important;
  z-index: 2 !important;
  padding-top: 6rem !important;
}

.footer-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr !important;
  gap: 1.5rem !important;
}

.footer-grid > div {
  min-height: 280px !important;
  padding: 2rem !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 30px !important;
  backdrop-filter: blur(14px) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.28) !important;
  transition: transform .35s ease, border-color .35s ease, background .35s ease !important;
}

.footer-grid > div:first-child {
  border-left: 8px solid #ffc107 !important;
}

.footer-grid > div:hover {
  transform: translateY(-12px) !important;
  border-color: rgba(255,193,7,.55) !important;
  background: rgba(255,255,255,.12) !important;
}

.site-footer h3 {
  color: #fff !important;
  font-size: 1.7rem !important;
  font-weight: 900 !important;
  margin-bottom: 1rem !important;
}

.site-footer p {
  color: rgba(255,255,255,.76) !important;
  line-height: 1.8 !important;
}

.site-footer .copyright {
  margin-top: 3rem !important;
  padding-top: 1.5rem !important;
  color: rgba(255,255,255,.55) !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
  text-align: center !important;
}

/* ===== FORCE UPGRADE PLAIN EXPERTISE / MISSION TEXT IF NODE BODY STILL SHOWS ===== */

.node-content,
.node__content,
article.node {
  display: none !important;
}

@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===== FINAL CINEMATIC MISSION + FOOTER FORCE ===== */

.mission-cinema-section {
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #050505;
  color: #fff;
}

.mission-cinema-bg {
  position: absolute;
  inset: 0;
  background:
    url("../images/hero/concrete.jpg") center/cover no-repeat;
  transform: scale(1.08);
  animation: missionCinematicZoom 18s ease-in-out infinite alternate;
}

.mission-cinema-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 30%, rgba(255,193,7,.35), transparent 30%),
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.64), rgba(0,0,0,.92)),
    repeating-linear-gradient(
      135deg,
      rgba(255,193,7,.12) 0,
      rgba(255,193,7,.12) 10px,
      transparent 10px,
      transparent 30px
    );
}

.mission-cinema-content {
  position: relative;
  z-index: 2;
  padding: 7rem 0;
}

.mission-tag {
  display: inline-block;
  margin-bottom: 1.2rem;
  color: #ffc107;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .22em;
}

.mission-cinema-content h2 {
  max-width: 1100px;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 7vw, 7.5rem);
  line-height: .9;
  font-weight: 900;
  letter-spacing: -.06em;
  text-transform: uppercase;
  text-shadow: 0 25px 70px rgba(0,0,0,.65);
}

.mission-cinema-content p {
  max-width: 760px;
  margin-top: 2rem;
  color: rgba(255,255,255,.82);
  font-size: 1.25rem;
  line-height: 1.85;
}

.mission-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}

.mission-pill-row span {
  padding: .9rem 1.25rem;
  border: 1px solid rgba(255,193,7,.5);
  background: rgba(255,193,7,.12);
  color: #ffc107;
  border-radius: 999px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  backdrop-filter: blur(10px);
}

.site-footer {
  margin-top: 0 !important;
  padding: 0 0 2rem !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,193,7,.25), transparent 35%),
    linear-gradient(135deg, #050505 0%, #141414 58%, #2c2108 100%) !important;
}

.site-footer .container {
  padding-top: 7rem !important;
}

.footer-grid {
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 2rem !important;
}

.footer-grid > div {
  min-height: 340px !important;
  padding: 2.5rem !important;
  background: rgba(255,255,255,.085) !important;
  border-radius: 34px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 35px 90px rgba(0,0,0,.35) !important;
  backdrop-filter: blur(16px) !important;
}

.footer-grid > div:hover {
  transform: translateY(-16px) scale(1.02) !important;
}

.site-footer h3 {
  font-size: 2rem !important;
  color: #fff !important;
  font-weight: 900 !important;
}

.site-footer p {
  font-size: 1.05rem !important;
  color: rgba(255,255,255,.78) !important;
}

@keyframes missionCinematicZoom {
  from { transform: scale(1.05); }
  to { transform: scale(1.18); }
}

/* =========================================================
   VARIABLES
========================================================= */

/* =========================================================
   RESET
========================================================= */

/* =========================================================
   GLOBAL
========================================================= */

/* =========================================================
   HEADER
========================================================= */

/* =========================================================
   HERO
========================================================= */

/* =========================================================
   MISSION
========================================================= */

/* =========================================================
   SERVICES
========================================================= */

/* =========================================================
   FOOTER
========================================================= */

/* =========================================================
   ANIMATIONS
========================================================= */

/* =========================================================
   RESPONSIVE
========================================================= */

/* ===== ABOUT PAGE ===== */

.about-hero {
  position: relative;
  min-height: 72vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #080808;
  color: #fff;
}

.about-hero-bg {
  position: absolute;
  inset: 0;
  background: url("../images/hero/concrete.jpg") center/cover no-repeat;
  transform: scale(1.08);
}

.about-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 25%, rgba(255,193,7,.32), transparent 32%),
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.58), rgba(0,0,0,.9)),
    repeating-linear-gradient(135deg, rgba(255,193,7,.10) 0, rgba(255,193,7,.10) 10px, transparent 10px, transparent 28px);
}

.about-hero-content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  padding: 7rem 0;
}

.about-hero h2 {
  max-width: 980px;
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: .9;
  font-weight: 900;
  letter-spacing: -.06em;
  text-transform: uppercase;
}

.about-hero p {
  max-width: 720px;
  color: rgba(255,255,255,.82);
  font-size: 1.25rem;
  line-height: 1.85;
}

.about-page {
  background: #f4f1ec;
}

.about-split-section,
.about-leadership-section,
.about-why-section {
  position: relative;
  padding: 7rem 0;
}

.about-split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}

.about-panel {
  min-height: 420px;
  padding: 3rem;
  background: rgba(255,255,255,.88);
  border-top: 8px solid #ffc107;
  border-radius: 34px;
  box-shadow: 0 24px 70px rgba(0,0,0,.08);
}

.about-panel-dark {
  background:
    radial-gradient(circle at top right, rgba(255,193,7,.22), transparent 34%),
    linear-gradient(135deg, #111, #1a1a1a);
  color: #fff;
}

.about-panel h2 {
  margin-bottom: 1.2rem;
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1;
  font-weight: 900;
}

.about-panel-dark h2 {
  color: #fff;
}

.about-panel p {
  color: #666;
  font-size: 1.1rem;
  line-height: 1.9;
}

.about-panel-dark p {
  color: rgba(255,255,255,.76);
}

.about-leadership-section {
  background: #fff;
}

.about-team-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
}

.about-person-card {
  padding: 2.2rem;
  background: #fff;
  border-radius: 34px;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 24px 70px rgba(0,0,0,.08);
  transition: transform .35s ease, box-shadow .35s ease;
}

.about-person-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 40px 100px rgba(0,0,0,.15);
}

.about-avatar {
  height: 320px;
  margin-bottom: 1.5rem;
  overflow: hidden;
  border-radius: 26px;
  background: #111;
}

.about-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-person-card h3 {
  margin: 0 0 .35rem;
  font-size: 1.8rem;
  font-weight: 900;
}

.about-person-card span {
  display: block;
  margin-bottom: 1rem;
  color: #c25700;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.about-person-card p {
  color: #666;
  line-height: 1.8;
}

.about-why-section {
  background:
    linear-gradient(135deg, #f7f3ed 0%, #ffffff 50%, #f3ede2 100%);
}

.about-reasons-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.4rem;
}

.about-reason-card {
  min-height: 300px;
  padding: 2rem;
  background: rgba(255,255,255,.86);
  border-radius: 30px;
  border: 1px solid rgba(0,0,0,.08);
  border-top: 7px solid #ffc107;
  box-shadow: 0 24px 70px rgba(0,0,0,.08);
  transition: transform .35s ease;
}

.about-reason-card:hover {
  transform: translateY(-10px);
}

.about-reason-card strong {
  display: block;
  margin-bottom: 1.2rem;
  color: #ffc107;
  font-size: 3rem;
  line-height: 1;
  font-weight: 900;
}

.about-reason-card h3 {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 900;
}

.about-reason-card p {
  color: #666;
  line-height: 1.8;
}

@media (max-width: 1000px) {
  .about-split-grid,
  .about-team-grid,
  .about-reasons-grid {
    grid-template-columns: 1fr;
  }

  .about-hero {
    min-height: 62vh;
  }

  .about-hero h2 {
    font-size: 3.2rem;
  }

  .about-panel {
    min-height: auto;
  }
}


/* ===== ABOUT PAGE V2 UPGRADES ===== */

.about-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem;
  margin-top: 3rem;
}

.about-stat {
  padding: 1.5rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,193,7,.35);
  border-radius: 22px;
  backdrop-filter: blur(12px);
}

.about-stat strong {
  display: block;
  color: #ffc107;
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 900;
}

.about-stat span {
  display: block;
  margin-top: .5rem;
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.about-avatar-placeholder {
  height: 320px;
  display: grid;
  place-items: center;
  margin-bottom: 1.5rem;
  border-radius: 26px;
  background:
    radial-gradient(circle at top left, rgba(255,193,7,.35), transparent 36%),
    linear-gradient(135deg, #111, #252525);
  color: #ffc107;
  font-size: 4rem;
  font-weight: 900;
}

.about-timeline-section {
  padding: 7rem 0;
  background: #111;
  color: #fff;
}

.about-timeline-section h2,
.about-timeline-section h3 {
  color: #fff;
}

.about-timeline {
  display: grid;
  gap: 1.2rem;
  margin-top: 3rem;
}

.about-timeline-item {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 2rem;
  padding: 2rem;
  background: rgba(255,255,255,.08);
  border-left: 7px solid #ffc107;
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

.about-timeline-year {
  color: #ffc107;
  font-size: 2rem;
  font-weight: 900;
}

.about-timeline-item p {
  color: rgba(255,255,255,.75);
  line-height: 1.8;
}

.about-final-cta {
  position: relative;
  padding: 6rem 0;
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,.12) 0, rgba(0,0,0,.12) 12px, transparent 12px, transparent 24px),
    linear-gradient(135deg, #ffc107, #ffb300);
  color: #111;
  overflow: hidden;
}

.about-final-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}

.about-final-cta h2 {
  margin: 0;
  color: #111;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
}

.about-final-cta p {
  max-width: 700px;
  margin-top: .15rem;
  color: rgba(0,0,0,.72);
  font-size: 1.15rem;
  line-height: 1.8;
}

.about-final-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 1.8rem;
  background: #111;
  color: #fff !important;
  border-radius: 999px;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 1000px) {
  .about-stats-row,
  .about-final-cta-inner {
    grid-template-columns: 1fr;
  }

  .about-timeline-item {
    grid-template-columns: 1fr;
    gap: .5rem;
  }
}


/* ===== ABOUT V3 CINEMATIC IMAGE + PROCESS SHOWCASE ===== */

.about-image-break {
  position: relative;
  min-height: 56vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #090909;
  color: #fff;
}

.about-image-break-bg {
  position: absolute;
  inset: 0;
  background: url("../images/hero/concrete.jpg") center/cover no-repeat;
  transform: scale(1.08);
  filter: contrast(1.05) saturate(.9);
}

.about-image-break-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 30%, rgba(255,193,7,.32), transparent 32%),
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.58), rgba(0,0,0,.88)),
    repeating-linear-gradient(135deg, rgba(255,193,7,.10) 0, rgba(255,193,7,.10) 10px, transparent 10px, transparent 28px);
}

.about-image-break-content {
  position: relative;
  z-index: 2;
  max-width: 850px;
  padding: 6rem 0;
}

.about-image-break-content h2 {
  margin: 0 0 1.4rem;
  color: #fff;
  font-size: clamp(2.8rem, 6vw, 6rem);
  line-height: .92;
  font-weight: 900;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.about-image-break-content p {
  max-width: 680px;
  color: rgba(255,255,255,.8);
  font-size: 1.18rem;
  line-height: 1.85;
}

.about-process-showcase {
  position: relative;
  padding: 7rem 0;
  background:
    linear-gradient(135deg, #f7f3ed 0%, #fff 48%, #f1eadf 100%);
  overflow: hidden;
}

.about-process-showcase::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .45;
}

.about-process-showcase .container {
  position: relative;
  z-index: 2;
}

.about-process-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.4rem;
  margin-top: 3.5rem;
}

.about-process-card {
  position: relative;
  min-height: 360px;
  padding: 2rem;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(0,0,0,.08);
  border-top: 8px solid #ffc107;
  border-radius: 32px;
  overflow: hidden;
  box-shadow:
    0 24px 70px rgba(0,0,0,.08),
    0 10px 25px rgba(0,0,0,.04);
  transition: transform .35s ease, box-shadow .35s ease;
}

.about-process-card::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -60px;
  width: 180px;
  height: 180px;
  background: rgba(255,193,7,.18);
  border-radius: 50%;
}

.about-process-card:hover {
  transform: translateY(-12px);
  box-shadow:
    0 40px 100px rgba(0,0,0,.16),
    0 18px 40px rgba(0,0,0,.1);
}

.about-process-step {
  position: relative;
  z-index: 2;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin-bottom: 1.5rem;
  background: #111;
  color: #ffc107;
  border-radius: 20px;
  font-size: 1.25rem;
  font-weight: 900;
}

.about-process-card h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 1rem;
  color: #111;
  font-size: 1.55rem;
  line-height: 1.1;
  font-weight: 900;
}

.about-process-card p {
  position: relative;
  z-index: 2;
  color: #666;
  line-height: 1.85;
}

.about-trust-band {
  padding: 4rem 0;
  background: #111;
  color: #fff;
}

.about-trust-inner {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 1rem;
  align-items: stretch;
}

.about-trust-lead,
.about-trust-item {
  padding: 2rem;
  border-radius: 28px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
}

.about-trust-lead {
  border-left: 7px solid #ffc107;
}

.about-trust-lead h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1;
  font-weight: 900;
}

.about-trust-item strong {
  display: block;
  color: #ffc107;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 900;
}

.about-trust-item span {
  display: block;
  margin-top: .8rem;
  color: rgba(255,255,255,.78);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
}

@media (max-width: 1100px) {
  .about-process-grid,
  .about-trust-inner {
    grid-template-columns: 1fr;
  }

  .about-process-card {
    min-height: auto;
  }
}


/* ===== ABOUT TRUST BAND REFINEMENT ===== */

.about-trust-lead h2 {
  max-width: 520px;
  font-size: clamp(1.6rem, 2.5vw, 2.7rem) !important;
  line-height: 1.05;
  letter-spacing: -.03em;
}

.about-trust-lead,
.about-trust-item {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-trust-item strong {
  font-size: 2rem;
}

.about-trust-band {
  padding: 3.5rem 0;
}


/* ===== TRUST BAND HOTFIX ===== */

.about-trust-inner {
  grid-template-columns: 1.6fr 1fr 1fr 1fr !important;
  align-items: stretch;
}

.about-trust-lead {
  padding: 2.5rem !important;
  min-height: 260px !important;
}

.about-trust-lead h2 {
  max-width: 760px !important;
  margin: 0 !important;
  font-size: clamp(1.8rem, 2.4vw, 3rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.about-trust-item {
  min-height: 260px !important;
}

@media (max-width: 1100px) {
  .about-trust-inner {
    grid-template-columns: 1fr !important;
  }

  .about-trust-lead h2 {
    max-width: 100% !important;
  }
}


/* ===== ABOUT PROJECT SHOWCASE ===== */

.about-project-showcase {
  position: relative;
  padding: 7rem 0;
  background:
    radial-gradient(circle at 20% 0%, rgba(255,193,7,.18), transparent 34%),
    linear-gradient(135deg, #070707 0%, #151515 60%, #241b06 100%);
  color: #fff;
  overflow: hidden;
}

.about-project-showcase::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .35;
}

.about-project-showcase .container {
  position: relative;
  z-index: 2;
}

.about-project-showcase .modern-section-heading h2 {
  color: #fff;
}

.about-project-showcase .modern-section-heading p {
  color: rgba(255,255,255,.72);
}

.about-project-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1.5rem;
  margin-top: 3.5rem;
}

.about-project-card {
  position: relative;
  min-height: 460px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 35px 90px rgba(0,0,0,.36);
  transition: transform .4s ease, border-color .4s ease, box-shadow .4s ease;
}

.about-project-card:hover {
  transform: translateY(-12px);
  border-color: rgba(255,193,7,.55);
  box-shadow: 0 45px 110px rgba(0,0,0,.48);
}

.about-project-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 40%, rgba(0,0,0,.92) 100%);
  z-index: 2;
}

.about-project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  transition: transform .7s ease;
  z-index: 1;
}

.about-project-card:hover::after {
  transform: scale(1.12);
}

.about-project-card-large {
  min-height: 620px;
}

.about-project-card:nth-child(1)::after {
  background:
    radial-gradient(circle at 30% 20%, rgba(255,193,7,.25), transparent 26%),
    linear-gradient(135deg, #3a3428, #111 58%, #090909);
}

.about-project-card:nth-child(2)::after {
  background:
    radial-gradient(circle at 70% 20%, rgba(255,193,7,.24), transparent 28%),
    linear-gradient(135deg, #20252a, #101010 58%, #080808);
}

.about-project-card:nth-child(3)::after {
  background:
    radial-gradient(circle at 30% 20%, rgba(255,193,7,.22), transparent 30%),
    linear-gradient(135deg, #2a2118, #111 58%, #070707);
}

.about-project-card:nth-child(4)::after {
  background:
    radial-gradient(circle at 65% 20%, rgba(255,193,7,.2), transparent 30%),
    linear-gradient(135deg, #1f261f, #111 58%, #070707);
}

.about-project-content {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 2rem;
}

.about-project-tag {
  display: inline-flex;
  margin-bottom: 1rem;
  padding: .55rem .85rem;
  background: rgba(255,193,7,.16);
  border: 1px solid rgba(255,193,7,.45);
  border-radius: 999px;
  color: #ffc107;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
  backdrop-filter: blur(10px);
}

.about-project-content h3 {
  margin: 0 0 .8rem;
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.04em;
}

.about-project-content p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.76);
  line-height: 1.75;
}

.about-project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.4rem;
}

.about-project-meta span {
  padding: .65rem .85rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 999px;
  color: rgba(255,255,255,.82);
  font-size: .85rem;
  font-weight: 800;
}

.about-project-side-grid {
  display: grid;
  gap: 1.5rem;
}

.about-project-bottom-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

@media (max-width: 1100px) {
  .about-project-grid,
  .about-project-bottom-grid {
    grid-template-columns: 1fr;
  }

  .about-project-card,
  .about-project-card-large {
    min-height: 460px;
  }
}


/* ===== PROJECT SHOWCASE REFINEMENT ===== */

.about-project-showcase .modern-section-heading {
  max-width: 980px;
  margin-bottom: 4rem;
}

.about-project-showcase .modern-section-heading h2 {
  max-width: 980px;
  font-size: clamp(3rem, 5vw, 5.8rem) !important;
  line-height: .92;
  letter-spacing: -.05em;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}

.about-project-showcase .modern-section-heading p {
  max-width: 760px;
  margin-top: 1.5rem;
  font-size: 1.12rem;
  line-height: 1.9;
}

.about-project-grid {
  align-items: stretch;
}

.about-project-card-large {
  min-height: 720px !important;
}

.about-project-card-large::after {
  background:
    radial-gradient(circle at 30% 20%, rgba(255,193,7,.25), transparent 26%),
    linear-gradient(135deg, #3a3428, #111 58%, #090909),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 42px) !important;
  opacity: .95;
}

.about-project-content {
  padding: 2.4rem;
}

.about-project-content h3 {
  max-width: 620px;
}

.about-project-meta {
  margin-top: 1.6rem;
}

@media (max-width: 1100px) {

  .about-project-showcase .modern-section-heading h2 {
    font-size: clamp(2.4rem, 8vw, 4rem) !important;
  }

  .about-project-card-large {
    min-height: 520px !important;
  }

}


/* ===== PROJECT SHOWCASE FINAL TYPOGRAPHY FIX ===== */

.about-project-showcase .modern-section-heading {
  max-width: 1400px !important;
}

.about-project-showcase .modern-section-heading h2 {
  max-width: 1200px !important;
  width: 100%;
  font-size: clamp(4rem, 6vw, 7rem) !important;
  line-height: .9 !important;
  letter-spacing: -.06em !important;
}

.about-project-showcase .modern-section-heading p {
  max-width: 760px;
}

@media (max-width: 1200px) {

  .about-project-showcase .modern-section-heading h2 {
    font-size: clamp(3rem, 8vw, 5rem) !important;
    max-width: 100% !important;
  }

}


/* ===== PROJECT CARD TITLE REFINEMENT ===== */

.about-project-content h3 {
  max-width: 560px !important;
  font-size: clamp(1.5rem, 2vw, 2.4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.about-project-card-large .about-project-content h3 {
  font-size: clamp(2rem, 3vw, 3.5rem) !important;
  max-width: 680px !important;
}


/* ===== SERVICES PAGE ===== */

.services-hero {
  position: relative;
  min-height: 72vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #070707;
  color: #fff;
}

.services-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 25%, rgba(255,193,7,.22), transparent 30%),
    linear-gradient(135deg, #222, #080808);
  transform: scale(1.08);
}

.services-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.6), rgba(0,0,0,.9)),
    repeating-linear-gradient(135deg, rgba(255,193,7,.10) 0, rgba(255,193,7,.10) 10px, transparent 10px, transparent 28px);
}

.services-hero-content {
  position: relative;
  z-index: 2;
  max-width: 980px;
  padding: 7rem 0;
}

.services-hero h2 {
  max-width: 1100px;
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: .9;
  font-weight: 900;
  letter-spacing: -.06em;
  text-transform: uppercase;
}

.services-hero p {
  max-width: 760px;
  color: rgba(255,255,255,.82);
  font-size: 1.25rem;
  line-height: 1.85;
}

.services-page {
  background: #f4f1ec;
}

.services-intro-section {
  padding: 7rem 0;
  background:
    linear-gradient(135deg, #f7f3ed 0%, #ffffff 50%, #f1eadf 100%);
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}

.services-card {
  position: relative;
  min-height: 360px;
  padding: 2.2rem;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(0,0,0,.08);
  border-top: 8px solid #ffc107;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.08);
  transition: transform .35s ease, box-shadow .35s ease;
}

.services-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 40px 100px rgba(0,0,0,.16);
}

.services-card::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -60px;
  width: 180px;
  height: 180px;
  background: rgba(255,193,7,.18);
  border-radius: 50%;
}

.services-card-number {
  position: relative;
  z-index: 2;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin-bottom: 1.4rem;
  background: #111;
  color: #ffc107;
  border-radius: 20px;
  font-weight: 900;
}

.services-card span {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: .7rem;
  color: #c25700;
  font-size: .8rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.services-card h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 1rem;
  color: #111;
  font-size: 1.8rem;
  line-height: 1.05;
  font-weight: 900;
}

.services-card p {
  position: relative;
  z-index: 2;
  color: #666;
  line-height: 1.85;
}

.services-process-band {
  padding: 6rem 0;
  background:
    radial-gradient(circle at top left, rgba(255,193,7,.22), transparent 34%),
    linear-gradient(135deg, #080808, #171717 60%, #2a1f07);
  color: #fff;
}

.services-process-inner {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 2rem;
  align-items: center;
}

.services-process-inner h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
}

.services-process-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.services-process-list div {
  padding: 2rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-left: 6px solid #ffc107;
  border-radius: 26px;
}

.services-process-list strong {
  display: block;
  color: #ffc107;
  font-size: 2rem;
  font-weight: 900;
}

.services-process-list span {
  display: block;
  margin-top: .5rem;
  color: rgba(255,255,255,.82);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.services-final-cta {
  padding: 6rem 0;
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,.12) 0, rgba(0,0,0,.12) 12px, transparent 12px, transparent 24px),
    linear-gradient(135deg, #ffc107, #ffb300);
}

.services-final-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}

.services-final-cta h2 {
  margin: 0;
  color: #111;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
}

.services-final-cta p {
  max-width: 700px;
  margin-top: .15rem;
  color: rgba(0,0,0,.72);
  font-size: 1.15rem;
  line-height: 1.8;
}

@media (max-width: 1000px) {
  .services-grid,
  .services-process-inner,
  .services-process-list,
  .services-final-cta-inner {
    grid-template-columns: 1fr;
  }

  .services-hero h2 {
    font-size: 3.2rem;
  }
}


/* ===== SERVICES PAGE PREMIUM BUILD ===== */

.services-hero {
  position: relative;
  min-height: 74vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #070707;
  color: #fff;
}

.services-hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 25%, rgba(255,193,7,.26), transparent 30%),
    linear-gradient(135deg, #292314, #080808 65%);
  transform: scale(1.08);
}

.services-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.58), rgba(0,0,0,.9)),
    repeating-linear-gradient(135deg, rgba(255,193,7,.10) 0, rgba(255,193,7,.10) 10px, transparent 10px, transparent 28px);
}

.services-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1050px;
  padding: 7rem 0;
}

.services-hero h2 {
  max-width: 1180px;
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: clamp(3rem, 7vw, 7rem);
  line-height: .9;
  font-weight: 900;
  letter-spacing: -.06em;
  text-transform: uppercase;
}

.services-hero p {
  max-width: 780px;
  color: rgba(255,255,255,.82);
  font-size: 1.25rem;
  line-height: 1.85;
}

.services-page {
  background: #f4f1ec;
}

.services-intro-section {
  position: relative;
  padding: 7rem 0;
  background:
    linear-gradient(135deg, #f7f3ed 0%, #ffffff 50%, #f1eadf 100%);
  overflow: hidden;
}

.services-intro-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px);
  background-size: 44px 44px;
  opacity: .45;
}

.services-intro-section .container {
  position: relative;
  z-index: 2;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 4rem;
}

.services-card {
  position: relative;
  min-height: 380px;
  padding: 2.2rem;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(0,0,0,.08);
  border-top: 8px solid #ffc107;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(0,0,0,.08);
  transition: transform .35s ease, box-shadow .35s ease;
}

.services-card:hover {
  transform: translateY(-12px);
  box-shadow: 0 40px 100px rgba(0,0,0,.16);
}

.services-card::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -60px;
  width: 180px;
  height: 180px;
  background: rgba(255,193,7,.18);
  border-radius: 50%;
}

.services-card-number {
  position: relative;
  z-index: 2;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin-bottom: 1.4rem;
  background: #111;
  color: #ffc107;
  border-radius: 20px;
  font-weight: 900;
}

.services-card span {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: .7rem;
  color: #c25700;
  font-size: .8rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.services-card h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 1rem;
  color: #111;
  font-size: 1.75rem;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -.025em;
}

.services-card p {
  position: relative;
  z-index: 2;
  color: #666;
  line-height: 1.85;
}

.services-feature-band {
  position: relative;
  padding: 6rem 0;
  background:
    radial-gradient(circle at top left, rgba(255,193,7,.22), transparent 34%),
    linear-gradient(135deg, #080808, #171717 60%, #2a1f07);
  color: #fff;
  overflow: hidden;
}

.services-feature-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(135deg, rgba(255,193,7,.08) 0, rgba(255,193,7,.08) 10px, transparent 10px, transparent 28px);
  opacity: .55;
}

.services-feature-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 2rem;
  align-items: center;
}

.services-feature-copy h2 {
  margin: 0 0 1rem;
  color: #fff;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
}

.services-feature-copy p {
  max-width: 680px;
  color: rgba(255,255,255,.76);
  font-size: 1.1rem;
  line-height: 1.85;
}

.services-feature-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.services-feature-points div {
  padding: 2rem;
  min-height: 170px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-left: 6px solid #ffc107;
  border-radius: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.services-feature-points strong {
  display: block;
  color: #ffc107;
  font-size: 2rem;
  font-weight: 900;
}

.services-feature-points span {
  display: block;
  margin-top: .5rem;
  color: rgba(255,255,255,.82);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.services-final-cta {
  padding: 6rem 0;
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,.12) 0, rgba(0,0,0,.12) 12px, transparent 12px, transparent 24px),
    linear-gradient(135deg, #ffc107, #ffb300);
}

.services-final-cta-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
}

.services-final-cta h2 {
  margin: 0;
  color: #111;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
}

.services-final-cta p {
  max-width: 700px;
  margin-top: .15rem;
  color: rgba(0,0,0,.72);
  font-size: 1.15rem;
  line-height: 1.8;
}

@media (max-width: 1000px) {
  .services-grid,
  .services-feature-grid,
  .services-feature-points,
  .services-final-cta-inner {
    grid-template-columns: 1fr;
  }

  .services-hero h2 {
    font-size: 3.2rem;
  }

  .services-card {
    min-height: auto;
  }
}


/* ===== SERVICES TYPOGRAPHY REFINEMENT ===== */

.services-hero-content {
  max-width: 1350px !important;
}

.services-hero h2 {
  max-width: 1250px !important;
  width: 100%;
  font-size: clamp(4rem, 6vw, 7.5rem) !important;
  line-height: .88 !important;
  letter-spacing: -.065em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.services-intro-section .modern-section-heading {
  max-width: 1250px !important;
}

.services-intro-section .modern-section-heading h2 {
  max-width: 1050px !important;
  font-size: clamp(3rem, 5vw, 5.8rem) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.services-feature-copy h2 {
  max-width: 760px !important;
  font-size: clamp(2.2rem, 4vw, 4.5rem) !important;
  line-height: .95 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.services-final-cta h2 {
  max-width: 820px !important;
  font-size: clamp(2.5rem, 4.5vw, 5rem) !important;
  line-height: .94 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.services-card h3 {
  max-width: 420px;
  font-size: clamp(1.45rem, 2vw, 2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.03em !important;
}

@media (max-width: 1200px) {

  .services-hero h2 {
    font-size: clamp(3rem, 8vw, 5rem) !important;
    max-width: 100% !important;
  }

  .services-intro-section .modern-section-heading h2 {
    font-size: clamp(2.4rem, 7vw, 4rem) !important;
    max-width: 100% !important;
  }

  .services-feature-copy h2,
  .services-final-cta h2 {
    max-width: 100% !important;
  }

}

.project-feature-card {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 35px 90px rgba(0,0,0,.36);
  background:
    radial-gradient(circle at 30% 20%, rgba(255,193,7,.25), transparent 26%),
    linear-gradient(135deg, #302b20, #111 58%, #090909);
  transition: transform .4s ease, border-color .4s ease;
}

.project-feature-card:hover {
  transform: translateY(-12px);
  border-color: rgba(255,193,7,.55);
}

.project-feature-large {
  min-height: 740px;
  grid-row: span 2;
}

.project-feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 40%, rgba(0,0,0,.92) 100%);
}

.project-feature-content {
  position: relative;
  z-index: 2;
  padding: 2.3rem;
}

.project-feature-content span {
  display: inline-flex;
  margin-bottom: 1rem;
  padding: .55rem .85rem;
  background: rgba(255,193,7,.16);
  border: 1px solid rgba(255,193,7,.45);
  border-radius: 999px;
  color: #ffc107;
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.project-feature-content h3 {
  max-width: 680px;
  margin: 0 0 .9rem;
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 3.5rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.04em;
}

.project-feature-content p {
  max-width: 620px;
  color: rgba(255,255,255,.76);
  line-height: 1.75;
}

@media (max-width: 1100px) {

  .project-feature-large {
    min-height: 480px;
    grid-row: auto;
  }
}

.project-feature-content h3 {
  font-size: clamp(1.55rem, 2.35vw, 2.8rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.project-feature-large .project-feature-content h3 {
  font-size: clamp(2rem, 3vw, 3.4rem) !important;
  max-width: 720px !important;
}

.project-feature-large {
  min-height: 640px !important;
}


/* ===== SERVICES IMAGE CARD UPGRADE ===== */

.services-hero-bg {
  background:
    linear-gradient(rgba(0,0,0,.55), rgba(0,0,0,.9)),
    url("../images/services/black.png") center/cover no-repeat !important;
}

.services-card {
  min-height: 460px !important;
  display: flex;
  align-items: flex-end;
  padding: 0 !important;
  border-top: 0 !important;
  background: #111 !important;
  color: #fff;
}

.services-card-image {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.services-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.92) contrast(1.05);
  transform: scale(1.04);
  transition: transform .7s ease;
}

.services-card:hover .services-card-image img {
  transform: scale(1.12);
}

.services-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.22) 38%, rgba(0,0,0,.94) 100%);
}

.services-card::after {
  z-index: 2;
  background: rgba(255,193,7,.18) !important;
}

.services-card-content {
  position: relative;
  z-index: 3;
  padding: 2rem;
}

.services-card-content .services-card-number {
  margin-bottom: 1rem;
}

.services-card-content span {
  color: #ffc107 !important;
}

.services-card-content h3 {
  color: #fff !important;
  font-size: clamp(1.55rem, 2vw, 2.2rem) !important;
}

.services-card-content p {
  color: rgba(255,255,255,.78) !important;
}

@media (max-width: 1000px) {
  .services-card {
    min-height: 420px !important;
  }
}


/* ===== CLICKABLE SERVICE CARDS ===== */

a.services-card,
a.services-card:hover,
a.services-card:focus {
  color: inherit;
  text-decoration: none;
}

a.services-card {
  cursor: pointer;
}

.services-card-content::after {
  content: "View Service";
  display: inline-flex;
  margin-top: 1.2rem;
  padding: .65rem .95rem;
  background: #ffc107;
  color: #111;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}


/* ===== SERVICE DETAIL PAGES ===== */

.service-detail-hero {
  position: relative;
  min-height: 74vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #070707;
  color: #fff;
}

.service-detail-bg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.08);
  filter: saturate(.92) contrast(1.05);
}

.service-detail-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 70% 25%, rgba(255,193,7,.28), transparent 30%),
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.58), rgba(0,0,0,.9)),
    repeating-linear-gradient(135deg, rgba(255,193,7,.10) 0, rgba(255,193,7,.10) 10px, transparent 10px, transparent 28px);
}

.service-detail-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1180px;
  padding: 7rem 0;
}

.service-detail-hero h2 {
  max-width: 1050px;
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: clamp(3.5rem, 7vw, 7.5rem);
  line-height: .88;
  font-weight: 900;
  letter-spacing: -.065em;
  text-transform: uppercase;
}

.service-detail-hero p {
  max-width: 780px;
  color: rgba(255,255,255,.84);
  font-size: 1.25rem;
  line-height: 1.85;
}

.service-detail-page {
  background: #f4f1ec;
}

.service-detail-intro {
  padding: 7rem 0;
  background:
    linear-gradient(135deg, #f7f3ed 0%, #fff 50%, #f1eadf 100%);
}

.service-detail-grid {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 2rem;
  align-items: center;
}

.service-detail-copy h2 {
  max-width: 760px;
  margin: 0 0 1.2rem;
  color: #111;
  font-size: clamp(2.5rem, 4.5vw, 5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
}

.service-detail-copy p {
  max-width: 720px;
  color: #555;
  font-size: 1.15rem;
  line-height: 1.9;
}

.service-detail-points {
  display: grid;
  gap: 1rem;
}

.service-detail-points div {
  padding: 2rem;
  background: #111;
  border-left: 7px solid #ffc107;
  border-radius: 28px;
  box-shadow: 0 24px 70px rgba(0,0,0,.18);
}

.service-detail-points strong {
  display: block;
  color: #ffc107;
  font-size: 2rem;
  font-weight: 900;
}

.service-detail-points span {
  display: block;
  margin-top: .5rem;
  color: rgba(255,255,255,.84);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.service-detail-process {
  padding: 7rem 0;
  background: #fff;
}

@media (max-width: 1000px) {
  .service-detail-grid {
    grid-template-columns: 1fr;
  }

  .service-detail-hero h2 {
    font-size: 3.2rem;
  }
}


/* ===== REMOVE SERVICE CARD NUMBERS ===== */

.services-card-number {
  display: none !important;
}

.services-card-content {
  padding-top: 2.4rem !important;
}


/* ===== CONTACT PAGE ===== */

.contact-hero {
  min-height: 70vh;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 70% 25%, rgba(255,193,7,.25), transparent 30%),
    linear-gradient(rgba(0,0,0,.72), rgba(0,0,0,.92)),
    url("../images/services/black.png") center/cover no-repeat;
  color: #fff;
}

.contact-hero-content {
  padding: 7rem 0;
}

.contact-hero h2 {
  max-width: 1050px;
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: clamp(3.2rem, 7vw, 7rem);
  line-height: .88;
  font-weight: 900;
  letter-spacing: -.065em;
  text-transform: uppercase;
}

.contact-hero p {
  max-width: 760px;
  color: rgba(255,255,255,.84);
  font-size: 1.25rem;
  line-height: 1.8;
}

.contact-page {
  background: #f4f1ec;
}

.contact-section {
  padding: 7rem 0;
  background: linear-gradient(135deg, #f7f3ed 0%, #fff 50%, #f1eadf 100%);
}

.contact-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 2rem;
  align-items: start;
}

.contact-info {
  padding: 3rem;
  background: #111;
  color: #fff;
  border-left: 8px solid #ffc107;
  border-radius: 34px;
  box-shadow: 0 35px 90px rgba(0,0,0,.22);
}

.contact-info h2 {
  margin: 0 0 1.2rem;
  color: #fff;
  font-size: clamp(2.4rem, 4vw, 4.5rem);
  line-height: .95;
  font-weight: 900;
  letter-spacing: -.05em;
}

.contact-info p {
  color: rgba(255,255,255,.76);
  font-size: 1.1rem;
  line-height: 1.85;
}

.contact-info-cards {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}

.contact-info-cards div {
  padding: 1.4rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 22px;
}

.contact-info-cards strong {
  display: block;
  color: #ffc107;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.contact-info-cards span {
  display: block;
  margin-top: .4rem;
  color: rgba(255,255,255,.84);
  font-weight: 800;
}

.contact-form {
  padding: 3rem;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(0,0,0,.08);
  border-top: 8px solid #ffc107;
  border-radius: 34px;
  box-shadow: 0 30px 90px rgba(0,0,0,.12);
}

.form-row {
  margin-bottom: 1.2rem;
}

.contact-form label {
  display: block;
  margin-bottom: .45rem;
  color: #111;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .78rem;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 1rem;
  background: #fff;
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 16px;
  color: #111;
  outline: none;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: #ffc107;
  box-shadow: 0 0 0 4px rgba(255,193,7,.2);
}

.contact-submit-btn {
  width: 100%;
  min-height: 58px;
  background: #111;
  color: #fff;
  border: 0;
  border-radius: 999px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.contact-submit-btn:hover {
  background: #ffc107;
  color: #111;
}

.contact-hidden-field {
  position: absolute;
  left: -9999px;
  opacity: 0;
}

@media (max-width: 1000px) {
  .contact-grid {
    grid-template-columns: 1fr;
  }

  .contact-hero h2 {
    font-size: 3.2rem;
  }
}


/* ===== CONTACT SUCCESS MESSAGE ===== */

.contact-success-message {
  display: none;
  padding: 1.2rem 0;
  background: #ffc107;
  color: #111;
  font-weight: 800;
}

.contact-success-message strong {
  font-weight: 950;
}

body:has(.contact-page) .contact-success-message {
  display: block;
}


/* Hide success message unless URL has ?sent=1 */
.contact-success-message {
  display: none;
}


/* ===== FORCE HIDE CONTACT SUCCESS UNLESS JS SHOWS IT ===== */

#contact-success-message {
  display: none !important;
}

#contact-success-message.is-visible {
  display: block !important;
}

.contact-error-message {
  display: none;
  padding: 1.2rem 0;
  background: #111;
  color: #fff;
  font-weight: 800;
}

.contact-error-message strong {
  color: #ffc107;
  font-weight: 950;
}

#contact-error-message {
  display: none !important;
}

#contact-error-message.is-visible {
  display: block !important;
}


/* ===== CLEAN RESPONSIVE MOBILE NAVIGATION ===== */

.mobile-menu-toggle{
  display:none;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  background:rgba(0,0,0,.65);
  color:#fff;
  cursor:pointer;
  position:relative;
  z-index:999999;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  padding:0;
  pointer-events:auto;
  touch-action:manipulation;
}

.mobile-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:#fff;
  transition:transform .35s ease, opacity .35s ease;
}

body.mobile-menu-open{
  overflow:hidden;
}

body.mobile-menu-open .mobile-menu-toggle span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

body.mobile-menu-open .mobile-menu-toggle span:nth-child(2){
  opacity:0;
}

body.mobile-menu-open .mobile-menu-toggle span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.mobile-nav-overlay{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2rem;
  background:linear-gradient(135deg,rgba(0,0,0,.98),rgba(15,15,15,.96));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}

body.mobile-menu-open .mobile-nav-overlay{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.mobile-nav-overlay ul{
  list-style:none;
  margin:0;
  padding:0;
  text-align:center;
}

.mobile-nav-overlay li{
  list-style:none;
  padding:.35rem 0;
}

.mobile-nav-overlay a{
  display:inline-block;
  color:#fff;
  font-size:clamp(2rem,9vw,4.4rem);
  line-height:1;
  font-weight:950;
  letter-spacing:-.04em;
  text-transform:uppercase;
}

.mobile-nav-small{
  position:absolute;
  bottom:2rem;
  left:1rem;
  right:1rem;
  color:rgba(255,255,255,.55);
  text-align:center;
  font-size:.8rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.mobile-nav-small span{
  display:block;
  white-space:nowrap;
}

.mobile-nav-small span + span{
  margin-top:.25rem;
}

@media(max-width:900px){
  .nav-links{
    display:none !important;
  }

  .mobile-menu-toggle{
    display:flex !important;
  }

  .nav-container{
    min-height:78px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    position:relative;
    z-index:999998;
  }

  .logo{
    font-size:1rem;
    line-height:1.18;
  }
}

@media(min-width:901px){
  .mobile-menu-toggle,
  .mobile-nav-overlay{
    display:none !important;
  }
}
/* ===== CONTACT INFO SIZE REFINEMENT ===== */

.contact-info {
  padding: clamp(2rem, 3vw, 2.6rem) !important;
}

.contact-info h2 {
  font-size: clamp(1.9rem, 3vw, 3.2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.035em !important;
}

.contact-info p {
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.contact-info .section-label {
  font-size: .72rem !important;
  margin-bottom: .85rem !important;
}

.contact-info-cards {
  margin-top: 1.5rem !important;
}

.contact-info-cards div {
  padding: 1.1rem !important;
}


/* ===== CONTACT FORM REFINEMENT ===== */

.contact-form {
  max-width: 760px;
}

.contact-form input,
.contact-form textarea {
  font-size: 1rem;
}

.contact-form textarea {
  min-height: 220px;
  resize: vertical;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: rgba(0,0,0,.42);
}

.contact-submit-btn {
  margin-top: .5rem;
}


/* ===== FIX CONTACT HEADING WRAPPING ===== */

.contact-info h2 {
  max-width: 520px !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

/* =========================================================
   NODE 7 CONTACT PAGE - RESPONSIVE QUALITY PASS
   ========================================================= */

.contact-hero,
.contact-section{
  overflow:hidden;
}

.contact-hero{
  min-height:clamp(520px, 68vh, 720px) !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.76) 42%, rgba(0,0,0,.48) 72%, rgba(0,0,0,.78) 100%),
    linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.08) 45%, rgba(0,0,0,.74) 100%),
    url("../images/gallery/Gallery Page Used/Planing.jpg") center 48% / cover no-repeat !important;
}

.contact-hero-content{
  width:min(100% - 56px, 1120px) !important;
  max-width:1120px !important;
  margin-left:clamp(24px, 5vw, 72px) !important;
  margin-right:auto !important;
  padding:clamp(4rem, 6vw, 5.5rem) 0 !important;
  border-left:5px solid #ffc107;
  padding-left:clamp(1rem, 2vw, 1.5rem) !important;
}

.contact-hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-bottom:1.15rem;
}

.contact-hero-proof span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 .78rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.9);
  font-size:.72rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  backdrop-filter:blur(10px);
}

.contact-hero h2{
  max-width:980px !important;
  font-size:clamp(2.8rem, 5.2vw, 5.5rem) !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.contact-hero h2 span{
  display:block;
}

.contact-hero p{
  max-width:620px !important;
  font-size:clamp(.98rem, 1.12vw, 1.08rem) !important;
  line-height:1.7 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.contact-section{
  padding:clamp(3.75rem, 6vw, 5.5rem) 0 !important;
}

.contact-grid{
  width:min(100%, 1160px) !important;
  grid-template-columns:minmax(300px, .82fr) minmax(0, 1.18fr) !important;
  gap:clamp(1rem, 2vw, 1.4rem) !important;
  align-items:stretch !important;
}

.contact-info,
.contact-form{
  border-radius:14px !important;
  box-shadow:0 22px 58px rgba(0,0,0,.11) !important;
}

.contact-info{
  display:flex;
  flex-direction:column;
  padding:clamp(1.5rem, 2.5vw, 2.35rem) !important;
  background:
    radial-gradient(circle at 90% 0%, rgba(255,193,7,.16), transparent 32%),
    linear-gradient(135deg, #0d0d0d 0%, #171717 100%) !important;
}

.contact-info h2{
  max-width:440px !important;
  font-size:clamp(1.85rem, 3vw, 3rem) !important;
  line-height:1.08 !important;
  letter-spacing:0 !important;
}

.contact-info p{
  max-width:460px !important;
  font-size:.98rem !important;
  line-height:1.65 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.contact-info-cards{
  margin-top:auto !important;
  padding-top:1.4rem !important;
  gap:.8rem !important;
}

.contact-info-cards div{
  padding:1rem !important;
  border-radius:12px !important;
}

.contact-info-cards strong,
.contact-info-cards span{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.contact-form{
  max-width:none !important;
  padding:clamp(1.4rem, 2.5vw, 2.35rem) !important;
}

.contact-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.25rem;
}

.contact-hidden-field,
.contact-form .form-row:nth-of-type(5),
.contact-submit-btn{
  grid-column:1 / -1;
}

.form-row{
  margin-bottom:0 !important;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  min-height:50px;
  border-radius:12px !important;
  font-size:.98rem !important;
}

.contact-form textarea{
  min-height:170px !important;
}

.contact-submit-btn{
  min-height:56px !important;
  margin-top:.25rem !important;
  border-radius:12px !important;
}

@media (max-width:980px){
  .contact-grid,
  .contact-form{
    grid-template-columns:1fr !important;
  }

  .contact-hero-content{
    width:calc(100% - 32px) !important;
    margin-left:16px !important;
    margin-right:16px !important;
  }
}

@media (max-width:560px){
  .contact-hero{
    min-height:auto !important;
  }

  .contact-hero-content{
    padding-top:4rem !important;
    padding-bottom:3.5rem !important;
    border-left-width:4px;
  }

  .contact-hero h2{
    font-size:clamp(2.25rem, 10vw, 3.2rem) !important;
  }

  .contact-info,
  .contact-form{
    border-radius:12px !important;
  }
}

/* =========================================================
   NODE 7 CONTACT PAGE - VIDEO REVIEW FIXES
   ========================================================= */

.contact-hero{
  background:
    linear-gradient(90deg, rgba(0,0,0,.95) 0%, rgba(0,0,0,.78) 42%, rgba(0,0,0,.5) 72%, rgba(0,0,0,.78) 100%),
    linear-gradient(180deg, rgba(0,0,0,.16) 0%, rgba(0,0,0,.08) 45%, rgba(0,0,0,.78) 100%),
    url("../images/services/construction-management.jpg?v=20260830b") center 48% / cover no-repeat !important;
}

.contact-grid{
  grid-template-columns:minmax(360px, .95fr) minmax(0, 1.05fr) !important;
}

.contact-info{
  overflow:hidden;
}

.contact-info h2{
  max-width:100% !important;
  font-size:clamp(1.85rem, 2.45vw, 2.65rem) !important;
  line-height:1.12 !important;
  letter-spacing:0 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.contact-info p{
  max-width:100% !important;
}

@media (max-width:980px){
  .contact-grid{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   NODE 7 CONTACT HERO - COMPACT TUNING
   ========================================================= */

.contact-hero{
  min-height:clamp(420px, 52vh, 560px) !important;
}

.contact-hero-content{
  padding-top:clamp(3rem, 4vw, 4rem) !important;
  padding-bottom:clamp(2.7rem, 3.8vw, 3.8rem) !important;
}

.contact-hero-proof{
  gap:.45rem !important;
  margin-bottom:.85rem !important;
}

.contact-hero-proof span{
  min-height:28px !important;
  padding:0 .62rem !important;
  font-size:.64rem !important;
  letter-spacing:.05em !important;
}

.contact-hero h2{
  max-width:760px !important;
  margin-bottom:.9rem !important;
  font-size:clamp(2.25rem, 4vw, 4.25rem) !important;
  line-height:1.03 !important;
}

.contact-hero p{
  max-width:540px !important;
  font-size:.96rem !important;
  line-height:1.58 !important;
}

@media (max-width:560px){
  .contact-hero-content{
    padding-top:3.25rem !important;
    padding-bottom:2.8rem !important;
  }

  .contact-hero h2{
    font-size:clamp(2rem, 8.5vw, 2.85rem) !important;
  }
}

/* =========================================================
   NODE 7 CONTACT PAGE - CONSTRUCTION MOTION PASS
   ========================================================= */

.contact-hero{
  position:relative;
  isolation:isolate;
}

.contact-hero::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:7px;
  background:
    repeating-linear-gradient(135deg, #ffc107 0 14px, #111 14px 28px);
  background-size:40px 40px;
  animation:contactHazardSlide 1.1s linear infinite;
  z-index:2;
}

.contact-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:56px 56px;
  opacity:.35;
  pointer-events:none;
  z-index:1;
}

.contact-hero-content{
  z-index:3;
}

.contact-site-strip{
  position:relative;
  z-index:3;
  margin-top:-1px;
  padding:1rem 0;
  background:#111;
  border-top:1px solid rgba(255,193,7,.45);
  border-bottom:1px solid rgba(255,193,7,.45);
  overflow:hidden;
}

.contact-site-strip::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(135deg, rgba(255,193,7,.2) 0 10px, transparent 10px 22px);
  opacity:.18;
  animation:contactHazardSlide 1.4s linear infinite;
}

.contact-site-strip-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:.8rem;
}

.contact-site-strip-inner div{
  padding:1.15rem 1.25rem;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
}

.contact-site-strip-inner span{
  display:block;
  margin-bottom:.35rem;
  color:#ffc107;
  font-size:.72rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.contact-site-strip-inner strong{
  display:block;
  color:#fff;
  font-size:.92rem;
  line-height:1.28;
  font-weight:850;
}

.contact-page{
  background:
    linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px),
    linear-gradient(135deg, #f7f3ed 0%, #fff 50%, #eee5d8 100%) !important;
  background-size:42px 42px, 42px 42px, auto !important;
}

.contact-section{
  position:relative;
  background:transparent !important;
}

.contact-section::before{
  content:"PROJECT INTAKE";
  position:absolute;
  right:clamp(1rem, 4vw, 4rem);
  top:clamp(1rem, 4vw, 3rem);
  color:rgba(0,0,0,.045);
  font-size:clamp(3rem, 8vw, 8rem);
  line-height:1;
  font-weight:950;
  letter-spacing:.02em;
  pointer-events:none;
}

.contact-info,
.contact-form{
  position:relative;
  isolation:isolate;
}

.contact-info::before,
.contact-form::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:7px;
  background:
    repeating-linear-gradient(135deg, #ffc107 0 13px, #111 13px 26px);
  background-size:38px 38px;
  animation:contactHazardSlide 1.15s linear infinite;
  z-index:2;
}

.contact-info::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:28px 28px;
  opacity:.35;
  pointer-events:none;
  z-index:-1;
}

.contact-info-cards div{
  position:relative;
  border-left:4px solid #ffc107 !important;
  transition:transform .28s ease, border-color .28s ease, background .28s ease;
}

.contact-info-cards div:hover{
  transform:translateX(6px);
  background:rgba(255,255,255,.11) !important;
}

.contact-form{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.94)) !important;
}

.contact-form label{
  display:flex !important;
  align-items:center;
  gap:.45rem;
}

.contact-form label::before{
  content:"";
  width:8px;
  height:8px;
  background:#ffc107;
  transform:rotate(45deg);
  flex:0 0 auto;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  transform:translateY(-1px);
}

.contact-submit-btn{
  position:relative;
  overflow:hidden;
}

.contact-submit-btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.contact-submit-btn:hover::before{
  transform:translateX(120%);
}

.modern-footer .modern-contact-row strong{
  word-break:normal !important;
  overflow-wrap:anywhere !important;
  text-transform:none !important;
}

@keyframes contactHazardSlide{
  from{ background-position:0 0; }
  to{ background-position:40px 0; }
}

@media (max-width:900px){
  .contact-site-strip-inner{
    grid-template-columns:1fr;
  }

  .contact-site-strip-inner div{
    padding:.9rem 1rem;
  }
}

@media (prefers-reduced-motion:reduce){
  .contact-hero::before,
  .contact-site-strip::before,
  .contact-info::before,
  .contact-form::before{
    animation:none !important;
  }
}

/* =========================================================
   NODE 7 CONTACT PAGE - QUIETER CONSTRUCTION POLISH
   ========================================================= */

.contact-hero::before,
.contact-site-strip::before,
.contact-info::before,
.contact-form::before{
  animation:none !important;
}

.contact-hero::before{
  height:3px !important;
  background:#ffc107 !important;
}

.contact-site-strip{
  padding:.85rem 0 !important;
  background:
    linear-gradient(135deg, #101010 0%, #181818 100%) !important;
}

.contact-site-strip::before{
  display:none !important;
}

.contact-site-strip-inner div{
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(255,255,255,.12) !important;
  border-left:3px solid rgba(255,193,7,.85) !important;
}

.contact-info::before,
.contact-form::before{
  height:4px !important;
  background:#ffc107 !important;
}

.contact-info{
  border-left:4px solid #ffc107 !important;
}

.contact-form{
  border-top:0 !important;
}

.contact-section::before{
  opacity:.45;
}

.contact-form label::before{
  width:6px;
  height:6px;
  border-radius:50%;
  transform:none;
}

.contact-info-cards div{
  border-left:3px solid rgba(255,193,7,.8) !important;
}

.contact-info-cards div:hover{
  transform:none !important;
}

@media (max-width:560px){
  .contact-site-strip{
    padding:.7rem 0 !important;
  }
}

/* =========================================================
   NODE 7 CONTACT PAGE - CINEMATIC MOTION PASS
   ========================================================= */

.contact-hero{
  position:relative;
  background-size:cover !important;
  animation:contactHeroDrift 18s ease-in-out infinite alternate;
}

.contact-hero .contact-hero-content{
  animation:contactHeroLift .9s cubic-bezier(.2,.8,.2,1) both;
}

.contact-hero::after{
  opacity:.42 !important;
  animation:contactGridFloat 16s linear infinite;
}

.contact-hero-content::after{
  content:"";
  position:absolute;
  left:-1.5rem;
  top:8%;
  width:44%;
  height:84%;
  background:linear-gradient(90deg, transparent, rgba(255,193,7,.12), transparent);
  transform:skewX(-12deg) translateX(-120%);
  animation:contactLightSweep 7s ease-in-out infinite;
  pointer-events:none;
}

.contact-hero-proof span,
.contact-site-strip-inner div,
.contact-info,
.contact-form{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.contact-hero-proof span:hover,
.contact-site-strip-inner div:hover{
  transform:translateY(-2px);
  border-color:rgba(255,193,7,.52) !important;
}

.contact-site-strip-inner div{
  animation:contactRise .7s cubic-bezier(.2,.8,.2,1) both;
}

.contact-site-strip-inner div:nth-child(2){
  animation-delay:.08s;
}

.contact-site-strip-inner div:nth-child(3){
  animation-delay:.16s;
}

.contact-info,
.contact-form{
  animation:contactPanelIn .8s cubic-bezier(.2,.8,.2,1) both;
}

.contact-form{
  animation-delay:.1s;
}

.contact-info:hover,
.contact-form:hover{
  transform:translateY(-5px);
  box-shadow:0 30px 72px rgba(0,0,0,.16) !important;
}

.contact-info::after{
  animation:contactGridFloat 18s linear infinite;
}

.contact-submit-btn{
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease;
}

.contact-submit-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 36px rgba(0,0,0,.22);
}

@keyframes contactHeroDrift{
  from{ background-position:50% 48%; }
  to{ background-position:58% 46%; }
}

@keyframes contactHeroLift{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes contactLightSweep{
  0%, 46%{ transform:skewX(-12deg) translateX(-130%); opacity:0; }
  58%{ opacity:1; }
  72%, 100%{ transform:skewX(-12deg) translateX(260%); opacity:0; }
}

@keyframes contactGridFloat{
  from{ background-position:0 0; }
  to{ background-position:56px 56px; }
}

@keyframes contactRise{
  from{
    opacity:0;
    transform:translateY(14px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes contactPanelIn{
  from{
    opacity:0;
    transform:translateY(22px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion:reduce){
  .contact-hero,
  .contact-hero::after,
  .contact-hero .contact-hero-content,
  .contact-hero-content::after,
  .contact-site-strip-inner div,
  .contact-info,
  .contact-form,
  .contact-info::after{
    animation:none !important;
  }
}

/* =========================================================
   NODE 7 CONTACT PAGE - NO BREAK + PREMIUM FINAL PASS
   ========================================================= */

body:has(.contact-page) .contact-hero,
body:has(.contact-page) .contact-page,
body:has(.contact-page) .modern-footer{
  word-break:normal !important;
  hyphens:none !important;
}

body:has(.contact-page) h1,
body:has(.contact-page) h2,
body:has(.contact-page) h3,
body:has(.contact-page) p,
body:has(.contact-page) span,
body:has(.contact-page) strong,
body:has(.contact-page) label,
body:has(.contact-page) a,
body:has(.contact-page) li{
  word-break:normal !important;
  hyphens:none !important;
}

.contact-hero{
  min-height:clamp(430px, 54vh, 580px) !important;
}

.contact-hero h2{
  max-width:720px !important;
  font-size:clamp(2.2rem, 3.8vw, 4rem) !important;
}

.contact-site-strip{
  border-top:0 !important;
}

.contact-site-strip-inner{
  width:min(100%, 980px) !important;
}

.contact-site-strip-inner div{
  min-height:72px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.contact-site-strip-inner strong{
  overflow-wrap:normal !important;
}

.contact-grid{
  width:min(100%, 1080px) !important;
  gap:1.15rem !important;
}

.contact-info,
.contact-form{
  border-radius:10px !important;
}

.contact-info h2{
  font-size:clamp(1.75rem, 2.25vw, 2.45rem) !important;
}

.contact-info-cards span{
  overflow-wrap:break-word !important;
}

.contact-info-cards div{
  min-height:72px;
}

body:has(.contact-page) .modern-footer{
  border-top:3px solid #ffc107;
}

body:has(.contact-page) .modern-footer-grid{
  grid-template-columns:1fr .86fr 1.08fr !important;
}

body:has(.contact-page) .modern-footer-card{
  min-width:0 !important;
}

body:has(.contact-page) .modern-footer-card h3,
body:has(.contact-page) .modern-footer-list li,
body:has(.contact-page) .modern-footer-card p{
  overflow-wrap:normal !important;
}

body:has(.contact-page) .modern-contact-row{
  display:grid !important;
  grid-template-columns:minmax(76px, auto) minmax(0, 1fr) !important;
  gap:.85rem !important;
  align-items:start !important;
}

body:has(.contact-page) .modern-contact-row span{
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  min-width:max-content !important;
  letter-spacing:.04em !important;
}

body:has(.contact-page) .modern-contact-row strong{
  min-width:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:break-word !important;
  text-transform:none !important;
}

body:has(.contact-page) .modern-contact-row strong[href],
body:has(.contact-page) .modern-contact-row strong.email{
  overflow-wrap:anywhere !important;
}

@media (max-width:1000px){
  body:has(.contact-page) .modern-footer-grid{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:560px){
  .contact-site-strip-inner div{
    min-height:auto;
  }

  body:has(.contact-page) .modern-contact-row{
    grid-template-columns:1fr !important;
    gap:.35rem !important;
  }
}

/* =========================================================
   NODE 7 CONTACT INTAKE STRIP - SINGLE LINE FINAL
   ========================================================= */

.contact-site-strip{
  padding:.7rem 0 !important;
}

.contact-site-strip-inner{
  width:min(100%, 1060px) !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:.65rem !important;
}

.contact-site-strip-inner div{
  min-height:52px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:.7rem !important;
  padding:.75rem .9rem !important;
}

.contact-site-strip-inner span,
.contact-site-strip-inner strong{
  display:inline-flex !important;
  margin:0 !important;
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.contact-site-strip-inner span{
  flex:0 0 auto;
  font-size:.68rem !important;
}

.contact-site-strip-inner strong{
  min-width:0;
  flex:1 1 auto;
  font-size:.84rem !important;
  line-height:1 !important;
}

.contact-hero{
  min-height:clamp(410px, 52vh, 550px) !important;
}

.contact-section{
  padding-top:clamp(3.25rem, 5vw, 4.5rem) !important;
}

@media (max-width:1120px){
  .contact-site-strip-inner div{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:.35rem !important;
  }
}

@media (max-width:900px){
  .contact-site-strip-inner{
    grid-template-columns:1fr !important;
  }

  .contact-site-strip-inner div{
    flex-direction:row !important;
    align-items:center !important;
  }
}

@media (max-width:500px){
  .contact-site-strip-inner div{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

/* =========================================================
   NODE 7 CONTACT PAGE - REMOVE BAD STRIP FINAL
   ========================================================= */

.contact-site-strip{
  display:none !important;
}

.contact-hero-path{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-top:1.15rem;
}

.contact-hero-path span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 .9rem;
  border-radius:999px;
  background:rgba(17,17,17,.58);
  border:1px solid rgba(255,193,7,.34);
  color:rgba(255,255,255,.88);
  font-size:.74rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  backdrop-filter:blur(10px);
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}

.contact-section{
  padding-top:clamp(3.8rem, 6vw, 5.25rem) !important;
}

.contact-grid{
  transform:translateY(0) !important;
}

@media (max-width:560px){
  .contact-hero-path{
    gap:.5rem;
  }

  .contact-hero-path span{
    min-height:32px;
    padding:0 .7rem;
    font-size:.66rem;
  }
}


/* ===== GALLERY PAGE ===== */

.gallery-hero {
  min-height: 72vh;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 70% 20%, rgba(255,193,7,.22), transparent 32%),
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.7), rgba(0,0,0,.94)),
    url("../images/gallery/Gallery Page Used/IMG_7406.jpeg") center/cover no-repeat;
  color: #fff;
}

.gallery-hero-content {
  padding: 7rem 0;
}

.gallery-hero h2 {
  max-width: 1050px;
  margin: 0 0 1.4rem;
  color: #fff;
  font-size: clamp(3rem, 6vw, 6.5rem);
  line-height: .9;
  font-weight: 950;
  letter-spacing: -.06em;
  text-transform: uppercase;
}

.gallery-hero p {
  max-width: 760px;
  color: rgba(255,255,255,.82);
  font-size: 1.18rem;
  line-height: 1.75;
}

.gallery-page {
  background: #f4f1ec;
}

.gallery-filter-section {
  padding: 6rem 0;
}

.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-bottom: 2.5rem;
}

.gallery-filter {
  padding: .8rem 1.05rem;
  border: 0;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
  cursor: pointer;
}

.gallery-filter.active,
.gallery-filter:hover {
  background: #ffc107;
  color: #111;
}

.gallery-masonry {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 220px;
  gap: 1rem;
}

.gallery-item {
  position: relative;
  grid-row: span 1;
  display: block;
  padding: 0;
  border: 0;
  border-radius: 28px;
  overflow: hidden;
  cursor: pointer;
  background: #111;
  box-shadow: 0 24px 70px rgba(0,0,0,.16);
}

.gallery-item.wide {
  grid-column: span 2;
}

.gallery-item.tall {
  grid-row: span 2;
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease, filter .55s ease;
}

.gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.88));
}

.gallery-item span {
  position: absolute;
  left: 1.2rem;
  right: 1.2rem;
  bottom: 1.2rem;
  z-index: 2;
  color: #fff;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.gallery-item:hover img {
  transform: scale(1.08);
  filter: contrast(1.08) saturate(.95);
}

.gallery-item.is-hidden {
  display: none;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 2rem;
  background: rgba(0,0,0,.94);
}

.gallery-lightbox.is-open {
  display: flex;
}

.gallery-lightbox img {
  max-width: min(1100px, 92vw);
  max-height: 78vh;
  object-fit: contain;
  border-radius: 24px;
}

.gallery-lightbox strong { display: none; }

.gallery-lightbox-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 999px;
  background: #ffc107;
  color: #111;
  font-size: 2rem;
  cursor: pointer;
}

@media (max-width: 1000px) {
  .gallery-masonry {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 190px;
  }

  .gallery-item.wide {
    grid-column: span 2;
  }
}

@media (max-width: 600px) {
  .gallery-masonry {
    grid-template-columns: 1fr;
  }

  .gallery-item,
  .gallery-item.wide,
  .gallery-item.tall {
    grid-column: span 1;
    grid-row: span 1;
    min-height: 260px;
  }
}


/* ===== GALLERY PORTFOLIO PAGE ===== */

.gallery-portfolio-hero {
  min-height: 72vh;
  display: flex;
  align-items: center;
  background:
    radial-gradient(circle at 70% 25%, rgba(255,193,7,.24), transparent 32%),
    linear-gradient(90deg, rgba(0,0,0,.96), rgba(0,0,0,.68), rgba(0,0,0,.94)),
    url("../images/gallery/Gallery Page Used/Concrete truck.png") center/cover no-repeat;
  color: #fff;
}

.gallery-portfolio-hero-inner {
  padding: 7rem 0;
}

.gallery-portfolio-hero h2 {
  max-width: 1050px;
  margin: 0 0 1.4rem;
  color: #fff;
  font-size: clamp(3rem, 6vw, 6.4rem);
  line-height: .9;
  font-weight: 950;
  letter-spacing: -.06em;
  text-transform: uppercase;
}

.gallery-portfolio-hero p {
  max-width: 720px;
  color: rgba(255,255,255,.82);
  font-size: 1.15rem;
  line-height: 1.75;
}

.gallery-portfolio-page {
  background: #f4f1ec;
}

.gallery-category-section,
.gallery-work-section {
  padding: 7rem 0;
}

.gallery-category-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1.4rem;
  margin-top: 3rem;
}

.gallery-category-card {
  min-height: 360px;
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 2rem;
  overflow: hidden;
  border-radius: 34px;
  color: #fff;
  text-decoration: none;
  background: #111;
  box-shadow: 0 30px 90px rgba(0,0,0,.16);
}

.gallery-category-card.large {
  grid-row: span 2;
  min-height: 740px;
}

.gallery-category-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease;
}

.gallery-category-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 25%, rgba(0,0,0,.92));
}

.gallery-category-card div {
  position: relative;
  z-index: 2;
}

.gallery-category-card span {
  display: inline-flex;
  margin-bottom: 1rem;
  padding: .5rem .8rem;
  background: #ffc107;
  color: #111;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.gallery-category-card h3 {
  max-width: 620px;
  margin: 0 0 .9rem;
  color: #fff;
  font-size: clamp(1.9rem, 3vw, 3.5rem);
  line-height: 1.03;
  font-weight: 950;
  letter-spacing: -.045em;
}

.gallery-category-card p {
  max-width: 620px;
  color: rgba(255,255,255,.78);
  font-size: 1.05rem;
  line-height: 1.7;
}

.gallery-category-card:hover img {
  transform: scale(1.08);
}

.gallery-work-section {
  background: #fff;
}

.gallery-work-section.dark {
  background: #111;
  color: #fff;
}

.gallery-work-heading h2 {
  max-width: 900px;
  margin: 0 0 2rem;
  color: inherit;
  font-size: clamp(2.4rem, 4.6vw, 5rem);
  line-height: .95;
  font-weight: 950;
  letter-spacing: -.055em;
  text-transform: uppercase;
}

.gallery-work-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.1rem;
}

.gallery-photo {
  position: relative;
  min-height: 310px;
  padding: 0;
  border: 0;
  overflow: hidden;
  border-radius: 28px;
  background: #111;
  cursor: pointer;
  box-shadow: 0 24px 70px rgba(0,0,0,.14);
}

.gallery-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease, filter .55s ease;
}

.gallery-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(0,0,0,.88));
}

.gallery-photo span { display: none; }

.gallery-photo:hover img {
  transform: scale(1.08);
  filter: contrast(1.06) saturate(.95);
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 20000;
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 2rem;
  background: rgba(0,0,0,.94);
}

.gallery-lightbox.is-open {
  display: flex;
}

.gallery-lightbox img {
  max-width: min(1120px, 92vw);
  max-height: 78vh;
  object-fit: contain;
  border-radius: 24px;
}

.gallery-lightbox strong { display: none; }

.gallery-lightbox-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 50px;
  height: 50px;
  border: 0;
  border-radius: 999px;
  background: #ffc107;
  color: #111;
  font-size: 2rem;
  cursor: pointer;
}

@media (max-width: 1000px) {
  .gallery-category-grid,
  .gallery-work-grid {
    grid-template-columns: 1fr;
  }

  .gallery-category-card.large {
    min-height: 460px;
  }

  .gallery-portfolio-hero h2 {
    font-size: 3rem;
  }
}


/* ===== GALLERY LIGHTBOX ARROWS ===== */

.gallery-lightbox-prev,
.gallery-lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 58px;
  height: 58px;
  border: 0;
  border-radius: 999px;
  background: #ffc107;
  color: #111;
  font-size: 3rem;
  line-height: 1;
  cursor: pointer;
  z-index: 2;
}

.gallery-lightbox-prev {
  left: 1.5rem;
}

.gallery-lightbox-next {
  right: 1.5rem;
}

@media (max-width: 700px) {
  .gallery-lightbox-prev,
  .gallery-lightbox-next {
    width: 46px;
    height: 46px;
    font-size: 2.3rem;
  }
}


/* ===== CENTER LIGHTBOX BUTTON ICONS ===== */

.gallery-lightbox-close,
.gallery-lightbox-prev,
.gallery-lightbox-next {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
  font-family: Arial, sans-serif !important;
}

.gallery-lightbox-close {
  font-size: 2.2rem !important;
  line-height: 0 !important;
  padding-bottom: 4px !important;
}

.gallery-lightbox-prev,
.gallery-lightbox-next {
  font-size: 3rem !important;
  line-height: 0 !important;
  padding-bottom: 7px !important;
}


/* ===== FRONT PAGE SERVICE TYPOGRAPHY FIX ===== */

.service-card__content h3,
.service-card__content p {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.service-card__content h3 {
  line-height: 1.05 !important;
  white-space: normal !important;
}

.service-card__content p {
  line-height: 1.7 !important;
}


/* ===== FRONT PAGE WATERPROOFING CARD TEXT FIX ===== */

.service-card__content,
.service-card__content h3,
.service-card__content p {
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.service-card__content h3 {
  font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -.02em !important;
}

.service-card__content p {
  font-size: .98rem !important;
  line-height: 1.6 !important;
  max-width: 100% !important;
}


/* ===== CTA TYPOGRAPHY FIX ===== */

.services-final-cta p,
.about-final-cta p,
.cta-section p {
  hyphens: none !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  max-width: 720px !important;
  line-height: 1.7 !important;
}


/* ===== SERVICE DETAIL WORD BREAK FIX ===== */

.service-detail-hero-content h2,
.service-detail-hero-content p,
.service-detail-copy h2,
.service-detail-copy p,
.service-detail-points span,
.service-process h2,
.service-process p,
.service-process-card h3,
.service-process-card p,
.service-detail-page h1,
.service-detail-page h2,
.service-detail-page h3,
.service-detail-page p,
.service-detail-page span {
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.service-detail-hero-content h2 {
  font-size: clamp(2.6rem, 5vw, 5.5rem) !important;
  line-height: .95 !important;
  letter-spacing: -.045em !important;
}

.service-detail-copy h2,
.service-process h2 {
  font-size: clamp(2rem, 3.6vw, 4rem) !important;
  line-height: 1.02 !important;
}


/* ===== HOMEPAGE SERVICES PREVIEW ===== */

.home-services-preview {
  padding: 7rem 0;
  background: linear-gradient(135deg, #f7f3ed 0%, #fff 52%, #eee4d7 100%);
}

.home-featured-services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
  margin-top: 3rem;
}

.home-featured-service {
  position: relative;
  min-height: 460px;
  display: flex;
  align-items: flex-end;
  padding: 2rem;
  overflow: hidden;
  border-radius: 34px;
  background: #111;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 28px 80px rgba(0,0,0,.16);
}

.home-featured-service img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s ease;
}

.home-featured-service::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 25%, rgba(0,0,0,.9));
}

.home-featured-service div {
  position: relative;
  z-index: 2;
}

.home-featured-service span {
  display: inline-flex;
  margin-bottom: .9rem;
  padding: .45rem .75rem;
  background: #ffc107;
  color: #111;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.home-featured-service h3 {
  margin: 0 0 .8rem;
  color: #fff;
  font-size: clamp(1.7rem, 2.4vw, 2.7rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.045em;
}

.home-featured-service p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  line-height: 1.65;
  hyphens: none;
}

.home-featured-service:hover img {
  transform: scale(1.08);
}

.home-service-links {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
  margin: 2.3rem auto 0;
  max-width: 1050px;
}

.home-service-links a {
  padding: .8rem 1rem;
  border-radius: 999px;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  transition: background .25s ease, color .25s ease, transform .25s ease;
}

.home-service-links a:hover {
  background: #ffc107;
  color: #111;
  transform: translateY(-3px);
}

.home-services-action {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

@media (max-width: 1000px) {
  .home-featured-services {
    grid-template-columns: 1fr;
  }

  .home-featured-service {
    min-height: 360px;
  }
}


/* ===== HOMEPAGE FEATURED SERVICE CARD LAYOUT REFINEMENT ===== */

.home-featured-service {
  align-items: stretch !important;
  padding: 0 !important;
}

.home-featured-service div {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 460px;
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 2rem;
}

.home-featured-service span {
  align-self: start;
  justify-self: start;
  margin-bottom: 0 !important;
}

.home-featured-service h3,
.home-featured-service p {
  max-width: 95%;
}

.home-featured-service h3 {
  align-self: end;
  margin-bottom: .8rem !important;
}

.home-featured-service p {
  align-self: start;
}

.home-featured-service div::after {
  content: "";
  display: block;
}

.home-featured-service h3:first-of-type {
  margin-top: auto;
}

@media (max-width: 1000px) {
  .home-featured-service div {
    min-height: 360px;
  }
}


/* ===== HOMEPAGE FEATURED SERVICE WORD BREAK FIX ===== */

.home-featured-service,
.home-featured-service div,
.home-featured-service span,
.home-featured-service h3,
.home-featured-service p {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.home-featured-service h3 {
  font-size: clamp(1.45rem, 2vw, 2.35rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -.03em !important;
}

.home-featured-service p {
  font-size: .95rem !important;
  line-height: 1.55 !important;
}


/* ===== HOMEPAGE FEATURED PROJECTS ===== */

.home-featured-projects {
  padding: 7rem 0;
  background: #111;
  color: #fff;
}

.home-featured-projects .modern-section-heading h2,
.home-featured-projects .modern-section-heading p {
  color: #fff;
}

.home-featured-projects .modern-section-heading p {
  color: rgba(255,255,255,.72);
}

.home-project-strip {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.2rem;
  margin-top: 3rem;
}

.home-project-card {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  padding: 2rem;
  overflow: hidden;
  border-radius: 34px;
  background: #000;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
}

.home-project-card.large {
  grid-row: span 2;
  min-height: 740px;
}

.home-project-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease, filter .65s ease;
}

.home-project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.92));
}

.home-project-card div {
  position: relative;
  z-index: 2;
}

.home-project-card span {
  display: inline-flex;
  margin-bottom: .9rem;
  padding: .45rem .75rem;
  background: #ffc107;
  color: #111;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.home-project-card h3 {
  max-width: 620px;
  margin: 0 0 .8rem;
  color: #fff;
  font-size: clamp(1.7rem, 2.6vw, 3rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.04em;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.home-project-card p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  line-height: 1.65;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.home-project-card:hover img {
  transform: scale(1.08);
  filter: contrast(1.08);
}

.home-projects-action {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

@media (max-width: 1000px) {
  .home-project-strip {
    grid-template-columns: 1fr;
  }

  .home-project-card.large {
    min-height: 420px;
  }

  .home-project-card {
    min-height: 340px;
  }
}


/* ===== HOME SERVICES HEADING WORD BREAK FIX ===== */

.home-services-preview .modern-section-heading h2,
.home-services-preview .modern-section-heading p {
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.home-services-preview .modern-section-heading h2 {
  max-width: 980px !important;
  font-size: clamp(2.2rem, 4.5vw, 5rem) !important;
  line-height: .98 !important;
}


/* ===== HOMEPAGE TRUST BAND ===== */

.home-trust-band {
  padding: 6.5rem 0;
  background: #111;
  color: #fff;
}

.home-trust-lead {
  max-width: 980px;
  margin-bottom: 3rem;
}

.home-trust-lead h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.3rem, 4.8vw, 5.2rem);
  line-height: .95;
  font-weight: 950;
  letter-spacing: -.055em;
  text-transform: uppercase;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.home-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.home-trust-item {
  padding: 1.6rem;
  min-height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  border-top: 6px solid #ffc107;
  border-radius: 28px;
}

.home-trust-item strong {
  color: #ffc107;
  font-size: 2rem;
  font-weight: 950;
}

.home-trust-item h3 {
  margin: 1.4rem 0 .8rem;
  color: #fff;
  font-size: 1.35rem;
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -.03em;
}

.home-trust-item p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: .95rem;
  line-height: 1.6;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

@media (max-width: 1000px) {
  .home-trust-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .home-trust-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== HOMEPAGE REFINEMENT PACK ===== */

/* TRUST SECTION */

.home-trust-item {
  min-height: 320px !important;
  padding: 2rem !important;
}

.home-trust-lead h2 {
  font-size: clamp(2rem, 4vw, 4.4rem) !important;
}

/* SERVICES SECTION */

.home-services-preview {
  padding-bottom: 4rem !important;
}

.home-featured-service {
  min-height: 520px !important;
  transition:
    transform .35s ease,
    box-shadow .35s ease !important;
}

.home-featured-service:hover {
  transform: translateY(-8px);
}

/* CTA BUTTON */

.services-final-cta .hero-cta,
.services-final-cta .btn {
  padding: 1rem 2rem !important;
  font-size: .95rem !important;
}

/* FOOTER */

.footer-grid,
.site-footer-grid,
.footer-columns {
  gap: 1.5rem !important;
}


/* ===== HOMEPAGE PACING REFINEMENT ===== */

/* SERVICES SECTION SPACING */

.home-services-preview {
  padding-top: 4.5rem !important;
  padding-bottom: 3.5rem !important;
}

/* SERVICES HEADLINE SCALE */

.home-services-preview .modern-section-heading h2 {
  font-size: clamp(2rem, 3.8vw, 4.2rem) !important;
  line-height: .96 !important;
}

/* SERVICES PARAGRAPH WIDTH */

.home-services-preview .modern-section-heading p {
  max-width: 760px !important;
}

/* TRUST BAND TRANSITION */

.home-trust-band {
  position: relative;
  padding-top: 5rem !important;
}

.home-trust-band::before {
  content: "";
  position: absolute;
  top: -120px;
  left: 0;
  width: 100%;
  height: 120px;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,1) 0%,
    rgba(17,17,17,0) 100%
  );
  pointer-events: none;
}

/* TRUST HEADING SLIGHTLY SMALLER */

.home-trust-lead h2 {
  font-size: clamp(1.9rem, 3.6vw, 4rem) !important;
}

/* MISSION SECTION BALANCE */

.mission-section,
.home-mission-section {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important;
}

/* GLOBAL SECTION RHYTHM */

.modern-section-heading {
  margin-bottom: 2.5rem !important;
}


/* ===== HOMEPAGE FEATURED WORK SHOWCASE ===== */

.home-featured-work {
  padding: 7rem 0;
  background: #111;
  color: #fff;
}

.home-featured-work .modern-section-heading h2,
.home-featured-work .modern-section-heading p {
  color: #fff;
}

.home-featured-work .modern-section-heading p {
  color: rgba(255,255,255,.72);
}

.home-work-showcase {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.2rem;
  margin-top: 3rem;
}

.home-work-card {
  position: relative;
  min-height: 360px;
  display: flex;
  align-items: flex-end;
  padding: 2rem;
  overflow: hidden;
  border-radius: 34px;
  background: #000;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
}

.home-work-card.large {
  grid-row: span 2;
  min-height: 740px;
}

.home-work-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s ease, filter .65s ease;
}

.home-work-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.92));
}

.home-work-card div {
  position: relative;
  z-index: 2;
}

.home-work-card span {
  display: inline-flex;
  margin-bottom: .9rem;
  padding: .45rem .75rem;
  background: #ffc107;
  color: #111;
  border-radius: 999px;
  font-size: .7rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.home-work-card h3 {
  max-width: 620px;
  margin: 0 0 .8rem;
  color: #fff;
  font-size: clamp(1.7rem, 2.6vw, 3rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -.04em;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.home-work-card p {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  line-height: 1.65;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.home-work-card:hover img {
  transform: scale(1.08);
  filter: contrast(1.08);
}

.home-work-action {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

@media (max-width: 1000px) {
  .home-work-showcase {
    grid-template-columns: 1fr;
  }

  .home-work-card.large {
    min-height: 420px;
  }

  .home-work-card {
    min-height: 340px;
  }
}


HOME SERVICES SHOWCASE - FINAL IMPLEMENTATION
========================================================= */

.home-services-showcase {
  position: relative !important;
  padding: 76px 0 84px !important;
  background:
    radial-gradient(circle at 18% 15%, rgba(201,138,43,0.10), transparent 24%),
    radial-gradient(circle at 85% 82%, rgba(70,60,45,0.08), transparent 26%),
    linear-gradient(135deg, #f8f4eb 0%, #efe6d8 100%) !important;
  overflow: hidden !important;
}

.home-services-showcase::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(80,70,55,0.045) 1px, transparent 1px),
    linear-gradient(rgba(80,70,55,0.035) 1px, transparent 1px) !important;
  background-size: 90px 90px !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

.home-services-showcase .modern-section-heading {
  position: relative !important;
  z-index: 2 !important;
  max-width: 760px !important;
  margin: 0 auto 42px !important;
  text-align: center !important;
}

.home-services-showcase .section-label {
  color: #b77a22 !important;
}

.home-services-showcase h2 {
  font-size: clamp(2rem, 3.4vw, 3.15rem) !important;
  line-height: 1.08 !important;
  color: #171717 !important;
}

.home-services-showcase .modern-section-heading p {
  max-width: 640px !important;
  margin: 16px auto 0 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
  color: #57534c !important;
}

.service-showcase-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.service-showcase-card {
  position: relative !important;
  min-height: 360px !important;
  padding: 26px 22px 28px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  text-decoration: none !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(250,246,238,.94)) !important;
  border: 1px solid rgba(85,70,46,.16) !important;
  border-radius: 16px !important;
  box-shadow: 0 16px 34px rgba(55,42,24,.09) !important;
  overflow: hidden !important;
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

.service-showcase-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(201,138,43,.45) !important;
  box-shadow: 0 22px 46px rgba(55,42,24,.14) !important;
}

.service-showcase-card::after {
  content: "" !important;
  position: absolute !important;
  left: 18% !important;
  right: 18% !important;
  bottom: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, transparent, #c98a2b, #e5bd6a, #c98a2b, transparent) !important;
  background-size: 200% 100% !important;
  animation: cardGoldSweep 4s linear infinite !important;
}

.service-visual {
  width: 100% !important;
  height: 128px !important;
  margin-bottom: 22px !important;
  position: relative !important;
  opacity: .95 !important;
}

/* Design & Build - animated blueprint box */
.service-design .service-visual {
  background:
    linear-gradient(90deg, rgba(201,138,43,.38) 1px, transparent 1px),
    linear-gradient(rgba(201,138,43,.26) 1px, transparent 1px) !important;
  background-size: 28px 28px !important;
  clip-path: polygon(18% 22%, 70% 8%, 86% 74%, 32% 90%) !important;
  animation: blueprintDrift 8s linear infinite !important;
}

/* General Contracting - crane/cable motion */
.service-contracting .service-visual {
  background:
    linear-gradient(90deg, transparent 20%, rgba(201,138,43,.75) 21%, rgba(201,138,43,.75) 23%, transparent 24%),
    linear-gradient(0deg, transparent 44%, rgba(201,138,43,.55) 45%, rgba(201,138,43,.55) 48%, transparent 49%),
    repeating-linear-gradient(135deg, rgba(201,138,43,.3) 0 2px, transparent 2px 16px) !important;
  animation: craneLift 3.6s ease-in-out infinite !important;
}

/* Renovation - circular restoration arrows */
.service-renovation .service-visual {
  border: 2px solid rgba(201,138,43,.45) !important;
  border-left-color: transparent !important;
  border-right-color: rgba(201,138,43,.18) !important;
  border-radius: 50% !important;
  width: 126px !important;
  height: 126px !important;
  margin-bottom: 24px !important;
  animation: restorationRotate 5s linear infinite !important;
}

.service-renovation .service-visual::before {
  content: "" !important;
  position: absolute !important;
  inset: 30px !important;
  border: 1px solid rgba(90,75,52,.25) !important;
  border-radius: 10px !important;
  transform: rotate(45deg) !important;
}

/* Management - checklist/building grid */
.service-management .service-visual {
  background:
    linear-gradient(90deg, rgba(201,138,43,.35) 1px, transparent 1px),
    linear-gradient(rgba(201,138,43,.28) 1px, transparent 1px),
    radial-gradient(circle at 70% 25%, rgba(201,138,43,.45) 0 4px, transparent 5px),
    radial-gradient(circle at 70% 50%, rgba(201,138,43,.45) 0 4px, transparent 5px),
    radial-gradient(circle at 70% 75%, rgba(201,138,43,.45) 0 4px, transparent 5px) !important;
  background-size: 34px 34px, 34px 34px, 100% 100%, 100% 100%, 100% 100% !important;
  clip-path: inset(8% 18% 8% 18% round 8px) !important;
  animation: managementScan 4.5s ease-in-out infinite !important;
}

.service-showcase-card h3 {
  margin: 0 0 12px !important;
  font-size: clamp(1.25rem, 1.5vw, 1.55rem) !important;
  line-height: 1.12 !important;
  color: #171717 !important;
  text-align: center !important;
}

.service-showcase-card p {
  max-width: 300px !important;
  margin: 0 auto !important;
  font-size: .92rem !important;
  line-height: 1.55 !important;
  color: #565149 !important;
  text-align: center !important;
}

.home-services-action {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 42px !important;
  text-align: center !important;
}

@keyframes cardGoldSweep {
  from { background-position: 0% 50%; }
  to { background-position: 200% 50%; }
}

@keyframes blueprintDrift {
  from { background-position: 0 0; }
  to { background-position: 56px 56px; }
}

@keyframes craneLift {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes restorationRotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes managementScan {
  0%, 100% { filter: brightness(1); transform: translateY(0); }
  50% { filter: brightness(1.12); transform: translateY(-5px); }
}

@media (max-width: 1100px) {
  .service-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .home-services-showcase {
    padding: 62px 0 68px !important;
  }

  .service-showcase-grid {
    grid-template-columns: 1fr !important;
  }

  .service-showcase-card {
    min-height: 300px !important;
  }
}


/* ===== SERVICES CARD PARAGRAPH SIZE ADJUSTMENT ===== */

.service-card-content p {
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

@media (max-width: 700px) {
  .service-card-content p {
    font-size: .98rem !important;
    line-height: 1.75 !important;
  }
}


/* ===== SERVICES CARD PARAGRAPH READABILITY FIX ===== */

.service-card-content p {
  font-size: .94rem !important;
  line-height: 1.68 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.service-card-content {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

@media (max-width: 700px) {
  .service-card-content p {
    font-size: .93rem !important;
    line-height: 1.65 !important;
  }
}


/* ===== PROJECT TEASER SECTION - NO REAL IMAGES ===== */

.home-project-teaser {
  position: relative;
  padding: 78px 0 86px;
  background:
    linear-gradient(135deg, rgba(20,20,20,.94), rgba(35,31,26,.96)),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.04) 0,
      rgba(255,255,255,.04) 1px,
      transparent 1px,
      transparent 110px
    );
  overflow: hidden;
}

.home-project-teaser::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(201,138,43,.18), transparent 28%),
    radial-gradient(circle at 85% 85%, rgba(255,255,255,.07), transparent 24%);
  pointer-events: none;
}

.home-project-teaser .modern-section-heading {
  position: relative;
  z-index: 2;
  max-width: 740px;
  margin: 0 auto 42px;
  text-align: center;
}

.home-project-teaser .section-label {
  color: #d5a14a;
}

.home-project-teaser h2 {
  color: #ffffff;
  font-size: clamp(2rem, 3.4vw, 3.1rem);
  line-height: 1.08;
}

.home-project-teaser .modern-section-heading p {
  color: rgba(255,255,255,.72);
}

.project-teaser-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}

.project-teaser-card {
  position: relative;
  min-height: 210px;
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  overflow: hidden;
}

.project-teaser-card::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px solid rgba(201,138,43,.18);
  transform: skewX(-8deg);
}

.project-teaser-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 20%, rgba(201,138,43,.16) 50%, transparent 80%);
  transform: translateX(-120%);
  transition: transform .7s ease;
}

.project-teaser-card:hover::after {
  transform: translateX(120%);
}

.project-teaser-card span {
  position: relative;
  z-index: 2;
  margin-bottom: 14px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .2em;
  color: #d5a14a;
}

.project-teaser-card h3 {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #ffffff;
  font-size: 1.6rem;
  letter-spacing: -.02em;
}

.home-project-teaser .home-work-action {
  position: relative;
  z-index: 2;
  margin-top: 42px;
  text-align: center;
}

@media (max-width: 900px) {
  .project-teaser-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 600px) {
  .project-teaser-grid {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   FEATURED WORK - GALLERY TEASER OVERRIDE
========================================================= */

.home-gallery-teaser {
  position: relative !important;
  padding: 64px 0 !important;
  background:
    radial-gradient(circle at 12% 20%, rgba(201,138,43,.10), transparent 26%),
    linear-gradient(135deg, #f7f3ea 0%, #eee6d8 100%) !important;
  overflow: hidden !important;
}

.home-gallery-teaser::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(55,45,30,.045) 1px, transparent 1px),
    linear-gradient(rgba(55,45,30,.035) 1px, transparent 1px) !important;
  background-size: 95px 95px !important;
  opacity: .45 !important;
  pointer-events: none !important;
}

.gallery-teaser-panel {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: 1.4fr .8fr auto !important;
  align-items: center !important;
  gap: 34px !important;
  padding: 42px 46px !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(85,70,46,.14) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 44px rgba(52,39,21,.08) !important;
  overflow: hidden !important;
}

.gallery-teaser-copy .section-label {
  color: #b77a22 !important;
}

.gallery-teaser-copy h2 {
  margin: 10px 0 12px !important;
  font-size: clamp(1.9rem, 3vw, 2.9rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
  color: #171717 !important;
}

.gallery-teaser-copy p {
  max-width: 620px !important;
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
  color: #5a554d !important;
}

.gallery-teaser-visual {
  position: relative !important;
  height: 130px !important;
}

.gallery-teaser-visual span {
  position: absolute !important;
  width: 138px !important;
  height: 86px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(201,138,43,.34) !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.75), rgba(238,226,205,.62)),
    repeating-linear-gradient(
      45deg,
      rgba(201,138,43,.12) 0,
      rgba(201,138,43,.12) 1px,
      transparent 1px,
      transparent 12px
    ) !important;
  box-shadow: 0 14px 28px rgba(52,39,21,.08) !important;
  animation: galleryCardFloat 5s ease-in-out infinite !important;
}

.gallery-teaser-visual span:nth-child(1) {
  left: 0 !important;
  top: 24px !important;
  transform: rotate(-7deg) !important;
}

.gallery-teaser-visual span:nth-child(2) {
  left: 72px !important;
  top: 0 !important;
  transform: rotate(4deg) !important;
  animation-delay: .8s !important;
}

.gallery-teaser-visual span:nth-child(3) {
  left: 138px !important;
  top: 34px !important;
  transform: rotate(8deg) !important;
  animation-delay: 1.4s !important;
}

.home-gallery-teaser .hero-cta {
  white-space: nowrap !important;
}

@keyframes galleryCardFloat {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -8px;
  }
}

@media (max-width: 1000px) {
  .gallery-teaser-panel {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }

  .gallery-teaser-copy p {
    margin: 0 auto !important;
  }

  .gallery-teaser-visual {
    width: 280px !important;
    margin: 0 auto !important;
  }
}


/* =========================================================
   HOME TRUST BAND - UPDATED
========================================================= */

.home-trust-updated {
  position: relative !important;
  padding: 82px 0 !important;
  background:
    linear-gradient(135deg, rgba(18,18,18,.96), rgba(36,31,24,.97)),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.035) 0,
      rgba(255,255,255,.035) 1px,
      transparent 1px,
      transparent 120px
    ) !important;
  overflow: hidden !important;
}

.home-trust-updated::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(circle at 18% 20%, rgba(201,138,43,.18), transparent 28%),
    radial-gradient(circle at 90% 80%, rgba(255,255,255,.06), transparent 26%) !important;
  pointer-events: none !important;
}

.trust-band-layout {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns: 1.15fr .85fr !important;
  gap: 48px !important;
  align-items: center !important;
}

.trust-band-copy .section-label {
  color: #d4a14d !important;
}

.trust-band-copy h2 {
  margin: 12px 0 18px !important;
  max-width: 760px !important;
  color: #ffffff !important;
  font-size: clamp(2rem, 3.5vw, 3.35rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em !important;
}

.trust-band-copy p {
  max-width: 620px !important;
  margin: 0 !important;
  color: rgba(255,255,255,.74) !important;
  font-size: 1.02rem !important;
  line-height: 1.75 !important;
}

.trust-band-points {
  display: grid !important;
  gap: 14px !important;
}

.trust-band-points div {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 56px 1fr !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 18px 20px !important;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.trust-band-points div::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 3px !important;
  height: 100% !important;
  background: linear-gradient(to bottom, #c98a2b, transparent) !important;
}

.trust-band-points div::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(120deg, transparent, rgba(201,138,43,.12), transparent) !important;
  transform: translateX(-120%) !important;
  transition: transform .65s ease !important;
}

.trust-band-points div:hover::after {
  transform: translateX(120%) !important;
}

.trust-band-points strong {
  position: relative !important;
  z-index: 2 !important;
  color: #d4a14d !important;
  font-size: .78rem !important;
  letter-spacing: .18em !important;
}

.trust-band-points span {
  position: relative !important;
  z-index: 2 !important;
  color: #ffffff !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

@media (max-width: 900px) {
  .trust-band-layout {
    grid-template-columns: 1fr !important;
  }
}

/* ===== TRUST BAND CLEAN OVERRIDE - NO NUMBERS ===== */

.trust-band-clean {
  gap: 16px !important;
}

.trust-band-clean div {
  display: flex !important;
  align-items: center !important;
  min-height: 72px !important;
  padding: 20px 24px 20px 28px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 30px rgba(0,0,0,.14) !important;
  transition: transform .28s ease, border-color .28s ease, background .28s ease !important;
}

.trust-band-clean div:hover {
  transform: translateX(6px) !important;
  border-color: rgba(201,138,43,.42) !important;
  background:
    linear-gradient(135deg, rgba(201,138,43,.13), rgba(255,255,255,.045)) !important;
}

.trust-band-clean div::before {
  width: 5px !important;
  border-radius: 999px !important;
  background: linear-gradient(to bottom, #e2b766, #c98a2b) !important;
}

.trust-band-clean div::after {
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.10), transparent) !important;
}

.trust-band-clean strong {
  display: none !important;
}

.trust-band-clean span {
  display: block !important;
  color: #ffffff !important;
  font-size: 1.08rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
}

.trust-band-copy h2 {
  max-width: 680px !important;
}

.trust-band-copy p {
  max-width: 580px !important;
}

@media (max-width: 900px) {
  .trust-band-clean div {
    justify-content: center !important;
    text-align: center !important;
  }
}


/* ===== MISSION CINEMA SECTION REFINEMENT ===== */

.mission-cinema-section h2 {
  font-size: clamp(2.1rem, 4vw, 4.2rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.045em !important;
  max-width: 980px !important;
}

.mission-cinema-section {
  padding-top: 95px !important;
  padding-bottom: 100px !important;
}

.mission-cinema-section .section-label {
  margin-bottom: 18px !important;
}

@media (max-width: 900px) {
  .mission-cinema-section h2 {
    font-size: clamp(1.9rem, 8vw, 3rem) !important;
    line-height: 1.12 !important;
  }

  .mission-cinema-section {
    padding-top: 75px !important;
    padding-bottom: 80px !important;
  }
}


/* =========================================================
   MISSION + SERVICES TRANSITION REFINEMENT
========================================================= */

/* tighten mission section */

.mission-cinema-section {
  padding-top: 82px !important;
  padding-bottom: 72px !important;
}

/* reduce oversized heading */

.mission-cinema-section h2 {
  font-size: clamp(1.9rem, 3vw, 3.3rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.05em !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* paragraph spacing */

.mission-cinema-section p {
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* pill row cleanup */

.mission-pill-row {
  margin-top: 28px !important;
  gap: 10px !important;
}

.mission-pill-row span {
  padding: 11px 16px !important;
  font-size: .72rem !important;
  letter-spacing: .09em !important;
  white-space: nowrap !important;
}

/* smooth transition into services section */

.home-services-showcase {
  margin-top: -1px !important;
  padding-top: 64px !important;
}

/* reduce services heading dominance */

.home-services-showcase h2 {
  font-size: clamp(1.8rem, 3vw, 2.7rem) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.02 !important;
}

/* tighten service cards slightly */

.service-showcase-card {
  border-radius: 16px !important;
}

.service-card-content {
  padding-top: 20px !important;
}


/* =========================================================
   FINAL HOMEPAGE FLOW REFINEMENT
========================================================= */

/* mission section tighter */

.mission-cinema-section {
  padding-top: 74px !important;
  padding-bottom: 58px !important;
}

/* heading refinement */

.mission-cinema-section h2 {
  font-size: clamp(1.8rem, 2.8vw, 2.9rem) !important;
  max-width: 720px !important;
  line-height: 1.02 !important;
}

/* paragraph tighter */

.mission-cinema-section p {
  max-width: 640px !important;
  font-size: .98rem !important;
  line-height: 1.72 !important;
}

/* pill row refinement */

.mission-pill-row {
  margin-top: 22px !important;
  gap: 8px !important;
}

.mission-pill-row span {
  padding: 9px 14px !important;

  font-size: .66rem !important;
  letter-spacing: .08em !important;

  border-radius: 999px !important;

  background: rgba(255,255,255,.05) !important;

  border: 1px solid rgba(255,255,255,.10) !important;

  box-shadow: none !important;
}

/* reduce services section spacing */

.home-services-showcase {
  padding-top: 52px !important;
  padding-bottom: 74px !important;
}

/* services heading tighter */

.home-services-showcase .modern-section-heading {
  margin-bottom: 34px !important;
}

.home-services-showcase h2 {
  font-size: clamp(1.7rem, 2.8vw, 2.5rem) !important;
  line-height: 1.03 !important;
}

/* slightly reduce card height */

.service-card-image {
  height: 240px !important;
}

/* cleaner card content spacing */

.service-card-content {
  padding: 20px 20px 24px !important;
}

.service-card-content h3 {
  margin-bottom: 10px !important;
}


/* =========================================================
   FINAL PREMIUM POLISH PASS
========================================================= */

/* tighten mission section */

.mission-cinema-section {
  padding-top: 62px !important;
  padding-bottom: 46px !important;
}

/* softer pills */

.mission-pill-row span {
  background: rgba(255,255,255,.035) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.78) !important;

  padding: 8px 13px !important;

  font-size: .64rem !important;
  letter-spacing: .07em !important;
}

/* less hover intensity */

.mission-pill-row span:hover {
  transform: none !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(201,138,43,.22) !important;
}

/* smoother services transition */

.home-services-showcase {
  padding-top: 42px !important;
  padding-bottom: 68px !important;
}

/* slightly wider feeling cards */

.service-showcase-grid {
  gap: 20px !important;
}

/* reduce image dominance */

.service-card-image {
  height: 220px !important;
}

/* improve card proportions */

.service-card-content {
  padding: 18px 22px 24px !important;
}

.service-card-content h3 {
  font-size: 1.38rem !important;
  margin-bottom: 8px !important;
}

.service-card-content p {
  font-size: .9rem !important;
  line-height: 1.62 !important;
}

/* soften gallery teaser transition */

.home-gallery-teaser {
  padding-top: 54px !important;
}

/* reduce gallery teaser height */

.gallery-teaser-panel {
  padding-top: 34px !important;
  padding-bottom: 34px !important;
}


/* ===== MISSION SECTION SIZE REBALANCE ===== */

.mission-cinema-section {
  padding-top: 78px !important;
  padding-bottom: 64px !important;
}

.mission-cinema-section h2 {
  font-size: clamp(2.1rem, 3.4vw, 3.5rem) !important;
  line-height: 1.04 !important;
  max-width: 860px !important;
}

.mission-cinema-section p {
  max-width: 760px !important;
  font-size: 1.02rem !important;
  line-height: 1.78 !important;
}

.mission-pill-row {
  margin-top: 28px !important;
  gap: 10px !important;
}

.mission-pill-row span {
  padding: 10px 16px !important;
  font-size: .7rem !important;
  letter-spacing: .08em !important;
}

@media (max-width: 900px) {
  .mission-cinema-section {
    padding-top: 70px !important;
    padding-bottom: 58px !important;
  }

  .mission-cinema-section h2 {
    font-size: clamp(2rem, 7vw, 3rem) !important;
  }
}


/* =========================================================
   DESIGN & BUILD PAGE
========================================================= */

/* ===== HERO ===== */

.design-build-hero {
  position: relative;
  padding: 110px 0 90px;
  background:
    radial-gradient(circle at top left, rgba(201,138,43,.10), transparent 24%),
    linear-gradient(135deg, #f8f5ef 0%, #efe6d8 100%);
  overflow: hidden;
}

.design-build-hero::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px),
    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px);

  background-size: 110px 110px;

  opacity: .35;
}

.design-build-hero-content {
  position: relative;
  z-index: 2;

  max-width: 860px;
}

.design-build-hero .section-label {
  color: #b77a22;
}

.design-build-hero h1 {
  margin: 18px 0 22px;

  font-size: clamp(2.8rem, 5vw, 5.2rem);

  line-height: .95;

  letter-spacing: -.06em;

  color: #171717;

  max-width: 900px;
}

.design-build-hero p {
  max-width: 760px;

  font-size: 1.05rem;

  line-height: 1.8;

  color: #5d5952;
}

.hero-buttons {
  display: flex;
  gap: 14px;

  margin-top: 34px;
}

/* ===== PROCESS SECTION ===== */

.design-build-process {
  position: relative;

  padding: 90px 0 110px;

  background:
    linear-gradient(180deg, #ffffff 0%, #f7f3eb 100%);
}

.design-build-process .modern-section-heading {
  max-width: 760px;

  margin: 0 auto 52px;

  text-align: center;
}

.design-build-process .modern-section-heading h2 {
  font-size: clamp(2rem, 3vw, 3.4rem) !important;

  line-height: 1.02 !important;

  letter-spacing: -.05em !important;

  color: #171717;
}

/* ===== GRID ===== */

.design-process-grid {
  display: grid;

  grid-template-columns: repeat(2, minmax(0,1fr));

  gap: 22px;
}

/* ===== CARDS ===== */

.design-process-card {
  position: relative;

  padding: 34px 34px 36px;

  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,243,234,.96));

  border: 1px solid rgba(85,70,46,.12);

  border-radius: 18px;

  overflow: hidden;

  box-shadow: 0 16px 34px rgba(50,38,22,.07);

  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease;
}

.design-process-card::before {
  content: "";

  position: absolute;

  left: 0;
  top: 0;

  width: 100%;
  height: 4px;

  background:
    linear-gradient(90deg, #c98a2b, #e5bc67, #c98a2b);

  background-size: 200% 100%;

  animation: processGlow 4s linear infinite;
}

.design-process-card:hover {
  transform: translateY(-6px);

  border-color: rgba(201,138,43,.34);

  box-shadow: 0 24px 52px rgba(50,38,22,.12);
}

.design-process-card h3 {
  margin: 0 0 14px;

  font-size: 1.7rem;

  letter-spacing: -.03em;

  color: #171717;
}

.design-process-card p {
  margin: 0;

  font-size: .98rem;

  line-height: 1.72;

  color: #5b564f;
}

/* ===== ANIMATION ===== */

@keyframes processGlow {
  from {
    background-position: 0% 50%;
  }

  to {
    background-position: 200% 50%;
  }
}

/* ===== MOBILE ===== */

@media (max-width: 900px) {

  .design-build-hero {
    padding: 90px 0 72px;
  }

  .design-build-hero h1 {
    font-size: clamp(2.2rem, 10vw, 4rem);
  }

  .design-process-grid {
    grid-template-columns: 1fr;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* =========================================================
   DESIGN & BUILD PAGE REFINEMENT
========================================================= */

/* tighter hero */

.design-build-hero {
  padding-top: 82px !important;
  padding-bottom: 64px !important;
}

/* reduce oversized hero heading */

.design-build-hero h1 {
  font-size: clamp(2.1rem, 4vw, 4rem) !important;

  max-width: 760px !important;

  line-height: .96 !important;
}

/* tighter paragraph */

.design-build-hero p {
  max-width: 700px !important;

  font-size: 1rem !important;

  line-height: 1.72 !important;
}

/* reduce button spacing */

.hero-buttons {
  margin-top: 28px !important;
}

/* tighten process section */

.design-build-process {
  padding-top: 68px !important;
  padding-bottom: 84px !important;
}

/* reduce process heading */

.design-build-process .modern-section-heading {
  margin-bottom: 38px !important;
}

.design-build-process .modern-section-heading h2 {
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;

  max-width: 760px !important;

  margin-left: auto !important;
  margin-right: auto !important;
}

/* better card proportions */

.design-process-grid {
  gap: 18px !important;
}

/* less bulky cards */

.design-process-card {
  padding: 28px 28px 30px !important;

  border-radius: 16px !important;
}

/* subtle construction pattern */

.design-process-card::after {
  content: "" !important;

  position: absolute !important;

  inset: 0 !important;

  background:
    linear-gradient(rgba(0,0,0,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,.018) 1px, transparent 1px) !important;

  background-size: 24px 24px !important;

  opacity: .35 !important;

  pointer-events: none !important;
}

/* smaller headings */

.design-process-card h3 {
  font-size: 1.42rem !important;

  margin-bottom: 10px !important;
}

/* better paragraph sizing */

.design-process-card p {
  font-size: .93rem !important;

  line-height: 1.64 !important;
}

/* reduce hover intensity */

.design-process-card:hover {
  transform: translateY(-4px) !important;
}

/* mobile cleanup */

@media (max-width: 900px) {

  .design-build-hero {
    padding-top: 72px !important;
    padding-bottom: 56px !important;
  }

  .design-build-process {
    padding-top: 58px !important;
    padding-bottom: 68px !important;
  }
}


/* =========================================================
   NODE 14 DESIGN & BUILD FORCE OVERRIDE
========================================================= */

body .design-build-hero {
  padding: 55px 0 48px !important;
  min-height: auto !important;
}

body .design-build-hero-content {
  max-width: 760px !important;
}

body .design-build-hero h1 {
  font-size: clamp(1.85rem, 3.2vw, 3.15rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.04em !important;
  max-width: 720px !important;
  margin: 14px 0 16px !important;
}

body .design-build-hero p {
  font-size: .98rem !important;
  line-height: 1.65 !important;
  max-width: 660px !important;
}

body .hero-buttons {
  margin-top: 22px !important;
}

body .design-build-process {
  padding: 52px 0 64px !important;
}

body .design-build-process .modern-section-heading {
  margin-bottom: 28px !important;
}

body .design-build-process .modern-section-heading h2 {
  font-size: clamp(1.65rem, 2.6vw, 2.35rem) !important;
  line-height: 1.08 !important;
  max-width: 620px !important;
}

body .design-process-grid {
  gap: 14px !important;
}

body .design-process-card {
  padding: 22px 24px !important;
  border-radius: 14px !important;
}

body .design-process-card h3 {
  font-size: 1.25rem !important;
  margin-bottom: 8px !important;
}

body .design-process-card p {
  font-size: .9rem !important;
  line-height: 1.55 !important;
}


/* =========================================================
   DESIGN & BUILD - PREMIUM REBUILD
========================================================= */

/* ===== HERO ===== */

.design-build-cinematic {
  position: relative;
  padding: 90px 0 80px;
  background:
    radial-gradient(circle at top left, rgba(201,138,43,.10), transparent 24%),
    linear-gradient(135deg, #f8f5ef 0%, #efe6d8 100%);
  overflow: hidden;
}

.design-build-cinematic::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.03) 1px, transparent 1px),
    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px);
  background-size: 110px 110px;
  opacity: .3;
}

.design-build-split {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 52px;
  align-items: center;
}

.design-build-copy h1 {
  margin: 16px 0 20px;
  font-size: clamp(2.5rem, 4vw, 4.8rem);
  line-height: .95;
  letter-spacing: -.06em;
  color: #171717;
  max-width: 720px;
}

.design-build-copy p {
  max-width: 640px;
  font-size: 1rem;
  line-height: 1.75;
  color: #5b564f;
}

.hero-buttons {
  display: flex;
  gap: 14px;
  margin-top: 30px;
}

/* ===== VISUAL ===== */

.design-build-visual {
  position: relative;
  min-height: 420px;
}

.blueprint-panel {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(25,25,25,.96), rgba(45,39,31,.96));
  box-shadow: 0 30px 60px rgba(30,22,12,.18);
}

.blueprint-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 40px 40px;
}

.blueprint-panel span {
  position: absolute;
  border: 1px solid rgba(201,138,43,.45);
  background: rgba(201,138,43,.06);
  animation: blueprintFloat 7s ease-in-out infinite;
}

.blueprint-panel span:nth-child(1) {
  width: 180px;
  height: 110px;
  top: 60px;
  left: 60px;
}

.blueprint-panel span:nth-child(2) {
  width: 220px;
  height: 140px;
  right: 60px;
  top: 120px;
  animation-delay: 1s;
}

.blueprint-panel span:nth-child(3) {
  width: 140px;
  height: 90px;
  left: 140px;
  bottom: 70px;
  animation-delay: 2s;
}

/* ===== FLOW ===== */

.design-build-flow {
  padding: 70px 0;
  background: #ffffff;
}

.design-flow-track {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
  gap: 18px;
  align-items: center;
}

.flow-line {
  height: 2px;
  background: linear-gradient(90deg, rgba(201,138,43,.25), rgba(201,138,43,.7));
}

.flow-item {
  padding: 26px 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,242,233,.96));
  border: 1px solid rgba(85,70,46,.12);
  border-radius: 18px;
  text-align: center;
  box-shadow: 0 16px 34px rgba(50,38,22,.06);
}

.flow-item strong {
  display: block;
  margin-bottom: 10px;
  font-size: 1.2rem;
  color: #171717;
}

.flow-item p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.65;
  color: #5b564f;
}

/* ===== PHILOSOPHY ===== */

.design-build-philosophy {
  padding: 90px 0;
  background:
    linear-gradient(135deg, rgba(18,18,18,.97), rgba(38,33,27,.97));
}

.philosophy-layout {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 48px;
  align-items: center;
}

.philosophy-copy h2 {
  margin: 16px 0 18px;
  color: #ffffff;
  font-size: clamp(2rem, 3vw, 3.3rem);
  line-height: 1.02;
  letter-spacing: -.05em;
}

.philosophy-copy p {
  max-width: 620px;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
}

.philosophy-metrics {
  display: grid;
  gap: 16px;
}

.philosophy-metrics div {
  padding: 22px 24px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.philosophy-metrics span {
  color: #ffffff;
  font-weight: 700;
}

/* ===== CTA ===== */

.design-build-cta {
  padding: 80px 0 95px;
  background:
    linear-gradient(135deg, #f8f5ef 0%, #efe6d8 100%);
}

.design-build-cta-panel {
  padding: 54px;
  text-align: center;
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(85,70,46,.12);
  box-shadow: 0 20px 44px rgba(50,38,22,.08);
}

.design-build-cta-panel h2 {
  margin-bottom: 24px;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.05;
  color: #171717;
}

/* ===== ANIMATION ===== */

@keyframes blueprintFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

/* ===== MOBILE ===== */

@media (max-width: 1000px) {

  .design-build-split,
  .philosophy-layout {
    grid-template-columns: 1fr;
  }

  .design-flow-track {
    grid-template-columns: 1fr;
  }

  .flow-line {
    display: none;
  }

  .design-build-visual {
    min-height: 320px;
  }
}


/* ===== DESIGN BUILD HERO WORD BREAK FIX ===== */

.design-build-copy h1 {
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* =========================================================
   DESIGN BUILD HERO BALANCE FIX
========================================================= */

/* better hero proportions */

.design-build-split {
  grid-template-columns: .95fr 1.05fr !important;
  gap: 34px !important;
  align-items: center !important;
}

/* hero tighter */

.design-build-cinematic {
  padding-top: 72px !important;
  padding-bottom: 62px !important;
}

/* better heading scale */

.design-build-copy h1 {
  font-size: clamp(2.2rem, 4vw, 4.2rem) !important;

  max-width: 620px !important;

  line-height: .94 !important;
}

/* cleaner paragraph */

.design-build-copy p {
  max-width: 560px !important;

  font-size: .98rem !important;

  line-height: 1.7 !important;
}

/* =========================================================
   HERO VISUAL PANEL
========================================================= */

.design-build-visual {
  min-height: 420px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.blueprint-panel {
  position: relative !important;

  width: 100% !important;
  height: 420px !important;

  border-radius: 24px !important;

  background:
    linear-gradient(135deg, rgba(22,22,22,.97), rgba(40,35,29,.98)) !important;

  overflow: hidden !important;
}

/* animated architectural grid */

.blueprint-panel::before {
  background-size: 34px 34px !important;

  opacity: .22 !important;
}

/* construction glow */

.blueprint-panel::after {
  content: "" !important;

  position: absolute !important;

  inset: 0 !important;

  background:
    radial-gradient(circle at 20% 30%, rgba(201,138,43,.16), transparent 26%),
    radial-gradient(circle at 80% 70%, rgba(201,138,43,.10), transparent 24%) !important;
}

/* architectural blocks */

.blueprint-panel span {
  backdrop-filter: blur(4px) !important;

  border: 1px solid rgba(201,138,43,.42) !important;

  box-shadow: 0 14px 34px rgba(0,0,0,.22) !important;
}

.blueprint-panel span:nth-child(1) {
  width: 220px !important;
  height: 140px !important;

  left: 40px !important;
  top: 70px !important;
}

.blueprint-panel span:nth-child(2) {
  width: 260px !important;
  height: 170px !important;

  right: 40px !important;
  top: 120px !important;
}

.blueprint-panel span:nth-child(3) {
  width: 180px !important;
  height: 110px !important;

  left: 180px !important;
  bottom: 60px !important;
}

/* =========================================================
   PROCESS SECTION FIX
========================================================= */

.design-build-system {
  padding-top: 72px !important;
  padding-bottom: 82px !important;
}

/* larger horizontal-feeling cards */

.design-system-grid {
  gap: 20px !important;
}

.design-system-card {
  padding: 36px 30px !important;

  min-height: 220px !important;
}

/* stronger headings */

.design-system-card strong {
  font-size: 1.45rem !important;

  margin-bottom: 14px !important;
}

/* better readability */

.design-system-card p {
  font-size: .96rem !important;

  line-height: 1.72 !important;
}

/* metrics refinement */

.design-system-metrics {
  margin-top: 34px !important;
}

/* =========================================================
   CTA CLEANUP
========================================================= */

.design-build-cta {
  padding-top: 54px !important;
  padding-bottom: 80px !important;
}

.design-build-cta-panel {
  padding: 42px !important;
}

.design-build-cta-panel h2 {
  font-size: clamp(1.9rem, 3vw, 2.8rem) !important;
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 1000px) {

  .design-build-split {
    grid-template-columns: 1fr !important;
  }

  .design-build-visual {
    min-height: 300px !important;
  }

  .blueprint-panel {
    height: 300px !important;
  }
}


/* ===== DESIGN BUILD HERO SECONDARY BUTTON FIX ===== */

.design-build-cinematic .hero-cta.secondary {
  color: #171717 !important;
  border: 1px solid rgba(23,23,23,.28) !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 0 10px 24px rgba(45,35,20,.08) !important;
}

.design-build-cinematic .hero-cta.secondary:hover {
  color: #ffffff !important;
  background: #171717 !important;
  border-color: #171717 !important;
}


/* =========================================================
   DESIGN BUILD IMAGE PANELS
========================================================= */

.blueprint-image {
  position: absolute;
  overflow: hidden;
  border-radius: 18px;

  border: 1px solid rgba(201,138,43,.35);

  box-shadow: 0 18px 40px rgba(0,0,0,.28);

  animation: blueprintFloat 7s ease-in-out infinite;

  background: rgba(255,255,255,.04);
}

.blueprint-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  display: block;
}

/* ===== IMAGE 1 ===== */

.image-one {
  width: 230px;
  height: 150px;

  left: 40px;
  top: 50px;
}

/* ===== IMAGE 2 ===== */

.image-two {
  width: 280px;
  height: 180px;

  right: 40px;
  top: 120px;

  animation-delay: 1s;
}

/* ===== IMAGE 3 ===== */

.image-three {
  width: 220px;
  height: 140px;

  left: 170px;
  bottom: 45px;

  animation-delay: 2s;
}

/* ===== HOVER ===== */

.blueprint-image:hover {
  transform: translateY(-8px) scale(1.02);

  border-color: rgba(201,138,43,.7);

  transition:
    transform .3s ease,
    border-color .3s ease;
}


/* ===== DESIGN BUILD WORD BREAK FIX ===== */

.design-build-copy p,
.flow-item p,
.design-system-card p,
.design-build-system p {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* slightly improve card widths */

.design-flow-track {
  gap: 24px !important;
}

.flow-item {
  min-width: 0 !important;
  padding: 28px 26px !important;
}

.flow-item p {
  font-size: .94rem !important;
  line-height: 1.7 !important;
}


/* ===== FORCE NO WORD BREAKS ON DESIGN BUILD PAGE ===== */

.design-build-cinematic *,
.design-build-flow *,
.design-build-system *,
.design-build-cta * {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.design-build-copy p,
.flow-item p,
.design-system-card p {
  max-width: none !important;
}


/* =========================================================
   CONSTRUCTION MANAGEMENT PAGE
========================================================= */

.cm-hero {
  position: relative;
  padding: 90px 0 86px;
  background:
    radial-gradient(circle at 80% 20%, rgba(201,138,43,.12), transparent 26%),
    linear-gradient(135deg, #f8f5ef 0%, #eee4d7 100%);
  overflow: hidden;
}

.cm-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px);
  background-size: 90px 90px;
  opacity: .42;
}

.cm-hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 48px;
  align-items: center;
}

.cm-hero-copy h1 {
  max-width: 760px;
  margin: 16px 0 20px;
  color: #171717;
  font-size: clamp(2.4rem, 4.4vw, 4.9rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.cm-hero-copy p {
  max-width: 680px;
  color: #5b564f;
  font-size: 1rem;
  line-height: 1.75;
}

.cm-command-panel {
  min-height: 430px;
  padding: 26px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 20% 20%, rgba(201,138,43,.18), transparent 26%),
    linear-gradient(135deg, #171717, #2b251d);
  box-shadow: 0 30px 70px rgba(45,34,18,.2);
}

.cm-board {
  height: 100%;
  display: grid;
  gap: 16px;
}

.cm-board div {
  padding: 24px;
  border-radius: 18px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.12);
  border-left: 5px solid #c98a2b;
}

.cm-board strong {
  display: block;
  color: #fff;
  font-size: 1.4rem;
}

.cm-board span {
  color: rgba(255,255,255,.68);
}

/* section */

.cm-control-section {
  padding: 82px 0 92px;
  background: #fff;
}

.cm-control-section .modern-section-heading {
  max-width: 860px;
  margin: 0 auto 46px;
  text-align: center;
}

.cm-control-section .modern-section-heading h2 {
  font-size: clamp(2rem, 3.4vw, 3.5rem) !important;
  line-height: 1.02 !important;
}

.cm-focus-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}

.cm-focus-card {
  min-height: 280px;
  padding: 30px 26px;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #f7f1e8);
  border: 1px solid rgba(85,70,46,.12);
  box-shadow: 0 18px 42px rgba(50,38,22,.07);
}

.cm-focus-card h3 {
  margin: 0 0 12px;
  color: #171717;
  font-size: 1.35rem;
}

.cm-focus-card p {
  margin: 0;
  color: #5b564f;
  font-size: .93rem;
  line-height: 1.65;
}

/* delivery */

.cm-delivery-band {
  padding: 86px 0;
  background:
    linear-gradient(135deg, rgba(18,18,18,.97), rgba(39,33,25,.98));
  color: #fff;
}

.cm-delivery-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
  align-items: center;
}

.cm-delivery-layout h2 {
  margin: 14px 0 0;
  color: #fff;
  font-size: clamp(2rem, 3.5vw, 3.7rem);
  line-height: 1;
  letter-spacing: -.05em;
}

.cm-delivery-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.cm-delivery-list span {
  padding: 18px 20px;
  border-radius: 14px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.86);
  font-weight: 800;
}

/* cta */

.cm-cta {
  padding: 72px 0 90px;
  background: linear-gradient(135deg, #f8f5ef, #eee4d7);
}

.cm-cta-panel {
  padding: 48px;
  border-radius: 24px;
  text-align: center;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(85,70,46,.12);
  box-shadow: 0 20px 46px rgba(50,38,22,.08);
}

.cm-cta-panel h2 {
  margin: 0 0 24px;
  font-size: clamp(2rem, 3vw, 3rem);
}

@media (max-width: 1000px) {
  .cm-hero-layout,
  .cm-delivery-layout {
    grid-template-columns: 1fr;
  }

  .cm-focus-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 700px) {
  .cm-focus-grid,
  .cm-delivery-list {
    grid-template-columns: 1fr;
  }
}


/* ===== NODE 14 PROCESS CARD BALANCE FIX ===== */

.design-system-grid {
  align-items: stretch !important;
}

.design-system-card {
  min-height: 245px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 34px 26px !important;
}

.design-system-card strong {
  margin-bottom: 12px !important;
  font-size: 1.32rem !important;
  line-height: 1.15 !important;
}

.design-system-card p {
  max-width: 230px !important;
  margin: 0 auto !important;
  font-size: .9rem !important;
  line-height: 1.62 !important;
}

@media (max-width: 1000px) {
  .design-system-card {
    min-height: 210px !important;
  }

  .design-system-card p {
    max-width: 100% !important;
  }
}


/* ===== NODE 14 FLOW ITEM BALANCE FIX ===== */

.design-build-flow {
  padding: 58px 0 !important;
}

.design-flow-track {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.design-flow-track .flow-line {
  display: none !important;
}

.design-flow-track .flow-item {
  min-height: 190px !important;
  padding: 28px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.design-flow-track .flow-item strong {
  min-height: 28px !important;
  margin: 0 0 12px !important;
  font-size: 1.25rem !important;
  line-height: 1.1 !important;
}

.design-flow-track .flow-item p {
  max-width: 230px !important;
  min-height: 76px !important;
  margin: 0 auto !important;
  font-size: .9rem !important;
  line-height: 1.55 !important;
}

@media (max-width: 1000px) {
  .design-flow-track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .design-flow-track {
    grid-template-columns: 1fr !important;
  }

  .design-flow-track .flow-item p {
    min-height: auto !important;
  }
}


/* =========================================================
   CONSTRUCTION MANAGEMENT PREMIUM UPGRADE
========================================================= */

/* ===== HERO ===== */

.cm-hero {
  padding: 110px 0 100px !important;
}

.cm-hero::after {
  content: "";
  position: absolute;
  inset: 0;

  background:
    radial-gradient(circle at 80% 20%, rgba(201,138,43,.10), transparent 24%),
    radial-gradient(circle at 20% 80%, rgba(201,138,43,.08), transparent 26%);

  pointer-events: none;
}

.cm-hero-copy h1 {
  max-width: 760px !important;

  font-size: clamp(3rem, 5vw, 5.4rem) !important;

  line-height: .92 !important;

  letter-spacing: -.07em !important;
}

.cm-hero-copy p {
  max-width: 720px !important;

  font-size: 1.03rem !important;

  line-height: 1.85 !important;
}

/* ===== COMMAND PANEL ===== */

.cm-command-panel {
  position: relative;

  overflow: hidden;

  border: 1px solid rgba(201,138,43,.18) !important;
}

.cm-command-panel::before {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px);

  background-size: 34px 34px;

  opacity: .4;
}

.cm-board {
  position: relative;
  z-index: 2;
}

.cm-board div {
  transition:
    transform .35s ease,
    border-color .35s ease,
    background .35s ease;
}

.cm-board div:hover {
  transform: translateY(-6px);

  border-color: rgba(201,138,43,.45);

  background: rgba(255,255,255,.11);
}

.cm-board strong {
  font-size: 1.55rem !important;

  margin-bottom: 6px;

  letter-spacing: -.03em;
}

.cm-board span {
  font-size: .92rem;
}

/* ===== MANAGEMENT CARDS ===== */

.cm-focus-grid {
  gap: 22px !important;
}

.cm-focus-card {
  position: relative;

  overflow: hidden;

  min-height: 320px !important;

  padding: 38px 30px !important;

  border-radius: 22px !important;

  transition:
    transform .4s ease,
    box-shadow .4s ease,
    border-color .4s ease;
}

.cm-focus-card::before {
  content: "";

  position: absolute;

  top: -40%;
  right: -10%;

  width: 180px;
  height: 180px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(201,138,43,.12), transparent 70%);
}

.cm-focus-card:hover {
  transform: translateY(-10px);

  border-color: rgba(201,138,43,.38);

  box-shadow: 0 28px 60px rgba(44,34,20,.12);
}

.cm-focus-card h3 {
  font-size: 1.55rem !important;

  line-height: 1.05 !important;

  margin-bottom: 18px !important;

  letter-spacing: -.03em;
}

.cm-focus-card p {
  font-size: .97rem !important;

  line-height: 1.8 !important;
}

/* ===== DELIVERY BAND ===== */

.cm-delivery-band {
  position: relative;

  overflow: hidden;
}

.cm-delivery-band::before {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);

  background-size: 60px 60px;

  opacity: .22;
}

.cm-delivery-layout {
  position: relative;
  z-index: 2;
}

.cm-delivery-list span {
  padding: 20px 22px !important;

  border-radius: 16px !important;

  font-size: .95rem !important;

  transition:
    transform .35s ease,
    border-color .35s ease,
    background .35s ease;
}

.cm-delivery-list span:hover {
  transform: translateY(-5px);

  border-color: rgba(201,138,43,.45);

  background: rgba(255,255,255,.11);
}

/* ===== CTA ===== */

.cm-cta {
  padding: 100px 0 110px !important;
}

.cm-cta-panel {
  position: relative;

  overflow: hidden;

  padding: 70px 60px !important;

  border-radius: 30px !important;

  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(250,245,237,.94)) !important;
}

.cm-cta-panel::before {
  content: "";

  position: absolute;

  width: 420px;
  height: 420px;

  right: -120px;
  top: -120px;

  border-radius: 50%;

  background: radial-gradient(circle, rgba(201,138,43,.12), transparent 70%);
}

.cm-cta-panel h2 {
  position: relative;
  z-index: 2;

  max-width: 760px;

  margin: 0 auto 30px !important;

  line-height: 1.05 !important;

  letter-spacing: -.05em !important;
}

.cm-cta-panel .hero-cta {
  position: relative;
  z-index: 2;
}


/* ===== CONSTRUCTION MANAGEMENT SECONDARY BUTTON FIX ===== */

.cm-hero .hero-cta.secondary {
  color: #171717 !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(23,23,23,.28) !important;
  box-shadow: 0 12px 28px rgba(45,35,20,.12) !important;
}

.cm-hero .hero-cta.secondary:hover {
  color: #ffffff !important;
  background: #171717 !important;
  border-color: #171717 !important;
}


/* ===== CONSTRUCTION MANAGEMENT WORD BREAK FIX ===== */

.cm-hero-copy h1,
.cm-hero-copy p,
.cm-control-section h2,
.cm-control-section p,
.cm-focus-card h3,
.cm-focus-card p,
.cm-delivery-band h2,
.cm-delivery-list span,
.cm-cta h2 {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

.cm-focus-card p {
  font-size: .92rem !important;
  line-height: 1.68 !important;
}

.cm-focus-card {
  padding-left: 24px !important;
  padding-right: 24px !important;
}


/* =========================================================
   GENERAL CONTRACTING PAGE
========================================================= */

.gc-hero {
  position: relative;
  padding: 96px 0 90px;
  background:
    radial-gradient(circle at 78% 18%, rgba(201,138,43,.14), transparent 28%),
    linear-gradient(135deg, #f8f5ef 0%, #eee4d7 100%);
  overflow: hidden;
}

.gc-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(rgba(0,0,0,.03) 1px, transparent 1px);
  background-size: 96px 96px;
  opacity: .45;
  pointer-events: none;
}

.gc-hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 48px;
  align-items: center;
}

.gc-hero-copy h1 {
  max-width: 780px;
  margin: 16px 0 20px;
  color: #171717;
  font-size: clamp(2.5rem, 4.5vw, 5rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.gc-hero-copy p {
  max-width: 640px;
  color: #5b564f;
  font-size: 1rem;
  line-height: 1.75;
}

.gc-hero .hero-cta.secondary {
  color: #171717 !important;
  background: rgba(255,255,255,.9) !important;
  border: 1px solid rgba(23,23,23,.28) !important;
  box-shadow: 0 12px 28px rgba(45,35,20,.12) !important;
}

.gc-hero .hero-cta.secondary:hover {
  color: #ffffff !important;
  background: #171717 !important;
}

/* visual panel */

.gc-hero-panel {
  min-height: 420px;
  padding: 28px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 22% 22%, rgba(201,138,43,.18), transparent 28%),
    linear-gradient(135deg, #171717, #2b251d);
  border: 1px solid rgba(201,138,43,.18);
  box-shadow: 0 30px 70px rgba(45,34,18,.2);
  overflow: hidden;
}

.gc-panel-grid {
  height: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.gc-panel-grid span {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 22px;
  border-radius: 20px;
  color: #fff;
  font-weight: 900;
  letter-spacing: -.02em;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.045));
  border: 1px solid rgba(255,255,255,.13);
  overflow: hidden;
  transition: transform .35s ease, border-color .35s ease, background .35s ease;
}

.gc-panel-grid span::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 26px 26px;
  opacity: .6;
}

.gc-panel-grid span:hover {
  transform: translateY(-6px);
  border-color: rgba(201,138,43,.48);
  background: rgba(255,255,255,.11);
}

/* execution */

.gc-execution-section {
  padding: 82px 0 92px;
  background: #fff;
}

.gc-execution-section .modern-section-heading {
  max-width: 900px;
  margin: 0 auto 46px;
  text-align: center;
}

.gc-execution-section .modern-section-heading h2 {
  font-size: clamp(2rem, 3.4vw, 3.5rem) !important;
  line-height: 1.02 !important;
}

.gc-execution-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 20px;
}

.gc-execution-card {
  position: relative;
  min-height: 300px;
  padding: 34px 28px;
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, #f7f1e8);
  border: 1px solid rgba(85,70,46,.12);
  box-shadow: 0 18px 42px rgba(50,38,22,.07);
  overflow: hidden;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.gc-execution-card::before {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -70px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,138,43,.13), transparent 70%);
}

.gc-execution-card:hover {
  transform: translateY(-8px);
  border-color: rgba(201,138,43,.36);
  box-shadow: 0 26px 58px rgba(44,34,20,.12);
}

.gc-execution-card h3 {
  position: relative;
  z-index: 2;
  margin: 0 0 14px;
  color: #171717;
  font-size: 1.45rem;
  line-height: 1.08;
  letter-spacing: -.03em;
}

.gc-execution-card p {
  position: relative;
  z-index: 2;
  margin: 0;
  color: #5b564f;
  font-size: .93rem;
  line-height: 1.68;
}

/* capability band */

.gc-capability-band {
  position: relative;
  padding: 86px 0;
  background:
    linear-gradient(135deg, rgba(18,18,18,.97), rgba(39,33,25,.98));
  color: #fff;
  overflow: hidden;
}

.gc-capability-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: .24;
}

.gc-capability-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 46px;
  align-items: center;
}

.gc-capability-layout h2 {
  margin: 14px 0 0;
  color: #fff;
  font-size: clamp(2rem, 3.5vw, 3.7rem);
  line-height: 1;
  letter-spacing: -.05em;
}

.gc-capability-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.gc-capability-list span {
  padding: 18px 20px;
  border-radius: 14px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.86);
  font-weight: 800;
  transition: transform .3s ease, border-color .3s ease, background .3s ease;
}

.gc-capability-list span:hover {
  transform: translateY(-5px);
  border-color: rgba(201,138,43,.45);
  background: rgba(255,255,255,.11);
}

/* process */

.gc-process-section {
  padding: 78px 0 88px;
  background:
    linear-gradient(135deg, #f8f5ef 0%, #eee4d7 100%);
}

.gc-process-section .modern-section-heading {
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.gc-process-section .modern-section-heading h2 {
  font-size: clamp(2rem, 3.2vw, 3.1rem) !important;
  line-height: 1.03 !important;
}

.gc-process-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}

.gc-process-step {
  min-height: 145px;
  padding: 28px 24px;
  border-radius: 18px;
  text-align: center;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(85,70,46,.12);
  box-shadow: 0 16px 36px rgba(50,38,22,.07);
}

.gc-process-step strong {
  display: block;
  margin-bottom: 10px;
  color: #171717;
  font-size: 1.25rem;
}

.gc-process-step p {
  max-width: 230px;
  margin: 0 auto;
  color: #5b564f;
  font-size: .9rem;
  line-height: 1.58;
}

/* cta */

.gc-cta {
  padding: 78px 0 96px;
  background: #fff;
}

.gc-cta-panel {
  position: relative;
  padding: 58px;
  border-radius: 28px;
  text-align: center;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(250,245,237,.96));
  border: 1px solid rgba(85,70,46,.12);
  box-shadow: 0 20px 46px rgba(50,38,22,.08);
  overflow: hidden;
}

.gc-cta-panel::before {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -110px;
  top: -130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,138,43,.12), transparent 70%);
}

.gc-cta-panel h2,
.gc-cta-panel p,
.gc-cta-panel a {
  position: relative;
  z-index: 2;
}

.gc-cta-panel h2 {
  max-width: 760px;
  margin: 0 auto 14px;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.gc-cta-panel p {
  max-width: 620px;
  margin: 0 auto 26px;
  color: #5b564f;
}

/* word break cleanup */

.gc-hero *,
.gc-execution-section *,
.gc-capability-band *,
.gc-process-section *,
.gc-cta * {
  hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* responsive */

@media (max-width: 1050px) {
  .gc-hero-layout,
  .gc-capability-layout {
    grid-template-columns: 1fr;
  }

  .gc-execution-grid,
  .gc-process-track {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .gc-hero-panel {
    min-height: 320px;
  }
}

@media (max-width: 700px) {
  .gc-execution-grid,
  .gc-process-track,
  .gc-capability-list {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   NODE 4 SERVICES PAGE - CONSOLIDATED REDESIGN
   ========================================================= */
.services-page-v2{
  --svc-yellow:#ffc107;
  --svc-black:#080808;
  --svc-ink:#141414;
  --svc-panel:#1d1d1d;
  --svc-paper:#f4f1ea;
  --svc-muted:#67615a;
  --svc-line:rgba(255,255,255,.14);
  background:#080808;
  color:#fff;
  overflow:hidden;
}

.services-page-v2 *,
.services-page-v2 *::before,
.services-page-v2 *::after{
  box-sizing:border-box;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

.services-page-v2 img{display:block;max-width:100%;}
.services-page-v2 a{color:inherit;text-decoration:none;}

.services-v2-container{
  width:min(1280px, calc(100% - 40px));
  margin:0 auto;
}

.services-v2-kicker{
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:.72rem .9rem;
  background:var(--svc-yellow);
  color:#101010;
  font-size:clamp(.68rem, .9vw, .82rem);
  font-weight:950;
  line-height:1.05;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.services-v2-hero{
  position:relative;
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:center;
  padding:clamp(5.4rem, 8vw, 8rem) 0 clamp(4.5rem, 7vw, 7rem);
  background:
    linear-gradient(90deg, rgba(6,6,6,.98) 0%, rgba(6,6,6,.88) 43%, rgba(6,6,6,.54) 100%),
    url('../images/ui/service-icons/exterior-envelope.jpeg') center / cover no-repeat;
  isolation:isolate;
}

.services-v2-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px);
  background-size:72px 72px;
  opacity:.46;
}

.services-v2-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:10px;
  background:repeating-linear-gradient(135deg, var(--svc-yellow) 0 22px, #111 22px 44px);
}

 .services-v2-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, .84fr) minmax(380px, .72fr);
  gap:clamp(1.6rem, 3.6vw, 3.8rem);
  align-items:center;
}

.services-v2-hero-copy{position:relative;z-index:2;max-width:680px;min-width:0;width:100%;}

.services-v2-hero .services-v2-sector-line{
  margin:1rem 0 1.15rem;
  color:var(--svc-yellow);
  font-size:clamp(.8rem, 1vw, .98rem);
  font-weight:900;
  line-height:1.25;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
}

.services-v2-hero h1{
  margin:0 0 1.2rem;
  color:#fff;
  font-size:clamp(2.15rem, 3.2vw, 3.65rem);
  font-weight:950;
  line-height:1.05;
  letter-spacing:0;
  text-transform:uppercase;
}

.services-v2-hero h1 span{display:block;max-width:100%;}
.services-v2-hero h1 span:last-child{color:var(--svc-yellow);}

.services-v2-hero p{
  max-width:820px;
  margin:0 0 1rem;
  color:rgba(255,255,255,.84);
  font-size:clamp(1rem, 1.22vw, 1.15rem);
  line-height:1.68;
}

.services-v2-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:1.8rem;
}

.services-v2-btn{
  display:inline-flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  padding:0 1.45rem;
  border:2px solid var(--svc-yellow);
  background:var(--svc-yellow);
  color:#111!important;
  font-size:.84rem;
  font-weight:950;
  line-height:1;
  letter-spacing:.07em;
  text-transform:uppercase;
  text-align:center;
  box-shadow:0 22px 58px rgba(0,0,0,.3);
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

.services-v2-btn:hover{transform:translateY(-3px);background:#fff;border-color:#fff;}
.services-v2-btn-ghost{background:rgba(0,0,0,.34);color:#fff!important;border-color:rgba(255,255,255,.55);}
.services-v2-btn-ghost:hover{color:#111!important;}

.services-v2-hero-panel{
  position:relative;
  min-width:0;
  width:100%;
  min-height:clamp(360px, 32vw, 500px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.2);
  background:#121212;
  box-shadow:0 34px 92px rgba(0,0,0,.46);
}

.services-v2-hero-panel img{width:100%;height:100%;min-height:inherit;object-fit:cover;filter:saturate(1.05) contrast(1.05) brightness(.9);}

.services-v2-panel-strip{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  background:rgba(0,0,0,.78);
  border-top:1px solid rgba(255,255,255,.18);
}

.services-v2-panel-strip span{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.7rem;
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
  border-right:1px solid rgba(255,255,255,.12);
}

.services-v2-intro,
.services-v2-capabilities,
.services-v2-trust,
.services-v2-process,
.services-v2-industries,
.services-v2-final{
  padding:clamp(3.9rem, 6vw, 5.6rem) 0;
}

.services-v2-intro,
.services-v2-industries{background:var(--svc-paper);color:#151515;}
.services-v2-capabilities{background:#101010;}
.services-v2-trust{background:var(--svc-yellow);color:#111;}
.services-v2-process{background:#151515;}
.services-v2-final{background:linear-gradient(90deg, rgba(8,8,8,.95), rgba(8,8,8,.82)), url('../images/ui/service-icons/construction-management.jpeg') center / cover no-repeat;}

.services-v2-heading{
  width:min(980px, 100%);
  margin:0 auto clamp(2.2rem, 4vw, 3.4rem);
  text-align:center;
}

.services-v2-heading h2,
.services-v2-split-copy h2,
.services-v2-final-panel h2{
  margin:1rem 0 .95rem;
  color:inherit;
  font-size:clamp(1.85rem, 2.75vw, 3rem);
  font-weight:950;
  line-height: 1.08;
  letter-spacing:0;
  text-transform:uppercase;
}

.services-v2-heading p,
.services-v2-split-copy p,
.services-v2-final-panel p{
  max-width:860px;
  margin:0 auto .85rem;
  color:inherit;
  font-size:clamp(1rem, 1.22vw, 1.13rem);
  line-height:1.72;
  opacity:.82;
}

.services-v2-card-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.15rem;
}

.services-v2-card{
  display:grid;
  grid-template-rows:190px 1fr;
  min-height:430px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, #1d1d1d, #101010);
  box-shadow:0 26px 64px rgba(0,0,0,.28);
  transition:transform .28s ease, border-color .28s ease, box-shadow .28s ease;
}

.services-v2-card:hover{transform:translateY(-6px);border-color:rgba(255,193,7,.46);box-shadow:0 34px 82px rgba(0,0,0,.38);}
.services-v2-card>img{display:block;width:100%;height:190px;min-width:0;min-height:0;max-height:190px;object-fit:cover;filter:saturate(1.05) contrast(1.04) brightness(.95);transition:transform .45s ease, filter .45s ease;}
.services-v2-card:hover img{transform:scale(1.06);filter:saturate(1.12) contrast(1.08) brightness(1.02);}

.services-v2-card>div{position:relative;z-index:1;min-width:0;padding:1.35rem 1.35rem 1.5rem;background:linear-gradient(180deg, #1d1d1d, #101010);}
.services-v2-card h3{margin:0 0 .8rem;color:#fff;font-size:clamp(1.18rem, 1.45vw, 1.48rem);font-weight:950;line-height:1.1;text-transform:uppercase;}
.services-v2-card-title-interior span{display:block;white-space:nowrap}
.services-v2-nowrap{white-space:nowrap}
.services-v2-card p{margin:0;color:rgba(255,255,255,.78);font-size:.94rem;line-height:1.58;}

.services-v2-split{
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
  gap:clamp(2rem, 5vw, 5rem);
  align-items:center;
}

.services-v2-split-copy{max-width:650px;}
.services-v2-trust .services-v2-kicker{background:#111;color:var(--svc-yellow);}

.services-v2-proof-grid,
.services-v2-industry-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.8rem;
}

.services-v2-proof-grid span,
.services-v2-industry-list span{
  min-height:58px;
  display:flex;
  align-items:center;
  padding:.85rem 1rem;
  background:rgba(17,17,17,.92);
  color:#fff;
  font-size:.9rem;
  font-weight:900;
  line-height:1.22;
  text-transform:uppercase;
}

.services-v2-industries .services-v2-industry-list span{background:#fff;color:#171717;border-left:5px solid var(--svc-yellow);box-shadow:0 18px 38px rgba(0,0,0,.08);}

.services-v2-process-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:.95rem;
}

$1240px;
  padding:1.45rem;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, #202020, #111);
  position:relative;
  overflow:hidden;
}

.services-v2-process-grid article::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:8px;
  background:var(--svc-yellow);
}

.services-v2-process-grid span{display:block;margin-bottom:1rem;color:var(--svc-yellow);font-size:.82rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}
.services-v2-process-grid p{margin:0;color:rgba(255,255,255,.78);font-size:.96rem;line-height:1.6;}

.services-v2-final-panel{
  max-width:1040px;
  margin:0 auto;
  padding:clamp(2rem, 5vw, 4rem);
  border:1px solid rgba(255,255,255,.18);
  background:rgba(0,0,0,.72);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
  text-align:center;
}

.services-v2-final-panel .services-v2-btn{margin-top:1.2rem;}

@media (max-width:1120px){
  .services-v2-hero-grid,
  .services-v2-split{grid-template-columns:1fr;}
  .services-v2-hero-copy,.services-v2-split-copy{max-width:900px;}
  .services-v2-card-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .services-v2-process-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .services-v2-hero-panel{width:min(760px, 100%);}
}

@media (max-width:760px){
  .services-v2-container{width:min(1280px, calc(100% - 32px));}
  .services-v2-hero{min-height:auto;padding:4.8rem 0 4rem;}
  .services-v2-hero h1{font-size:clamp(1.72rem, 7.05vw, 2.45rem);line-height:1.05;}
  .services-v2-hero .services-v2-sector-line{font-size:clamp(.62rem, 2.2vw, .78rem);line-height:1.2;letter-spacing:.018em;white-space:nowrap;}
  .services-v2-actions,.services-v2-btn{width:100%;}
  .services-v2-card-grid,.services-v2-process-grid,.services-v2-proof-grid,.services-v2-industry-list{grid-template-columns:1fr;}
  .services-v2-card{grid-template-rows:210px auto;min-height:auto;}
  .services-v2-card>img{height:210px;max-height:210px;}
  .services-v2-heading{text-align:left;}
  .services-v2-heading h2,.services-v2-split-copy h2,.services-v2-final-panel h2{font-size:clamp(1.95rem, 3.25vw, 3.55rem);}
  .services-v2-panel-strip{grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width:480px){
  .services-v2-container{width:min(1280px, calc(100% - 28px));}
  .services-v2-hero-panel{min-height:340px;}
  .services-v2-card{grid-template-rows:190px auto;}
  .services-v2-card>img{height:190px;max-height:190px;}
  .services-v2-card div,.services-v2-process-grid article,.services-v2-final-panel{padding:1.15rem;}
  .services-v2-kicker{white-space:normal;text-align:center;}
  .services-v2-hero .services-v2-sector-line{font-size:clamp(.58rem, 2.45vw, .68rem);letter-spacing:.01em;}
}

/* =========================================================
   NODE 8 CONCRETE - CONSOLIDATED REDESIGN
   ========================================================= */

.concrete-page{
  --concrete-gold:#ffc107;
  --concrete-ink:#060708;
  --concrete-charcoal:#111214;
  --concrete-soft:#f2f0eb;
  --concrete-line:rgba(255,193,7,.32);
  background:#060708;
  color:#fff;
  overflow:hidden;
}

.concrete-page *{
  box-sizing:border-box;
  hyphens:none;
  overflow-wrap:normal;
  word-break:normal;
}

.concrete-page .container{
  width:min(1280px, calc(100% - 40px));
  margin:0 auto;
}

.concrete-kicker{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:.58rem .82rem;
  background:var(--concrete-gold);
  color:#111;
  font-size:.68rem;
  font-weight:950;
  line-height: 1.08;
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:0 14px 34px rgba(255,193,7,.18);
}

.concrete-hero-v3{
  position:relative;
  min-height:calc(100vh - 78px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#070808;
  isolation:isolate;
}

.concrete-hero-v3-bg,
.concrete-hero-v3-bg img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.concrete-hero-v3-bg img{
  object-fit:cover;
  object-position:center;
  transform:scale(1.06);
  filter:saturate(1.03) contrast(1.08) brightness(.76);
  animation:concreteHeroDrift 18s ease-in-out infinite alternate;
}

.concrete-hero-v3::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    radial-gradient(circle at 78% 20%, rgba(255,193,7,.18), transparent 30%),
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.86) 40%, rgba(0,0,0,.44) 72%, rgba(0,0,0,.7) 100%),
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.9));
}

.concrete-hero-v3::after,
.concrete-rebar-feature::after,
.concrete-method-v3::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:76px 76px;
  opacity:.22;
  pointer-events:none;
}

.concrete-hero-v3-motion{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}

.concrete-hero-v3-motion span{
  position:absolute;
  left:-18%;
  width:34%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,193,7,.82), transparent);
  opacity:.34;
  animation:concreteHeroSweep 7s linear infinite;
}

.concrete-hero-v3-motion span:nth-child(1){ top:29%; }
.concrete-hero-v3-motion span:nth-child(2){ top:54%; animation-delay:1.8s; opacity:.22; }
.concrete-hero-v3-motion span:nth-child(3){ top:76%; animation-delay:3.4s; opacity:.28; }

.concrete-hero-v3-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:minmax(590px, 1fr) minmax(450px, .78fr);
  gap:clamp(2.2rem, 4vw, 4.4rem);
  align-items:center;
  padding:clamp(5.2rem, 6.4vw, 6.8rem) 0 clamp(2.1rem, 3.2vw, 3rem);
}

.concrete-hero-v3-copy{
  max-width:860px;
  padding:clamp(1.1rem, 2.1vw, 1.65rem) 0 clamp(1.1rem, 2vw, 1.5rem) clamp(1rem, 2vw, 1.55rem);
  border-left:6px solid var(--concrete-gold);
}

.concrete-hero-v3-copy h1{
  max-width:900px;
  margin:.85rem 0 .95rem;
  color:#fff;
  font-size:clamp(2.6rem, 3.75vw, 4.45rem);
  line-height:.96;
  font-weight:950;
  letter-spacing:0;
  text-transform:uppercase;
  text-shadow:0 26px 80px rgba(0,0,0,.7);
}

.concrete-hero-v3-copy h1 span{
  display:block;
  width:max-content;
  max-width:100%;
}

.concrete-hero-v3-copy h1 span:last-child{
  color:var(--concrete-gold);
}

.concrete-hero-v3-copy p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:clamp(1rem, 1.25vw, 1.17rem);
  line-height:1.58;
}

.concrete-hero-proof{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  max-width:520px;
  gap:.55rem;
  margin-top:1.05rem;
}

.concrete-hero-proof span{
  display:inline-flex;
  width:100%;
  min-width:0;
  align-items:center;
  min-height:34px;
  padding:.46rem .78rem;
  border:1px solid rgba(255,193,7,.34);
  background:rgba(255,193,7,.09);
  color:#fff;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.065em;
  text-transform:uppercase;
}

.concrete-hero-proof span::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:.55rem;
  background:var(--concrete-gold);
  box-shadow:0 0 18px rgba(255,193,7,.72);
}

.concrete-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:1.45rem;
}

.concrete-btn{
  display:inline-flex;
  min-height:50px;
  min-width:178px;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:.82rem 1.25rem;
  border:2px solid transparent;
  color:inherit;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:transform .25s ease, border-color .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}

.concrete-btn:hover{ transform:translateY(-3px); }

.concrete-btn-primary{
  background:var(--concrete-gold);
  color:#101010 !important;
  border-color:var(--concrete-gold);
  box-shadow:0 22px 54px rgba(0,0,0,.34);
}

.concrete-btn-primary:hover{
  box-shadow:0 26px 70px rgba(255,193,7,.28);
}

.concrete-btn-secondary{
  background:rgba(0,0,0,.34);
  color:#fff !important;
  border-color:rgba(255,255,255,.42);
}

.concrete-btn-secondary:hover{
  border-color:var(--concrete-gold);
  color:var(--concrete-gold) !important;
}

.concrete-hero-v3-visual{
  position:relative;
  min-height:clamp(440px, 38vw, 590px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:#111;
  box-shadow:0 42px 110px rgba(0,0,0,.58);
  transform:translateZ(0);
}

.concrete-hero-v3-visual::after{
  content:"";
  position:absolute;
  inset:1.15rem;
  z-index:2;
  border:1px solid rgba(255,193,7,.32);
  pointer-events:none;
}

.concrete-hero-v3-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.04) contrast(1.05);
  animation:concreteHeroImageLift 12s ease-in-out infinite alternate;
}

.concrete-hero-v3-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.08) 32%, rgba(0,0,0,.78)),
    linear-gradient(90deg, rgba(0,0,0,.42), transparent 54%);
}

.concrete-hero-badge{
  position:absolute;
  z-index:3;
  left:1.45rem;
  right:1.45rem;
  bottom:1.45rem;
  padding:1.15rem 1.25rem;
  border-left:5px solid var(--concrete-gold);
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(8px);
}

.concrete-hero-badge strong,
.concrete-hero-badge span{
  display:block;
}

.concrete-hero-badge strong{
  color:#fff;
  font-size:1.22rem;
  text-transform:uppercase;
}

.concrete-hero-badge span{
  max-width:380px;
  margin-top:.25rem;
  color:rgba(255,255,255,.74);
  line-height:1.45;
}

.concrete-hero-meter{
  position:absolute;
  z-index:3;
  top:1.45rem;
  left:1.45rem;
  display:flex;
  gap:.45rem;
}

.concrete-hero-meter span{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:.4rem .62rem;
  background:rgba(255,193,7,.94);
  color:#111;
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.concrete-proof-v3{
  position:relative;
  z-index:4;
  margin-top:-1.55rem;
  padding:0 0 1.4rem;
  background:linear-gradient(180deg, rgba(5,6,7,.04) 0%, #090a0b 100%);
  border-top:1px solid var(--concrete-line);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.concrete-proof-v3-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1px;
  border:1px solid rgba(255,193,7,.2);
  background:rgba(255,193,7,.22);
  box-shadow:0 30px 90px rgba(0,0,0,.42);
}

.concrete-proof-v3 article{
  min-width:0;
  padding:1.28rem 1.35rem;
  background:linear-gradient(145deg, #111214, #08090a);
  border-top:4px solid var(--concrete-gold);
}

.concrete-proof-v3 strong,
.concrete-proof-v3 span{
  display:block;
}

.concrete-proof-v3 strong{
  color:#fff;
  font-size:clamp(1rem, 1.35vw, 1.2rem);
  line-height:1.05;
  text-transform:uppercase;
}

.concrete-proof-v3 span{
  margin-top:.5rem;
  color:rgba(255,255,255,.68);
  font-size:.84rem;
  line-height:1.45;
}

.concrete-rebar-feature{
  position:relative;
  padding:clamp(4.5rem, 7vw, 6.5rem) 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.98) 0%, rgba(0,0,0,.87) 46%, rgba(0,0,0,.5) 100%),
    url('../images/services/Rebar/tying%20rebar.jpg') center center / cover no-repeat;
  color:#fff;
  overflow:hidden;
}

.concrete-rebar-feature-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.35rem;
  align-items:end;
}

.concrete-rebar-copy{
  grid-column:1 / -1;
  width:100%;
  min-width:0;
  max-width:980px;
  padding:clamp(1.4rem, 3vw, 2.4rem);
  border-left:6px solid var(--concrete-gold);
  background:linear-gradient(145deg, rgba(0,0,0,.72), rgba(0,0,0,.36));
  box-shadow:0 34px 90px rgba(0,0,0,.42);
  backdrop-filter:blur(7px);
}

.concrete-rebar-copy h2,
.concrete-section-heading h2,
.concrete-method-title h2,
.concrete-cta-v3-panel h2{
  margin:1rem 0;
  color:#fff;
  font-size:clamp(2rem, 3.35vw, 3.75rem);
  line-height:1;
  font-weight:950;
  letter-spacing:0;
  text-transform:uppercase;
}

.concrete-rebar-copy p{
  max-width:720px;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.72;
}

.concrete-rebar-card{
  width:100%;
  min-width:0;
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.18);
  border-left:5px solid var(--concrete-gold);
  background:linear-gradient(145deg, rgba(9,10,11,.84), rgba(9,10,11,.52));
  box-shadow:0 28px 80px rgba(0,0,0,.34);
  backdrop-filter:blur(8px);
}

.concrete-rebar-card span{
  display:block;
  margin-bottom:.55rem;
  color:var(--concrete-gold);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.concrete-rebar-card strong{
  display:block;
  margin:0 0 .55rem;
  color:#fff;
  font-size:clamp(1.5rem, 2vw, 2rem);
  text-transform:uppercase;
}

.concrete-rebar-card p{
  margin:0;
  color:rgba(255,255,255,.72);
  line-height:1.55;
}

.concrete-scope-v3{
  padding:clamp(4.4rem, 7vw, 6.5rem) 0;
  background:var(--concrete-soft);
  color:#111;
}

.concrete-section-heading{
  max-width:760px;
  margin:0 auto 2.2rem;
  text-align:center;
}

.concrete-section-heading h2{
  color:#111;
}

.concrete-scope-v3-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.25rem;
}

.concrete-scope-v3-card{
  position:relative;
  min-height:390px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  isolation:isolate;
  transition:transform .3s ease, box-shadow .3s ease;
}

.concrete-scope-v3-card:hover{
  transform:translateY(-7px);
  box-shadow:0 34px 90px rgba(0,0,0,.28);
}

.concrete-scope-v3-card img{
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .45s ease;
}

.concrete-scope-v3-card:hover img{
  transform:scale(1.05);
}

.concrete-scope-v3-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg, rgba(0,0,0,.08) 22%, rgba(0,0,0,.82) 100%);
}

.concrete-scope-v3-card div{
  width:100%;
  padding:1.25rem;
  border-left:5px solid var(--concrete-gold);
  background:linear-gradient(90deg, rgba(0,0,0,.78), rgba(0,0,0,.34));
}

.concrete-scope-v3-card em,
.concrete-scope-v3-card strong,
.concrete-scope-v3-card span{
  display:block;
}

.concrete-scope-v3-card em{
  margin-bottom:.55rem;
  color:var(--concrete-gold);
  font-size:.72rem;
  font-style:normal;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.concrete-scope-v3-card strong{
  color:#fff;
  font-size:clamp(1.35rem, 2.1vw, 2rem);
  line-height:1.02;
  text-transform:uppercase;
}

.concrete-scope-v3-card span{
  max-width:560px;
  margin-top:.55rem;
  color:rgba(255,255,255,.82);
  line-height:1.5;
}

.concrete-method-v3{
  position:relative;
  padding:clamp(4.5rem, 7vw, 6.5rem) 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.92), rgba(0,0,0,.96)),
    url('../images/services/Rebar/1.jpg') center center / cover no-repeat;
  color:#fff;
  overflow:hidden;
}

.concrete-method-v3-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(300px, .42fr) minmax(0, 1fr);
  gap:clamp(1.6rem, 5vw, 4rem);
  align-items:start;
}

.concrete-method-title{
  position:sticky;
  top:110px;
}

.concrete-method-title h2{
  font-size:clamp(2.2rem, 3.4vw, 3.5rem);
}

.concrete-method-steps{
  display:grid;
  gap:1.25rem;
}

.concrete-method-steps article{
  display:grid;
  grid-template-columns:minmax(120px, .32fr) 1fr;
  gap:1.25rem;
  align-items:center;
  min-height:118px;
  padding:1.05rem 1.2rem;
  border:1px solid rgba(255,255,255,.14);
  border-left:5px solid var(--concrete-gold);
  background:linear-gradient(145deg, rgba(14,15,16,.9), rgba(35,35,35,.58));
  box-shadow:0 22px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(7px);
}

.concrete-method-steps strong{
  color:var(--concrete-gold);
  font-size:1rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.concrete-method-steps span{
  color:rgba(255,255,255,.78);
  line-height:1.55;
}

.concrete-gallery-v3{
  padding:clamp(4.4rem, 6vw, 6rem) 0;
  background:linear-gradient(180deg, #090a0b, #050606);
  border-top:1px solid rgba(255,255,255,.1);
}

.concrete-gallery-v3-inner{
  width:min(1280px, calc(100% - 40px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1.25rem;
}

.concrete-gallery-v3 figure{
  position:relative;
  min-height:340px;
  margin:0;
  overflow:hidden;
  background:#111;
  box-shadow:0 24px 70px rgba(0,0,0,.26);
}

.concrete-gallery-v3 img{
  width:100%;
  height:100%;
  min-width:0;
  object-fit:cover;
  filter:saturate(1.04) contrast(1.04);
  transition:transform .4s ease;
}

.concrete-gallery-v3 figure:hover img{
  transform:scale(1.05);
}

.concrete-gallery-v3 figcaption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:.85rem 1rem;
  border-left:5px solid var(--concrete-gold);
  background:linear-gradient(90deg, rgba(0,0,0,.84), rgba(0,0,0,.48));
  color:#fff;
  font-family:inherit;
  font-size:.82rem;
  font-weight:950;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.concrete-cta-v3{
  padding:clamp(4.6rem, 7vw, 6.4rem) 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.95), rgba(0,0,0,.78)),
    url('../images/services/Form%20Work/form.jpg') center center / cover no-repeat;
}

.concrete-cta-v3-panel{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, .34fr);
  gap:2rem;
  align-items:center;
  padding:clamp(1.7rem, 3.4vw, 3rem);
  border:1px solid var(--concrete-line);
  border-left:6px solid var(--concrete-gold);
  background:linear-gradient(135deg, rgba(0,0,0,.86), rgba(0,0,0,.52));
  box-shadow:0 34px 100px rgba(0,0,0,.42);
  backdrop-filter:blur(8px);
}

.concrete-cta-v3-panel h2{
  margin:.9rem 0 .7rem;
  font-size:clamp(1.8rem, 3vw, 3.25rem);
}

.concrete-cta-v3-panel p{
  max-width:720px;
  margin:0;
  color:rgba(255,255,255,.76);
  line-height:1.6;
}

.concrete-cta-v3-actions{
  display:grid;
  gap:.6rem;
}

.concrete-cta-v3-actions span{
  display:block;
  padding:.72rem .85rem;
  border:1px solid rgba(255,255,255,.13);
  border-left:4px solid var(--concrete-gold);
  background:rgba(255,255,255,.055);
  color:#fff;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@keyframes concreteHeroSweep{
  0%{ transform:translateX(0); opacity:0; }
  16%{ opacity:.36; }
  100%{ transform:translateX(360%); opacity:0; }
}

@keyframes concreteHeroImageLift{
  from{ transform:scale(1.01); }
  to{ transform:scale(1.055) translate3d(-1.2%, -.8%, 0); }
}
@keyframes concreteHeroDrift{
  from{ transform:scale(1.04) translate3d(0,0,0); }
  to{ transform:scale(1.09) translate3d(-1.2%, .7%, 0); }
}

@media (max-width:1120px){
  .concrete-hero-v3-grid,
  .concrete-rebar-feature-grid,
  .concrete-method-v3-grid{
    grid-template-columns:1fr;
  }

  .concrete-hero-v3-visual{
    min-height:380px;
  }

  .concrete-proof-v3-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .concrete-method-title{
    position:relative;
    top:auto;
    max-width:780px;
  }
}

@media (max-width:760px){
  .concrete-page .container{
    width:min(1280px, calc(100% - 28px));
  }

  .concrete-hero-v3{
    min-height:auto;
  }

  .concrete-hero-v3-grid{
    padding:6.2rem 0 3rem;
  }

  .concrete-hero-v3-copy{
    padding-left:1rem;
    border-left-width:4px;
  }

  .concrete-hero-v3-copy h1{
    max-width:100%;
    font-size:clamp(2rem, 10vw, 2.75rem);
    line-height:1;
  }

  .concrete-hero-v3-copy h1 span{
    width:auto;
    max-width:100%;
    white-space:normal;
  }

  .concrete-hero-proof{
    grid-template-columns:1fr;
    max-width:100%;
    gap:.5rem;
  }

  .concrete-hero-proof span{
    width:100%;
    min-width:0;
    justify-content:flex-start;
    font-size:.66rem;
  }

  .concrete-hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:.75rem;
  }

  .concrete-cta-v3-panel{
    grid-template-columns:1fr;
  }

  .concrete-btn{
    width:100%;
    min-width:0;
    padding:.82rem .9rem;
  }

  .concrete-proof-v3-grid,
  .concrete-scope-v3-grid,
  .concrete-gallery-v3{
    grid-template-columns:1fr;
  }

  .concrete-rebar-copy h2,
  .concrete-section-heading h2,
  .concrete-method-title h2{
    font-size:clamp(1.9rem, 9vw, 2.8rem);
  }

  .concrete-rebar-card{
    min-height:auto;
  }

  .concrete-scope-v3-card{
    min-height:340px;
  }

  .concrete-method-steps article{
    grid-template-columns:1fr;
    gap:.45rem;
  }
  .concrete-gallery-v3-inner{
    width:min(1280px, calc(100% - 28px));
    grid-template-columns:1fr;
  }

  .concrete-gallery-v3 figure{
    min-height:260px;
  }
}

@media (prefers-reduced-motion:reduce){
  .concrete-hero-v3-bg img{
    animation:none;
  }
}

/* =========================================================
   NODE 17 DEMOLITION - IMAGE LED REDESIGN
   ========================================================= */
.demolition-page {
  --demo-black: #080808;
  --demo-ink: #121212;
  --demo-panel: #181818;
  --demo-yellow: #ffc400;
  --demo-yellow-dark: #d99b00;
  --demo-paper: #f3efe6;
  --demo-line: rgba(255,255,255,0.14);
  --demo-muted: rgba(255,255,255,0.76);
  background: var(--demo-black);
  color: #fff;
  overflow: hidden;
}

.demolition-page *,
.demolition-page *::before,
.demolition-page *::after {
  box-sizing: border-box;
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.demolition-page img {
  display: block;
  width: 100%;
  max-width: 100%;
}

.demolition-page a {
  color: inherit;
  text-decoration: none;
}

.demolition-kicker {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 32px;
  padding: 0 13px;
  background: var(--demo-yellow);
  color: #111;
  font-size: clamp(0.7rem, 0.75vw, 0.84rem);
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1.05;
  text-transform: uppercase;
  white-space: nowrap;
}

.demolition-hero {
  position: relative;
  min-height: min(760px, calc(100vh - 76px));
  display: flex;
  align-items: center;
  padding: clamp(84px, 7vw, 118px) clamp(18px, 4.5vw, 72px) clamp(70px, 6vw, 108px);
  background:
    linear-gradient(90deg, rgba(5,5,5,0.98) 0%, rgba(5,5,5,0.9) 43%, rgba(5,5,5,0.52) 100%),
    url('../images/services/Demolition/danger.jpg') center / cover no-repeat;
  isolation: isolate;
}

.demolition-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, #000 0%, transparent 88%);
}

.demolition-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 6px;
  background: linear-gradient(90deg, var(--demo-yellow), transparent 72%);
}

.demolition-hero-inner {
  width: min(1260px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(340px, 0.72fr);
  gap: clamp(30px, 4vw, 60px);
  align-items: center;
}

.demolition-hero-copy {
  max-width: 690px;
}

.demolition-hero-copy h1 {
  margin: 18px 0 18px;
  color: #fff;
  font-size: clamp(2.25rem, 3.65vw, 4.25rem);
  font-weight: 950;
  line-height: 1.02;
  letter-spacing: 0;
  text-transform: uppercase;
}

.demolition-hero-copy h1 span {
  display: block;
  max-width: 100%;
}

.demolition-hero-copy p {
  max-width: 610px;
  margin: 0;
  color: var(--demo-muted);
  font-size: clamp(1rem, 1.08vw, 1.12rem);
  line-height: 1.62;
}

.demolition-tags {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin: 24px 0 24px;
}

.demolition-tags span {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 9px 10px;
  border: 1px solid rgba(255,196,0,0.5);
  background: rgba(255,196,0,0.11);
  color: #fff;
  font-size: clamp(0.69rem, 0.76vw, 0.82rem);
  font-weight: 900;
  line-height: 1.16;
  text-align: center;
  text-transform: uppercase;
}

.demolition-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.demolition-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 2px solid var(--demo-yellow);
  background: var(--demo-yellow);
  color: #111;
  font-size: 0.9rem;
  font-weight: 950;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  box-shadow: 0 16px 34px rgba(0,0,0,0.25);
  transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, color 0.25s ease;
}

.demolition-btn:hover {
  transform: translateY(-3px);
  background: #fff;
  border-color: #fff;
}

.demolition-btn-ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.58);
}

.demolition-btn-ghost:hover {
  color: #111;
}

.demolition-hero-visual {
  position: relative;
  display: grid;
  gap: 12px;
  align-self: stretch;
  min-height: 0;
}

.demolition-hero-photo {
  position: relative;
  min-height: clamp(360px, 35vw, 500px);
  margin: 0;
  overflow: hidden;
  background: #111;
  border: 1px solid rgba(255,255,255,0.2);
  box-shadow: 0 24px 58px rgba(0,0,0,0.44);
}

.demolition-hero-photo img {
  height: 100%;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.04);
}

.demolition-hero-photo::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 42%, rgba(0,0,0,0.86)),
    linear-gradient(90deg, rgba(0,0,0,0.32), transparent 58%);
  pointer-events: none;
}

.demolition-hero-photo figcaption {
  position: absolute;
  left: clamp(16px, 2vw, 24px);
  right: clamp(16px, 2vw, 24px);
  bottom: clamp(16px, 2vw, 24px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  border-left: 5px solid var(--demo-yellow);
  background: rgba(0,0,0,0.74);
  backdrop-filter: blur(4px);
}

.demolition-hero-photo figcaption span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  background: var(--demo-yellow);
  color: #111;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1.05;
  text-transform: uppercase;
  white-space: nowrap;
}

.demolition-hero-photo figcaption strong {
  color: #fff;
  font-size: clamp(1rem, 1.2vw, 1.3rem);
  font-weight: 950;
  line-height: 1.1;
  text-align: right;
  text-transform: uppercase;
}

.demolition-hero-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.demolition-hero-rail span {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,196,0,0.42);
  background: rgba(255,196,0,0.12);
  color: #fff;
  font-size: clamp(0.76rem, 0.82vw, 0.9rem);
  font-weight: 950;
  line-height: 1.08;
  text-transform: uppercase;
}

.demolition-intro,
.demolition-services,
.demolition-site-story,
.demolition-process,
.demolition-capabilities,
.demolition-final-cta {
  padding: clamp(58px, 6vw, 92px) clamp(18px, 4.5vw, 72px);
}

.demolition-intro,
.demolition-capabilities {
  background: var(--demo-paper);
  color: #151515;
}

.demolition-section-heading {
  width: min(920px, 100%);
  margin: 0 auto clamp(30px, 3vw, 44px);
  text-align: center;
}

.demolition-section-heading h2,
.demolition-story-copy h2,
.demolition-planning-copy h2,
.demolition-final-panel h2 {
  margin: 16px 0 14px;
  color: inherit;
  font-size: clamp(1.78rem, 2.72vw, 3.05rem);
  font-weight: 950;
  line-height: 1.16;
  letter-spacing: 0;
  text-transform: uppercase;
}

.demolition-section-heading p,
.demolition-story-copy p,
.demolition-planning-copy p,
.demolition-final-panel p {
  margin: 0 auto;
  max-width: 820px;
  color: inherit;
  font-size: clamp(0.99rem, 1.06vw, 1.1rem);
  line-height: 1.62;
  opacity: 0.82;
}

.demolition-services {
  background:
    linear-gradient(180deg, rgba(8,8,8,0.95), rgba(8,8,8,0.98)),
    url('../images/services/Demolition/photo_54_2026-07-19_15-44-06.jpg') center / cover no-repeat;
}

.demolition-service-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.demolition-service-card {
  min-height: 320px;
  display: grid;
  grid-template-columns: minmax(195px, 0.86fr) minmax(0, 1.14fr);
  overflow: hidden;
  border: 1px solid var(--demo-line);
  background: rgba(255,255,255,0.065);
  box-shadow: 0 22px 48px rgba(0,0,0,0.24);
  transform: translateZ(0);
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.demolition-service-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255,196,0,0.46);
  background: rgba(255,255,255,0.09);
}

.demolition-service-card img {
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.demolition-service-card:hover img {
  transform: scale(1.045);
}

.demolition-service-card div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(22px, 2.35vw, 32px);
}

.demolition-service-card span,
.demolition-process-grid article > span {
  width: fit-content;
  max-width: 100%;
  padding: 8px 10px;
  background: rgba(255,196,0,0.18);
  color: var(--demo-yellow);
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1.16;
  text-transform: uppercase;
}

.demolition-service-card h3,
.demolition-process-grid h3,
.demolition-capability-grid h3 {
  margin: 15px 0 10px;
  color: inherit;
  font-size: clamp(1.04rem, 1.16vw, 1.28rem);
  font-weight: 950;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: uppercase;
}

.demolition-service-card p,
.demolition-process-grid p,
.demolition-capability-grid p {
  margin: 0;
  color: rgba(255,255,255,0.78);
  font-size: clamp(0.94rem, 0.98vw, 1.02rem);
  line-height: 1.56;
}

.demolition-site-story {
  position: relative;
  background:
    linear-gradient(90deg, rgba(7,7,7,0.98), rgba(7,7,7,0.78)),
    url('../images/services/Demolition/support.jpg') center / cover fixed;
}

.demolition-site-story::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 100% 46px;
  pointer-events: none;
}

.demolition-story-copy {
  position: relative;
  z-index: 1;
  width: min(980px, 100%);
  margin: 0 auto clamp(28px, 3vw, 44px);
  text-align: center;
}

.demolition-story-grid {
  position: relative;
  z-index: 1;
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.demolition-story-grid article {
  position: relative;
  min-height: 330px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.16);
  background: #111;
  box-shadow: 0 24px 54px rgba(0,0,0,0.35);
}

.demolition-story-grid img {
  height: 100%;
  object-fit: cover;
  filter: saturate(1.04) contrast(1.04);
  transition: transform 0.5s ease;
}

.demolition-story-grid article:hover img {
  transform: scale(1.045);
}

.demolition-story-grid div {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 24px;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,0.9));
}

.demolition-story-grid span {
  display: inline-flex;
  padding: 7px 10px;
  background: var(--demo-yellow);
  color: #111;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.demolition-story-grid h3 {
  max-width: 330px;
  margin: 13px 0 0;
  color: #fff;
  font-size: clamp(1.08rem, 1.25vw, 1.42rem);
  font-weight: 950;
  line-height: 1.16;
  text-transform: uppercase;
}

.demolition-planning {
  position: relative;
  width: min(1180px, calc(100% - clamp(36px, 9vw, 124px)));
  margin: clamp(58px, 6vw, 88px) auto;
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
  gap: clamp(20px, 3vw, 38px);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.16);
  background:
    linear-gradient(90deg, rgba(8,8,8,0.96), rgba(8,8,8,0.88)),
    url('../images/services/Demolition/photo_46_2026-07-19_15-48-22.jpg') center / cover no-repeat;
  box-shadow: 0 28px 70px rgba(0,0,0,0.34);
  padding: clamp(28px, 4vw, 48px);
}

.demolition-planning-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  background: transparent;
}

.demolition-planning-copy h2 {
  max-width: 660px;
}

.demolition-planning-copy p {
  margin: 0;
  max-width: 720px;
  color: rgba(255,255,255,0.84);
}

.demolition-plan-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 0;
}

.demolition-plan-list article {
  min-height: 190px;
  padding: clamp(20px, 2.2vw, 28px);
  border: 1px solid rgba(255,255,255,0.14);
  border-top: 5px solid var(--demo-yellow);
  background: rgba(12,12,12,0.78);
  backdrop-filter: blur(4px);
}

.demolition-plan-list span {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 29px;
  padding: 0 10px;
  background: var(--demo-yellow);
  color: #111;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1.05;
  text-transform: uppercase;
  white-space: nowrap;
}

.demolition-plan-list h3 {
  margin: 14px 0 9px;
  color: #fff;
  font-size: clamp(1rem, 1.08vw, 1.18rem);
  font-weight: 950;
  line-height: 1.15;
  text-transform: uppercase;
}

.demolition-plan-list p {
  margin: 0;
  color: rgba(255,255,255,0.76);
  font-size: clamp(0.92rem, 0.96vw, 1rem);
  line-height: 1.5;
}

.demolition-process {
  background: #101010;
}

.demolition-process-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.demolition-process-grid article {
  position: relative;
  min-height: 275px;
  padding: clamp(21px, 2vw, 28px);
  overflow: hidden;
  border: 1px solid var(--demo-line);
  background: linear-gradient(180deg, #1b1b1b, #111);
}

.demolition-process-grid article::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  background: var(--demo-yellow);
  opacity: 0.9;
}

.demolition-process-grid article > span {
  background: var(--demo-yellow);
  color: #111;
  white-space: nowrap;
}

.demolition-capability-grid {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}

.demolition-capability-grid article {
  min-height: 205px;
  padding: clamp(21px, 2.2vw, 30px);
  border-left: 5px solid var(--demo-yellow);
  background: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}

.demolition-capability-grid h3 {
  color: #151515;
  font-size: clamp(1.05rem, 1.22vw, 1.28rem);
}

.demolition-capability-grid p {
  color: rgba(21,21,21,0.74);
}

.demolition-final-cta {
  background:
    linear-gradient(90deg, rgba(8,8,8,0.96), rgba(8,8,8,0.82)),
    url('../images/services/Demolition/photo_53_2026-07-19_15-48-22.jpg?v=202608291132') center / cover no-repeat;
}

.demolition-final-panel {
  width: min(1080px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(0,0,0,0.7);
  box-shadow: 0 28px 72px rgba(0,0,0,0.32);
}

.demolition-final-panel h2 {
  max-width: 820px;
}

.demolition-final-panel p {
  margin: 0;
  max-width: 820px;
  color: rgba(255,255,255,0.82);
}

@media (max-width: 1180px) {
  .demolition-hero-inner,
  .demolition-planning {
    grid-template-columns: 1fr;
  }

  .demolition-hero-copy {
    max-width: 860px;
  }

  .demolition-hero-visual {
    width: min(720px, 100%);
  }

  .demolition-plan-list,
  .demolition-process-grid,
  .demolition-capability-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .demolition-tags {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .demolition-service-grid,
  .demolition-service-card,
  .demolition-story-grid,
  .demolition-final-panel {
    grid-template-columns: 1fr;
  }

  .demolition-service-card img {
    min-height: 250px;
    aspect-ratio: 16 / 10;
  }

  .demolition-story-grid article {
    min-height: 330px;
  }

  .demolition-final-panel {
    align-items: start;
  }
}

@media (max-width: 640px) {
  .demolition-hero {
    min-height: auto;
    padding: 76px 16px 58px;
  }

  .demolition-hero-inner,
  .demolition-hero-copy,
  .demolition-hero-copy h1,
  .demolition-hero-copy p,
  .demolition-tags,
  .demolition-actions,
  .demolition-hero-visual {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .demolition-hero-copy h1 {
    font-size: clamp(2rem, 10vw, 3rem);
    line-height: 1;
  }

  .demolition-kicker {
    min-height: 0;
    height: auto;
    white-space: normal;
    line-height: 1.15;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .demolition-tags,
  .demolition-plan-list,
  .demolition-process-grid,
  .demolition-capability-grid {
    grid-template-columns: 1fr;
  }

  .demolition-actions,
  .demolition-btn {
    width: 100%;
  }

  .demolition-hero-visual {
    min-height: 0;
  }

  .demolition-hero-photo {
    min-height: 300px;
  }

  .demolition-hero-photo figcaption {
    align-items: flex-start;
    flex-direction: column;
  }

  .demolition-hero-photo figcaption strong {
    text-align: left;
  }

  .demolition-hero-rail {
    grid-template-columns: 1fr;
  }

  .demolition-intro,
  .demolition-services,
  .demolition-site-story,
  .demolition-process,
  .demolition-capabilities,
  .demolition-final-cta {
    padding-left: 16px;
    padding-right: 16px;
  }

  .demolition-planning {
    width: calc(100% - 32px);
  }

  .demolition-section-heading,
  .demolition-story-copy {
    text-align: left;
  }

  .demolition-section-heading h2,
  .demolition-story-copy h2,
  .demolition-planning-copy h2,
  .demolition-final-panel h2 {
    font-size: clamp(1.72rem, 8.5vw, 2.42rem);
    line-height: 1.07;
  }

  .demolition-service-card div,
  .demolition-process-grid article,
  .demolition-capability-grid article,
  .demolition-final-panel {
    padding: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .demolition-service-card,
  .demolition-service-card img,
  .demolition-story-grid img {
    animation: none;
    transition: none;
  }
}
/* =========================================================
   NODE 3 ABOUT PAGE - RESPONSIVE QUALITY PASS
   ========================================================= */

.about-hero,
.about-split-section,
.about-leadership-section,
.about-why-section,
.about-image-break,
.about-process-showcase,
.about-trust-band,
.about-timeline-section,
.about-project-showcase,
.about-final-cta{
  overflow:hidden;
}

.about-hero{
  min-height:clamp(560px, 76vh, 820px) !important;
}

.about-hero-content{
  width:min(100%, 1060px) !important;
  padding:clamp(5.5rem, 9vw, 8rem) 0 clamp(4.5rem, 7vw, 6.5rem) !important;
}

.about-hero h2{
  max-width:1040px !important;
  margin-bottom:1.25rem !important;
  font-size:clamp(2.8rem, 6.4vw, 6.6rem) !important;
  line-height:.95 !important;
  letter-spacing:0 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.about-hero h2 span{
  display:block;
  white-space:nowrap;
}

.about-hero p{
  max-width:760px !important;
  font-size:clamp(1rem, 1.25vw, 1.16rem) !important;
  line-height:1.75 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.about-stats-row{
  width:min(100%, 980px) !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(.85rem, 1.5vw, 1.15rem) !important;
}

.about-stat{
  min-width:0 !important;
  padding:clamp(1rem, 1.8vw, 1.35rem) !important;
  border-radius:16px !important;
}

.about-stat strong{
  font-size:clamp(1.85rem, 3vw, 2.7rem) !important;
}

.about-stat span{
  font-size:clamp(.72rem, .9vw, .86rem) !important;
  line-height:1.25 !important;
  letter-spacing:.04em !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

.about-split-section,
.about-leadership-section,
.about-why-section,
.about-process-showcase,
.about-timeline-section,
.about-project-showcase{
  padding:clamp(4.5rem, 8vw, 7rem) 0 !important;
}

.about-split-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:clamp(1rem, 2vw, 1.6rem) !important;
}

.about-panel{
  min-height:0 !important;
  padding:clamp(1.5rem, 3vw, 2.65rem) !important;
  border-radius:20px !important;
}

.about-panel h2,
.about-image-break-content h2,
.about-process-showcase .modern-section-heading h2,
.about-timeline-section .modern-section-heading h2,
.about-project-showcase .modern-section-heading h2,
.about-final-cta h2{
  letter-spacing:0 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.about-panel h2{
  max-width:680px !important;
  font-size:clamp(2rem, 3.6vw, 3.65rem) !important;
  line-height:1.04 !important;
}

.about-panel p{
  max-width:680px !important;
  font-size:clamp(.98rem, 1.15vw, 1.06rem) !important;
  line-height:1.72 !important;
}

.about-leadership-section{
  background:
    radial-gradient(circle at 12% 0%, rgba(255,193,7,.14), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f7f3ed 100%) !important;
}

.about-leadership-section .modern-section-heading,
.about-why-section .modern-section-heading,
.about-process-showcase .modern-section-heading,
.about-timeline-section .modern-section-heading,
.about-project-showcase .modern-section-heading{
  max-width:1040px !important;
}

.about-leadership-section .modern-section-heading h2,
.about-why-section .modern-section-heading h2,
.about-process-showcase .modern-section-heading h2,
.about-timeline-section .modern-section-heading h2{
  max-width:980px !important;
  font-size:clamp(2.2rem, 4.5vw, 4.8rem) !important;
  line-height:1.03 !important;
  letter-spacing:0 !important;
}

.about-leadership-section .modern-section-heading p,
.about-process-showcase .modern-section-heading p,
.about-timeline-section .modern-section-heading p,
.about-project-showcase .modern-section-heading p{
  max-width:760px !important;
  font-size:clamp(.98rem, 1.15vw, 1.06rem) !important;
  line-height:1.72 !important;
}

.about-team-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:clamp(1rem, 1.8vw, 1.35rem) !important;
}

.about-person-card{
  min-width:0 !important;
  padding:clamp(1.25rem, 2vw, 1.8rem) !important;
  border-radius:18px !important;
}

.about-avatar-placeholder{
  height:auto !important;
  aspect-ratio:16 / 10 !important;
  margin-bottom:1.15rem !important;
  border-radius:16px !important;
  font-size:clamp(2.3rem, 4vw, 3.4rem) !important;
}

.about-value-mark{
  width:fit-content;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:1.3rem;
  padding:0 .9rem;
  border-radius:999px;
  background:#111;
  color:#ffc107;
  font-size:.78rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 16px 35px rgba(0,0,0,.16);
}

.about-page h2,
.about-page h3,
.about-page p,
.about-page span,
.about-person-card h3,
.about-person-card span,
.about-person-card p,
.about-reason-card h3,
.about-reason-card p{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.about-person-card h3{
  font-size:clamp(1.18rem, 1.55vw, 1.45rem) !important;
  line-height:1.16 !important;
  letter-spacing:0 !important;
}

.about-person-card span{
  margin-bottom:.85rem !important;
  font-size:.78rem !important;
  line-height:1.25 !important;
  letter-spacing:.05em !important;
}

.about-person-card p,
.about-reason-card p,
.about-process-card p,
.about-timeline-item p,
.about-project-content p,
.about-final-cta p{
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}

.about-reasons-grid,
.about-process-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:clamp(1rem, 1.8vw, 1.25rem) !important;
}

.about-reason-card,
.about-process-card{
  min-height:0 !important;
  padding:clamp(1.2rem, 2vw, 1.75rem) !important;
  border-radius:18px !important;
}

.about-reason-card strong{
  display:inline-flex !important;
  width:fit-content;
  margin-bottom:1rem !important;
  padding:.55rem .8rem;
  border-radius:999px;
  background:rgba(255,193,7,.16);
  border:1px solid rgba(255,193,7,.35);
  color:#c25700 !important;
  font-size:.78rem !important;
  line-height:1 !important;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.about-reason-card h3,
.about-process-card h3{
  font-size:clamp(1.06rem, 1.35vw, 1.25rem) !important;
  line-height:1.18 !important;
  letter-spacing:0 !important;
}

.about-reason-card p,
.about-process-card p{
  font-size:.92rem !important;
  line-height:1.62 !important;
}

.about-image-break{
  min-height:clamp(460px, 58vh, 650px) !important;
}

.about-image-break-content{
  padding:clamp(4.5rem, 8vw, 6rem) 0 !important;
}

.about-image-break-content h2{
  max-width:980px !important;
  font-size:clamp(2.3rem, 5.4vw, 5.6rem) !important;
  line-height:1 !important;
}

.about-process-step{
  width:54px !important;
  height:54px !important;
  border-radius:16px !important;
  font-size:1rem !important;
}

.about-trust-band{
  padding:clamp(2.5rem, 5vw, 3.75rem) 0 !important;
}

.about-trust-inner{
  grid-template-columns:1.35fr repeat(3, minmax(0, 1fr)) !important;
  gap:clamp(.85rem, 1.5vw, 1.1rem) !important;
}

.about-trust-lead,
.about-trust-item{
  min-height:0 !important;
  padding:clamp(1.25rem, 2.4vw, 2rem) !important;
  border-radius:18px !important;
}

.about-trust-lead h2{
  max-width:720px !important;
  font-size:clamp(1.55rem, 3vw, 2.65rem) !important;
  line-height:1.04 !important;
  letter-spacing:0 !important;
}

.about-trust-item span{
  font-size:.82rem !important;
  line-height:1.25 !important;
  letter-spacing:.05em !important;
}

.about-timeline{
  gap:1rem !important;
}

.about-timeline-item{
  grid-template-columns:110px minmax(0, 1fr) !important;
  padding:clamp(1.2rem, 2.4vw, 1.8rem) !important;
  border-radius:18px !important;
}

.about-timeline-year{
  font-size:clamp(1.35rem, 2.2vw, 1.9rem) !important;
}

.about-project-showcase .modern-section-heading h2{
  max-width:1040px !important;
  font-size:clamp(2.4rem, 5.2vw, 5.4rem) !important;
  line-height:1 !important;
}

.about-project-grid,
.about-project-bottom-grid{
  gap:clamp(1rem, 1.8vw, 1.35rem) !important;
}

.about-project-card,
.about-project-card-large{
  min-height:clamp(360px, 42vw, 560px) !important;
  border-radius:20px !important;
}

.about-project-content{
  padding:clamp(1.25rem, 2.5vw, 2rem) !important;
}

.about-project-content h3,
.about-project-card-large .about-project-content h3{
  max-width:680px !important;
  font-size:clamp(1.45rem, 2.5vw, 2.8rem) !important;
  line-height:1.05 !important;
  letter-spacing:0 !important;
}

.about-project-meta span{
  border-radius:12px !important;
  line-height:1.15 !important;
}

.about-final-cta{
  padding:clamp(3.5rem, 6vw, 5.25rem) 0 !important;
}

.about-final-cta-inner{
  grid-template-columns:minmax(0, 1fr) auto !important;
}

.about-final-cta h2{
  font-size:clamp(2rem, 4vw, 4rem) !important;
  line-height:1.04 !important;
}

@media (max-width:1180px){
  .about-reasons-grid,
  .about-process-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }

  .about-trust-inner{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:960px){
  .about-split-grid,
  .about-team-grid,
  .about-project-grid,
  .about-project-bottom-grid,
  .about-final-cta-inner{
    grid-template-columns:1fr !important;
  }

  .about-final-btn{
    width:fit-content;
  }
}

@media (max-width:760px){
  .about-hero{
    min-height:auto !important;
  }

  .about-hero-content{
    padding-top:5.25rem !important;
  }

  .about-hero h2{
    font-size:clamp(2.35rem, 10vw, 3.65rem) !important;
  }

  .about-hero h2 span{
    white-space:normal;
  }

  .about-stats-row,
  .about-reasons-grid,
  .about-process-grid,
  .about-trust-inner{
    grid-template-columns:1fr !important;
  }

  .about-stat{
    display:grid;
    grid-template-columns:86px minmax(0, 1fr);
    align-items:center;
    gap:1.25rem;
  }

  .about-stat span{
    margin-top:0 !important;
  }

  .about-panel,
  .about-person-card,
  .about-reason-card,
  .about-process-card{
    border-radius:16px !important;
  }

  .about-timeline-item{
    grid-template-columns:1fr !important;
    gap:.55rem !important;
  }

  .about-project-card,
  .about-project-card-large{
    min-height:390px !important;
  }

  .about-final-btn{
    width:100%;
  }
}

@media (max-width:430px){
  .about-hero h2{
    font-size:clamp(2.15rem, 11vw, 3rem) !important;
  }

  .about-image-break-content h2,
  .about-project-showcase .modern-section-heading h2{
    font-size:clamp(2rem, 9vw, 3rem) !important;
  }

  .about-stat{
    grid-template-columns:74px minmax(0, 1fr);
  }
}

/* =========================================================
   NODE 3 ABOUT PAGE - SHORTER PAGE TUNING
   ========================================================= */

.about-split-section,
.about-leadership-section,
.about-why-section{
  padding:clamp(3.5rem, 6vw, 5.25rem) 0 !important;
}

.about-split-section{
  background:linear-gradient(135deg, #f7f3ed 0%, #ffffff 100%) !important;
}

.about-why-section{
  padding-bottom:clamp(3.75rem, 6vw, 5.5rem) !important;
}

.about-final-cta{
  padding:clamp(3rem, 5vw, 4.5rem) 0 !important;
}

.about-page .modern-section-heading{
  margin-bottom:clamp(1.8rem, 3vw, 2.75rem) !important;
}

@media (max-width:760px){
.about-split-section,
.about-leadership-section,
.about-why-section{
  padding:3.25rem 0 !important;
  }
}

/* =========================================================
   NODE 3 ABOUT HERO + APPROACH REFINEMENT
   ========================================================= */

.about-hero{
  background:#080806 !important;
}

.about-hero-bg{
  background:url("../images/projects/archive/design-build/design-build-coordination.png") center 48% / cover no-repeat !important;
  transform:scale(1.02) !important;
  filter:saturate(.92) contrast(1.04) brightness(.78);
}

.about-hero-overlay{
  background:
    linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.78) 38%, rgba(0,0,0,.42) 66%, rgba(0,0,0,.76) 100%),
    linear-gradient(180deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.05) 42%, rgba(0,0,0,.72) 100%) !important;
}

.about-hero-content{
  max-width:1040px !important;
  padding-top:clamp(4.75rem, 7vw, 6.25rem) !important;
  padding-bottom:clamp(4rem, 6vw, 5.5rem) !important;
  padding-left:clamp(1.15rem, 2vw, 1.65rem) !important;
  border-left:5px solid #ffc107;
}

.about-hero .hero-kicker{
  display:inline-flex;
  width:fit-content;
  margin-bottom:.85rem;
  padding:.46rem .78rem;
  border-radius:999px;
  background:rgba(255,193,7,.14);
  border:1px solid rgba(255,193,7,.38);
  color:#ffc107;
  letter-spacing:.08em;
}

.about-hero-proof{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-bottom:1.35rem;
}

.about-hero-proof span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.9);
  font-size:.78rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  white-space:nowrap;
  backdrop-filter:blur(10px);
}

.about-stats-row{
  max-width:880px !important;
}

.about-stat{
  background:rgba(8,8,8,.52) !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 16px 40px rgba(0,0,0,.24);
}

.about-stat strong{
  color:#ffc107 !important;
  font-size:clamp(1.55rem, 2.6vw, 2.45rem) !important;
  letter-spacing:0 !important;
  white-space:nowrap;
}

.about-stat span{
  color:rgba(255,255,255,.88) !important;
}

.about-panel-dark{
  padding:clamp(2.2rem, 3.8vw, 3.8rem) !important;
}

.about-panel-dark h2{
  max-width:600px !important;
  font-size:clamp(2rem, 3.1vw, 3.15rem) !important;
  line-height:1.08 !important;
}

.about-panel-dark h2 span{
  display:block;
}

.about-panel-dark p{
  max-width:620px !important;
}

@media (max-width:960px){
  .about-panel-dark h2{
    max-width:100% !important;
  }
}

@media (max-width:760px){
  .about-hero-content{
    margin-left:1rem;
    padding-top:4.5rem !important;
    padding-left:1rem !important;
    padding-right:1rem !important;
    border-left-width:4px;
  }

  .about-hero-bg{
    background-position:58% center !important;
  }
}

/* =========================================================
   NODE 3 ABOUT PAGE - VIDEO REVIEW TUNING
   ========================================================= */

.about-hero{
  min-height:clamp(560px, 68vh, 720px) !important;
  align-items:center !important;
}

.about-hero-bg{
  background-position:62% 48% !important;
}

.about-hero-overlay{
  background:
    linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.76) 30%, rgba(0,0,0,.42) 68%, rgba(0,0,0,.72) 100%),
    linear-gradient(180deg, rgba(0,0,0,.22) 0%, rgba(0,0,0,.05) 46%, rgba(0,0,0,.68) 100%) !important;
}

.about-hero-content{
  width:min(100% - 4rem, 1180px) !important;
  max-width:1180px !important;
  margin-left:max(2rem, calc((100vw - 1180px) / 2)) !important;
  margin-right:auto !important;
  padding-top:clamp(4rem, 5.4vw, 5.5rem) !important;
  padding-bottom:clamp(3.5rem, 5vw, 4.75rem) !important;
}

.about-hero h2{
  max-width:1120px !important;
  font-size:clamp(3rem, 5.6vw, 6rem) !important;
  line-height:.98 !important;
}

.about-hero p{
  max-width:640px !important;
  line-height:1.65 !important;
}

.about-hero-proof{
  margin-bottom:1.15rem !important;
}

.about-hero-proof span{
  min-height:34px !important;
  padding:0 .78rem !important;
  font-size:.72rem !important;
}

.about-stats-row{
  max-width:760px !important;
  gap:.8rem !important;
  margin-top:2rem !important;
}

.about-stat{
  padding:1rem !important;
  border-radius:10px !important;
}

.about-stat strong{
  font-size:clamp(1.35rem, 2vw, 2rem) !important;
}

.about-stat span{
  font-size:.68rem !important;
  letter-spacing:.04em !important;
}

.about-split-section{
  padding-top:clamp(3rem, 4.5vw, 4rem) !important;
}

.about-split-grid{
  width:min(100%, 1120px) !important;
  margin:0 auto !important;
  align-items:stretch !important;
  gap:1rem !important;
}

.about-panel{
  padding:clamp(1.8rem, 2.6vw, 2.6rem) !important;
  border-radius:12px !important;
}

.about-panel h2{
  font-size:clamp(2rem, 3vw, 3rem) !important;
  line-height:1.08 !important;
}

.about-panel-dark h2{
  max-width:520px !important;
  font-size:clamp(2rem, 2.7vw, 2.85rem) !important;
}

.about-panel-dark p,
.about-panel p{
  font-size:.96rem !important;
  line-height:1.7 !important;
}

@media (max-width:960px){
  .about-hero-content{
    width:calc(100% - 2rem) !important;
    margin-left:1rem !important;
    margin-right:1rem !important;
  }

  .about-hero h2{
    font-size:clamp(2.45rem, 8.8vw, 4rem) !important;
  }

  .about-stats-row{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:560px){
  .about-hero-content{
    padding-top:4rem !important;
    padding-bottom:3.25rem !important;
  }

  .about-hero h2 span{
    white-space:normal !important;
  }

  .about-stats-row{
    grid-template-columns:1fr !important;
  }
}

/* =========================================================
   NODE 3 ABOUT HERO - LEFT EMPTY SPACE FIX
   ========================================================= */

.about-hero > .container.about-hero-content{
  width:calc(100% - 64px) !important;
  max-width:none !important;
  margin-left:32px !important;
  margin-right:32px !important;
  box-sizing:border-box !important;
}

.about-hero > .container.about-hero-content::before{
  content:"Caldrin Construction Inc.";
  position:absolute;
  left:1.4rem;
  top:1.2rem;
  color:rgba(255,255,255,.16);
  font-size:.72rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  pointer-events:none;
}

.about-hero h2{
  max-width:1050px !important;
}

.about-hero p,
.about-stats-row{
  margin-left:0 !important;
}

@media (min-width:1180px){
  .about-hero > .container.about-hero-content{
    width:calc(100% - 96px) !important;
    margin-left:48px !important;
    margin-right:48px !important;
  }
}

@media (max-width:760px){
  .about-hero > .container.about-hero-content{
    width:calc(100% - 32px) !important;
    margin-left:16px !important;
    margin-right:16px !important;
  }

  .about-hero > .container.about-hero-content::before{
    display:none;
  }
}

/* =========================================================
   NODE 3 ABOUT PAGE - FINAL VISUAL BALANCE PASS
   ========================================================= */

.about-hero{
  min-height:clamp(520px, 64vh, 680px) !important;
}

.about-hero > .container.about-hero-content{
  width:min(calc(100% - 56px), 1120px) !important;
  margin-left:clamp(24px, 5vw, 72px) !important;
  margin-right:auto !important;
  padding-top:clamp(3.6rem, 4.8vw, 4.8rem) !important;
  padding-bottom:clamp(3rem, 4.4vw, 4.25rem) !important;
}

.about-hero > .container.about-hero-content::before{
  display:none !important;
}

.about-hero h2{
  max-width:980px !important;
  font-size:clamp(2.8rem, 5vw, 5.45rem) !important;
  line-height:1 !important;
}

.about-hero p{
  max-width:600px !important;
  font-size:clamp(.96rem, 1.05vw, 1.05rem) !important;
}

.about-stats-row{
  max-width:700px !important;
  margin-top:1.7rem !important;
}

.about-split-section,
.about-leadership-section,
.about-why-section{
  padding:clamp(3.25rem, 5vw, 4.5rem) 0 !important;
}

.about-split-grid{
  width:min(100%, 1160px) !important;
  gap:1.2rem !important;
}

.about-panel{
  padding:clamp(1.8rem, 2.5vw, 2.5rem) !important;
  min-height:0 !important;
}

.about-panel h2,
.about-panel-dark h2{
  max-width:540px !important;
  font-size:clamp(1.9rem, 2.55vw, 2.75rem) !important;
  line-height:1.12 !important;
}

.about-panel p,
.about-panel-dark p{
  font-size:.96rem !important;
  line-height:1.65 !important;
}

.about-leadership-section .modern-section-heading,
.about-why-section .modern-section-heading{
  width:min(100%, 960px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-bottom:2.1rem !important;
}

.about-leadership-section .modern-section-heading h2,
.about-why-section .modern-section-heading h2{
  max-width:820px !important;
  font-size:clamp(2.25rem, 4.2vw, 4.25rem) !important;
  line-height:1.05 !important;
}

.about-leadership-section .modern-section-heading p,
.about-why-section .modern-section-heading p{
  max-width:640px !important;
  font-size:.98rem !important;
}

.about-team-grid,
.about-reasons-grid{
  width:min(100%, 1040px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:1rem !important;
}

.about-person-card,
.about-reason-card{
  padding:1.35rem !important;
  border-radius:12px !important;
  box-shadow:0 18px 44px rgba(0,0,0,.07) !important;
}

.about-person-card h3,
.about-reason-card h3{
  font-size:clamp(1.06rem, 1.3vw, 1.24rem) !important;
  line-height:1.18 !important;
}

.about-person-card span{
  font-size:.68rem !important;
}

.about-person-card p,
.about-reason-card p{
  font-size:.9rem !important;
  line-height:1.58 !important;
}

.about-final-cta{
  padding:clamp(2.8rem, 4.5vw, 4rem) 0 !important;
}

@media (max-width:960px){
  .about-hero > .container.about-hero-content{
    width:calc(100% - 32px) !important;
    margin-left:16px !important;
    margin-right:16px !important;
  }

  .about-hero h2{
    font-size:clamp(2.35rem, 8.2vw, 3.7rem) !important;
  }

  .about-panel h2,
  .about-panel-dark h2{
    max-width:100% !important;
  }

  .about-leadership-section .modern-section-heading h2,
  .about-why-section .modern-section-heading h2{
    font-size:clamp(2rem, 7vw, 3.2rem) !important;
  }
}

/* Keep About hero proof chips on one mobile row. */
.about-hero-proof{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  gap:clamp(.28rem, 1.6vw, .5rem) !important;
  max-width:100% !important;
}

.about-hero-proof span{
  flex:0 0 auto !important;
  white-space:nowrap !important;
  word-break:normal !important;
  hyphens:none !important;
}

@media (max-width:520px){
  .about-hero-proof{
    gap:.32rem !important;
  }

  .about-hero-proof span{
    min-height:28px !important;
    padding:0 clamp(.42rem, 2vw, .58rem) !important;
    font-size:clamp(.54rem, 2.6vw, .64rem) !important;
    letter-spacing:.035em !important;
  }
}

/* Keep key About mission phrase visually intact. */
.about-split-section .about-panel h2 .keep-together{
  white-space:nowrap !important;
}

/* Node 13 structural steel page */
.steel-page{
  --steel-yellow:#ffc107;
  --steel-dark:#070808;
  --steel-ink:#101214;
  --steel-panel:rgba(13,15,17,.88);
  --steel-line:rgba(255,193,7,.34);
  --steel-soft:rgba(255,255,255,.76);
  --steel-paper:#f4f1e8;
  background:var(--steel-dark);
  color:#fff;
  overflow:hidden;
}

.steel-page *,
.steel-page *::before,
.steel-page *::after{
  box-sizing:border-box;
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

.steel-container{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
}

.steel-kicker{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  max-width:100%;
  min-height:32px;
  padding:0 13px;
  background:var(--steel-yellow);
  color:#111;
  font-size:clamp(.7rem,.78vw,.84rem);
  font-weight:950;
  letter-spacing:.08em;
  line-height:1.08;
  text-transform:uppercase;
  white-space:nowrap;
}

.steel-hero-v2{
  position:relative;
  min-height:min(790px, calc(100vh - 76px));
  display:flex;
  align-items:center;
  padding:clamp(86px,7vw,118px) clamp(18px,4.5vw,70px) clamp(64px,6vw,96px);
  isolation:isolate;
}

.steel-hero-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  background-position:center;
  background-size:cover;
  filter:saturate(1.04) contrast(1.06);
  transform:scale(1.03);
}

.steel-hero-v2::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg, rgba(5,6,7,.98) 0%, rgba(5,6,7,.9) 44%, rgba(5,6,7,.6) 100%),
    linear-gradient(180deg, rgba(5,6,7,.24), rgba(5,6,7,.94));
}

.steel-hero-v2::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:6px;
  background:linear-gradient(90deg,var(--steel-yellow),transparent 72%);
}

.steel-hero-grid{
  width:min(1260px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(340px,.74fr);
  gap:clamp(30px,4vw,58px);
  align-items:center;
}

.steel-hero-copy{
  max-width:720px;
  padding:clamp(24px,3vw,38px);
  border-left:6px solid var(--steel-yellow);
  background:rgba(0,0,0,.48);
  backdrop-filter:blur(5px);
}

.steel-hero-copy h2{
  margin:18px 0 16px;
  color:#fff;
  font-size:clamp(2.15rem,3.6vw,4.25rem);
  font-weight:950;
  line-height:1.03;
  letter-spacing:0;
  text-transform:uppercase;
}

.steel-hero-copy h2 span{
  display:block;
}

.steel-hero-copy h2 .steel-highlight{
  color:var(--steel-yellow);
}

.steel-hero-copy p{
  max-width:650px;
  margin:0;
  color:var(--steel-soft);
  font-size:clamp(1rem,1.08vw,1.12rem);
  line-height:1.6;
}

.steel-hero-tags{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin:24px 0;
}

.steel-hero-tags span{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px 10px;
  border:1px solid rgba(255,193,7,.48);
  background:rgba(255,193,7,.12);
  color:#fff;
  font-size:clamp(.69rem,.76vw,.82rem);
  font-weight:900;
  line-height:1.12;
  text-align:center;
  text-transform:uppercase;
}

.steel-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.steel-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border:2px solid rgba(255,255,255,.55);
  color:#fff;
  font-size:.9rem;
  font-weight:950;
  line-height:1.05;
  text-align:center;
  text-transform:uppercase;
  text-decoration:none;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

.steel-btn:hover{
  transform:translateY(-3px);
}

.steel-btn-primary{
  border-color:var(--steel-yellow);
  background:var(--steel-yellow);
  color:#111;
}

.steel-btn-primary:hover{
  background:#fff;
  border-color:#fff;
}

.steel-btn-ghost:hover{
  background:#fff;
  border-color:#fff;
  color:#111;
}

.steel-hero-panel{
  position:relative;
  min-height:clamp(390px,38vw,540px);
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  background:#111;
  box-shadow:0 28px 68px rgba(0,0,0,.44);
}

.steel-hero-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.03) contrast(1.04);
}

.steel-hero-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.86));
}

.steel-hero-panel figcaption{
  position:absolute;
  left:clamp(16px,2vw,24px);
  right:clamp(16px,2vw,24px);
  bottom:clamp(16px,2vw,24px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border-left:5px solid var(--steel-yellow);
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(4px);
}

.steel-hero-panel figcaption span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  background:var(--steel-yellow);
  color:#111;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.steel-hero-panel figcaption strong{
  color:#fff;
  font-size:clamp(1rem,1.2vw,1.28rem);
  font-weight:950;
  line-height:1.1;
  text-align:right;
  text-transform:uppercase;
}

.steel-proof-band{
  padding:clamp(34px,4vw,54px) 0;
  background:#0d0e0f;
}

.steel-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--steel-line);
  background:rgba(255,255,255,.04);
}

.steel-proof-grid div{
  min-height:150px;
  padding:clamp(20px,2vw,28px);
  border-right:1px solid rgba(255,255,255,.12);
}

.steel-proof-grid div:last-child{
  border-right:0;
}

.steel-proof-grid strong{
  display:block;
  margin-bottom:10px;
  color:var(--steel-yellow);
  font-size:clamp(1rem,1.1vw,1.18rem);
  font-weight:950;
  text-transform:uppercase;
}

.steel-proof-grid span{
  color:var(--steel-soft);
  font-size:clamp(.94rem,1vw,1.02rem);
  line-height:1.5;
}

.steel-feature-section,
.steel-sequence-section,
.steel-scope-section{
  padding:clamp(64px,7vw,102px) 0;
}

.steel-feature-section{
  background:#111315;
}

.steel-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);
  gap:clamp(28px,4vw,56px);
  align-items:center;
}

.steel-feature-copy h2,
.steel-section-heading h2,
.steel-scope-heading h2,
.steel-final-panel h2{
  margin:16px 0 14px;
  color:#fff;
  font-size:clamp(1.78rem,2.75vw,3.05rem);
  font-weight:950;
  line-height:1.12;
  letter-spacing:0;
  text-transform:uppercase;
}

.steel-feature-copy p,
.steel-scope-heading p,
.steel-final-panel p{
  margin:0;
  color:var(--steel-soft);
  font-size:clamp(.98rem,1.05vw,1.08rem);
  line-height:1.62;
}

.steel-feature-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}

.steel-feature-list span{
  min-height:46px;
  display:flex;
  align-items:center;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.13);
  border-left:4px solid var(--steel-yellow);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:clamp(.78rem,.82vw,.9rem);
  font-weight:900;
  line-height:1.14;
  text-transform:uppercase;
}

.steel-feature-mosaic{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.steel-feature-mosaic img{
  width:100%;
  min-height:240px;
  height:100%;
  object-fit:cover;
  border:1px solid rgba(255,255,255,.14);
  filter:saturate(1.02) contrast(1.04);
}

.steel-feature-mosaic .steel-mosaic-wide{
  grid-column:1 / -1;
  min-height:310px;
}

.steel-sequence-section{
  background:var(--steel-paper);
  color:#151515;
}

.steel-section-heading{
  width:min(900px,100%);
  margin:0 auto clamp(28px,3vw,42px);
  text-align:center;
}

.steel-section-heading h2{
  color:#151515;
}

.steel-sequence-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.steel-sequence-card{
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.1);
}

.steel-sequence-card img{
  width:100%;
  aspect-ratio:1.15 / 1;
  object-fit:cover;
  filter:saturate(1.02) contrast(1.03);
}

.steel-sequence-card div{
  min-height:260px;
  padding:clamp(20px,2vw,26px);
  border-top:5px solid var(--steel-yellow);
}

.steel-sequence-card span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 10px;
  background:var(--steel-yellow);
  color:#111;
  font-size:.68rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.steel-sequence-card h3{
  margin:14px 0 9px;
  color:#151515;
  font-size:clamp(1rem,1.1vw,1.18rem);
  font-weight:950;
  line-height:1.15;
  text-transform:uppercase;
}

.steel-sequence-card p{
  margin:0;
  color:rgba(21,21,21,.74);
  font-size:clamp(.94rem,.98vw,1rem);
  line-height:1.52;
}

.steel-scope-section{
  background:#0d0f10;
}

.steel-scope-layout{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(24px,4vw,52px);
  align-items:start;
}

.steel-scope-heading{
  position:sticky;
  top:96px;
  padding:clamp(24px,3vw,34px);
  border-top:5px solid var(--steel-yellow);
  background:rgba(255,255,255,.06);
}

.steel-scope-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.steel-scope-grid article{
  min-height:170px;
  padding:clamp(20px,2vw,28px);
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.055);
}

.steel-scope-grid strong{
  display:block;
  margin-bottom:10px;
  color:#fff;
  font-size:clamp(1rem,1.08vw,1.18rem);
  font-weight:950;
  line-height:1.15;
  text-transform:uppercase;
}

.steel-scope-grid span{
  color:var(--steel-soft);
  font-size:clamp(.94rem,.98vw,1rem);
  line-height:1.52;
}

.steel-final-cta{
  padding:clamp(58px,6vw,92px) 0;
  background:
    linear-gradient(90deg, rgba(7,8,8,.96), rgba(7,8,8,.82)),
    url('../images/services/Steel/Structural Steel/KIBZ9478.JPEG') center / cover no-repeat;
}

.steel-final-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:end;
  padding:clamp(28px,4vw,48px);
  border:1px solid var(--steel-line);
  border-left:6px solid var(--steel-yellow);
  background:rgba(0,0,0,.68);
  box-shadow:0 28px 72px rgba(0,0,0,.32);
}

@media (max-width:1180px){
  .steel-hero-grid,
  .steel-feature-grid,
  .steel-scope-layout{
    grid-template-columns:1fr;
  }

  .steel-hero-copy{
    max-width:880px;
  }

  .steel-scope-heading{
    position:relative;
    top:auto;
  }

  .steel-sequence-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:820px){
  .steel-proof-grid,
  .steel-feature-list,
  .steel-scope-grid{
    grid-template-columns:1fr;
  }

  .steel-proof-grid div{
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }

  .steel-proof-grid div:last-child{
    border-bottom:0;
  }

  .steel-final-panel{
    grid-template-columns:1fr;
    align-items:start;
  }
}

@media (max-width:640px){
  .steel-container{
    width:calc(100% - 32px);
  }

  .steel-hero-v2{
    min-height:auto;
    padding:76px 16px 56px;
  }

  .steel-hero-copy{
    padding:22px;
  }

  .steel-hero-copy h2{
    font-size:clamp(1.92rem,9.4vw,2.78rem);
    line-height:1.02;
  }

  .steel-kicker{
    white-space:normal;
    min-height:0;
    padding-top:10px;
    padding-bottom:10px;
  }

  .steel-hero-tags,
  .steel-sequence-grid{
    grid-template-columns:1fr;
  }

  .steel-actions,
  .steel-btn{
    width:100%;
  }

  .steel-hero-panel{
    min-height:310px;
  }

  .steel-hero-panel figcaption{
    align-items:flex-start;
    flex-direction:column;
  }

  .steel-hero-panel figcaption strong{
    text-align:left;
  }

  .steel-feature-mosaic,
  .steel-feature-mosaic .steel-mosaic-wide{
    display:block;
  }

  .steel-feature-mosaic img,
  .steel-feature-mosaic .steel-mosaic-wide{
    min-height:250px;
    margin-bottom:12px;
  }

  .steel-feature-copy h2,
  .steel-section-heading h2,
  .steel-scope-heading h2,
  .steel-final-panel h2{
    font-size:clamp(1.68rem,8.2vw,2.35rem);
    line-height:1.08;
  }

  .steel-section-heading{
    text-align:left;
  }
}
/* =========================================================
   NODE 11 EXCAVATION - CONSOLIDATED REDESIGN
   ========================================================= */
.excavation-page{
  --excavation-gold:#ffc107;
  --excavation-ink:#070807;
  --excavation-panel:#121311;
  --excavation-line:rgba(255,193,7,.34);
  background:#070807;
  color:#fff;
  overflow:hidden;
}

.excavation-page *,
.excavation-page *::before,
.excavation-page *::after{
  box-sizing:border-box;
  hyphens:none;
  overflow-wrap:normal;
  word-break:normal;
}

.excavation-page .container{
  width:min(1240px, calc(100% - 40px));
  max-width:none;
}

.excavation-page .section-label{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  padding:.68rem .92rem;
  background:var(--excavation-gold);
  color:#101010;
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}

.excavation-hero{
  position:relative;
  min-height:calc(100vh - 78px);
  isolation:isolate;
  display:flex;
  align-items:center;
  padding:clamp(5rem, 7vw, 7rem) 0 clamp(3.5rem, 6vw, 5.5rem);
}

.excavation-hero-media,
.excavation-hero-media::after,
.excavation-hero-lines{
  position:absolute;
  inset:0;
}

.excavation-hero-media{ z-index:-3; }

.excavation-hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88) contrast(1.08);
  transform:scale(1.04);
  animation:excavationHeroDrift 18s ease-in-out infinite alternate;
}

.excavation-hero-media::after{
  content:"";
  background:
    radial-gradient(circle at 73% 18%, rgba(255,193,7,.18), transparent 30%),
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.78) 48%, rgba(0,0,0,.52) 100%),
    linear-gradient(180deg, rgba(0,0,0,.18) 0%, #070807 100%);
  z-index:1;
}

.excavation-hero-lines{
  z-index:-1;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:72px 72px;
  opacity:.24;
}

.excavation-hero-lines span{
  position:absolute;
  left:-18%;
  width:34%;
  height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,193,7,.82), transparent);
  opacity:.34;
  animation:excavationSweep 7.5s linear infinite;
}

.excavation-hero-lines span:nth-child(1){ top:30%; }
.excavation-hero-lines span:nth-child(2){ top:56%; animation-delay:2s; opacity:.24; }
.excavation-hero-lines span:nth-child(3){ top:76%; animation-delay:3.7s; opacity:.3; }

.excavation-hero-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(540px, .92fr) minmax(430px, .72fr);
  gap:clamp(2rem, 3.6vw, 4rem);
  align-items:center;
}

.excavation-hero-copy{
  padding:clamp(1.15rem, 2.1vw, 1.75rem) 0 clamp(1.2rem, 2vw, 1.6rem) clamp(1rem, 2vw, 1.6rem);
  border-left:6px solid var(--excavation-gold);
}

.excavation-hero-copy h1{
  max-width:880px;
  margin:1rem 0 1rem;
  color:#fff;
  font-size:clamp(2.45rem, 3.45vw, 4.1rem);
  line-height:.97;
  font-weight:1000;
  letter-spacing:0;
  text-transform:uppercase;
  text-shadow:0 26px 80px rgba(0,0,0,.72);
}

.excavation-hero-copy h1 span{
  display:block;
  width:max-content;
  max-width:100%;
}

.excavation-hero-copy h1 span:last-child{ color:var(--excavation-gold); }

.excavation-hero-copy p{
  max-width:760px;
  margin:.7rem 0 0;
  color:rgba(255,255,255,.88);
  font-size:clamp(1rem, 1.15vw, 1.14rem);
  line-height:1.62;
}

.excavation-proof{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  max-width:560px;
  gap:.55rem;
  margin-top:1.1rem;
}

.excavation-proof span{
  display:flex;
  width:100%;
  min-height:38px;
  align-items:center;
  padding:.5rem .78rem;
  border:1px solid rgba(255,193,7,.34);
  background:rgba(255,193,7,.09);
  color:#fff;
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.065em;
  text-transform:uppercase;
}

.excavation-proof span::before{
  content:"";
  flex:0 0 7px;
  width:7px;
  height:7px;
  margin-right:.55rem;
  background:var(--excavation-gold);
  box-shadow:0 0 18px rgba(255,193,7,.72);
}

.excavation-page .hero-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:1.45rem;
}

.excavation-page .hero-cta{
  display:inline-flex;
  min-height:50px;
  min-width:180px;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  padding:.82rem 1.25rem;
  border:2px solid var(--excavation-gold);
  background:var(--excavation-gold);
  color:#111 !important;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

.excavation-page .hero-cta.secondary{
  background:rgba(0,0,0,.32);
  border-color:rgba(255,255,255,.42);
  color:#fff !important;
}

.excavation-page .hero-cta:hover{
  transform:translateY(-3px);
}

.excavation-hero-panel{
  position:relative;
  min-height:520px;
  border:1px solid rgba(255,255,255,.18);
  border-bottom:5px solid var(--excavation-gold);
  box-shadow:0 36px 90px rgba(0,0,0,.42);
  overflow:hidden;
}

.excavation-hero-panel img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  filter:saturate(.94) contrast(1.08);
}

.excavation-hero-panel > div{
  position:absolute;
  left:1.25rem;
  right:1.25rem;
  bottom:1.25rem;
  padding:1.35rem;
  border-left:5px solid var(--excavation-gold);
  background:linear-gradient(145deg, rgba(0,0,0,.86), rgba(0,0,0,.58));
  backdrop-filter:blur(8px);
}

.excavation-hero-panel strong{
  display:block;
  color:#fff;
  font-size:1.25rem;
  font-weight:950;
  text-transform:uppercase;
}

.excavation-hero-panel p{
  margin:.5rem 0 0;
  color:rgba(255,255,255,.78);
  line-height:1.55;
}

.excavation-intro-band,
.excavation-capabilities,
.excavation-method,
.excavation-scope,
.excavation-cta{
  position:relative;
  padding:clamp(4.4rem, 7vw, 6.6rem) 0;
}

.excavation-intro-band{
  background:linear-gradient(180deg, #070807 0%, #10110f 100%);
  border-top:1px solid rgba(255,193,7,.22);
  border-bottom:1px solid rgba(255,255,255,.1);
}

.excavation-intro-grid{
  display:grid;
  grid-template-columns:minmax(0, .82fr) minmax(420px, .58fr);
  gap:clamp(1.4rem, 4vw, 4rem);
  align-items:center;
}

.excavation-section-heading{
  max-width:980px;
}

.excavation-section-heading h2,
.excavation-detail-copy h2,
.excavation-scope-inner h2,
.excavation-cta-panel h2{
  margin:1rem 0;
  color:#fff;
  font-size:clamp(1.9rem, 2.75vw, 3.15rem);
  line-height:1.04;
  font-weight:1000;
  letter-spacing:0;
  text-transform:uppercase;
}

.excavation-section-heading p,
.excavation-detail-copy p,
.excavation-scope-inner p,
.excavation-cta-panel p{
  max-width:820px;
  color:rgba(255,255,255,.74);
  font-size:1rem;
  line-height:1.72;
}

.excavation-mini-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1px;
  border:1px solid rgba(255,193,7,.28);
  background:rgba(255,193,7,.22);
  box-shadow:0 30px 80px rgba(0,0,0,.34);
}

.excavation-mini-grid span{
  min-height:108px;
  display:flex;
  align-items:center;
  padding:1.1rem;
  background:#111210;
  color:#fff;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.excavation-capabilities{
  background:#f3f0e8;
  color:#111;
}

.excavation-capabilities .section-label{ background:#111; color:#fff; }
.excavation-capabilities h2{ color:#111; }
.excavation-capabilities .excavation-section-heading p{ color:rgba(0,0,0,.68); }

.excavation-capability-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1.15rem;
  margin-top:2rem;
}

.excavation-capability-card{
  min-height:430px;
  position:relative;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  background:#111;
  box-shadow:0 28px 80px rgba(0,0,0,.16);
}

.excavation-capability-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.95) contrast(1.05);
  transition:transform .45s ease;
}

.excavation-capability-card:hover img{ transform:scale(1.05); }

.excavation-capability-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.84) 100%);
}

.excavation-capability-card div{
  position:relative;
  z-index:2;
  width:100%;
  padding:1.35rem;
  border-left:5px solid var(--excavation-gold);
  background:linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.28));
}

.excavation-capability-card h3{
  margin:0 0 .55rem;
  color:#fff;
  font-size:clamp(1.35rem, 2vw, 2rem);
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
}

.excavation-capability-card p{
  margin:0;
  color:rgba(255,255,255,.76);
  line-height:1.55;
}

.excavation-detail-band{
  position:relative;
  padding:clamp(4.4rem, 7vw, 6.6rem) 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.78) 100%),
    url('../images/gallery/Gallery Page Used/machinery.jpeg') center / cover no-repeat;
}

.excavation-detail-layout{
  display:grid;
  grid-template-columns:minmax(420px, .8fr) minmax(500px, .9fr);
  gap:clamp(1.8rem, 4.4vw, 4.5rem);
  align-items:center;
}

.excavation-detail-copy{
  padding-left:1.4rem;
  border-left:6px solid var(--excavation-gold);
}

.excavation-check-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1px;
  background:rgba(255,193,7,.24);
  border:1px solid rgba(255,193,7,.3);
}

.excavation-check-grid div{
  min-height:178px;
  padding:1.35rem;
  background:rgba(11,12,11,.88);
}

.excavation-check-grid strong,
.excavation-check-grid span{
  display:block;
}

.excavation-check-grid strong{
  color:#fff;
  font-size:1rem;
  font-weight:950;
  text-transform:uppercase;
}

.excavation-check-grid span{
  margin-top:.7rem;
  color:rgba(255,255,255,.7);
  line-height:1.55;
}

.excavation-method{
  background:#090a09;
  padding-top:clamp(3.5rem, 5vw, 5rem);
}

.excavation-method-image-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(440px, 1fr));
  gap:clamp(1rem, 1.8vw, 1.45rem);
  margin-top:1.55rem;
}

.excavation-method-image-card{
  position:relative;
  min-height:410px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 28px 80px rgba(0,0,0,.3);
}

.excavation-method-image-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.08);
}

.excavation-method-copy{
  position:absolute;
  left:1rem;
  top:1rem;
  bottom:1rem;
  width:min(48%, 390px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(1.05rem, 1.65vw, 1.35rem);
  color:#fff;
}

.excavation-method-copy span{
  width:max-content;
  max-width:100%;
  padding:.52rem .7rem;
  background:var(--excavation-gold);
  color:#111;
  font-size:.7rem;
  font-weight:1000;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.excavation-method-copy h3{
  margin:1rem 0 .75rem;
  color:#fff;
  font-size:clamp(1.24rem, 1.55vw, 1.58rem);
  line-height:1.08;
  font-weight:1000;
  text-transform:uppercase;
}

.excavation-method-copy p{
  margin:0;
  color:rgba(255,255,255,.82);
  font-size:clamp(.92rem, 1vw, 1rem);
  line-height:1.48;
}

.excavation-scope{
  background:#f3f0e8;
  color:#111;
}

.excavation-scope-inner{
  display:grid;
  grid-template-columns:minmax(0, .8fr) minmax(520px, 1fr);
  gap:clamp(1.5rem, 4vw, 3.4rem);
  align-items:start;
}

.excavation-scope .section-label{ background:#111; color:#fff; }
.excavation-scope h2{ color:#111; }
.excavation-scope p{ color:rgba(0,0,0,.66); }

.excavation-scope ul{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1px;
  margin:0;
  padding:0;
  list-style:none;
  background:rgba(0,0,0,.14);
  border:1px solid rgba(0,0,0,.14);
}

.excavation-scope li{
  min-height:156px;
  padding:1.15rem;
  background:#fff;
  border-top:4px solid var(--excavation-gold);
}

.excavation-scope li strong,
.excavation-scope li span{
  display:block;
}

.excavation-scope li strong{
  color:#111;
  font-size:1rem;
  font-weight:950;
  text-transform:uppercase;
}

.excavation-scope li span{
  margin-top:.65rem;
  color:rgba(0,0,0,.66);
  line-height:1.52;
}

.excavation-cta{
  background:
    linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.72)),
    url('../images/gallery/Gallery Page Used/IMG_6580.jpeg') center / cover no-repeat;
}

.excavation-cta-panel{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:1.4rem;
  align-items:center;
  padding:clamp(1.6rem, 4vw, 3rem);
  border:1px solid rgba(255,193,7,.28);
  border-left:6px solid var(--excavation-gold);
  background:linear-gradient(145deg, rgba(0,0,0,.76), rgba(0,0,0,.42));
  box-shadow:0 34px 90px rgba(0,0,0,.38);
  backdrop-filter:blur(8px);
}

.excavation-cta-panel p + p{ margin-top:.65rem; }

@keyframes excavationHeroDrift{
  from{ transform:scale(1.04) translate3d(0,0,0); }
  to{ transform:scale(1.1) translate3d(1.6%, -1%, 0); }
}

@keyframes excavationSweep{
  from{ transform:translateX(0); }
  to{ transform:translateX(420%); }
}

@media (max-width:1120px){
  .excavation-hero-inner,
  .excavation-intro-grid,
  .excavation-detail-layout,
  .excavation-scope-inner{
    grid-template-columns:1fr;
  }

  .excavation-method-image-grid{
    grid-template-columns:1fr;
  }

  .excavation-hero-panel{
    min-height:420px;
  }

  .excavation-hero-panel img{
    min-height:420px;
  }
}

@media (max-width:760px){
  .excavation-page .container{
    width:min(1280px, calc(100% - 28px));
  }

  .excavation-hero{
    min-height:auto;
    padding:6.2rem 0 3.2rem;
  }

  .excavation-hero-copy{
    padding-left:1rem;
    border-left-width:4px;
  }

  .excavation-hero-copy h1{
    font-size:clamp(2rem, 9vw, 2.85rem);
    line-height:1;
  }

  .excavation-hero-copy h1 span{
    width:auto;
    white-space:normal;
  }

  .excavation-proof,
  .excavation-mini-grid,
  .excavation-capability-grid,
  .excavation-check-grid,
  .excavation-method-image-grid,
  .excavation-scope ul{
    grid-template-columns:1fr;
  }

  .excavation-proof{
    max-width:100%;
  }

  .excavation-proof span{
    font-size:.66rem;
  }

  .excavation-page .hero-buttons,
  .excavation-cta-panel{
    grid-template-columns:1fr;
  }

  .excavation-page .hero-buttons{
    flex-direction:column;
    align-items:stretch;
  }

  .excavation-page .hero-cta{
    width:100%;
    min-width:0;
  }

  .excavation-hero-panel,
  .excavation-hero-panel img{
    min-height:360px;
  }

  .excavation-capability-card{
    min-height:340px;
  }

  .excavation-method-image-card{
    min-height:380px;
  }

  .excavation-method-copy{
    width:min(48%, 300px);
    padding:.95rem;
  }

  .excavation-section-heading h2,
  .excavation-detail-copy h2,
  .excavation-scope-inner h2,
  .excavation-cta-panel h2{
    font-size:clamp(1.72rem, 7.4vw, 2.45rem);
  }
}

@media (max-width:430px){
  .excavation-method-copy{
    width:48%;
    padding:.82rem;
  }

  .excavation-method-copy h3{
    font-size:clamp(1rem, 5vw, 1.28rem);
    line-height:1.12;
    text-transform:none;
  }

  .excavation-method-copy p{
    font-size:clamp(.78rem, 3.45vw, .9rem);
    line-height:1.38;
  }
}

@media (prefers-reduced-motion:reduce){
  .excavation-hero-media img,
  .excavation-hero-lines span{
    animation:none;
  }
}
/* ===== NODE 16 EXTERIOR RENOVATION PAGE ===== */
.exterior-page {
  --ex-ink: #0b0d0f;
  --ex-panel: #202020;
  --ex-yellow: #ffc107;
  --ex-paper: #f3f0e8;
  --ex-muted: #68645d;
  background: var(--ex-paper);
  color: var(--ex-ink);
  overflow: hidden;
}

.exterior-page *,
.exterior-page *::before,
.exterior-page *::after {
  box-sizing: border-box;
}

.exterior-page h1,
.exterior-page h2,
.exterior-page h3,
.exterior-page p,
.exterior-page span,
.exterior-page a {
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.exterior-hero {
  position: relative;
  min-height: clamp(660px, 84vh, 900px);
  display: flex;
  align-items: center;
  isolation: isolate;
  background: #050505;
  padding: 9rem 0 5.5rem;
}

.exterior-hero-bg,
.exterior-hero-shade {
  position: absolute;
  inset: 0;
}

.exterior-hero-bg {
  background-position: center;
  background-size: cover;
  transform: scale(1.04);
  animation: exteriorHeroDrift 18s ease-in-out infinite alternate;
  z-index: -3;
}

.exterior-hero-shade {
  background:
    linear-gradient(90deg, rgba(0,0,0,.94) 0%, rgba(0,0,0,.82) 38%, rgba(0,0,0,.42) 74%, rgba(0,0,0,.64) 100%),
    linear-gradient(180deg, rgba(0,0,0,.5), rgba(0,0,0,.82));
  z-index: -2;
}

.exterior-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(0,0,0,0), var(--ex-paper));
  z-index: -1;
}

.exterior-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5.5rem);
  align-items: center;
}

.exterior-hero-copy {
  max-width: 1040px;
}

.exterior-kicker,
.exterior-section-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  background: var(--ex-yellow);
  color: #111;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height: 1;
  padding: .8rem 1rem;
}

.exterior-hero-copy h2 {
  margin: 1.35rem 0 1.2rem;
  max-width: 980px;
  color: #fff;
  font-size: clamp(3.05rem, 6.6vw, 7rem);
  line-height: .93;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.exterior-hero-copy p {
  max-width: 860px;
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(1rem, 1.24vw, 1.24rem);
  line-height: 1.72;
}

.exterior-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  margin-top: 2rem;
}

.exterior-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: .9rem 1.35rem;
  border-radius: 4px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
  text-decoration: none;
  transition: transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
}

.exterior-btn:hover {
  transform: translateY(-2px);
}

.exterior-btn-primary {
  background: var(--ex-yellow);
  color: #101010;
  border: 2px solid var(--ex-yellow);
}

.exterior-btn-ghost {
  color: #fff;
  border: 2px solid rgba(255,255,255,.78);
  background: rgba(255,255,255,.04);
}

.exterior-btn-ghost:hover {
  background: #fff;
  color: #111;
}

.exterior-hero-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr));
  gap: .85rem;
  width: min(860px, 100%);
  margin-top: 2rem;
  padding: clamp(1rem, 1.7vw, 1.25rem);
  background: rgba(12,12,12,.82);
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(8px);
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
}

.exterior-hero-panel span {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .82rem 1rem;
  color: #fff;
  background: rgba(255,255,255,.08);
  border-left: 4px solid var(--ex-yellow);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: clamp(.78rem, .82vw, .9rem);
  line-height: 1.2;
  text-align: center;
  white-space: normal;
}

.exterior-overview,
.exterior-featured,
.exterior-systems,
.exterior-process,
.exterior-cta {
  position: relative;
  padding: clamp(4.5rem, 8vw, 7.5rem) 0;
}

.exterior-overview-grid,
.exterior-systems-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.exterior-overview-copy h2,
.exterior-systems-copy h2,
.exterior-heading h2,
.exterior-cta h2 {
  margin: 1rem 0 1.15rem;
  color: var(--ex-ink);
  font-size: clamp(2rem, 4.1vw, 4.35rem);
  line-height: 1.04;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.exterior-overview-copy p,
.exterior-systems-copy p,
.exterior-cta p {
  margin: 0 0 1rem;
  max-width: 840px;
  color: var(--ex-muted);
  font-size: clamp(1rem, 1.15vw, 1.16rem);
  line-height: 1.72;
}

.exterior-overview-image {
  position: relative;
  min-height: clamp(360px, 42vw, 560px);
  overflow: hidden;
  box-shadow: 0 25px 80px rgba(20,18,12,.18);
  border: 10px solid #fff;
}

.exterior-overview-image::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 2px solid rgba(255,193,7,.72);
  z-index: 2;
  pointer-events: none;
}

.exterior-overview-image img,
.exterior-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.exterior-heading {
  max-width: 960px;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.exterior-featured {
  background: #fff;
}

.exterior-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}

.exterior-service-card {
  position: relative;
  background: #111;
  color: #fff;
  min-height: 100%;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(0,0,0,.16);
  transition: transform .24s ease, box-shadow .24s ease;
}

.exterior-service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 80px rgba(0,0,0,.24);
}

.exterior-card-image {
  height: clamp(220px, 22vw, 320px);
  overflow: hidden;
}

.exterior-card-image img {
  transition: transform .5s ease;
}

.exterior-service-card:hover .exterior-card-image img {
  transform: scale(1.05);
}

.exterior-card-copy {
  padding: clamp(1.35rem, 2.2vw, 2rem);
  border-top: 5px solid var(--ex-yellow);
}

.exterior-card-copy h3,
.exterior-process-card h3 {
  margin: 0 0 .8rem;
  color: inherit;
  font-size: clamp(1.22rem, 1.45vw, 1.55rem);
  line-height: 1.16;
  text-transform: uppercase;
  letter-spacing: 0;
}

.exterior-card-copy p,
.exterior-process-card p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(1rem, 1.02vw, 1.08rem);
  line-height: 1.68;
}

.exterior-systems {
  background:
    linear-gradient(90deg, rgba(12,12,12,.96), rgba(12,12,12,.9)),
    url('../images/services/construction-management.jpg?v=20260830b') center / cover no-repeat;
  color: #fff;
}

.exterior-systems-copy h2,
.exterior-systems-copy p {
  color: #fff;
}

.exterior-systems-copy p {
  color: rgba(255,255,255,.76);
}

.exterior-chip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.exterior-chip-grid span {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: .8rem 1rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-left: 4px solid var(--ex-yellow);
  color: #fff;
  font-size: clamp(.88rem, .92vw, 1rem);
  font-weight: 850;
  line-height: 1.25;
}

.exterior-process {
  background: linear-gradient(180deg, #f6f3ed, #ebe6dc);
}

.exterior-process-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 1rem;
  background: transparent;
  border: 0;
}

.exterior-process-card {
  position: relative;
  min-height: 300px;
  padding: clamp(1.55rem, 2.6vw, 2.35rem);
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 18px 50px rgba(20,18,12,.08);
  overflow: hidden;
}

.exterior-process-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 7px;
  background: repeating-linear-gradient(90deg, var(--ex-yellow) 0 20px, #111 20px 40px);
  opacity: .78;
}

.exterior-process-card span {
  display: inline-flex;
  margin-bottom: 1.1rem;
  padding: .58rem .75rem;
  background: var(--ex-yellow);
  color: #111;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .78rem;
}

.exterior-process-card h3 {
  color: #111;
}

.exterior-process-card p {
  color: #5f5a52;
}

.exterior-cta {
  background:
    linear-gradient(90deg, rgba(0,0,0,.94), rgba(0,0,0,.74)),
    url('../images/ui/service-icons/exterior-envelope.jpeg') center / cover no-repeat;
  color: #fff;
}

.exterior-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.exterior-cta h2,
.exterior-cta p {
  color: #fff;
}

.exterior-cta p {
  color: rgba(255,255,255,.78);
  margin-bottom: 0;
}

@keyframes exteriorHeroDrift {
  from { transform: scale(1.04) translate3d(0,0,0); }
  to { transform: scale(1.1) translate3d(-18px,-10px,0); }
}

@media (max-width: 1180px) {
  .exterior-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exterior-hero-grid,
  .exterior-overview-grid,
  .exterior-systems-grid {
    grid-template-columns: 1fr;
  }

  .exterior-hero-panel {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 820px;
  }
}

@media (max-width: 760px) {
  .exterior-hero {
    min-height: auto;
    padding: 7.5rem 0 5rem;
  }

  .exterior-hero-copy h2 {
    font-size: clamp(2.55rem, 12vw, 4.1rem);
    line-height: .96;
  }

  .exterior-hero-copy p,
  .exterior-overview-copy p,
  .exterior-systems-copy p,
  .exterior-cta p {
    font-size: 1rem;
    line-height: 1.62;
  }

  .exterior-hero-actions,
  .exterior-cta-inner {
    display: grid;
    grid-template-columns: 1fr;
  }

  .exterior-btn {
    width: 100%;
  }

  .exterior-service-grid,
  .exterior-process-grid,
  .exterior-chip-grid {
    grid-template-columns: 1fr;
  }

  .exterior-hero-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exterior-hero-panel span {
    min-height: 48px;
    font-size: .76rem;
    padding: .78rem .7rem;
  }

  .exterior-overview-image {
    min-height: 310px;
    border-width: 6px;
  }

  .exterior-process-card {
    min-height: auto;
  }
}

@media (max-width: 520px) {
  .exterior-hero-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .exterior-kicker,
  .exterior-section-label {
    font-size: .7rem;
    padding: .7rem .82rem;
  }

  .exterior-overview-copy h2,
  .exterior-systems-copy h2,
  .exterior-heading h2,
  .exterior-cta h2 {
    font-size: clamp(1.85rem, 11vw, 2.7rem);
  }

  .exterior-card-copy,
  .exterior-process-card {
    padding: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .exterior-hero-bg,
  .exterior-service-card,
  .exterior-card-image img,
  .exterior-btn {
    animation: none;
    transition: none;
  }
}

/* ===== NODE 12 INTERIOR RENOVATION PAGE ===== */
.interior-page {
  --int-ink: #101113;
  --int-charcoal: #17191d;
  --int-panel: #24262b;
  --int-gold: #ffc107;
  --int-copper: #b97937;
  --int-paper: #f5f2ec;
  --int-muted: #66615a;
  background: var(--int-paper);
  color: var(--int-ink);
  overflow: hidden;
}

.interior-page *,
.interior-page *::before,
.interior-page *::after {
  box-sizing: border-box;
}

.interior-page h1,
.interior-page h2,
.interior-page h3,
.interior-page p,
.interior-page span,
.interior-page a {
  hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}

.interior-hero {
  position: relative;
  min-height: clamp(680px, 88vh, 940px);
  display: flex;
  align-items: center;
  padding: 9rem 0 5.5rem;
  background: #050505;
  isolation: isolate;
}

.interior-hero-bg,
.interior-hero-shade {
  position: absolute;
  inset: 0;
}

.interior-hero-bg {
  background-position: center;
  background-size: cover;
  transform: scale(1.04);
  filter: saturate(.92) contrast(1.08);
  animation: interiorHeroDrift 18s ease-in-out infinite alternate;
  z-index: -3;
}

.interior-hero-shade {
  background:
    linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.78) 44%, rgba(0,0,0,.44) 100%),
    linear-gradient(180deg, rgba(0,0,0,.24), rgba(0,0,0,.88));
  z-index: -2;
}

.interior-hero::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(0,0,0,0), var(--int-paper));
  z-index: -1;
}

.interior-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
}

.interior-hero-copy {
  max-width: 1060px;
}

.interior-kicker,
.interior-section-label {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: .78rem 1rem;
  background: var(--int-gold);
  color: #111;
  font-size: .78rem;
  font-weight: 950;
  line-height: 1;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.interior-hero-copy h2 {
  margin: 1.25rem 0 1.2rem;
  max-width: 980px;
  color: #fff;
  font-size: clamp(3rem, 6.7vw, 7.2rem);
  line-height: .93;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.interior-hero-copy p {
  max-width: 850px;
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: clamp(1rem, 1.22vw, 1.24rem);
  line-height: 1.72;
}

.interior-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  margin-top: 2rem;
}

.interior-btn {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: .9rem 1.35rem;
  border-radius: 4px;
  font-weight: 950;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .22s ease, background .22s ease, color .22s ease;
}

.interior-btn:hover {
  transform: translateY(-2px);
}

.interior-btn-primary {
  border: 2px solid var(--int-gold);
  background: var(--int-gold);
  color: #101010;
}

.interior-btn-ghost {
  border: 2px solid rgba(255,255,255,.78);
  background: rgba(255,255,255,.04);
  color: #fff;
}

.interior-btn-ghost:hover {
  background: #fff;
  color: #111;
}

.interior-hero-board {
  display: grid;
  width: min(900px, 100%);
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: .8rem;
  margin-top: 2rem;
  padding: clamp(1rem, 1.6vw, 1.2rem);
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(16,17,19,.82);
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
  backdrop-filter: blur(8px);
}

.interior-hero-board span,
.interior-chip-grid span {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: .78rem .9rem;
  border-left: 4px solid var(--int-gold);
  font-size: clamp(.78rem, .86vw, .94rem);
  font-weight: 900;
  line-height: 1.22;
  text-transform: uppercase;
}

.interior-hero-board span {
  justify-content: center;
  background: rgba(255,255,255,.08);
  color: #fff;
  text-align: center;
}

.interior-overview,
.interior-services,
.interior-scope,
.interior-process,
.interior-cta {
  position: relative;
  padding: clamp(4.5rem, 8vw, 7.4rem) 0;
}

.interior-overview-grid,
.interior-scope-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .75fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.interior-overview-copy h2,
.interior-scope-copy h2,
.interior-heading h2,
.interior-cta h2 {
  margin: 1rem 0 1.15rem;
  color: var(--int-ink);
  font-size: clamp(2rem, 4.1vw, 4.25rem);
  line-height: 1.04;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.interior-overview-copy p,
.interior-scope-copy p,
.interior-cta p {
  max-width: 860px;
  margin: 0 0 1rem;
  color: var(--int-muted);
  font-size: clamp(1rem, 1.15vw, 1.16rem);
  line-height: 1.72;
}

.interior-overview-stack {
  position: relative;
  min-height: clamp(420px, 46vw, 620px);
}

.interior-overview-stack img {
  display: block;
  width: 100%;
  object-fit: cover;
  box-shadow: 0 25px 80px rgba(20,18,12,.18);
}

.interior-stack-main {
  height: clamp(330px, 38vw, 500px);
  border: 9px solid #fff;
}

.interior-stack-small {
  position: absolute;
  right: -5%;
  bottom: 0;
  width: min(52%, 310px);
  height: clamp(190px, 22vw, 280px);
  border: 7px solid #fff;
}

.interior-services {
  background: #fff;
}

.interior-heading {
  max-width: 960px;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.interior-service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.6rem);
}

.interior-service-card {
  background: #111;
  color: #fff;
  overflow: hidden;
  box-shadow: 0 22px 60px rgba(0,0,0,.16);
  transition: transform .24s ease, box-shadow .24s ease;
}

.interior-service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 30px 80px rgba(0,0,0,.24);
}

.interior-service-card img {
  display: block;
  width: 100%;
  height: clamp(220px, 22vw, 320px);
  object-fit: cover;
  transition: transform .5s ease;
}

.interior-service-card:hover img {
  transform: scale(1.05);
}

.interior-service-card div {
  padding: clamp(1.35rem, 2.2vw, 2rem);
  border-top: 5px solid var(--int-gold);
}

.interior-service-card h3,
.interior-process-card h3 {
  margin: 0 0 .8rem;
  color: inherit;
  font-size: clamp(1.22rem, 1.45vw, 1.55rem);
  line-height: 1.16;
  letter-spacing: 0;
  text-transform: uppercase;
}

.interior-service-card p,
.interior-process-card p {
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: clamp(1rem, 1.02vw, 1.08rem);
  line-height: 1.68;
}

.interior-scope {
  background:
    linear-gradient(90deg, rgba(16,17,19,.96), rgba(16,17,19,.9)),
    url('../images/services/Interior/tools.jpg') center / cover no-repeat;
  color: #fff;
}

.interior-scope-copy h2,
.interior-scope-copy p {
  color: #fff;
}

.interior-scope-copy p {
  color: rgba(255,255,255,.76);
}

.interior-chip-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .78rem;
}

.interior-chip-grid span {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-left: 4px solid var(--int-gold);
  color: #fff;
}

.interior-process {
  background: linear-gradient(180deg, #f7f4ee, #ebe6dc);
}

.interior-process-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 1rem;
}

.interior-process-card {
  position: relative;
  min-height: 300px;
  padding: clamp(1.55rem, 2.6vw, 2.35rem);
  background: #fff;
  border: 1px solid rgba(0,0,0,.1);
  box-shadow: 0 18px 50px rgba(20,18,12,.08);
  overflow: hidden;
}

.interior-process-card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 7px;
  background: repeating-linear-gradient(90deg, var(--int-gold) 0 20px, #111 20px 40px);
}

.interior-process-card span {
  display: inline-flex;
  margin-bottom: 1.1rem;
  padding: .58rem .75rem;
  background: var(--int-gold);
  color: #111;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.interior-process-card h3 {
  color: #111;
}

.interior-process-card p {
  color: #5f5a52;
}

.interior-cta {
  background:
    linear-gradient(90deg, rgba(0,0,0,.94), rgba(0,0,0,.7)),
    url('../images/gallery/Gallery Page Used/Washroom Tile.jpg?v=20260802-2') center / cover no-repeat;
  color: #fff;
}

.interior-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: center;
}

.interior-cta h2,
.interior-cta p {
  color: #fff;
}

.interior-cta p {
  color: rgba(255,255,255,.78);
  margin-bottom: 0;
}

@keyframes interiorHeroDrift {
  from { transform: scale(1.04) translate3d(0,0,0); }
  to { transform: scale(1.1) translate3d(-18px,-10px,0); }
}

@media (max-width: 1180px) {
  .interior-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .interior-overview-grid,
  .interior-scope-grid {
    grid-template-columns: 1fr;
  }

  .interior-hero-board {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 900px;
  }
}

@media (max-width: 760px) {
  .interior-hero {
    min-height: auto;
    padding: 7.5rem 0 5rem;
  }

  .interior-hero-copy h2 {
    font-size: clamp(2.45rem, 11.5vw, 4rem);
    line-height: .96;
  }

  .interior-hero-copy p,
  .interior-overview-copy p,
  .interior-scope-copy p,
  .interior-cta p {
    font-size: 1rem;
    line-height: 1.62;
  }

  .interior-hero-actions,
  .interior-cta-inner {
    display: grid;
    grid-template-columns: 1fr;
  }

  .interior-btn {
    width: 100%;
  }

  .interior-service-grid,
  .interior-process-grid,
  .interior-chip-grid {
    grid-template-columns: 1fr;
  }

  .interior-hero-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .interior-overview-stack {
    min-height: auto;
  }

  .interior-stack-main {
    height: 320px;
    border-width: 6px;
  }

  .interior-stack-small {
    position: relative;
    right: auto;
    bottom: auto;
    width: 72%;
    height: 210px;
    margin: -3rem 0 0 auto;
    border-width: 6px;
  }

  .interior-process-card {
    min-height: auto;
  }
}

@media (max-width: 430px) {
  .interior-hero-board {
    grid-template-columns: 1fr;
  }

  .interior-kicker,
  .interior-section-label {
    font-size: .7rem;
    padding: .7rem .82rem;
  }

  .interior-overview-copy h2,
  .interior-scope-copy h2,
  .interior-heading h2,
  .interior-cta h2 {
    font-size: clamp(1.85rem, 10vw, 2.65rem);
  }

  .interior-service-card div,
  .interior-process-card {
    padding: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .interior-hero-bg,
  .interior-service-card,
  .interior-service-card img,
  .interior-btn {
    animation: none;
    transition: none;
  }
}

/* ===== END NODE 12 INTERIOR RENOVATION PAGE ===== */

/* =========================================================
   NODE 18 MECHANICAL SYSTEMS — CONSOLIDATED
   ========================================================= */
.mechanical-page{--mech-navy:#07151d;--mech-blue:#13a8c7;--mech-cyan:#8de8f0;--mech-paper:#eef3f2;--mech-ink:#10252d;background:#fff;color:var(--mech-ink);overflow:hidden}.mechanical-page,.mechanical-page *,.mechanical-page *::before,.mechanical-page *::after{box-sizing:border-box;hyphens:none;word-break:normal;overflow-wrap:normal}.mechanical-page img{display:block;width:100%}.mechanical-page a{text-decoration:none}.mechanical-eyebrow,.mechanical-heading>span,.mechanical-intro-heading>span{display:inline-flex;align-items:center;gap:10px;color:var(--mech-blue);font-size:.76rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.mechanical-eyebrow:before,.mechanical-heading>span:before,.mechanical-intro-heading>span:before{content:"";width:34px;height:2px;background:currentColor}
.mechanical-hero{position:relative;min-height:720px;padding:clamp(92px,10vw,150px) clamp(20px,6vw,92px) 82px;background:radial-gradient(circle at 82% 20%,rgba(19,168,199,.17),transparent 30%),linear-gradient(120deg,#06141c,#0b2631);color:#fff}.mechanical-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 82%)}.mechanical-hero:after{content:"";position:absolute;top:0;bottom:0;left:-25%;width:14%;background:linear-gradient(90deg,transparent,rgba(141,232,240,.055),transparent);transform:skewX(-14deg);animation:mechanical-scan 8s ease-in-out infinite}.mechanical-hero-copy{position:relative;z-index:2;width:min(660px,53%)}.mechanical-hero h1{margin:22px 0;color:#fff;font-size:clamp(2.7rem,4.55vw,5.15rem);font-weight:900;letter-spacing:-.035em;line-height:.98;text-wrap:balance}.mechanical-hero h1 em{color:var(--mech-cyan);font-style:normal}.mechanical-hero-copy>p{max-width:620px;margin:0;color:rgba(255,255,255,.75);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7}.mechanical-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:30px}.mechanical-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;overflow:hidden;background:var(--mech-blue);color:#fff;font-size:.84rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:.25s}.mechanical-btn:hover{background:#fff;color:var(--mech-navy);transform:translateY(-3px)}.mechanical-btn:after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .55s}.mechanical-btn:hover:after{transform:translateX(120%)}.mechanical-link{color:#fff;font-weight:800}.mechanical-hero-card{position:absolute;z-index:1;top:clamp(75px,8vw,115px);right:clamp(20px,5vw,76px);width:min(38vw,500px);height:470px;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.42);animation:mechanical-float 6s ease-in-out infinite}.mechanical-hero-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(2,14,20,.95))}.mechanical-hero-card img{height:100%;object-fit:cover}.mechanical-hero-card div{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;padding-left:17px;border-left:3px solid var(--mech-blue)}.mechanical-hero-card span,.mechanical-hero-card strong{display:block;text-transform:uppercase}.mechanical-hero-card span{color:var(--mech-cyan);font-size:.7rem;font-weight:900;letter-spacing:.14em}.mechanical-hero-card strong{margin-top:7px;color:#fff;font-size:1.15rem}.mechanical-stats{position:absolute;z-index:3;left:clamp(20px,6vw,92px);bottom:0;display:grid;grid-template-columns:repeat(3,1fr);max-width:670px;transform:translateY(50%);background:#fff;color:var(--mech-ink);box-shadow:0 18px 50px rgba(0,0,0,.18)}.mechanical-stats div{display:flex;align-items:center;gap:14px;padding:20px 23px;border-right:1px solid #dbe5e5}.mechanical-stats strong{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(19,168,199,.12);color:var(--mech-blue);font-size:1rem}.mechanical-stats span{font-size:.78rem;font-weight:900;line-height:1.25;text-transform:uppercase}
.mechanical-intro{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(30px,7vw,100px);align-items:center;padding:clamp(105px,11vw,150px) clamp(20px,7vw,110px) clamp(70px,8vw,110px);background:linear-gradient(135deg,#f8fbfa,#fff 58%,#eaf5f5)}.mechanical-intro-heading h2,.mechanical-heading h2,.mechanical-feature h2,.mechanical-cta h2{margin:18px 0 28px;font-size:clamp(2.35rem,3.7vw,4.35rem);font-weight:900;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}.mechanical-intro-heading h2 em{color:var(--mech-blue);font-style:normal}.mechanical-flow-line{display:flex;align-items:center;position:relative;width:min(410px,90%);height:18px;overflow:hidden;border-left:3px solid var(--mech-blue);background:linear-gradient(90deg,rgba(19,168,199,.13),transparent)}.mechanical-flow-line:before{content:"";width:100%;height:1px;background:linear-gradient(90deg,var(--mech-blue),transparent)}.mechanical-flow-line i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--mech-cyan);box-shadow:0 0 12px var(--mech-blue);animation:mechanical-flow 3.6s linear infinite}.mechanical-flow-line i:nth-child(2){animation-delay:-1.2s}.mechanical-flow-line i:nth-child(3){animation-delay:-2.4s}.mechanical-intro-content{max-width:720px;padding:clamp(28px,3.4vw,48px);border-top:4px solid var(--mech-blue);background:rgba(255,255,255,.86);box-shadow:0 24px 65px rgba(7,21,29,.1)}.mechanical-intro-content p{margin:0;color:#52646a;line-height:1.8}.mechanical-intro-content .mechanical-intro-lead{margin-bottom:20px;color:var(--mech-ink);font-size:clamp(1.12rem,1.35vw,1.35rem);font-weight:750;line-height:1.55}.mechanical-intro-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:30px;background:#d8e4e4;border:1px solid #d8e4e4}.mechanical-intro-pillars div{padding:18px;background:#f7fbfa}.mechanical-intro-pillars span,.mechanical-intro-pillars small{display:block}.mechanical-intro-pillars span{font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mechanical-intro-pillars small{margin-top:5px;color:#687a80}
.mechanical-services{padding:clamp(70px,8vw,110px) clamp(20px,7vw,110px);background:var(--mech-navy);color:#fff}.mechanical-heading{max-width:820px}.mechanical-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}.mechanical-grid article{min-height:260px;padding:36px 32px;border-right:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);transition:.25s}.mechanical-grid article:hover{background:rgba(19,168,199,.1);transform:translateY(-4px)}.mechanical-card-mark{display:block;width:42px;height:4px;background:linear-gradient(90deg,var(--mech-blue),var(--mech-cyan))}.mechanical-grid h3{margin:34px 0 13px;color:#fff;font-size:1.3rem}.mechanical-grid p{margin:0;color:rgba(255,255,255,.64);line-height:1.65}
.mechanical-feature{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--mech-paper)}.mechanical-feature-image img{height:100%;object-fit:cover}.mechanical-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(46px,7vw,100px)}.mechanical-feature-copy>p,.mechanical-steps p{color:#52646a;line-height:1.8}.mechanical-feature-copy ul{display:grid;grid-template-columns:1fr 1fr;margin:20px 0 0;padding:0;list-style:none}.mechanical-feature-copy li{position:relative;padding:14px 8px 14px 22px;border-bottom:1px solid #ccd8d8;font-weight:800}.mechanical-feature-copy li:before{content:"+";position:absolute;left:0;color:var(--mech-blue)}.mechanical-process{padding:clamp(70px,8vw,110px) clamp(20px,7vw,110px)}.mechanical-process .mechanical-heading{text-align:center;margin:auto}.mechanical-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:50px auto 0;padding:0;max-width:1200px;list-style:none}.mechanical-steps li{position:relative;padding:37px 28px 28px;border-top:3px solid #dbe5e5}.mechanical-steps li:before{content:"";position:absolute;top:-3px;left:28px;width:54px;height:3px;background:var(--mech-blue)}.mechanical-steps h3{margin:0 0 9px;font-size:1.18rem;text-transform:uppercase}.mechanical-steps p{margin:0}.mechanical-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:clamp(60px,7vw,95px) clamp(20px,7vw,110px);background:linear-gradient(110deg,#0c7990,var(--mech-blue));color:#fff}.mechanical-cta>div{max-width:780px}.mechanical-cta .mechanical-btn{flex:none;background:#fff;color:var(--mech-navy)}
@keyframes mechanical-flow{0%{transform:translateX(0);opacity:0}12%,88%{opacity:1}100%{transform:translateX(395px);opacity:0}}@keyframes mechanical-float{50%{transform:translateY(-9px)}}@keyframes mechanical-scan{0%,18%{left:-25%}70%,100%{left:120%}}
@media(max-width:900px){.mechanical-hero{min-height:auto;padding-bottom:110px}.mechanical-hero-copy{width:100%}.mechanical-hero-card{position:relative;top:auto;right:auto;width:100%;height:360px;margin-top:45px}.mechanical-stats{grid-template-columns:1fr}.mechanical-intro,.mechanical-feature{grid-template-columns:1fr}.mechanical-grid,.mechanical-steps{grid-template-columns:repeat(2,1fr)}.mechanical-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.mechanical-hero h1{font-size:clamp(2.35rem,11.6vw,3.5rem)}.mechanical-hero h1 br{display:none}.mechanical-intro{padding-top:145px}.mechanical-intro-heading h2{font-size:clamp(2.1rem,10.5vw,3rem)}.mechanical-intro-pillars,.mechanical-grid,.mechanical-feature-copy ul,.mechanical-steps{grid-template-columns:1fr}.mechanical-feature-copy{padding:45px 20px}.mechanical-cta .mechanical-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.mechanical-hero-card,.mechanical-hero:after,.mechanical-flow-line i{animation:none}.mechanical-btn:after{display:none}}

/* ===== NODE 19 ELECTRICAL & PLUMBING ===== */
.ep-page{--ep-dark:#071118;--ep-blue:#087fce;--ep-cyan:#47d7ff;--ep-copper:#e87932;--ep-cream:#f4f1ea;--ep-ink:#10202b;background:#fff;color:var(--ep-ink);overflow:hidden}.ep-page,.ep-page *,.ep-page *:before,.ep-page *:after{box-sizing:border-box}.ep-page img{display:block;width:100%}.ep-page a{text-decoration:none}.ep-kicker,.ep-section-label{display:inline-flex;align-items:center;gap:11px;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.ep-kicker{color:var(--ep-cyan)}.ep-kicker i,.ep-section-label:before{content:"";display:inline-block;width:34px;height:2px;background:currentColor}.ep-section-label{color:var(--ep-blue)}
.ep-hero{position:relative;min-height:790px;padding:clamp(120px,13vw,185px) clamp(20px,7vw,110px) 115px;background:var(--ep-dark);color:#fff}.ep-hero-photo{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,18,.98) 0%,rgba(4,12,18,.9) 43%,rgba(4,12,18,.18) 78%),url('../images/services/Plumbing%20and%20electrical/Plumbing/rough%20in%20of%20piping%20.jpeg') 77% center/cover no-repeat;filter:saturate(.8)}.ep-gridlines{position:absolute;inset:0;background:linear-gradient(rgba(71,215,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(71,215,255,.045) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 72%)}.ep-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.55fr);gap:clamp(40px,8vw,130px);align-items:center;max-width:1440px;margin:auto}.ep-hero-copy{max-width:820px}.ep-hero h1{margin:24px 0;color:#fff;font-size:clamp(3.1rem,6vw,6.8rem);font-weight:950;letter-spacing:-.06em;line-height:.9;text-wrap:balance}.ep-hero h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1.5px var(--ep-cyan);text-shadow:0 0 35px rgba(71,215,255,.2)}.ep-hero-copy>p{max-width:670px;margin:0;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.75}.ep-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:34px}.ep-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;padding:0 26px;font-size:.78rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.ep-btn span{font-size:1.15rem;transition:transform .3s}.ep-btn:hover{transform:translateY(-4px)}.ep-btn:hover span{transform:translate(3px,-3px)}.ep-btn-primary{background:var(--ep-blue);color:#fff;box-shadow:0 14px 40px rgba(8,127,206,.32)}.ep-btn-primary:hover{background:var(--ep-cyan);color:var(--ep-dark)}.ep-text-link{color:#fff;font-size:.82rem;font-weight:850}.ep-text-link span{margin-left:8px;color:var(--ep-cyan)}.ep-hero-panel{border:1px solid rgba(255,255,255,.16);background:rgba(5,17,24,.72);backdrop-filter:blur(12px)}.ep-panel-label{display:block;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.14);color:var(--ep-cyan);font-size:.67rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.ep-hero-panel>div{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center;padding:22px;border-bottom:1px solid rgba(255,255,255,.12);transition:.25s}.ep-hero-panel>div:hover{padding-left:28px;background:rgba(71,215,255,.08)}.ep-hero-panel strong{color:var(--ep-cyan);font-size:.72rem}.ep-hero-panel p{margin:0;color:#fff;font-weight:900;text-transform:uppercase}.ep-hero-panel small{color:rgba(255,255,255,.5);font-size:.66rem;letter-spacing:.04em}.ep-hero-strip{position:absolute;z-index:3;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(760px,82%);background:#fff;color:var(--ep-dark)}.ep-hero-strip span{padding:20px;border-right:1px solid #dfe5e7;font-size:.68rem;font-weight:950;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.ep-overview{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(40px,9vw,140px);padding:clamp(85px,10vw,145px) clamp(20px,7vw,110px);background:linear-gradient(135deg,#fff 50%,#f1f6f8)}.ep-overview h2,.ep-heading h2,.ep-renovations h2,.ep-cta h2{margin:18px 0 0;font-size:clamp(2.5rem,4.4vw,5.1rem);font-weight:950;letter-spacing:-.055em;line-height:.96}.ep-overview h2 em{color:var(--ep-blue);font-style:normal}.ep-overview-body{max-width:690px;padding-left:clamp(24px,4vw,60px);border-left:1px solid #cfdbe0}.ep-overview-body p{color:#596970;line-height:1.8}.ep-overview-body .ep-lead{margin-top:0;color:var(--ep-ink);font-size:clamp(1.2rem,1.55vw,1.5rem);font-weight:800;line-height:1.55}
.ep-trades{padding:clamp(75px,8vw,120px) clamp(20px,7vw,110px);background:var(--ep-dark);color:#fff}.ep-heading{max-width:900px}.ep-heading h2{color:inherit}.ep-trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:55px}.ep-trade-card{position:relative;background:#fff;color:var(--ep-ink);transition:transform .35s,box-shadow .35s}.ep-trade-card:hover{transform:translateY(-8px);box-shadow:0 30px 65px rgba(0,0,0,.3)}.ep-trade-image{position:relative;height:320px;overflow:hidden}.ep-trade-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,13,19,.86))}.ep-trade-image img{height:100%;object-fit:cover;transition:transform .7s}.ep-trade-card:hover img{transform:scale(1.055)}.ep-trade-image span{position:absolute;z-index:2;left:30px;bottom:25px;color:#fff;font-size:.73rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.ep-trade-image span:before{content:"";display:inline-block;width:28px;height:3px;margin:0 10px 3px 0;background:var(--ep-blue)}.ep-plumbing .ep-trade-image span:before{background:var(--ep-copper)}.ep-trade-content{padding:clamp(28px,3.5vw,48px)}.ep-trade-content h3{margin:0;font-size:clamp(1.75rem,2.7vw,3rem);letter-spacing:-.04em;line-height:1.04}.ep-trade-content>p{color:#66767d;line-height:1.7}.ep-trade-content ul{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin:28px 0 0;padding:0;list-style:none}.ep-trade-content li{position:relative;padding:12px 0 12px 18px;border-top:1px solid #e1e7e9;font-size:.82rem;font-weight:800}.ep-trade-content li:before{content:"";position:absolute;top:18px;left:0;width:6px;height:6px;border-radius:50%;background:var(--ep-blue);box-shadow:0 0 0 4px rgba(8,127,206,.12)}.ep-plumbing .ep-trade-content li:before{background:var(--ep-copper);box-shadow:0 0 0 4px rgba(232,121,50,.13)}
.ep-renovations{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:var(--ep-cream)}.ep-renovations-image{position:relative;min-height:550px}.ep-renovations-image img{height:100%;object-fit:cover}.ep-image-note{position:absolute;right:0;bottom:0;padding:22px 28px;background:var(--ep-copper);color:#fff}.ep-image-note strong,.ep-image-note span{display:block}.ep-image-note span{font-size:.78rem}.ep-renovations-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,7vw,100px)}.ep-renovations-copy>p{max-width:670px;color:#58666b;line-height:1.8}.ep-chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}.ep-chip-grid span{padding:13px 14px;border:1px solid #d3d0c9;background:rgba(255,255,255,.6);font-size:.76rem;font-weight:850}
.ep-process{padding:clamp(75px,8vw,120px) clamp(20px,7vw,110px);background:#fff}.ep-process .ep-heading{display:grid;grid-template-columns:1fr;max-width:850px}.ep-process .ep-heading p{color:#66767d}.ep-process-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:60px 0 0;padding:0;list-style:none}.ep-process-track:before{content:"";position:absolute;top:29px;left:4%;right:4%;height:1px;background:#cbd7dc}.ep-process-track li{position:relative;padding-right:30px}.ep-process-track>li>span{position:relative;z-index:2;display:grid;place-items:center;width:58px;height:58px;border:1px solid #aabdc5;border-radius:50%;background:#fff;color:var(--ep-blue);font-size:.72rem;font-weight:950;transition:.25s}.ep-process-track li:hover>span{border-color:var(--ep-blue);background:var(--ep-blue);color:#fff;box-shadow:0 0 0 8px rgba(8,127,206,.1)}.ep-process-track li div{padding-top:26px}.ep-process-track h3{font-size:1.03rem;text-transform:uppercase}.ep-process-track p{color:#64737a;font-size:.9rem;line-height:1.7}
.ep-gallery{display:grid;grid-template-columns:1fr 1.3fr 1fr;height:520px;background:#000}.ep-gallery figure{position:relative;margin:0;overflow:hidden}.ep-gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(3,10,14,.88))}.ep-gallery img{height:100%;object-fit:cover;filter:saturate(.8);transition:transform .75s,filter .4s}.ep-gallery figure:hover img{transform:scale(1.06);filter:saturate(1.05)}.ep-gallery figcaption{position:absolute;z-index:2;left:28px;bottom:28px;color:#fff}.ep-gallery figcaption span,.ep-gallery figcaption strong{display:block}.ep-gallery figcaption span{color:var(--ep-cyan);font-size:.67rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.ep-gallery figcaption strong{margin-top:6px;font-size:1.15rem}.ep-cta{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:clamp(70px,8vw,115px) clamp(20px,7vw,110px);background:linear-gradient(115deg,#0864a6,var(--ep-blue) 58%,#0ab1dc);color:#fff}.ep-cta>div{max-width:920px}.ep-cta .ep-section-label{color:#aeeeff}.ep-cta h2{color:#fff}.ep-cta p{max-width:800px;color:rgba(255,255,255,.76);line-height:1.7}.ep-btn-light{flex:none;background:#fff;color:var(--ep-dark)}.ep-btn-light:hover{background:var(--ep-dark);color:#fff}
@media(max-width:980px){.ep-hero-inner,.ep-overview,.ep-renovations{grid-template-columns:1fr}.ep-hero-panel{max-width:600px}.ep-trade-grid{grid-template-columns:1fr}.ep-renovations-image{order:2}.ep-process-track{grid-template-columns:1fr 1fr;gap:40px}.ep-process-track:before{display:none}.ep-gallery{grid-template-columns:1fr 1fr;height:auto}.ep-gallery figure{height:380px}.ep-gallery figure:last-child{grid-column:1/-1}.ep-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.ep-hero{min-height:auto;padding-top:105px}.ep-hero-photo{background:linear-gradient(90deg,rgba(4,12,18,.96),rgba(4,12,18,.66)),url('../images/services/Plumbing%20and%20electrical/Plumbing/rough%20in%20of%20piping%20.jpeg') 62% center/cover no-repeat}.ep-kicker{font-size:.63rem;letter-spacing:.13em}.ep-kicker i{width:26px;flex:0 0 26px}.ep-hero h1{font-size:clamp(2.55rem,12.2vw,3.45rem);line-height:.92}.ep-hero h1 br{display:none}.ep-hero h1 em{display:block;margin-top:5px;font-size:.87em;letter-spacing:-.07em}.ep-hero-copy>p{font-size:.96rem}.ep-actions{display:grid;justify-items:start;gap:20px}.ep-text-link{padding-left:2px}.ep-hero-strip{position:relative;grid-template-columns:1fr 1fr;width:100%;margin:70px 0 -115px}.ep-overview{padding-top:165px}.ep-trade-content ul,.ep-chip-grid,.ep-process-track,.ep-gallery{grid-template-columns:1fr}.ep-trade-image{height:260px}.ep-process-track{gap:28px}.ep-process-track li{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:0}.ep-process-track li div{padding-top:0}.ep-gallery figure,.ep-gallery figure:last-child{grid-column:auto;height:330px}.ep-cta .ep-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.ep-trade-card,.ep-trade-image img,.ep-gallery img,.ep-btn{transition:none}}
/* ===== END NODE 19 ===== */

/* Node 19 hero legibility refinements */
.ep-hero-inner{grid-template-columns:minmax(0,1.35fr) minmax(280px,.5fr);gap:clamp(32px,5vw,80px)}
.ep-hero-copy,.ep-hero-panel{min-width:0}
.ep-hero-copy{max-width:850px}
.ep-hero h1{font-size:clamp(3rem,5.45vw,6.2rem);line-height:.92}
.ep-hero h1 em{display:inline-block;max-width:100%}
.ep-hero-copy>p{max-width:650px;font-size:clamp(1rem,1.2vw,1.16rem)}
.ep-hero-panel>div{display:block}
.ep-hero-panel small{display:inline-block;margin-top:5px;color:rgba(255,255,255,.58)}
@media(max-width:620px){.ep-hero h1{font-size:clamp(2.45rem,11.7vw,3.35rem)}.ep-hero h1 em{display:block;font-size:.84em;letter-spacing:-.075em}.ep-actions{width:100%}.ep-text-link{max-width:100%;white-space:normal}.ep-hero-panel{width:100%}.ep-panel-label{letter-spacing:.12em}.ep-hero-panel p,.ep-hero-panel small{white-space:normal;overflow-wrap:anywhere}}

/* Number-free process cards */
.ep-process-track{gap:18px}
.ep-process-track:before{display:none}
.ep-process-track li{padding:0;border-top:3px solid var(--ep-blue);background:#f5f8f9;transition:transform .25s,box-shadow .25s}
.ep-process-track li:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(7,17,24,.1)}
.ep-process-track li>span{display:none}
.ep-process-track li div{padding:28px}
@media(max-width:620px){.ep-process-track li{display:block}.ep-process-track li div{padding:24px}}

/* =========================================================
   NODE 20 ROOFING
   ========================================================= */
.roof-page{--rf-navy:#07131d;--rf-slate:#142532;--rf-gold:#dca938;--rf-sky:#84c8e8;--rf-paper:#f2f0e9;--rf-ink:#15252e;background:#fff;color:var(--rf-ink);overflow:hidden}.roof-page,.roof-page *,.roof-page *:before,.roof-page *:after{box-sizing:border-box}.roof-page img{display:block;width:100%}.roof-page a{text-decoration:none}.roof-label,.roof-kicker{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.roof-label{color:#9b6d08}.roof-label:before,.roof-kicker:before{content:"";width:34px;height:2px;background:currentColor}.roof-kicker{color:#ffe29a}
.roof-hero{position:relative;min-height:800px;padding:clamp(125px,13vw,185px) clamp(20px,7vw,110px) 120px;background:var(--rf-navy);color:#fff}.roof-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,15,23,.98) 0%,rgba(5,15,23,.86) 42%,rgba(5,15,23,.18) 77%),url('../images/services/Roofing/Metal%20Roofing%20.jpg') 70% center/cover no-repeat;animation:roof-drift 14s ease-in-out infinite alternate}.roof-hero:after{content:"";position:absolute;inset:auto 0 0;height:230px;background:linear-gradient(transparent,rgba(4,12,18,.58));pointer-events:none}.roof-rain{position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(112deg,transparent 0 28px,rgba(132,200,232,.55) 29px,transparent 30px 60px);background-size:170% 100%;animation:roof-rain 8s linear infinite;mask-image:linear-gradient(90deg,#000,transparent 72%)}.roof-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.5fr);gap:clamp(35px,7vw,115px);align-items:center;max-width:1440px;margin:auto}.roof-hero-copy{min-width:0;max-width:830px}.roof-hero h1{margin:23px 0;color:#fff;font-size:clamp(3.2rem,6.25vw,7rem);font-weight:950;letter-spacing:-.065em;line-height:.88}.roof-hero h1 em{color:var(--rf-gold);font-style:normal}.roof-hero-copy>p{max-width:650px;margin:0;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.75}.roof-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:34px}.roof-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;padding:0 27px;font-size:.78rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.roof-btn:hover{transform:translateY(-4px)}.roof-btn-gold{background:var(--rf-gold);color:var(--rf-navy);box-shadow:0 16px 42px rgba(220,169,56,.28)}.roof-btn-gold:hover{background:#fff}.roof-ghost-link{color:#fff;font-size:.8rem;font-weight:850}.roof-ghost-link span{margin-left:8px;color:#ffe29a}.roof-hero-spec{border-top:3px solid var(--rf-gold);background:rgba(7,19,29,.76);backdrop-filter:blur(12px);box-shadow:0 28px 70px rgba(0,0,0,.28)}.roof-hero-spec>span{display:block;padding:18px 23px;border-bottom:1px solid rgba(255,255,255,.13);color:#ffe29a;font-size:.67rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.roof-hero-spec ul{margin:0;padding:0;list-style:none}.roof-hero-spec li{display:flex;justify-content:space-between;align-items:end;padding:22px 23px;border-bottom:1px solid rgba(255,255,255,.12)}.roof-hero-spec strong,.roof-hero-spec small{display:block}.roof-hero-spec strong{color:#fff;font-size:1.08rem;text-transform:uppercase}.roof-hero-spec small{color:rgba(255,255,255,.5);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.roof-hero-bar{position:absolute;z-index:3;bottom:0;left:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(780px,82%);background:#fff;color:var(--rf-navy)}.roof-hero-bar span{padding:21px 15px;border-right:1px solid #dbe1e4;font-size:.68rem;font-weight:950;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.roof-overview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(45px,9vw,145px);padding:clamp(90px,10vw,145px) clamp(20px,7vw,110px);background:linear-gradient(135deg,#fff 52%,#edf2f4)}.roof-overview h2,.roof-heading h2,.roof-feature h2,.roof-cta h2{margin:18px 0 0;font-size:clamp(2.55rem,4.5vw,5.15rem);font-weight:950;letter-spacing:-.055em;line-height:.96}.roof-overview h2 em{color:#9b6d08;font-style:normal}.roofline{position:relative;width:min(440px,100%);height:45px;margin-top:30px;border-top:3px solid var(--rf-slate);transform:skewY(-5deg);overflow:hidden}.roofline i{position:absolute;top:-3px;width:90px;height:3px;background:var(--rf-gold);animation:roof-line 4s ease-in-out infinite}.roof-overview-copy{padding-left:clamp(25px,4vw,58px);border-left:1px solid #cbd6da}.roof-overview-copy p{color:#5c6b72;line-height:1.8}.roof-overview-copy .roof-lead{margin-top:0;color:var(--rf-ink);font-size:clamp(1.18rem,1.55vw,1.48rem);font-weight:800;line-height:1.55}
.roof-services{padding:clamp(75px,8vw,120px) clamp(20px,7vw,110px);background:var(--rf-navy);color:#fff}.roof-heading{max-width:920px}.roof-heading h2{color:inherit}.roof-heading>p{max-width:720px;color:rgba(255,255,255,.62);line-height:1.7}.roof-services .roof-label,.roof-process .roof-label{color:#ffe29a}.roof-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}.roof-service-card{background:#fff;color:var(--rf-ink);transition:transform .35s,box-shadow .35s}.roof-service-card:hover{transform:translateY(-8px);box-shadow:0 30px 70px rgba(0,0,0,.35)}.roof-card-photo{position:relative;height:250px;overflow:hidden}.roof-card-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 43%,rgba(4,12,18,.8))}.roof-card-photo img{height:100%;object-fit:cover;transition:transform .7s}.roof-service-card:hover img{transform:scale(1.06)}.roof-card-photo span{position:absolute;z-index:2;left:24px;bottom:20px;color:#fff;font-size:.67rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.roof-card-photo span:before{content:"";display:inline-block;width:25px;height:3px;margin:0 9px 3px 0;background:var(--rf-gold)}.roof-card-body{padding:clamp(25px,2.8vw,38px)}.roof-card-body h3{margin:0;font-size:clamp(1.45rem,2vw,2.1rem);letter-spacing:-.035em}.roof-card-body>p{color:#64747b;line-height:1.65}.roof-card-body ul{margin:25px 0 0;padding:0;list-style:none}.roof-card-body li{position:relative;padding:10px 0 10px 17px;border-top:1px solid #e0e7e9;font-size:.79rem;font-weight:800}.roof-card-body li:before{content:"";position:absolute;top:16px;left:0;width:6px;height:6px;background:var(--rf-gold);transform:rotate(45deg)}
.roof-feature{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:var(--rf-paper)}.roof-feature-media{position:relative;min-height:580px}.roof-feature-media img{height:100%;object-fit:cover}.roof-feature-tag{position:absolute;right:0;bottom:0;padding:23px 29px;background:var(--rf-gold);color:var(--rf-navy)}.roof-feature-tag span,.roof-feature-tag strong{display:block}.roof-feature-tag span{font-size:.65rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.roof-feature-tag strong{margin-top:4px}.roof-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,7vw,100px)}.roof-feature-copy>p{max-width:680px;color:#59686e;line-height:1.8}.roof-layer-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}.roof-layer-list span{padding:13px 14px;border:1px solid #d2cfc6;background:rgba(255,255,255,.62);font-size:.76rem;font-weight:850}.roof-layer-list span:before{content:"+";margin-right:9px;color:#9b6d08}
.roof-systems{padding:clamp(75px,8vw,115px) clamp(20px,7vw,110px);background:#fff}.roof-systems .roof-heading{color:var(--rf-ink)}.roof-system-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:50px;background:#cbd6da;border:1px solid #cbd6da}.roof-system-columns>div{padding:clamp(27px,3.2vw,44px);background:#f7f9f9}.roof-system-columns h3{margin:0 0 18px;padding-bottom:18px;border-bottom:3px solid var(--rf-gold);font-size:1.16rem;text-transform:uppercase}.roof-system-columns p{margin:0;color:#56666d;font-size:.88rem;line-height:2}
.roof-process{padding:clamp(75px,8vw,115px) clamp(20px,7vw,110px);background:linear-gradient(120deg,#07131d,#142936);color:#fff}.roof-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:52px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13)}.roof-process-grid article{position:relative;min-height:300px;padding:34px 29px;background:var(--rf-slate);overflow:hidden;transition:.3s}.roof-process-grid article:hover{background:#1a3444}.roof-process-grid article:after{content:"";position:absolute;right:-38px;bottom:-38px;width:105px;height:105px;border:1px solid rgba(220,169,56,.25);transform:rotate(45deg)}.roof-process-grid i{display:block;width:42px;height:4px;margin-bottom:26px;background:var(--rf-gold)}.roof-process-grid span{color:#ffe29a;font-size:.67rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.roof-process-grid h3{margin:11px 0;color:#fff;font-size:1.15rem;text-transform:uppercase}.roof-process-grid p{margin:0;color:rgba(255,255,255,.62);line-height:1.7}
.roof-proof{display:grid;grid-template-columns:.9fr 1.1fr;background:#e7e3d9}.roof-proof-image{min-height:430px}.roof-proof-image img{height:100%;object-fit:cover}.roof-proof-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(48px,7vw,95px)}.roof-proof-copy>span{color:#9b6d08;font-size:.7rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.roof-proof blockquote{max-width:780px;margin:18px 0;font-size:clamp(1.8rem,3vw,3.4rem);font-weight:900;letter-spacing:-.045em;line-height:1.06}.roof-proof p{color:#67747a;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.roof-cta{display:flex;align-items:center;justify-content:space-between;gap:45px;padding:clamp(70px,8vw,115px) clamp(20px,7vw,110px);background:linear-gradient(115deg,#a4740d,var(--rf-gold));color:var(--rf-navy)}.roof-cta>div{max-width:940px}.roof-cta .roof-label{color:var(--rf-navy)}.roof-cta h2{color:var(--rf-navy)}.roof-cta p{max-width:820px;color:rgba(7,19,29,.72);line-height:1.7}.roof-btn-light{flex:none;background:#fff;color:var(--rf-navy)}.roof-btn-light:hover{background:var(--rf-navy);color:#fff}
@keyframes roof-drift{to{transform:scale(1.045) translate3d(-10px,-5px,0)}}@keyframes roof-rain{to{background-position:-500px 0}}@keyframes roof-line{0%,100%{left:-90px}50%{left:100%}}
@media(max-width:1050px){.roof-hero-inner,.roof-overview,.roof-feature,.roof-proof{grid-template-columns:1fr}.roof-hero-spec{max-width:600px}.roof-service-grid{grid-template-columns:1fr 1fr}.roof-service-card:last-child{grid-column:1/-1}.roof-process-grid{grid-template-columns:1fr 1fr}.roof-feature-media{order:2}.roof-system-columns{grid-template-columns:1fr}.roof-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.roof-hero{min-height:auto;padding-top:110px}.roof-hero-bg{background:linear-gradient(90deg,rgba(5,15,23,.95),rgba(5,15,23,.62)),url('../images/services/Roofing/Metal%20Roofing%20.jpg') 67% center/cover no-repeat}.roof-kicker{font-size:.61rem;letter-spacing:.12em}.roof-kicker:before{width:24px;flex:0 0 24px}.roof-hero h1{font-size:clamp(2.75rem,13.5vw,4.1rem);line-height:.92}.roof-hero h1 em{display:block}.roof-actions{display:grid;justify-items:start}.roof-hero-bar{position:relative;grid-template-columns:1fr 1fr;width:100%;margin:65px 0 -120px}.roof-overview{padding-top:170px}.roof-service-grid,.roof-process-grid,.roof-layer-list{grid-template-columns:1fr}.roof-service-card:last-child{grid-column:auto}.roof-card-photo{height:270px}.roof-feature-copy{padding:50px 20px}.roof-feature-media{min-height:420px}.roof-process-grid article{min-height:auto}.roof-proof-image{min-height:310px}.roof-cta .roof-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.roof-hero-bg,.roof-rain,.roofline i,.roof-service-card,.roof-card-photo img,.roof-btn{animation:none;transition:none}}
/* ===== END NODE 20 ===== */

/* Node 20 typography and wrapping refinements */
.roof-page,.roof-page *,.roof-page *:before,.roof-page *:after{hyphens:none;-webkit-hyphens:none;word-break:normal;overflow-wrap:normal}
.roof-hero-inner{grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:clamp(30px,5vw,80px);max-width:1500px}
.roof-hero-copy{max-width:1100px}
.roof-hero h1{font-size:clamp(2.75rem,4.3vw,4.9rem);line-height:.94;white-space:nowrap}
.roof-overview h2,.roof-heading h2,.roof-feature h2,.roof-cta h2{text-wrap:balance}
.roof-overview-copy p,.roof-heading>p,.roof-card-body p,.roof-feature-copy>p,.roof-system-columns p,.roof-process-grid p,.roof-cta p{text-wrap:pretty}
@media(max-width:1050px){.roof-hero h1{white-space:normal}.roof-hero h1 em{display:block}}
@media(max-width:650px){.roof-page,.roof-page *{overflow-wrap:break-word}.roof-hero h1{font-size:clamp(2.65rem,12.8vw,3.85rem)}.roof-hero-copy>p{max-width:100%;font-size:.97rem;line-height:1.72}.roof-cta h2{font-size:clamp(2.25rem,10.5vw,3.25rem)}}
.roof-cta h2{margin-bottom:0}
.roof-cta p{margin-top:clamp(24px,2.5vw,34px)}

/* Node 20 visual and motion upgrade */
.roof-hero{isolation:isolate}

/* Refined framing for the updated Metal Roofing hero photograph. */
.roof-hero{
  padding-top:clamp(145px,14vw,200px);
}
.roof-hero-bg{
  background:
    linear-gradient(90deg,rgba(5,15,23,.98) 0%,rgba(5,15,23,.86) 42%,rgba(5,15,23,.2) 77%),
    radial-gradient(circle at 73% 43%,rgba(4,13,20,.4) 0 15%,transparent 34%),
    url('../images/services/Roofing/Metal%20Roofing%20.jpg?v=20260823-2') 76% 58%/cover no-repeat;
  background-blend-mode:normal,multiply,normal;
  filter:saturate(.84) contrast(1.04);
}
.roof-hero-spec{
  background:rgba(7,19,29,.86);
}
@media(max-width:650px){
  .roof-hero{padding-top:125px}
  .roof-hero-bg{
    background:
      linear-gradient(90deg,rgba(5,15,23,.96),rgba(5,15,23,.64)),
      url('../images/services/Roofing/Metal%20Roofing%20.jpg?v=20260823-2') 72% 56%/cover no-repeat;
    filter:saturate(.86) contrast(1.03);
  }
}
.roof-hero:before{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 67% 45%,transparent 0 16%,rgba(7,19,29,.2) 48%,rgba(7,19,29,.48) 100%);pointer-events:none}
.roof-hero-copy{position:relative}
.roof-hero-copy:before{content:"";position:absolute;top:-34px;left:0;width:76px;height:5px;background:linear-gradient(90deg,var(--rf-gold) 0 62%,rgba(255,255,255,.3) 62%);transform-origin:left;animation:roof-accent-in .9s .15s cubic-bezier(.2,.8,.2,1) both}
.roof-hero h1{perspective:900px}
.roof-hero h1>span,.roof-hero h1>em{display:inline-block;transform-origin:left bottom;animation:roof-title-in .95s cubic-bezier(.16,1,.3,1) both}
.roof-hero h1>em{animation-delay:.14s}
.roof-hero-copy>p{animation:roof-copy-in .8s .3s ease-out both}
.roof-actions{animation:roof-copy-in .8s .46s ease-out both}
.roof-btn{position:relative;overflow:hidden}
.roof-btn:before{content:"";position:absolute;inset:0;transform:translateX(-125%) skewX(-18deg);background:linear-gradient(100deg,transparent 25%,rgba(255,255,255,.38),transparent 75%);transition:transform .65s}
.roof-btn:hover:before{transform:translateX(125%) skewX(-18deg)}
.roof-hero-spec{position:relative;overflow:hidden;animation:roof-panel-in 1s .36s cubic-bezier(.16,1,.3,1) both}
.roof-hero-spec:before{content:"";position:absolute;top:0;left:-45%;width:28%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-15deg);animation:roof-panel-scan 6s 1.5s ease-in-out infinite}
.roof-hero-spec li{position:relative;transition:padding .3s,background .3s}
.roof-hero-spec li:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rf-gold);transform:scaleY(0);transition:transform .3s}
.roof-hero-spec li:hover{padding-left:31px;background:rgba(220,169,56,.08)}
.roof-hero-spec li:hover:before{transform:scaleY(1)}
.roof-spec-signal{display:flex;align-items:end;gap:4px;height:34px;padding:9px 23px;background:rgba(0,0,0,.2)}
.roof-spec-signal i{display:block;width:4px;height:6px;background:var(--rf-gold);transform-origin:bottom;animation:roof-signal 1.6s ease-in-out infinite}
.roof-spec-signal i:nth-child(2){height:10px;animation-delay:-.2s}.roof-spec-signal i:nth-child(3){height:15px;animation-delay:-.4s}.roof-spec-signal i:nth-child(4){height:20px;animation-delay:-.6s}.roof-spec-signal i:nth-child(5){height:25px;animation-delay:-.8s}
.roof-scroll-cue{position:absolute;z-index:4;right:clamp(20px,4vw,64px);bottom:33px;width:28px;height:46px;border:1px solid rgba(255,255,255,.4);border-radius:20px}
.roof-scroll-cue i{position:absolute;top:8px;left:50%;width:3px;height:8px;border-radius:3px;background:var(--rf-gold);transform:translateX(-50%);animation:roof-scroll 1.8s ease-in-out infinite}
.roof-overview-title,.roof-heading,.roof-feature-copy,.roof-proof-copy{position:relative}
.roof-overview-title:after,.roof-heading:after{content:"";display:block;width:70px;height:6px;margin-top:28px;background:repeating-linear-gradient(90deg,var(--rf-gold) 0 8px,transparent 8px 13px)}
.roof-service-grid{perspective:1400px}
.roof-service-card{position:relative;overflow:hidden;transform-origin:center bottom}
.roof-service-card:before{content:"";position:absolute;z-index:3;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--rf-gold),#f5d782,var(--rf-gold));transform:scaleX(0);transform-origin:left;transition:transform .45s}
.roof-service-card:hover:before{transform:scaleX(1)}
.roof-card-photo:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 49%,transparent 63%);transform:translateX(-115%);transition:transform .8s}
.roof-service-card:hover .roof-card-photo:before{transform:translateX(115%)}
.roof-layer-list span,.roof-system-columns>div{transition:transform .25s,background .25s,box-shadow .25s}
.roof-layer-list span:hover{transform:translateX(5px);background:#fff;box-shadow:0 10px 25px rgba(7,19,29,.08)}
.roof-system-columns>div:hover{position:relative;z-index:2;transform:translateY(-6px);background:#fff;box-shadow:0 22px 50px rgba(7,19,29,.12)}
.roof-process-grid article i{position:relative;overflow:hidden}
.roof-process-grid article i:after{content:"";position:absolute;inset:0;background:#ffe29a;transform:translateX(-110%);transition:transform .4s}
.roof-process-grid article:hover i:after{transform:translateX(0)}
.roof-proof-image{position:relative;overflow:hidden}
.roof-proof-image:after{content:"";position:absolute;inset:0;border:0 solid var(--rf-gold);transition:border-width .35s}
.roof-proof:hover .roof-proof-image:after{border-width:10px}
.roof-cta{position:relative;isolation:isolate;overflow:hidden}
.roof-cta:before{content:"";position:absolute;z-index:-1;right:-7%;top:-65%;width:480px;height:480px;border:1px solid rgba(7,19,29,.16);border-radius:50%;box-shadow:0 0 0 55px rgba(7,19,29,.045),0 0 0 110px rgba(7,19,29,.035);animation:roof-orbit 12s linear infinite}
@keyframes roof-title-in{from{opacity:0;transform:translateY(55px) rotateX(-28deg)}to{opacity:1;transform:none}}
@keyframes roof-copy-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes roof-accent-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes roof-panel-in{from{opacity:0;transform:translateX(55px) skewY(2deg)}to{opacity:1;transform:none}}
@keyframes roof-panel-scan{0%,18%{left:-45%}65%,100%{left:130%}}
@keyframes roof-signal{50%{transform:scaleY(.45);opacity:.45}}
@keyframes roof-scroll{0%{opacity:0;transform:translate(-50%,0)}35%{opacity:1}100%{opacity:0;transform:translate(-50%,20px)}}
@keyframes roof-orbit{to{transform:rotate(360deg)}}
@media(max-width:1050px){.roof-scroll-cue{display:none}}
@media(max-width:650px){.roof-hero-copy:before{top:-24px}.roof-hero h1>span,.roof-hero h1>em{display:block}.roof-overview-title:after,.roof-heading:after{margin-top:20px}.roof-service-card:hover,.roof-system-columns>div:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.roof-hero-copy:before,.roof-hero h1>span,.roof-hero h1>em,.roof-hero-copy>p,.roof-actions,.roof-hero-spec,.roof-hero-spec:before,.roof-spec-signal i,.roof-scroll-cue i,.roof-cta:before{animation:none}.roof-btn:before,.roof-card-photo:before{display:none}}

/* Node 20 premium closing CTA */
.roof-cta{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.52fr);gap:clamp(35px,6vw,90px);align-items:center;min-height:690px;padding:clamp(80px,9vw,135px) clamp(20px,7vw,110px);background:var(--rf-navy);color:#fff}
.roof-cta:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,15,23,.98) 0%,rgba(5,15,23,.9) 48%,rgba(5,15,23,.58) 100%)}
.roof-cta-photo{position:absolute;z-index:-2;inset:0;background:url('../images/services/Roofing/roofing.jpg') 88% 50%/42% auto no-repeat;filter:saturate(.75) contrast(1.08);opacity:.72}
.roof-cta-content{position:relative;max-width:920px;padding-left:clamp(0px,2vw,28px)}
.roof-cta-content:before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:linear-gradient(var(--rf-gold),rgba(220,169,56,0))}
.roof-cta .roof-label{color:#ffe29a}
.roof-cta h2{max-width:900px;color:#fff;font-size:clamp(2.7rem,4.65vw,5.4rem);line-height:.94;text-wrap:balance}
.roof-cta p{max-width:760px;margin-top:clamp(24px,2.5vw,34px);color:rgba(255,255,255,.7);font-size:clamp(1rem,1.25vw,1.17rem);line-height:1.75}
.roof-cta-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.roof-cta-trust span{display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(8px)}
.roof-cta-trust span:before{content:"";width:6px;height:6px;background:var(--rf-gold);transform:rotate(45deg)}
.roof-cta-action{position:relative;padding:clamp(28px,3.2vw,44px);border-top:4px solid var(--rf-gold);background:rgba(255,255,255,.96);color:var(--rf-navy);box-shadow:0 35px 90px rgba(0,0,0,.36);backdrop-filter:blur(16px);transition:transform .35s,box-shadow .35s}
.roof-cta-action:hover{transform:translateY(-7px);box-shadow:0 45px 100px rgba(0,0,0,.48)}
.roof-cta-action:after{content:"";position:absolute;right:18px;top:18px;width:36px;height:36px;border-top:1px solid rgba(7,19,29,.25);border-right:1px solid rgba(7,19,29,.25)}
.roof-cta-action-label{display:block;color:#916505;font-size:.65rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}
.roof-cta-action strong{display:block;max-width:310px;margin-top:16px;font-size:clamp(1.55rem,2.1vw,2.25rem);letter-spacing:-.04em;line-height:1.05}
.roof-cta-action p{margin:16px 0 25px;color:#5f6b70;font-size:.9rem;line-height:1.65}
.roof-cta-action .roof-btn{width:100%;background:var(--rf-gold);color:var(--rf-navy)}
.roof-cta-action .roof-btn:hover{background:var(--rf-navy);color:#fff}
.roof-cta-action small{display:block;margin-top:18px;color:#758188;font-size:.6rem;font-weight:850;letter-spacing:.09em;text-align:center;text-transform:uppercase}
@media(max-width:1050px){.roof-cta{grid-template-columns:1fr;min-height:auto}.roof-cta-photo{background-size:auto 100%;background-position:right center;opacity:.42}.roof-cta-action{width:min(100%,560px)}}
@media(max-width:650px){.roof-cta{padding-top:85px;padding-bottom:85px}.roof-cta-photo{background-size:cover;background-position:center}.roof-cta:after{background:rgba(5,15,23,.9)}.roof-cta-content{padding-left:18px}.roof-cta h2{font-size:clamp(2.35rem,11vw,3.35rem)}.roof-cta-trust{display:grid}.roof-cta-trust span{width:100%}.roof-cta-action{padding:28px 22px}.roof-cta-action:hover{transform:none}}

/* Final responsive cascade safeguards: nodes 18–20 */
@media(max-width:1050px){
  .roof-hero-inner{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:980px){
  .ep-hero-inner{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:650px){
  .roof-hero h1,.roof-hero h1 span,.roof-hero h1 em,.ep-hero h1,.ep-hero h1 em{word-break:normal;overflow-wrap:normal}
  .roof-hero-spec,.ep-hero-panel{max-width:100%;margin-left:0;margin-right:0}
}

@media(max-width:360px){
  .mechanical-hero,.ep-hero,.roof-hero{padding-left:16px;padding-right:16px}
  .mechanical-hero h1{font-size:clamp(2.1rem,11vw,2.85rem)}
  .ep-hero h1{font-size:clamp(2.25rem,11vw,2.9rem)}
  .roof-hero h1{font-size:clamp(2.35rem,11.5vw,3rem)}
  .mechanical-actions,.ep-actions,.roof-actions{width:100%}
  .mechanical-btn,.ep-btn-primary,.roof-btn-gold{max-width:100%}
  .mechanical-hero h1 br{display:block}
  .mechanical-hero h1 em{display:block;margin-top:.12em}
}

/* Site-wide responsive hardening for legacy pages */
.about-page,.about-page *,.concrete-page,.concrete-page *,.excavation-page,.excavation-page *{box-sizing:border-box}
.about-page article,.about-page div,.concrete-page article,.concrete-page div,.excavation-page article,.excavation-page div{min-width:0}
@media(max-width:760px){
  .about-split-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important}
  .about-panel,.about-panel-dark{width:100%!important;max-width:100%!important;min-width:0!important}
  .about-panel h2,.about-panel-dark h2,.about-panel p,.about-panel-dark p{width:auto!important;max-width:100%!important}
  .about-split-section .about-panel h2 .keep-together{white-space:normal!important}
  .concrete-cta-v3-panel,.concrete-cta-v3-copy,.concrete-cta-v3-actions{width:100%;max-width:100%;min-width:0}
  .excavation-hero-inner{grid-template-columns:minmax(0,1fr);width:min(1280px,calc(100% - 28px));padding-left:0;padding-right:0}
  .excavation-hero-copy{width:100%;max-width:100%;min-width:0}
  .excavation-hero-copy .section-label,.excavation-hero-copy h1,.excavation-hero-copy p,.excavation-proof,.excavation-page .hero-buttons{max-width:100%;min-width:0}
  .cm-control-section,.cm-delivery-band,.cm-cta{overflow-x:hidden}
  .cm-control-section h2,.cm-control-section p,.cm-focus-card h3,.cm-focus-card p,.cm-delivery-band h2,.cm-delivery-list span,.cm-cta h2{overflow-wrap:break-word!important}
}
@media(max-width:430px){
  .about-panel,.about-panel-dark{padding:1.45rem!important}
  .concrete-cta-v3-panel{padding:1.25rem;border-left-width:4px}
  .excavation-hero-copy{padding-left:14px}
  .cm-focus-card,.cm-cta-panel{padding-left:18px!important;padding-right:18px!important}
}

/* Unified HVAC, electrical, plumbing and fire-protection page */
.mechanical-stats-four{grid-template-columns:repeat(4,minmax(0,1fr));max-width:860px}
.mechanical-grid article>small{display:block;margin-top:24px;color:var(--mech-cyan);font-size:.64rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.mechanical-grid article>small+.mechanical-card-mark{margin-top:0}
.mechanical-grid .system-electric .mechanical-card-mark{background:linear-gradient(90deg,#ffd34e,#ff9f1c)}
.mechanical-grid .system-plumbing .mechanical-card-mark{background:linear-gradient(90deg,#4ecbff,#1976d2)}
.mechanical-grid .system-fire .mechanical-card-mark{background:linear-gradient(90deg,#ff765e,#d62828)}
.mechanical-grid .system-fire:hover{background:rgba(214,40,40,.12)}
.mechanical-feature-stack{display:grid;grid-template-rows:1fr 1fr;gap:3px;background:var(--mech-blue)}
.mechanical-feature-stack img{min-height:0;height:100%;object-fit:cover}
@media(max-width:900px){.mechanical-stats-four{grid-template-columns:repeat(2,minmax(0,1fr));width:min(92%,680px)}.mechanical-feature-stack{min-height:620px}}
@media(max-width:600px){.mechanical-stats-four{grid-template-columns:1fr;position:relative;left:auto;bottom:auto;width:100%;margin-top:34px;transform:none}.mechanical-intro{padding-top:75px}.mechanical-feature-stack{min-height:500px}}

/* Heating-to-cooling headline transition */
.mechanical-intro-heading h2 em{
  color:transparent;
  background:linear-gradient(100deg,#d9342b 0%,#ff7a24 22%,#efb13c 40%,#59d9ef 62%,#138fc7 82%,#275dc7 100%);
  background-size:220% 100%;
  background-position:0 50%;
  -webkit-background-clip:text;
  background-clip:text;
  animation:mechanical-thermal-shift 5.5s ease-in-out infinite alternate;
}
@keyframes mechanical-thermal-shift{
  from{background-position:0 50%;filter:drop-shadow(0 0 0 rgba(217,52,43,0))}
  to{background-position:100% 50%;filter:drop-shadow(0 8px 18px rgba(19,143,199,.2))}
}
@media(prefers-reduced-motion:reduce){.mechanical-intro-heading h2 em{animation:none;background:#138fc7;-webkit-background-clip:text;background-clip:text}}

/* Premium integrated-systems closing CTA */
.mechanical-cta-premium{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.52fr);gap:clamp(40px,7vw,105px);min-height:650px;padding:clamp(75px,8vw,120px) clamp(20px,7vw,110px);overflow:hidden;background:#06141c}
.mechanical-cta-premium:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,18,26,.98),rgba(5,18,26,.88) 55%,rgba(5,18,26,.55))}
.mechanical-cta-bg{position:absolute;z-index:-2;inset:0;background:url('../images/services/Plumbing%20and%20electrical/Electrical/plans.jpg') 88% center/58% auto no-repeat;filter:saturate(.55) contrast(1.18);opacity:.65;transform:scale(1.06);animation:mechanical-cta-drift 12s ease-in-out infinite alternate}
.mechanical-cta-flow{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.mechanical-cta-flow:before,.mechanical-cta-flow:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--mech-blue),transparent);opacity:.28}.mechanical-cta-flow:before{top:22%}.mechanical-cta-flow:after{bottom:18%}
.mechanical-cta-flow i{position:absolute;top:22%;width:8px;height:8px;border-radius:50%;background:var(--mech-cyan);box-shadow:0 0 18px var(--mech-blue);animation:mechanical-cta-pulse 5s linear infinite}.mechanical-cta-flow i:nth-child(2){top:auto;bottom:calc(18% - 3px);animation-delay:-1.8s}.mechanical-cta-flow i:nth-child(3){animation-delay:-3.4s}
.mechanical-cta-content{position:relative;z-index:1;max-width:900px;padding-left:clamp(0px,2vw,26px)}
.mechanical-cta-content:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background:linear-gradient(var(--mech-cyan),rgba(19,168,199,0))}
.mechanical-cta-content>span{display:inline-flex;align-items:center;gap:10px;color:var(--mech-cyan);font-size:.69rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}
.mechanical-cta-content>span:before{content:"";width:30px;height:2px;background:currentColor}
.mechanical-cta-premium h2{max-width:850px;margin:22px 0 0;color:#fff;font-size:clamp(2.75rem,4.7vw,5.35rem);line-height:.94;text-wrap:balance}
.mechanical-cta-premium .mechanical-cta-content>p{max-width:740px;margin-top:28px;color:rgba(255,255,255,.7);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}
.mechanical-cta-systems{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.mechanical-cta-systems b{position:relative;padding:11px 15px 11px 29px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-size:.67rem;letter-spacing:.09em;text-transform:uppercase;backdrop-filter:blur(8px)}
.mechanical-cta-systems b:before{content:"";position:absolute;left:13px;top:50%;width:7px;height:7px;border-radius:50%;background:var(--mech-cyan);box-shadow:0 0 0 4px rgba(141,232,240,.1);transform:translateY(-50%);animation:mechanical-cta-dot 2s ease-in-out infinite}.mechanical-cta-systems b:nth-child(2):before{animation-delay:-.5s}.mechanical-cta-systems b:nth-child(3):before{animation-delay:-1s}.mechanical-cta-systems b:nth-child(4):before{background:#ff5d52;box-shadow:0 0 0 4px rgba(255,93,82,.12);animation-delay:-1.5s}
.mechanical-cta-card{position:relative;z-index:2;padding:clamp(28px,3.5vw,46px);border-top:4px solid var(--mech-cyan);background:rgba(248,252,252,.96);color:var(--mech-navy);box-shadow:0 35px 90px rgba(0,0,0,.38);backdrop-filter:blur(16px);transition:transform .35s,box-shadow .35s}
.mechanical-cta-card:hover{transform:translateY(-8px);box-shadow:0 46px 105px rgba(0,0,0,.5)}
.mechanical-cta-card:after{content:"";position:absolute;top:18px;right:18px;width:38px;height:38px;border-top:1px solid rgba(7,21,29,.24);border-right:1px solid rgba(7,21,29,.24)}
.mechanical-cta-card>span{color:#087f9b;font-size:.65rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.mechanical-cta-card>strong{display:block;margin-top:17px;font-size:clamp(1.55rem,2.15vw,2.3rem);letter-spacing:-.045em;line-height:1.06}
.mechanical-cta-card>p{margin:17px 0 26px;color:#5b6c72;line-height:1.65}
.mechanical-cta-card .mechanical-btn{width:100%;gap:18px;background:var(--mech-blue);color:#fff}.mechanical-cta-card .mechanical-btn:hover{background:var(--mech-navy);color:#fff}.mechanical-cta-card .mechanical-btn em{font-size:1rem;font-style:normal;transition:transform .3s}.mechanical-cta-card .mechanical-btn:hover em{transform:translate(3px,-3px)}
@keyframes mechanical-cta-drift{to{transform:scale(1.12) translate3d(-12px,-5px,0)}}@keyframes mechanical-cta-pulse{from{left:-2%;opacity:0}12%,88%{opacity:1}to{left:102%;opacity:0}}@keyframes mechanical-cta-dot{50%{transform:translateY(-50%) scale(.62);opacity:.55}}
@media(max-width:950px){.mechanical-cta-premium{grid-template-columns:1fr;min-height:auto}.mechanical-cta-card{width:min(100%,570px)}.mechanical-cta-bg{background-size:auto 100%;background-position:right center}}
@media(max-width:600px){.mechanical-cta-premium{padding:78px 20px}.mechanical-cta-premium:before{background:rgba(5,18,26,.91)}.mechanical-cta-bg{background-size:cover;background-position:center}.mechanical-cta-content{padding-left:16px}.mechanical-cta-content>span{line-height:1.6}.mechanical-cta-premium h2{font-size:clamp(2.3rem,10.8vw,3.35rem)}.mechanical-cta-systems{display:grid;grid-template-columns:1fr 1fr}.mechanical-cta-card{padding:28px 22px}.mechanical-cta-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.mechanical-cta-bg,.mechanical-cta-flow i,.mechanical-cta-systems b:before{animation:none}}

/* Refined architectural CTA graphics */
.mechanical-cta-premium:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 58%,transparent 100%);pointer-events:none}
.mechanical-cta-flow{display:none}
.mechanical-cta-scan{position:absolute;z-index:0;top:0;bottom:0;left:-30%;width:16%;overflow:hidden;transform:skewX(-14deg);background:linear-gradient(90deg,transparent,rgba(141,232,240,.055),transparent);animation:mechanical-cta-scan 9s ease-in-out infinite;pointer-events:none}
.mechanical-cta-content{padding-top:20px;padding-left:0}
.mechanical-cta-content:before{top:0;bottom:auto;left:0;width:86px;height:4px;background:linear-gradient(90deg,#d9342b,#ff8a2b 34%,#59d9ef 68%,#138fc7)}
.mechanical-cta-systems b{padding:11px 15px;border-top:2px solid rgba(141,232,240,.72)}
.mechanical-cta-systems b:before{display:none}
.mechanical-cta-systems b:nth-child(1){border-top-color:#e35a32}.mechanical-cta-systems b:nth-child(2){border-top-color:#f0b333}.mechanical-cta-systems b:nth-child(3){border-top-color:#4dc8e8}.mechanical-cta-systems b:nth-child(4){border-top-color:#ef5b51}
@keyframes mechanical-cta-scan{0%,18%{left:-30%}68%,100%{left:120%}}
@media(max-width:600px){.mechanical-cta-content{padding-left:0}.mechanical-cta-scan{display:none}}
@media(prefers-reduced-motion:reduce){.mechanical-cta-scan{animation:none;display:none}}

/* Unified renovation, restoration and interiors page */
.interior-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.interior-restoration-card div{border-top-color:#c7762b}
.interior-restoration-card:before{background:linear-gradient(90deg,#c7762b,#f0ba57)}
@media(max-width:760px){.interior-service-grid{grid-template-columns:1fr}}

/* =========================================================
   NODE 15 CONSTRUCTION MANAGEMENT — COMMAND & CONTROL
   ========================================================= */
.cmx-page{--cmx-black:#080b0d;--cmx-ink:#121b20;--cmx-yellow:#f6c515;--cmx-blue:#149bc2;--cmx-paper:#f1efe8;background:#fff;color:var(--cmx-ink);overflow:hidden}.cmx-page,.cmx-page *,.cmx-page *:before,.cmx-page *:after{box-sizing:border-box;hyphens:none;word-break:normal}.cmx-page img{display:block;width:100%}.cmx-page a{text-decoration:none}.cmx-label,.cmx-kicker{display:inline-flex;align-items:center;gap:11px;font-size:.7rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.cmx-label{color:#a47700}.cmx-label:before,.cmx-kicker:before{content:"";width:34px;height:2px;background:currentColor}.cmx-kicker{color:#ffe36c}
.cmx-hero{position:relative;isolation:isolate;min-height:805px;padding:clamp(125px,13vw,185px) clamp(20px,7vw,110px) 120px;background:var(--cmx-black);color:#fff}.cmx-hero-bg{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(5,8,10,.98) 0%,rgba(5,8,10,.88) 45%,rgba(5,8,10,.3) 78%),url('../images/services/CM/construction%20management.jpg') 76% center/cover no-repeat;animation:cmx-drift 14s ease-in-out infinite alternate}.cmx-blueprint{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(20,155,194,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(20,155,194,.045) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.cmx-scan{position:absolute;z-index:-1;top:0;bottom:0;left:-25%;width:13%;background:linear-gradient(90deg,transparent,rgba(246,197,21,.065),transparent);transform:skewX(-15deg);animation:cmx-scan 8s ease-in-out infinite}.cmx-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(315px,.52fr);gap:clamp(38px,7vw,110px);align-items:center;max-width:1460px;margin:auto}.cmx-hero-copy{min-width:0;max-width:850px}.cmx-hero h1{margin:22px 0;color:#fff;font-size:clamp(3.1rem,5.8vw,6.6rem);font-weight:950;letter-spacing:-.06em;line-height:.9}.cmx-hero h1 em{color:var(--cmx-yellow);font-style:normal}.cmx-hero-copy>p{max-width:670px;margin:0;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.75}.cmx-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:34px}.cmx-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:56px;padding:0 27px;overflow:hidden;font-size:.77rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.cmx-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent,rgba(255,255,255,.38),transparent);transform:translateX(-125%) skewX(-16deg);transition:transform .65s}.cmx-btn:hover{transform:translateY(-4px)}.cmx-btn:hover:before{transform:translateX(125%) skewX(-16deg)}.cmx-btn-yellow{background:var(--cmx-yellow);color:var(--cmx-black);box-shadow:0 16px 44px rgba(246,197,21,.25)}.cmx-text-link{color:#fff;font-size:.8rem;font-weight:850}.cmx-text-link span{margin-left:8px;color:var(--cmx-yellow)}
.cmx-command{border-top:4px solid var(--cmx-yellow);background:rgba(9,14,17,.82);box-shadow:0 35px 90px rgba(0,0,0,.42);backdrop-filter:blur(14px)}.cmx-command-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.13);font-size:.67rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.cmx-command-head>i{display:flex;align-items:center;gap:7px;color:#a9ebbd;font-style:normal}.cmx-command-head>i:before{content:"";width:7px;height:7px;border-radius:50%;background:#49d276;box-shadow:0 0 0 5px rgba(73,210,118,.1);animation:cmx-live 2s ease-in-out infinite}.cmx-command-row{display:grid;grid-template-columns:1fr auto;gap:5px 14px;padding:19px 22px;border-bottom:1px solid rgba(255,255,255,.11)}.cmx-command-row strong{color:#fff;text-transform:uppercase}.cmx-command-row>span{color:rgba(255,255,255,.48);font-size:.68rem}.cmx-command-row>b{grid-column:1/-1;display:block;height:4px;margin-top:9px;background:rgba(255,255,255,.1)}.cmx-command-row>b i{display:block;width:var(--fill);height:100%;background:linear-gradient(90deg,var(--cmx-yellow),#ffe875);animation:cmx-fill 1.4s cubic-bezier(.2,.8,.2,1) both}.cmx-command-status{padding:20px 22px;background:rgba(20,155,194,.1)}.cmx-command-status span,.cmx-command-status strong{display:block}.cmx-command-status span{color:#6dd8f2;font-size:.64rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.cmx-command-status strong{margin-top:6px;color:#fff}.cmx-hero-rail{position:absolute;z-index:3;left:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(790px,82%);background:#fff;color:var(--cmx-black)}.cmx-hero-rail span{padding:21px 14px;border-right:1px solid #dfe3e4;font-size:.67rem;font-weight:950;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.cmx-overview{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(45px,9vw,145px);padding:clamp(90px,10vw,145px) clamp(20px,7vw,110px);background:linear-gradient(135deg,#fff 50%,#eff2f2)}.cmx-overview h2,.cmx-heading h2,.cmx-control h2,.cmx-why h2,.cmx-cta h2{margin:18px 0 0;font-size:clamp(2.55rem,4.45vw,5.1rem);font-weight:950;letter-spacing:-.055em;line-height:.96;text-wrap:balance}.cmx-overview h2 em{color:#b18400;font-style:normal}.cmx-overview-copy{padding-left:clamp(24px,4vw,58px);border-left:1px solid #ccd5d8}.cmx-overview-copy p{color:#5c6a70;line-height:1.8}.cmx-overview-copy .cmx-lead{margin-top:0;color:var(--cmx-ink);font-size:clamp(1.18rem,1.5vw,1.45rem);font-weight:800;line-height:1.55}
.cmx-services{padding:clamp(78px,8vw,120px) clamp(20px,7vw,110px);background:var(--cmx-black);color:#fff}.cmx-heading{max-width:940px}.cmx-heading h2{color:inherit}.cmx-services .cmx-label,.cmx-process .cmx-label{color:#ffe36c}.cmx-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:52px}.cmx-service-card{position:relative;overflow:hidden;background:#fff;color:var(--cmx-ink);transition:transform .35s,box-shadow .35s}.cmx-service-card:hover{transform:translateY(-8px);box-shadow:0 34px 75px rgba(0,0,0,.38)}.cmx-service-card:before{content:"";position:absolute;z-index:4;top:0;left:0;width:100%;height:4px;background:var(--cmx-yellow);transform:scaleX(0);transform-origin:left;transition:transform .4s}.cmx-service-card:hover:before{transform:scaleX(1)}.cmx-service-photo{position:relative;height:250px;overflow:hidden}.cmx-service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(5,9,11,.84))}.cmx-service-photo img{height:100%;object-fit:cover;transition:transform .7s}.cmx-service-card:hover img{transform:scale(1.06)}.cmx-service-photo span{position:absolute;z-index:2;left:24px;bottom:20px;color:#ffe36c;font-size:.65rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.cmx-service-body{padding:clamp(25px,2.8vw,38px)}.cmx-service-body h3{margin:0;font-size:clamp(1.35rem,1.8vw,1.85rem);letter-spacing:-.035em;line-height:1.08}.cmx-service-body>p{color:#627177;line-height:1.65}.cmx-service-body ul{margin:23px 0 0;padding:0;list-style:none}.cmx-service-body li{position:relative;padding:10px 0 10px 17px;border-top:1px solid #e0e6e8;font-size:.78rem;font-weight:800}.cmx-service-body li:before{content:"";position:absolute;top:16px;left:0;width:6px;height:6px;background:var(--cmx-yellow);transform:rotate(45deg)}
.cmx-control{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:var(--cmx-paper)}.cmx-control-image{position:relative;min-height:580px}.cmx-control-image img{height:100%;object-fit:cover}.cmx-control-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,10,12,.86))}.cmx-control-image>div{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;padding-left:17px;border-left:4px solid var(--cmx-yellow);color:#fff}.cmx-control-image span,.cmx-control-image strong{display:block}.cmx-control-image span{color:#ffe36c;font-size:.65rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.cmx-control-image strong{margin-top:7px;font-size:1.25rem}.cmx-control-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,7vw,100px)}.cmx-control-copy>p{max-width:700px;color:#58686e;line-height:1.8}.cmx-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:25px}.cmx-scope-grid span{padding:12px 13px;border:1px solid #d0cec6;background:rgba(255,255,255,.65);font-size:.73rem;font-weight:850;transition:.25s}.cmx-scope-grid span:hover{transform:translateX(5px);background:#fff}.cmx-scope-grid span:before{content:"+";margin-right:8px;color:#a47700}
.cmx-process{padding:clamp(78px,8vw,120px) clamp(20px,7vw,110px);background:linear-gradient(120deg,#080b0d,#142229);color:#fff}.cmx-process-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:52px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.13)}.cmx-process-track article{position:relative;min-height:310px;padding:35px 29px;background:#10191e;overflow:hidden;transition:.3s}.cmx-process-track article:hover{background:#18282f}.cmx-process-track article:before{content:"";display:block;width:42px;height:4px;margin-bottom:27px;background:var(--cmx-yellow)}.cmx-process-track article:after{content:"";position:absolute;right:-35px;bottom:-35px;width:95px;height:95px;border:1px solid rgba(246,197,21,.25);transform:rotate(45deg)}.cmx-process-track span{color:#ffe36c;font-size:.65rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.cmx-process-track h3{margin:11px 0;color:#fff;font-size:1.1rem;text-transform:uppercase}.cmx-process-track p{margin:0;color:rgba(255,255,255,.62);line-height:1.7}
.cmx-why{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(38px,7vw,105px);padding:clamp(80px,9vw,130px) clamp(20px,7vw,110px);background:#fff}.cmx-why-intro>p{color:#617178;line-height:1.7}.cmx-why-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cmx-why-grid article{padding:clamp(24px,2.8vw,36px);border:1px solid #dce3e5;background:#f7f9f9;transition:.3s}.cmx-why-grid article:hover{transform:translateY(-5px);border-color:#d0a600;box-shadow:0 20px 45px rgba(8,11,13,.1)}.cmx-why-grid i{display:block;width:34px;height:5px;background:linear-gradient(90deg,var(--cmx-yellow),#ffdf63)}.cmx-why-grid h3{margin:22px 0 9px;font-size:1.03rem;text-transform:uppercase}.cmx-why-grid p{margin:0;color:#627177;line-height:1.65}
.cmx-cta{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.52fr);gap:clamp(40px,7vw,105px);align-items:center;min-height:680px;padding:clamp(78px,8vw,120px) clamp(20px,7vw,110px);overflow:hidden;background:#080b0d;color:#fff}.cmx-cta:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(6,9,11,.98),rgba(6,9,11,.88) 55%,rgba(6,9,11,.5))}.cmx-cta-bg{position:absolute;z-index:-2;inset:0;background:url('../images/services/CM/team%20work.jpg') right center/58% auto no-repeat;filter:saturate(.65);opacity:.62;animation:cmx-cta-drift 12s ease-in-out infinite alternate}.cmx-cta-copy{max-width:900px}.cmx-cta .cmx-label{color:#ffe36c}.cmx-cta h2{color:#fff}.cmx-cta-copy>p{max-width:780px;margin-top:28px;color:rgba(255,255,255,.7);line-height:1.75}.cmx-cta-card{padding:clamp(29px,3.4vw,46px);border-top:4px solid var(--cmx-yellow);background:rgba(255,255,255,.96);color:var(--cmx-black);box-shadow:0 36px 95px rgba(0,0,0,.42);transition:.35s}.cmx-cta-card:hover{transform:translateY(-8px)}.cmx-cta-card>span{color:#967300;font-size:.64rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.cmx-cta-card>strong{display:block;margin:17px 0 27px;font-size:clamp(1.45rem,2vw,2.15rem);letter-spacing:-.04em;line-height:1.08}.cmx-cta-card .cmx-btn{width:100%}
@keyframes cmx-drift{to{transform:scale(1.05) translate3d(-10px,-5px,0)}}@keyframes cmx-scan{0%,18%{left:-25%}68%,100%{left:120%}}@keyframes cmx-live{50%{transform:scale(.65);opacity:.55}}@keyframes cmx-fill{from{width:0}}@keyframes cmx-cta-drift{to{transform:scale(1.07) translate3d(-12px,-4px,0)}}
@media(max-width:1050px){.cmx-hero-inner,.cmx-overview,.cmx-control,.cmx-why,.cmx-cta{grid-template-columns:minmax(0,1fr)}.cmx-command{max-width:620px}.cmx-service-grid{grid-template-columns:1fr 1fr}.cmx-service-card:last-child{grid-column:1/-1}.cmx-process-track{grid-template-columns:1fr 1fr}.cmx-control-image{order:2}.cmx-cta-card{width:min(100%,570px)}.cmx-cta-bg{background-size:auto 100%}}
@media(max-width:650px){.cmx-hero{min-height:auto;padding:110px 16px 0}.cmx-hero-bg{background:linear-gradient(90deg,rgba(5,8,10,.95),rgba(5,8,10,.62)),url('../images/services/CM/construction%20management.jpg') 68% center/cover no-repeat}.cmx-kicker{font-size:.6rem;letter-spacing:.11em}.cmx-kicker:before{width:24px;flex:0 0 24px}.cmx-hero h1{font-size:clamp(2.5rem,12vw,3.6rem);line-height:.93}.cmx-hero h1 em{display:block}.cmx-actions{display:grid;justify-items:start}.cmx-hero-rail{position:relative;grid-template-columns:1fr 1fr;width:calc(100% + 32px);margin:65px -16px 0}.cmx-overview{padding-top:90px}.cmx-service-grid,.cmx-process-track,.cmx-why-grid,.cmx-scope-grid{grid-template-columns:1fr}.cmx-service-card:last-child{grid-column:auto}.cmx-service-photo{height:270px}.cmx-control-copy{padding:50px 20px}.cmx-control-image{min-height:420px}.cmx-process-track article{min-height:auto}.cmx-cta{padding:80px 20px}.cmx-cta:before{background:rgba(6,9,11,.91)}.cmx-cta-bg{background-size:cover;background-position:center}.cmx-cta h2{font-size:clamp(2.3rem,10.5vw,3.25rem)}.cmx-cta-card{padding:28px 22px}.cmx-cta-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.cmx-hero-bg,.cmx-scan,.cmx-command-head>i:before,.cmx-command-row>b i,.cmx-cta-bg{animation:none}.cmx-btn:before{display:none}}

/* Construction Management — clear field caption and focused page footer. */
.cmx-control-image>div strong{color:#fff!important;text-shadow:0 2px 14px rgba(0,0,0,.65)}
.cmx-site-footer{box-sizing:border-box;padding:0 clamp(20px,7vw,110px);background:#07161b;color:#fff;border-top:4px solid #f6c515}
.cmx-site-footer *{box-sizing:border-box}
.cmx-site-footer-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:clamp(45px,8vw,120px);align-items:center;padding:clamp(55px,6vw,85px) 0}
.cmx-site-footer-brand{display:grid;grid-template-columns:64px minmax(0,1fr);gap:24px;align-items:start}
.cmx-site-footer-brand>span{display:grid;place-items:center;width:64px;height:64px;border:2px solid #f6c515;color:#f6c515;font-weight:950;letter-spacing:.06em}
.cmx-site-footer-brand strong{display:block;color:#fff;font-size:clamp(1.65rem,2.5vw,2.7rem);letter-spacing:-.045em;line-height:1}
.cmx-site-footer-brand p{max-width:650px;margin:16px 0 0;color:rgba(255,255,255,.65);line-height:1.7}
.cmx-site-footer-action{padding:28px 0;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22)}
.cmx-site-footer-action small,.cmx-site-footer-action>span{display:block;color:#84deec;font-size:.6rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.cmx-site-footer-action a{display:flex;justify-content:space-between;gap:30px;margin:13px 0 19px;color:#fff;font-size:clamp(1.1rem,1.8vw,1.55rem);font-weight:850;text-decoration:none}
.cmx-site-footer-action a b{color:#f6c515}
.cmx-site-footer-action>span{color:rgba(255,255,255,.54)}
.cmx-site-footer-base{display:flex;justify-content:space-between;gap:24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.48);font-size:.72rem}
.cmx-site-footer-base a{color:rgba(255,255,255,.72);text-decoration:none}
@media(max-width:760px){.cmx-site-footer-inner{grid-template-columns:1fr}.cmx-site-footer-brand{grid-template-columns:52px minmax(0,1fr)}.cmx-site-footer-brand>span{width:52px;height:52px}.cmx-site-footer-base{display:grid}}
/* ===== END NODE 15 ===== */

/* ===== NODE 15 MOTION & EDITORIAL REFINEMENT ===== */
.cmx-marquee{position:relative;z-index:4;overflow:hidden;border-block:1px solid #d8dde0;background:var(--cmx-yellow);color:var(--cmx-black)}
.cmx-marquee div{display:flex;align-items:center;width:max-content;padding:15px 0;animation:cmx-marquee 24s linear infinite}
.cmx-marquee span{padding:0 26px;font-size:.7rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.cmx-marquee i{width:8px;height:8px;background:var(--cmx-black);transform:rotate(45deg)}
.cmx-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:34px;background:#ccd5d8}
.cmx-principles span{padding:20px 16px;background:#f8f9f8;color:#657278;font-size:.72rem;line-height:1.45}
.cmx-principles b{display:block;margin-bottom:5px;color:var(--cmx-ink);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}
.cmx-command{position:relative;overflow:hidden;animation:cmx-command-float 5s ease-in-out infinite}
.cmx-command:after{content:"";position:absolute;top:0;bottom:0;left:-35%;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent);transform:skewX(-18deg);animation:cmx-panel-sweep 6s ease-in-out infinite;pointer-events:none}
.cmx-command-row:nth-child(3)>b i{animation-delay:.18s}.cmx-command-row:nth-child(4)>b i{animation-delay:.36s}
.cmx-hero-rail span{position:relative;overflow:hidden;transition:color .3s,background .3s}
.cmx-hero-rail span:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cmx-blue);transform:scaleX(0);transition:transform .35s}
.cmx-hero-rail span:hover{background:#f4f7f8;color:#087d9d}.cmx-hero-rail span:hover:after{transform:scaleX(1)}
.cmx-service-card{transform-style:preserve-3d}.cmx-service-card:after{content:"";position:absolute;z-index:3;inset:-80% -40%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%);transform:translateX(-70%) rotate(8deg);transition:transform .9s;pointer-events:none}.cmx-service-card:hover:after{transform:translateX(70%) rotate(8deg)}
.cmx-scope-grid span{position:relative;overflow:hidden}.cmx-scope-grid span:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--cmx-blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}.cmx-scope-grid span:hover:after{transform:scaleX(1)}
.cmx-process-track{position:relative}.cmx-process-track:after{content:"";position:absolute;z-index:3;top:-1px;left:0;width:25%;height:2px;background:linear-gradient(90deg,transparent,var(--cmx-yellow),transparent);animation:cmx-route 5s ease-in-out infinite;pointer-events:none}
.cmx-process-track article:after{transition:transform .55s,border-color .4s}.cmx-process-track article:hover:after{border-color:rgba(246,197,21,.7);transform:rotate(135deg) scale(1.2)}
.cmx-why-grid article{position:relative;overflow:hidden}.cmx-why-grid article:after{content:"";position:absolute;right:-34px;top:-34px;width:82px;height:82px;border:1px solid rgba(20,155,194,.18);transform:rotate(45deg);transition:.45s}.cmx-why-grid article:hover:after{right:-18px;top:-18px;transform:rotate(135deg)}
.cmx-why-grid small{display:block;margin-top:18px;color:#8a6a00;font-size:.6rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}
.cmx-why-grid small+.cmx-why-grid h3{margin-top:8px}
.cmx-cta-card:before{content:"";position:absolute;inset:0;border:1px solid transparent;box-shadow:inset 0 0 0 0 rgba(20,155,194,.12);transition:.5s;pointer-events:none}.cmx-cta-card:hover:before{box-shadow:inset 0 0 0 10px rgba(20,155,194,.1)}
@keyframes cmx-marquee{to{transform:translateX(-50%)}}@keyframes cmx-command-float{50%{transform:translateY(-8px)}}@keyframes cmx-panel-sweep{0%,20%{left:-35%}70%,100%{left:125%}}@keyframes cmx-route{0%{left:-25%;opacity:0}15%,85%{opacity:1}100%{left:100%;opacity:0}}
@media(max-width:650px){.cmx-principles{grid-template-columns:1fr}.cmx-command{animation:none}.cmx-marquee div{animation-duration:18s}.cmx-overview-copy{padding-left:20px}}
@media(prefers-reduced-motion:reduce){.cmx-marquee div,.cmx-command,.cmx-command:after,.cmx-process-track:after{animation:none}.cmx-service-card:after{display:none}}
/* ===== END NODE 15 MOTION REFINEMENT ===== */

/* ===== NODE 15 CONSTRUCTION-LED REDESIGN ===== */
.cmx-hero{min-height:850px}.cmx-hero-bg{background:linear-gradient(90deg,rgba(5,8,10,.97) 0%,rgba(5,8,10,.84) 46%,rgba(5,8,10,.2) 82%),url('../images/services/CM/construction%20management.jpg') 76% center/cover no-repeat}
.cmx-blueprint{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,#000,transparent 58%)}
.cmx-scan{display:none}.cmx-marquee{display:none}
.cmx-site-brief{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.22);background:#f4f0e5;color:var(--cmx-ink);box-shadow:18px 20px 0 rgba(246,197,21,.92),0 35px 90px rgba(0,0,0,.4);transform:rotate(1.2deg);transition:transform .5s,box-shadow .5s}
.cmx-site-brief:hover{transform:rotate(0) translateY(-7px);box-shadow:10px 12px 0 rgba(246,197,21,.95),0 45px 100px rgba(0,0,0,.48)}
.cmx-site-brief:before{content:"";position:absolute;z-index:4;inset:10px;border:1px solid rgba(18,27,32,.16);pointer-events:none}
.cmx-site-brief-photo{position:relative;height:210px;overflow:hidden}.cmx-site-brief-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,11,13,.76))}
.cmx-site-brief-photo img{height:100%;object-fit:cover;transition:transform 1s}.cmx-site-brief:hover img{transform:scale(1.07)}
.cmx-site-brief-photo span{position:absolute;z-index:2;left:25px;bottom:19px;color:#fff;font-size:.65rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.cmx-site-brief-copy{position:relative;padding:27px 28px 31px;background-image:linear-gradient(rgba(20,155,194,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(20,155,194,.08) 1px,transparent 1px);background-size:22px 22px}
.cmx-site-brief-copy small{color:#8b6b00;font-size:.6rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.cmx-site-brief-copy>strong{display:block;margin-top:12px;font-size:clamp(1.35rem,2vw,1.9rem);letter-spacing:-.035em;line-height:1.08}
.cmx-site-brief-copy>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.cmx-site-brief-copy>div span{padding:8px 10px;border:1px solid #c8c4b8;background:rgba(255,255,255,.74);font-size:.58rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cmx-process{position:relative;isolation:isolate;background:#e9e5da;color:var(--cmx-ink)}.cmx-process:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(18,27,32,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(18,27,32,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.25))}
.cmx-process .cmx-label{color:#806200}.cmx-process .cmx-heading h2{color:var(--cmx-ink)}
.cmx-build-sequence{position:relative;max-width:1260px;margin:64px auto 0}.cmx-build-line{position:absolute;z-index:0;top:46px;bottom:46px;left:50%;width:3px;background:#c3beb0;transform:translateX(-50%)}
.cmx-build-line i{display:block;width:100%;height:0;background:linear-gradient(var(--cmx-yellow),#d99d00);box-shadow:0 0 20px rgba(246,197,21,.35)}
.cmx-build-sequence.show .cmx-build-line i{animation:cmx-build-rise 2.7s .25s cubic-bezier(.2,.75,.2,1) forwards}
.cmx-build-sequence article{position:relative;z-index:1;display:grid;grid-template-columns:1fr 96px 1fr;align-items:center;min-height:210px}
.cmx-build-sequence article:nth-of-type(odd) .cmx-stage-copy{grid-column:1;text-align:right}.cmx-build-sequence article:nth-of-type(odd) .cmx-stage-mark{grid-column:2}.cmx-build-sequence article:nth-of-type(even) .cmx-stage-mark{grid-column:2}.cmx-build-sequence article:nth-of-type(even) .cmx-stage-copy{grid-column:3}
.cmx-stage-mark{display:flex;grid-row:1;flex-direction:column;align-items:center;gap:12px}.cmx-stage-mark b{padding:7px 10px;background:var(--cmx-black);color:#fff;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;transform:scale(.82);opacity:.55;transition:.4s}
.cmx-stage-mark i{width:20px;height:20px;border:5px solid #e9e5da;background:#8c8b84;box-shadow:0 0 0 2px #8c8b84;transform:rotate(45deg);transition:.45s}
.cmx-build-sequence.show article:nth-of-type(1) .cmx-stage-mark>*{animation:cmx-stage-set .45s .35s forwards}.cmx-build-sequence.show article:nth-of-type(2) .cmx-stage-mark>*{animation:cmx-stage-set .45s .95s forwards}.cmx-build-sequence.show article:nth-of-type(3) .cmx-stage-mark>*{animation:cmx-stage-set .45s 1.55s forwards}.cmx-build-sequence.show article:nth-of-type(4) .cmx-stage-mark>*{animation:cmx-stage-set .45s 2.15s forwards}
.cmx-stage-copy{max-width:510px;padding:30px 38px;border-top:4px solid var(--cmx-yellow);background:#fff;box-shadow:0 18px 45px rgba(18,27,32,.1);opacity:0;transform:translateX(25px);transition:transform .4s,box-shadow .4s}
.cmx-build-sequence article:nth-of-type(odd) .cmx-stage-copy{justify-self:end;transform:translateX(-25px)}.cmx-build-sequence.show .cmx-stage-copy{animation:cmx-stage-card .65s forwards}.cmx-build-sequence.show article:nth-of-type(2) .cmx-stage-copy{animation-delay:.55s}.cmx-build-sequence.show article:nth-of-type(3) .cmx-stage-copy{animation-delay:1.15s}.cmx-build-sequence.show article:nth-of-type(4) .cmx-stage-copy{animation-delay:1.75s}
.cmx-stage-copy:hover{transform:translateY(-6px)!important;box-shadow:0 28px 60px rgba(18,27,32,.17)}.cmx-stage-copy small{color:#8a6a00;font-size:.6rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.cmx-stage-copy h3{margin:9px 0 11px;color:var(--cmx-ink);font-size:clamp(1.25rem,1.7vw,1.7rem);letter-spacing:-.03em}.cmx-stage-copy p{margin:0;color:#617077;line-height:1.68}
@keyframes cmx-build-rise{to{height:100%}}@keyframes cmx-stage-set{to{opacity:1;transform:rotate(0) scale(1);background:var(--cmx-yellow);box-shadow:0 0 0 2px #b68b00,0 0 0 8px rgba(246,197,21,.16)}}@keyframes cmx-stage-card{to{opacity:1;transform:translateX(0)}}
@media(max-width:760px){.cmx-hero{min-height:auto}.cmx-site-brief{margin:4px 10px 0;transform:none;box-shadow:9px 10px 0 rgba(246,197,21,.92),0 28px 65px rgba(0,0,0,.38)}.cmx-site-brief:hover{transform:none}.cmx-build-sequence{padding-left:36px}.cmx-build-line{left:10px}.cmx-build-sequence article{display:block;min-height:auto;margin-bottom:24px}.cmx-stage-mark{position:absolute;left:-36px;top:30px}.cmx-stage-mark b{display:none}.cmx-stage-copy,.cmx-build-sequence article:nth-of-type(odd) .cmx-stage-copy{max-width:none;text-align:left;transform:translateX(18px);padding:25px 22px}.cmx-build-sequence.show .cmx-stage-copy{animation-name:cmx-stage-card}.cmx-stage-copy:hover{transform:none!important}}
@media(prefers-reduced-motion:reduce){.cmx-site-brief,.cmx-site-brief-photo img{transition:none}.cmx-build-sequence .cmx-build-line i{height:100%;animation:none!important}.cmx-build-sequence .cmx-stage-mark>*{opacity:1;animation:none!important}.cmx-stage-copy,.cmx-build-sequence article:nth-of-type(odd) .cmx-stage-copy{opacity:1;transform:none;animation:none!important}}
/* ===== END NODE 15 CONSTRUCTION-LED REDESIGN ===== */

/* =========================================================
   HOMEPAGE — BUILT IN MOTION
   ========================================================= */
.hpx-page{--hx-orange:#ff5a1f;--hx-blue:#23b6df;--hx-yellow:#ffd21a;--hx-ink:#0b0f12;--hx-paper:#f2efe7;background:#fff;color:var(--hx-ink);overflow:hidden}.hpx-page,.hpx-page *,.hpx-page *:before,.hpx-page *:after{box-sizing:border-box;hyphens:none;word-break:normal}.hpx-page img{display:block;width:100%}.hpx-page a{text-decoration:none}.hpx-nav-cta{display:inline-flex;align-items:center;gap:12px;padding:12px 17px;background:#ff5a1f;color:#fff!important;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase;transition:.3s}.hpx-nav-cta:hover{background:#23b6df;transform:translateY(-2px)}
.hpx-label,.hpx-eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:.66rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.hpx-label{color:#b53a0b}.hpx-label:before,.hpx-eyebrow:before{content:"";width:35px;height:3px;background:currentColor}.hpx-eyebrow{color:#ffb197}
.hpx-hero{position:relative;isolation:isolate;min-height:clamp(760px,100vh,980px);padding:clamp(135px,13vh,190px) clamp(20px,7vw,110px) 120px;background:#080b0e;color:#fff}.hpx-hero-media{position:absolute;z-index:-4;inset:0;overflow:hidden}.hpx-hero-media div{position:absolute;inset:-3%;background-position:center;background-size:cover;opacity:0;animation:hpx-hero-cycle 18s infinite}.hpx-hero-media div:nth-child(1){background-image:linear-gradient(90deg,rgba(4,8,10,.96),rgba(4,8,10,.73) 53%,rgba(4,8,10,.16)),url('../images/hero/crane.png');opacity:1}.hpx-hero-media div:nth-child(2){background-image:linear-gradient(90deg,rgba(4,8,10,.96),rgba(4,8,10,.7) 53%,rgba(4,8,10,.16)),url('../images/services/Concrete/pour.jpg');animation-delay:6s}.hpx-hero-media div:nth-child(3){background-image:linear-gradient(90deg,rgba(4,8,10,.96),rgba(4,8,10,.7) 53%,rgba(4,8,10,.16)),url('../images/services/Interior/restoration.jpg');animation-delay:12s}.hpx-hero-grid{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.hpx-hero-beam{position:absolute;z-index:-1;top:0;bottom:0;left:67%;width:1px;background:rgba(255,255,255,.13)}.hpx-hero-beam i{position:absolute;top:-80px;left:-5px;width:11px;height:80px;background:var(--hx-orange);box-shadow:0 0 30px rgba(255,90,31,.8);animation:hpx-beam 5s ease-in-out infinite}.hpx-hero-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.45fr);gap:clamp(45px,8vw,130px);align-items:center;max-width:1500px;margin:auto}.hpx-hero-copy{max-width:950px}.hpx-hero h2{margin:22px 0;color:#fff;font-size:clamp(4.2rem,8.3vw,9.2rem);font-weight:950;letter-spacing:-.075em;line-height:.78}.hpx-hero h2 span,.hpx-hero h2 strong{display:block}.hpx-hero h2 strong{color:var(--hx-orange);font-weight:950;text-shadow:0 13px 45px rgba(255,90,31,.25)}.hpx-hero-copy>p{max-width:700px;margin:33px 0 0;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.3vw,1.2rem);line-height:1.75}.hpx-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hpx-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:59px;padding:0 28px;overflow:hidden;font-size:.7rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase;transition:.35s}.hpx-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.42),transparent 62%);transform:translateX(-130%);transition:transform .65s}.hpx-btn:hover{transform:translateY(-5px)}.hpx-btn:hover:before{transform:translateX(130%)}.hpx-btn-orange{background:var(--hx-orange);color:#fff;box-shadow:0 18px 45px rgba(255,90,31,.27)}.hpx-btn-ghost{border:1px solid rgba(255,255,255,.42);color:#fff;backdrop-filter:blur(8px)}.hpx-btn-dark{background:var(--hx-ink);color:#fff}.hpx-hero-card{position:relative;padding:clamp(26px,3vw,42px);border-left:4px solid var(--hx-orange);background:rgba(7,12,15,.76);box-shadow:0 35px 90px rgba(0,0,0,.38);backdrop-filter:blur(15px);overflow:hidden}.hpx-hero-card:after{content:"";position:absolute;inset:-100% -20%;background:linear-gradient(110deg,transparent 44%,rgba(35,182,223,.13) 50%,transparent 56%);animation:hpx-card-sweep 6s ease-in-out infinite}.hpx-hero-card>span{color:#74ddf5;font-size:.63rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.hpx-hero-card>strong{display:block;margin-top:15px;font-size:clamp(1.4rem,2.2vw,2.35rem);letter-spacing:-.045em;line-height:1.08}.hpx-hero-card>div{display:grid;grid-template-columns:10px 1fr 10px 1fr 10px 1fr;align-items:center;gap:8px;margin-top:28px}.hpx-hero-card i{width:8px;height:8px;background:var(--hx-orange);transform:rotate(45deg);animation:hpx-node 2s ease-in-out infinite}.hpx-hero-card i:nth-of-type(2){animation-delay:.55s;background:var(--hx-yellow)}.hpx-hero-card i:nth-of-type(3){animation-delay:1.1s;background:var(--hx-blue)}.hpx-hero-card small{font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hpx-hero-bottom{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr) 1.15fr;max-width:980px;background:#fff;color:var(--hx-ink)}.hpx-hero-bottom span,.hpx-hero-bottom a{padding:20px 13px;border-right:1px solid #dce0e1;font-size:.62rem;font-weight:950;letter-spacing:.1em;text-align:center;text-transform:uppercase}.hpx-hero-bottom a{background:var(--hx-blue);color:#051014}
.hpx-intro{position:relative;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(45px,9vw,150px);padding:clamp(95px,11vw,165px) clamp(20px,7vw,110px);background:linear-gradient(130deg,#fff 58%,#eaf8fb)}.hpx-intro h2,.hpx-section-head h2,.hpx-work h2,.hpx-trust h2,.hpx-cta h2{margin:18px 0 0;font-size:clamp(3rem,5.2vw,6rem);font-weight:950;letter-spacing:-.065em;line-height:.91;text-wrap:balance}.hpx-intro h2 em,.hpx-section-head h2 em,.hpx-work h2 em,.hpx-trust h2 em,.hpx-cta h2 em{color:var(--hx-orange);font-style:normal}.hpx-intro-copy{padding-left:clamp(25px,4vw,60px);border-left:1px solid #bdced4}.hpx-intro-copy p{color:#596b72;line-height:1.8}.hpx-intro-copy .hpx-lead{margin-top:0;color:var(--hx-ink);font-size:clamp(1.25rem,1.7vw,1.58rem);font-weight:800;line-height:1.5}.hpx-intro-copy>a{display:inline-flex;gap:15px;margin-top:20px;color:#b33b0d;font-size:.7rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.hpx-intro-stripe{position:absolute;right:0;bottom:0;width:34%;height:9px;background:linear-gradient(90deg,var(--hx-orange) 0 33%,var(--hx-yellow) 33% 66%,var(--hx-blue) 66%)}
.hpx-services{padding:clamp(90px,9vw,140px) clamp(20px,7vw,110px);background:#0a0e11;color:#fff}.hpx-section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;max-width:1460px;margin:auto}.hpx-section-head h2{color:inherit}.hpx-services .hpx-label,.hpx-method .hpx-label{color:#79e3f8}.hpx-section-head>p{max-width:480px;color:rgba(255,255,255,.62);line-height:1.75}.hpx-service-stack{max-width:1460px;margin:65px auto 0}.hpx-service{position:relative;display:grid;grid-template-columns:1.06fr .94fr;min-height:430px;margin-bottom:24px;overflow:hidden;background:#fff;color:var(--hx-ink);transition:transform .45s,box-shadow .45s}.hpx-service:hover{transform:translateY(-8px);box-shadow:0 38px 85px rgba(0,0,0,.48)}.hpx-service-reverse .hpx-service-img{order:2}.hpx-service-img{position:relative;overflow:hidden}.hpx-service-img:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 50%,rgba(255,90,31,.24));mix-blend-mode:screen;opacity:0;transition:.5s}.hpx-service:hover .hpx-service-img:after{opacity:1}.hpx-service-img img{height:100%;object-fit:cover;transition:transform 1s}.hpx-service:hover img{transform:scale(1.065)}.hpx-service-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,5vw,78px);background-image:linear-gradient(rgba(15,20,23,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(15,20,23,.045) 1px,transparent 1px);background-size:32px 32px}.hpx-service-copy>span{color:#b53a0b;font-size:.61rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.hpx-service-copy h3{margin:15px 0;font-size:clamp(2rem,3.3vw,3.75rem);letter-spacing:-.055em;line-height:.94}.hpx-service-copy p{max-width:570px;color:#607078;line-height:1.72}.hpx-service-copy b{margin-top:22px;color:#077c9c;font-size:.66rem;letter-spacing:.11em;text-transform:uppercase}.hpx-service>i{position:absolute;z-index:3;right:-3px;bottom:-16px;color:rgba(10,14,17,.055);font-size:clamp(5rem,10vw,10rem);font-weight:950;font-style:normal;letter-spacing:-.08em;line-height:1;pointer-events:none}.hpx-service-reverse>i{right:auto;left:-3px}.hpx-all-services{display:flex;justify-content:center;margin-top:50px}
.hpx-work{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(45px,8vw,125px);align-items:center;padding:clamp(90px,10vw,150px) clamp(20px,7vw,110px);background:var(--hx-paper)}.hpx-work-copy>p{max-width:580px;color:#5f6c71;line-height:1.8}.hpx-work-collage{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:280px 280px;gap:12px;min-width:0}.hpx-work-collage figure{position:relative;margin:0;overflow:hidden}.hpx-work-collage img{height:100%;object-fit:cover;transition:transform .8s}.hpx-work-collage figure:hover img{transform:scale(1.08)}.hpx-shot-a{grid-row:1/3}.hpx-work-collage figcaption{position:absolute;left:0;bottom:0;padding:10px 13px;background:var(--hx-ink);color:#fff;font-size:.58rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.hpx-work-stamp{position:absolute;left:50%;top:50%;display:flex;flex-direction:column;justify-content:center;width:145px;height:145px;border:5px solid #fff;border-radius:50%;background:var(--hx-orange);color:#fff;text-align:center;transform:translate(-50%,-50%) rotate(-8deg);box-shadow:0 20px 45px rgba(0,0,0,.25);animation:hpx-stamp 5s ease-in-out infinite}.hpx-work-stamp span{font-size:.57rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.hpx-work-stamp strong{margin-top:6px;font-size:1.08rem;text-transform:uppercase}
.hpx-method{padding:clamp(90px,9vw,135px) clamp(20px,7vw,110px);background:linear-gradient(125deg,#081015,#10232b);color:#fff}.hpx-method .hpx-section-head{align-items:start}.hpx-method-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1460px;margin:75px auto 0}.hpx-method-line>i{position:absolute;top:14px;left:1%;width:0;height:3px;background:linear-gradient(90deg,var(--hx-orange),var(--hx-yellow),var(--hx-blue));box-shadow:0 0 18px rgba(35,182,223,.45)}.hpx-method-line.show>i{animation:hpx-line-build 2.4s .2s forwards}.hpx-method-line article{position:relative;padding:48px 25px 30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.045);transition:.35s}.hpx-method-line article:before{content:"";position:absolute;z-index:2;top:5px;left:23px;width:18px;height:18px;border:5px solid #102028;background:var(--hx-orange);transform:rotate(45deg);opacity:0}.hpx-method-line.show article:before{animation:hpx-method-node .4s forwards}.hpx-method-line.show article:nth-of-type(2):before{animation-delay:.6s;background:var(--hx-yellow)}.hpx-method-line.show article:nth-of-type(3):before{animation-delay:1.2s;background:#68dcef}.hpx-method-line.show article:nth-of-type(4):before{animation-delay:1.8s;background:var(--hx-blue)}.hpx-method-line article:hover{transform:translateY(-8px);border-color:var(--hx-blue);background:rgba(35,182,223,.09)}.hpx-method-line b{color:#7ee6fa;font-size:.62rem;letter-spacing:.17em;text-transform:uppercase}.hpx-method-line h3{margin:12px 0;color:#fff;font-size:1.25rem}.hpx-method-line p{margin:0;color:rgba(255,255,255,.61);line-height:1.7}
.hpx-trust{display:grid;grid-template-columns:1fr 1fr;min-height:730px;background:#fff}.hpx-trust-photo{position:relative;min-height:580px;overflow:hidden}.hpx-trust-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(5,9,11,.9))}.hpx-trust-photo img{height:100%;object-fit:cover;transition:transform 10s}.hpx-trust-photo.show img{transform:scale(1.08)}.hpx-trust-photo>div{position:absolute;z-index:2;left:clamp(22px,5vw,70px);right:25px;bottom:45px;padding-left:18px;border-left:5px solid var(--hx-orange);color:#fff}.hpx-trust-photo span,.hpx-trust-photo strong{display:block}.hpx-trust-photo span{color:#71dff6;font-size:.62rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.hpx-trust-photo strong{max-width:580px;margin-top:8px;font-size:clamp(1.5rem,2.7vw,2.8rem);line-height:1.08}.hpx-trust-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,7vw,105px)}.hpx-trust-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:36px}.hpx-trust-points article{padding:24px;border:1px solid #dbe2e4;background:#f7f9f9;transition:.35s}.hpx-trust-points article:hover{transform:translateY(-6px);border-color:var(--hx-orange);box-shadow:0 20px 40px rgba(10,15,18,.09)}.hpx-trust-points i{display:block;width:34px;height:4px;background:linear-gradient(90deg,var(--hx-orange),var(--hx-yellow))}.hpx-trust-points h3{margin:17px 0 7px;font-size:.9rem;text-transform:uppercase}.hpx-trust-points p{margin:0;color:#617178;font-size:.82rem;line-height:1.6}
.hpx-cta{position:relative;isolation:isolate;min-height:720px;display:flex;align-items:center;padding:clamp(90px,10vw,150px) clamp(20px,7vw,110px);overflow:hidden;background:#070a0c;color:#fff}.hpx-cta-media{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(5,8,10,.97),rgba(5,8,10,.75) 58%,rgba(5,8,10,.28)),url('../images/projects/featured/framing-hero-project.jpg') right center/cover no-repeat;animation:hpx-cta-drift 12s ease-in-out infinite alternate}.hpx-cta:after{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.hpx-cta-lines i{position:absolute;z-index:-1;top:0;bottom:0;width:1px;background:rgba(255,255,255,.12)}.hpx-cta-lines i:nth-child(1){left:70%}.hpx-cta-lines i:nth-child(2){left:78%}.hpx-cta-lines i:nth-child(3){left:86%}.hpx-cta-inner{max-width:1050px}.hpx-cta-inner>span{color:#79e3f8;font-size:.68rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.hpx-cta h2{color:#fff}.hpx-cta-inner>p{max-width:700px;color:rgba(255,255,255,.7);font-size:1.08rem;line-height:1.75}
.hpx-footer{padding:65px clamp(20px,7vw,110px) 30px;background:#070a0c;color:#fff}.hpx-footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:center;padding-bottom:45px;border-bottom:1px solid rgba(255,255,255,.15)}.hpx-footer-top>a:first-child{color:#fff;font-size:1.6rem;font-weight:950}.hpx-footer-top p{color:rgba(255,255,255,.58);text-align:center}.hpx-footer-top>a:last-child{color:#7de6fa;text-align:right}.hpx-footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:28px;color:rgba(255,255,255,.48);font-size:.7rem}.hpx-footer-bottom nav{display:flex;gap:25px}.hpx-footer-bottom a{color:rgba(255,255,255,.68)}
@keyframes hpx-hero-cycle{0%{opacity:0;transform:scale(1.08)}5%,30%{opacity:1}36%,100%{opacity:0;transform:scale(1)}}@keyframes hpx-beam{0%,15%{top:-80px}75%,100%{top:100%}}@keyframes hpx-card-sweep{0%,20%{transform:translateX(-70%) rotate(8deg)}75%,100%{transform:translateX(70%) rotate(8deg)}}@keyframes hpx-node{50%{transform:rotate(45deg) scale(.55);opacity:.5}}@keyframes hpx-stamp{50%{transform:translate(-50%,-50%) rotate(3deg) scale(1.04)}}@keyframes hpx-line-build{to{width:98%}}@keyframes hpx-method-node{to{opacity:1;transform:rotate(45deg) scale(1)}}@keyframes hpx-cta-drift{to{transform:scale(1.08) translate3d(-14px,-5px,0)}}
@media(max-width:1080px){.hpx-nav-cta{display:none}.hpx-hero-inner,.hpx-intro,.hpx-work,.hpx-trust{grid-template-columns:1fr}.hpx-hero-card{max-width:600px}.hpx-service{grid-template-columns:1fr;min-height:0}.hpx-service-img{height:390px}.hpx-service-reverse .hpx-service-img{order:0}.hpx-method-line{grid-template-columns:1fr 1fr}.hpx-method-line>i{display:none}.hpx-method-line article:before{opacity:1}.hpx-trust-photo{min-height:620px}.hpx-footer-top{grid-template-columns:1fr;text-align:center}.hpx-footer-top>a:last-child{text-align:center}}
@media(max-width:650px){.hpx-hero{min-height:auto;padding:120px 16px 0}.hpx-hero h2{font-size:clamp(3.45rem,17vw,5.1rem);line-height:.82}.hpx-hero-copy>p{margin-top:25px}.hpx-actions{display:grid;justify-items:start}.hpx-hero-card{margin-top:25px}.hpx-hero-bottom{position:relative;grid-template-columns:1fr 1fr;width:calc(100% + 32px);margin:65px -16px 0}.hpx-hero-bottom a{grid-column:1/-1}.hpx-intro{padding-top:85px}.hpx-intro-copy{padding-left:20px}.hpx-section-head{display:block}.hpx-section-head>p{margin-top:25px}.hpx-service-img{height:280px}.hpx-service-copy{padding:32px 23px}.hpx-service-copy h3{font-size:2rem}.hpx-work-collage{grid-template-rows:220px 220px}.hpx-work-stamp{width:108px;height:108px}.hpx-method-line,.hpx-trust-points{grid-template-columns:1fr}.hpx-trust-photo{min-height:460px}.hpx-trust-copy{padding:70px 20px}.hpx-cta{min-height:650px}.hpx-cta h2{font-size:clamp(3rem,13vw,4.3rem)}.hpx-footer-bottom{display:block;text-align:center}.hpx-footer-bottom nav{justify-content:center;flex-wrap:wrap;margin-top:20px}}
@media(prefers-reduced-motion:reduce){.hpx-hero-media div,.hpx-hero-beam i,.hpx-hero-card:after,.hpx-hero-card i,.hpx-work-stamp,.hpx-method-line.show>i,.hpx-method-line.show article:before,.hpx-cta-media{animation:none}.hpx-hero-media div:first-child{opacity:1}.hpx-trust-photo.show img{transform:none}.hpx-btn:before{display:none}}
/* ===== END HOMEPAGE ===== */

/* ===== RESTORED HOMEPAGE PREMIUM REFINEMENT ===== */
body:has(.hero-slider){--home-yellow:#ffd000;--home-orange:#ff7138;--home-blue:#25b8da;--home-navy:#0c1820;--home-paper:#f5f2e9;background:#fff}
body:has(.hero-slider) .hero-slider{position:relative;isolation:isolate;min-height:clamp(720px,92vh,940px);overflow:hidden}
body:has(.hero-slider) .hero-slider:after{content:"";position:absolute;z-index:4;right:7vw;bottom:0;width:2px;height:34%;background:linear-gradient(transparent,var(--home-yellow));animation:home-drop-line 4.5s ease-in-out infinite;pointer-events:none}
body:has(.hero-slider) .hero-slider .slide{animation:home-hero-breathe 12s ease-in-out infinite alternate}
body:has(.hero-slider) .hero-slider .overlay{background:linear-gradient(90deg,rgba(7,10,12,.91),rgba(7,10,12,.66) 50%,rgba(7,10,12,.16))}
body:has(.hero-slider) .hero-content{max-width:760px;padding-left:18px;border-left:4px solid var(--home-yellow)}
body:has(.hero-slider) .hero-content h2{max-width:680px;margin:18px 0;color:#fff;font-size:clamp(4rem,7.4vw,8rem);letter-spacing:-.065em;line-height:.8;text-wrap:balance}
body:has(.hero-slider) .hero-content h2 span{display:block;color:var(--home-yellow)}
body:has(.hero-slider) .hero-content p{max-width:620px;font-size:clamp(1rem,1.15vw,1.16rem);line-height:1.65}
body:has(.hero-slider) .hero-cta{position:relative;overflow:hidden;transition:transform .32s,box-shadow .32s,background .32s}
body:has(.hero-slider) .hero-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.46),transparent 65%);transform:translateX(-130%);transition:transform .65s}
body:has(.hero-slider) .hero-cta:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(255,208,0,.26)}body:has(.hero-slider) .hero-cta:hover:after{transform:translateX(130%)}
body:has(.hero-slider) .mission-cinema-section{min-height:720px;background:#101619;overflow:hidden}
body:has(.hero-slider) .mission-cinema-section:after{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 14% 35%,rgba(255,208,0,.24),transparent 27%),radial-gradient(circle at 88% 70%,rgba(37,184,218,.16),transparent 26%);animation:home-ambient 9s ease-in-out infinite alternate;pointer-events:none}
body:has(.hero-slider) .mission-cinema-overlay{background:linear-gradient(90deg,rgba(8,12,14,.93),rgba(8,12,14,.6) 58%,rgba(8,12,14,.34))}
body:has(.hero-slider) .mission-cinema-content{position:relative;z-index:3}
body:has(.hero-slider) .mission-copy-panel{max-width:920px;padding:clamp(34px,5vw,68px);border:1px solid rgba(255,255,255,.14);border-left:5px solid var(--home-yellow);background:rgba(8,13,16,.6);box-shadow:0 35px 90px rgba(0,0,0,.3);backdrop-filter:blur(10px)}
body:has(.hero-slider) .mission-cinema-section h2{display:grid;gap:5px;max-width:840px;margin:20px 0;color:#fff;font-size:clamp(2.5rem,4.5vw,5rem);letter-spacing:-.05em;line-height:.92;text-wrap:balance}
body:has(.hero-slider) .mission-cinema-section h2 span{display:block;white-space:normal}body:has(.hero-slider) .mission-cinema-section h2 span:nth-child(2){color:var(--home-yellow)}body:has(.hero-slider) .mission-cinema-section h2 span:nth-child(3){background:linear-gradient(90deg,#fff 25%,#7de6f6);background-clip:text;color:transparent}
body:has(.hero-slider) .mission-cinema-section p{max-width:760px;color:rgba(255,255,255,.76);font-size:1rem;line-height:1.75}
body:has(.hero-slider) .mission-pill-row{display:flex;flex-wrap:wrap;gap:8px}body:has(.hero-slider) .mission-pill-row span{padding:11px 14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);transition:.3s}body:has(.hero-slider) .mission-pill-row span:hover{border-color:var(--home-blue);background:rgba(37,184,218,.13);transform:translateY(-4px)}
body:has(.hero-slider) .home-services-showcase{position:relative;padding:clamp(90px,9vw,140px) 0;background:linear-gradient(135deg,#fff,var(--home-paper) 52%,#eaf9fc);overflow:hidden}
body:has(.hero-slider) .home-services-showcase:before{background:linear-gradient(rgba(10,24,32,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(10,24,32,.035) 1px,transparent 1px);background-size:52px 52px;opacity:1}
body:has(.hero-slider) .home-services-showcase:after{content:"";position:absolute;top:0;left:0;width:100%;height:8px;background:linear-gradient(90deg,var(--home-orange),var(--home-yellow) 42%,var(--home-blue));background-size:200% 100%;animation:home-color-flow 7s linear infinite}
body:has(.hero-slider) .home-services-showcase .modern-section-heading{max-width:900px;margin:0 auto 58px;text-align:center}
body:has(.hero-slider) .home-services-showcase h2{max-width:880px;margin:15px auto;color:var(--home-navy);font-size:clamp(2.8rem,4.7vw,5rem);letter-spacing:-.055em;line-height:.95;text-wrap:balance}
body:has(.hero-slider) .home-services-showcase .home-services-heading{margin-bottom:42px}
body:has(.hero-slider) .home-services-showcase .home-services-heading h2{font-size:clamp(2.35rem,3.5vw,3.75rem);line-height:1;letter-spacing:-.045em}
body:has(.hero-slider) .home-services-showcase .modern-section-heading p{max-width:700px;margin:20px auto 0;color:#566970;font-size:1.05rem;line-height:1.7}
body:has(.hero-slider) .service-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1220px;margin:auto}
body:has(.hero-slider) .service-showcase-card{display:grid;grid-template-columns:minmax(210px,.82fr) 1.18fr;min-height:330px;border:1px solid #dbe2e4;border-radius:0;background:#fff;box-shadow:0 18px 48px rgba(13,28,36,.1);overflow:hidden;transform:none}
body:has(.hero-slider) .service-showcase-card:nth-child(1),body:has(.hero-slider) .service-showcase-card:nth-child(4){border-top:4px solid var(--home-orange)}body:has(.hero-slider) .service-showcase-card:nth-child(2),body:has(.hero-slider) .service-showcase-card:nth-child(3){border-top:4px solid var(--home-blue)}
body:has(.hero-slider) .service-showcase-card:hover{transform:translateY(-9px);box-shadow:0 30px 70px rgba(13,28,36,.18)}
body:has(.hero-slider) .service-card-image{height:100%;min-height:326px;overflow:hidden}body:has(.hero-slider) .service-card-image img{height:100%;object-fit:cover;transition:transform .85s,filter .5s}body:has(.hero-slider) .service-showcase-card:hover img{transform:scale(1.08);filter:saturate(1.12)}
body:has(.hero-slider) .service-card-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(25px,3vw,42px);text-align:left;background-image:linear-gradient(rgba(12,24,32,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(12,24,32,.035) 1px,transparent 1px);background-size:28px 28px}
body:has(.hero-slider) .service-showcase-card h3{margin:0 0 15px;color:var(--home-navy);font-size:clamp(1.45rem,2vw,2.15rem);letter-spacing:-.035em;line-height:1.05}body:has(.hero-slider) .service-showcase-card p{margin:0;color:#60727a;line-height:1.68}
body:has(.hero-slider) .service-showcase-card:after{height:5px;background:linear-gradient(90deg,var(--home-orange),var(--home-yellow),var(--home-blue));transform:scaleX(0);transform-origin:left;transition:transform .45s}body:has(.hero-slider) .service-showcase-card:hover:after{transform:scaleX(1)}body:has(.hero-slider) .home-services-action{margin-top:48px}
/* ===== END HOMEPAGE PREMIUM PART 1 ===== */
body:has(.hero-slider) .home-gallery-teaser{padding:clamp(75px,8vw,115px) 0;background:linear-gradient(115deg,#fff6dd,#edfaff)}
body:has(.hero-slider) .gallery-teaser-panel{position:relative;grid-template-columns:1fr .52fr auto;max-width:1220px;padding:clamp(35px,5vw,65px);border:0;border-left:6px solid var(--home-orange);background:#fff;box-shadow:0 30px 80px rgba(15,31,39,.13);overflow:hidden}
body:has(.hero-slider) .gallery-teaser-panel:after{content:"";position:absolute;right:-75px;bottom:-75px;width:220px;height:220px;border:35px solid rgba(37,184,218,.09);border-radius:50%;animation:home-ring 8s linear infinite}
body:has(.hero-slider) .gallery-teaser-copy h2{color:var(--home-navy);font-size:clamp(2.2rem,3.7vw,4rem);letter-spacing:-.05em;line-height:1}
body:has(.hero-slider) .gallery-teaser-visual span{border-color:rgba(37,184,218,.35);background:linear-gradient(135deg,#fff5c7,#def7fc)}
body:has(.hero-slider) .home-trust-updated{padding:clamp(85px,9vw,130px) 0;background:linear-gradient(125deg,#f8f6ef,#e9f8fb);color:var(--home-navy)}
body:has(.hero-slider) .home-trust-updated:before{background:linear-gradient(rgba(12,24,32,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(12,24,32,.04) 1px,transparent 1px);background-size:48px 48px}
body:has(.hero-slider) .trust-band-layout{align-items:center;gap:clamp(45px,8vw,120px)}
body:has(.hero-slider) .trust-band-copy h2{display:grid;gap:3px;color:var(--home-navy);font-size:clamp(2.5rem,4.4vw,4.9rem);letter-spacing:-.055em;line-height:.94}
body:has(.hero-slider) .trust-band-copy h2 span{display:block;white-space:normal}body:has(.hero-slider) .trust-band-copy h2 span:nth-child(2){color:#c34615}body:has(.hero-slider) .trust-band-copy h2 span:nth-child(3){color:#087e9b}
body:has(.hero-slider) .trust-band-copy p{max-width:650px;color:#5d6f76;font-size:1rem;line-height:1.75}
body:has(.hero-slider) .trust-band-clean>div{padding:20px 24px;border:1px solid #d3e0e4;border-left:5px solid var(--home-yellow);background:rgba(255,255,255,.84);color:var(--home-navy);box-shadow:0 12px 30px rgba(16,38,48,.07);transition:.35s}body:has(.hero-slider) .trust-band-clean>div:nth-child(even){border-left-color:var(--home-blue)}body:has(.hero-slider) .trust-band-clean>div:hover{transform:translateX(8px);background:#fff;box-shadow:0 18px 40px rgba(16,38,48,.12)}
.site-premium-footer{padding-top:0;background:#0a1014;color:#fff}
.site-premium-footer .footer-hazard-line{height:8px;background:linear-gradient(90deg,var(--home-orange),var(--home-yellow) 45%,var(--home-blue));background-size:200% 100%;animation:home-color-flow 7s linear infinite}
.site-premium-footer:before{background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:52px 52px}
.site-premium-footer .container{padding-top:clamp(65px,7vw,105px)}
.site-premium-footer .modern-footer-hero{position:relative;grid-template-columns:1fr auto;gap:45px;padding:clamp(38px,5vw,68px);border:1px solid rgba(255,255,255,.13);border-left:7px solid var(--home-yellow);background:linear-gradient(110deg,rgba(255,208,0,.13),rgba(255,113,56,.07) 48%,rgba(37,184,218,.12));box-shadow:0 30px 80px rgba(0,0,0,.32);overflow:hidden}
.site-premium-footer .modern-footer-hero:after{content:"";position:absolute;right:-50px;top:-90px;width:240px;height:240px;border:35px solid rgba(37,184,218,.1);border-radius:50%;animation:home-ring 10s linear infinite}
.site-premium-footer .modern-footer-hero h2{max-width:820px;color:#fff;font-size:clamp(2.25rem,4.2vw,4.6rem);letter-spacing:-.055em;line-height:.94;text-wrap:balance}
.site-premium-footer .modern-footer-hero p{max-width:720px;color:rgba(255,255,255,.7);font-size:1rem;line-height:1.7}
.site-premium-footer .footer-main-btn{position:relative;z-index:2;min-width:190px;background:var(--home-yellow);color:#111;box-shadow:0 18px 40px rgba(255,208,0,.22);transition:.35s}.site-premium-footer .footer-main-btn:hover{background:var(--home-blue);transform:translateY(-6px);box-shadow:0 22px 50px rgba(37,184,218,.25)}
.site-premium-footer .modern-footer-grid{grid-template-columns:1.05fr .8fr 1.15fr;gap:14px;margin-top:20px}
.site-premium-footer .modern-footer-card{min-height:250px;padding:clamp(27px,3vw,42px);border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.045);transition:.35s}.site-premium-footer .modern-footer-card:hover{transform:translateY(-7px);border-color:rgba(37,184,218,.5);background:rgba(37,184,218,.07)}
.site-premium-footer .modern-footer-card h3{color:#fff}.site-premium-footer .modern-footer-card p,.site-premium-footer .modern-footer-list li{color:rgba(255,255,255,.65);line-height:1.7}.site-premium-footer .footer-mark{border-color:var(--home-yellow);color:var(--home-yellow)}
.site-premium-footer .modern-contact-row{grid-template-columns:75px 1fr;gap:12px}.site-premium-footer .modern-contact-row span{color:var(--home-yellow)}.site-premium-footer .modern-contact-row strong{color:#fff;overflow-wrap:anywhere}
.site-premium-footer .modern-footer-bottom{margin-top:18px;padding:25px 0;border-top:1px solid rgba(255,255,255,.1)}
@keyframes home-drop-line{0%,15%{transform:translateY(-110%)}70%,100%{transform:translateY(300%)}}@keyframes home-hero-breathe{to{transform:scale(1.035)}}@keyframes home-ambient{to{filter:hue-rotate(12deg);transform:scale(1.04)}}@keyframes home-color-flow{to{background-position:200% 0}}@keyframes home-ring{to{transform:rotate(360deg)}}
@media(max-width:1000px){body:has(.hero-slider) .service-showcase-grid{grid-template-columns:1fr}.site-premium-footer .modern-footer-grid{grid-template-columns:1fr 1fr}.site-premium-footer .modern-footer-card:first-child{grid-column:1/-1}body:has(.hero-slider) .gallery-teaser-panel{grid-template-columns:1fr auto}body:has(.hero-slider) .gallery-teaser-visual{display:none}}
@media(max-width:650px){body:has(.hero-slider) .hero-slider{min-height:730px}body:has(.hero-slider) .hero-content{padding-left:14px}body:has(.hero-slider) .hero-content h2{font-size:clamp(3.5rem,17vw,5.4rem)}body:has(.hero-slider) .mission-copy-panel{padding:30px 21px}body:has(.hero-slider) .mission-cinema-section h2{font-size:clamp(2.25rem,10.5vw,3.35rem)}body:has(.hero-slider) .service-showcase-card{grid-template-columns:1fr}body:has(.hero-slider) .service-card-image{height:255px;min-height:255px}body:has(.hero-slider) .gallery-teaser-panel{display:block;padding:32px 23px}body:has(.hero-slider) .gallery-teaser-panel .hero-cta{margin-top:24px}body:has(.hero-slider) .trust-band-copy h2{font-size:clamp(2.35rem,11vw,3.5rem)}.site-premium-footer .modern-footer-hero,.site-premium-footer .modern-footer-grid{grid-template-columns:1fr}.site-premium-footer .modern-footer-card:first-child{grid-column:auto}.site-premium-footer .footer-main-btn{width:100%;margin-top:10px}}
@media(prefers-reduced-motion:reduce){body:has(.hero-slider) .hero-slider:after,body:has(.hero-slider) .hero-slider .slide,body:has(.hero-slider) .mission-cinema-section:after,body:has(.hero-slider) .home-services-showcase:after,body:has(.hero-slider) .gallery-teaser-panel:after,.site-premium-footer .footer-hazard-line,.site-premium-footer .modern-footer-hero:after{animation:none}}
/* ===== END RESTORED HOMEPAGE PREMIUM REFINEMENT ===== */
/* Resolve earlier homepage card declarations that intentionally used !important. */
body:has(.hero-slider) .service-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}
body:has(.hero-slider) .service-showcase-card{display:grid!important;grid-template-columns:minmax(210px,.82fr) 1.18fr!important;min-height:330px!important;padding:0!important;align-items:stretch!important;text-align:left!important;border-radius:0!important;background:#fff!important;box-shadow:0 18px 48px rgba(13,28,36,.1)!important}
body:has(.hero-slider) .service-showcase-card:hover{transform:translateY(-9px)!important;box-shadow:0 30px 70px rgba(13,28,36,.18)!important}
body:has(.hero-slider) .service-card-image{height:100%!important;min-height:326px!important;margin:0!important}
body:has(.hero-slider) .service-card-content{padding:clamp(25px,3vw,42px)!important;text-align:left!important}
body:has(.hero-slider) .service-showcase-card h3{margin:0 0 15px!important;max-width:none!important;font-size:clamp(1.45rem,2vw,2.15rem)!important;line-height:1.05!important;text-align:left!important}
body:has(.hero-slider) .service-showcase-card p{max-width:none!important;margin:0!important;font-size:.95rem!important;text-align:left!important}
@media(max-width:1000px){body:has(.hero-slider) .service-showcase-grid{grid-template-columns:1fr!important}}
@media(max-width:650px){body:has(.hero-slider) .service-showcase-card{grid-template-columns:1fr!important}body:has(.hero-slider) .service-card-image{height:255px!important;min-height:255px!important}}

/* ===== HOMEPAGE HERO — PREMIUM SCALE & DETAIL ===== */
body:has(.hero-slider) .hero-slider{min-height:clamp(700px,88vh,860px)}
body:has(.hero-slider) .hero-slider .slide{background-position:58% center!important;background-size:cover!important}
body:has(.hero-slider) .hero-slider .slide:after{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 78% 28%,rgba(37,184,218,.14),transparent 25%),radial-gradient(circle at 18% 74%,rgba(255,208,0,.12),transparent 24%);pointer-events:none}
body:has(.hero-slider) .hero-center{position:relative;z-index:3}
body:has(.hero-slider) .hero-content{max-width:650px!important;padding-left:17px}
body:has(.hero-slider) .hero-content h2{max-width:570px!important;font-size:clamp(3rem,4.75vw,5rem)!important;line-height:.9!important;letter-spacing:-.045em!important}
body:has(.hero-slider) .hero-content p{max-width:570px!important}
.home-hero-topline{position:absolute;z-index:4;top:28px;left:50%;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.68);font-size:.57rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase;transform:translateX(-50%);white-space:nowrap}
.home-hero-topline i{width:5px;height:5px;background:var(--home-yellow);transform:rotate(45deg);animation:home-hero-marker 2s ease-in-out infinite}.home-hero-topline i:last-of-type{background:var(--home-blue);animation-delay:1s}
.home-hero-corner{position:absolute;z-index:4;top:115px;right:clamp(25px,6vw,95px);width:min(270px,25vw);padding:24px;border-top:3px solid var(--home-blue);background:rgba(8,14,18,.58);color:#fff;box-shadow:0 25px 65px rgba(0,0,0,.28);backdrop-filter:blur(11px)}
.home-hero-corner:after{content:"";position:absolute;right:14px;bottom:14px;width:34px;height:34px;border-right:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}
.home-hero-corner small{display:block;color:#7de6f6;font-size:.56rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.home-hero-corner strong{display:block;margin-top:10px;color:#fff;font-size:clamp(1.25rem,1.8vw,1.85rem);letter-spacing:-.035em;line-height:1.04}.home-hero-corner span{display:block;margin-top:17px;color:rgba(255,255,255,.6);font-size:.55rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.home-hero-scope{position:absolute;z-index:5;left:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);width:min(720px,64vw);background:rgba(8,13,16,.88);backdrop-filter:blur(10px)}
.home-hero-scope span{position:relative;padding:19px 12px;border-right:1px solid rgba(255,255,255,.13);color:#fff;font-size:.58rem;font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase}.home-hero-scope span:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--home-yellow),var(--home-blue));transform:scaleX(0);transform-origin:left;transition:.35s}.home-hero-scope span:hover:after{transform:scaleX(1)}
.home-hero-scroll{position:absolute;z-index:4;right:clamp(24px,5vw,80px);bottom:32px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.68);font-size:.55rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.home-hero-scroll i{position:relative;width:38px;height:1px;background:rgba(255,255,255,.35);overflow:hidden}.home-hero-scroll i:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--home-yellow);animation:home-scroll-line 2.2s ease-in-out infinite}
.site-premium-footer .modern-footer-hero h2{hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
@keyframes home-hero-marker{50%{transform:rotate(45deg) scale(.55);opacity:.5}}@keyframes home-scroll-line{to{left:100%}}
@media(max-width:900px){.home-hero-corner{display:none}.home-hero-topline{top:22px}.home-hero-scope{width:78vw}.home-hero-scroll{display:none}body:has(.hero-slider) .hero-slider .slide{background-position:62% center!important}}
@media(max-width:650px){body:has(.hero-slider) .hero-slider{min-height:740px}body:has(.hero-slider) .hero-content h2{font-size:clamp(2.65rem,12.5vw,3.8rem)!important;max-width:330px!important}body:has(.hero-slider) .hero-content p{max-width:330px!important}.home-hero-topline{left:16px;right:16px;justify-content:center;gap:8px;transform:none;font-size:.48rem;letter-spacing:.08em}.home-hero-scope{grid-template-columns:1fr 1fr;width:100%}.home-hero-scope span{padding:13px 8px}body:has(.hero-slider) .hero-slider .slide{padding-bottom:105px;background-position:64% center!important}}
@media(prefers-reduced-motion:reduce){.home-hero-topline i,.home-hero-scroll i:after{animation:none}}
/* ===== END HOMEPAGE HERO REFINEMENT ===== */

/* ===== HOMEPAGE HERO — COORDINATED FRAME UPGRADE ===== */
body:has(.hero-slider) .hero-slider{min-height:clamp(760px,94vh,920px)}
.home-hero-topline{top:34px;left:clamp(24px,7vw,110px);gap:15px;padding:11px 15px;border:1px solid rgba(255,255,255,.13);border-left:3px solid var(--home-yellow);background:rgba(7,12,15,.38);transform:none;backdrop-filter:blur(8px)}
.home-hero-topline b{margin-right:10px;color:#fff;font-size:.58rem;letter-spacing:.14em}.home-hero-topline span{color:rgba(255,255,255,.7)}
.home-hero-corner{top:110px;right:clamp(28px,6vw,105px);width:min(310px,27vw);padding:30px;border-top:4px solid var(--home-blue);background:linear-gradient(135deg,rgba(7,13,17,.78),rgba(17,38,47,.62));box-shadow:0 28px 75px rgba(0,0,0,.34)}
.home-hero-corner:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}
.home-hero-corner small,.home-hero-corner strong,.home-hero-corner span{position:relative;z-index:2}.home-hero-corner strong{font-size:clamp(1.45rem,2vw,2.05rem)}
.home-hero-corner:after{width:48px;height:48px;border-color:rgba(125,230,246,.45);animation:home-corner-draw 3.6s ease-in-out infinite alternate}
.home-hero-scope{left:0;right:0;bottom:0;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.18);background:rgba(7,12,15,.9);box-shadow:0 -18px 55px rgba(0,0,0,.2)}
.home-hero-scope span{display:grid;grid-template-columns:16px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:92px;padding:20px clamp(15px,2.5vw,38px);text-align:left;opacity:0;transform:translateY(28px);animation:home-market-enter .65s .2s forwards}
.home-hero-scope span:nth-child(2){animation-delay:.38s}.home-hero-scope span:nth-child(3){animation-delay:.56s}.home-hero-scope span:nth-child(4){animation-delay:.74s}
.home-hero-scope span>i{grid-row:1/3;width:10px;height:10px;background:var(--home-yellow);box-shadow:0 0 0 5px rgba(255,208,0,.08);transform:rotate(45deg);transition:.35s}.home-hero-scope span:nth-child(2)>i{background:#ff8a43}.home-hero-scope span:nth-child(3)>i{background:#65d4e9}.home-hero-scope span:nth-child(4)>i{background:#a9df68;box-shadow:0 0 0 5px rgba(169,223,104,.1)}
.home-hero-scope strong{color:#fff;font-size:.75rem;letter-spacing:.13em;line-height:1;text-transform:uppercase}.home-hero-scope small{align-self:start;margin-top:7px;color:rgba(255,255,255,.5);font-size:.6rem;letter-spacing:.03em;text-transform:none}
.home-hero-scope span:after{height:4px;background:linear-gradient(90deg,var(--home-yellow),var(--home-orange),var(--home-blue))}.home-hero-scope span:hover{background:rgba(255,255,255,.065)}.home-hero-scope span:hover>i{transform:rotate(135deg) scale(1.2);box-shadow:0 0 0 7px rgba(37,184,218,.12)}
.home-hero-scroll{right:clamp(22px,5vw,75px);bottom:118px;padding:8px 11px;background:rgba(7,12,15,.42);backdrop-filter:blur(7px)}
@keyframes home-market-enter{to{opacity:1;transform:translateY(0)}}@keyframes home-corner-draw{to{width:76px;height:76px;border-color:rgba(255,208,0,.5)}}
@media(max-width:900px){.home-hero-topline{left:20px;right:20px;justify-content:center}.home-hero-topline b{display:none}.home-hero-scope{width:100%}.home-hero-scroll{display:none}}
@media(max-width:650px){body:has(.hero-slider) .hero-slider{min-height:850px}.home-hero-topline{top:20px;left:14px;right:14px;padding:9px 10px;gap:7px}.home-hero-scope{grid-template-columns:1fr 1fr}.home-hero-scope span{min-height:72px;padding:13px 14px;grid-template-columns:12px 1fr;column-gap:9px}.home-hero-scope strong{font-size:.61rem;letter-spacing:.08em}.home-hero-scope small{font-size:.52rem;margin-top:4px}body:has(.hero-slider) .hero-slider .slide{padding-bottom:150px}}
@media(prefers-reduced-motion:reduce){.home-hero-scope span,.home-hero-corner:after{animation:none;opacity:1;transform:none}}
/* ===== END HOMEPAGE COORDINATED FRAME ===== */

/* ===== HOMEPAGE HERO + MISSION SIGNATURE UPGRADE ===== */
.home-hero-topline{top:30px;left:clamp(24px,7vw,110px);display:grid;grid-template-columns:auto auto 20px auto 20px auto;gap:0;width:min(760px,60vw);padding:0;border:1px solid rgba(255,255,255,.18);border-left:0;background:rgba(7,12,15,.68);box-shadow:0 18px 45px rgba(0,0,0,.2)}
.home-hero-topline b,.home-hero-topline span{display:flex;align-items:center;justify-content:center;min-height:53px;padding:0 20px;white-space:nowrap}.home-hero-topline b{margin:0;background:var(--home-yellow);color:#111;font-size:.65rem;letter-spacing:.12em}.home-hero-topline span{color:#fff;font-size:.67rem;letter-spacing:.11em}
.home-hero-topline i{align-self:center;justify-self:center;width:7px;height:7px}.home-hero-topline:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:3px;background:linear-gradient(90deg,var(--home-orange),var(--home-yellow),var(--home-blue));animation:home-path-build 2.2s .25s forwards}
.home-hero-scope span{min-height:108px;padding-top:24px;padding-bottom:24px}.home-hero-scope strong{font-size:.84rem}.home-hero-scope small{font-size:.66rem}.home-hero-scope:before{content:"";position:absolute;top:0;left:-20%;width:14%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-18deg);animation:home-market-sweep 7s ease-in-out infinite;pointer-events:none}
body:has(.hero-slider) .mission-cinema-section{position:relative;isolation:isolate;min-height:760px;padding:clamp(90px,10vw,150px) 0;background:linear-gradient(120deg,#17140d 0%,#10191c 52%,#092633 100%)}
body:has(.hero-slider) .mission-cinema-bg{opacity:.42;filter:saturate(.85) contrast(1.08)}
body:has(.hero-slider) .mission-cinema-overlay{background:linear-gradient(105deg,rgba(12,12,9,.72),rgba(10,20,24,.42) 55%,rgba(5,33,43,.28))}
body:has(.hero-slider) .mission-cinema-section:before{content:"";position:absolute;z-index:2;inset:0;background:radial-gradient(circle at 10% 30%,rgba(255,176,42,.34),transparent 28%),radial-gradient(circle at 82% 62%,rgba(37,184,218,.26),transparent 31%);pointer-events:none}
.mission-energy{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.mission-energy i{position:absolute;display:block}.mission-energy i:nth-child(1){top:0;left:0;width:44%;height:8px;background:linear-gradient(90deg,var(--home-orange),var(--home-yellow))}.mission-energy i:nth-child(2){top:0;right:0;width:56%;height:8px;background:linear-gradient(90deg,var(--home-yellow),var(--home-blue))}.mission-energy i:nth-child(3){top:0;bottom:0;left:7vw;width:1px;background:linear-gradient(transparent,rgba(255,208,0,.7),transparent)}.mission-energy i:nth-child(4){right:-120px;top:50%;width:360px;height:360px;border:55px solid rgba(37,184,218,.09);border-radius:50%;animation:mission-orbit 12s linear infinite}
body:has(.hero-slider) .mission-cinema-content{max-width:1300px}
body:has(.hero-slider) .mission-copy-panel{position:relative;max-width:1080px;padding:clamp(42px,6vw,82px);border:1px solid rgba(255,255,255,.2);border-left:0;background:linear-gradient(120deg,rgba(17,18,15,.78),rgba(12,30,36,.72));box-shadow:20px 28px 0 rgba(255,208,0,.1),0 45px 110px rgba(0,0,0,.32);backdrop-filter:blur(13px);overflow:hidden}
body:has(.hero-slider) .mission-copy-panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:linear-gradient(var(--home-orange),var(--home-yellow) 48%,var(--home-blue))}
body:has(.hero-slider) .mission-copy-panel:after{content:"";position:absolute;top:-90%;left:-25%;width:22%;height:280%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-18deg);animation:mission-light-pass 7s ease-in-out infinite;pointer-events:none}
body:has(.hero-slider) .mission-tag{display:flex;align-items:center;gap:14px;color:#fff;font-size:.72rem;letter-spacing:.19em}.mission-tag>i{display:block;width:70px;height:3px;background:linear-gradient(90deg,var(--home-yellow),var(--home-blue));animation:mission-tag-line 3s ease-in-out infinite alternate}
body:has(.hero-slider) .mission-cinema-section h2{gap:7px;max-width:980px;margin:24px 0;font-size:clamp(3rem,5vw,5.75rem);line-height:.88!important}
body:has(.hero-slider) .mission-cinema-section h2 span:nth-child(1){color:#fff}body:has(.hero-slider) .mission-cinema-section h2 span:nth-child(2){background:linear-gradient(90deg,var(--home-orange),var(--home-yellow));background-clip:text;color:transparent}body:has(.hero-slider) .mission-cinema-section h2 span:nth-child(3){background:linear-gradient(90deg,#fff 20%,#79e4f7 75%);background-clip:text;color:transparent}
body:has(.hero-slider) .mission-cinema-section p{max-width:900px;margin-top:26px;font-size:1.08rem;line-height:1.78}
body:has(.hero-slider) .mission-pill-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;max-width:920px;margin-top:34px!important;white-space:nowrap}
body:has(.hero-slider) .mission-pill-row span{position:relative;display:flex;align-items:center;justify-content:center;min-height:50px;margin:0!important;padding:12px 14px!important;border:1px solid rgba(255,255,255,.19)!important;background:rgba(255,255,255,.07)!important;color:#fff!important;font-size:.68rem!important;letter-spacing:.09em!important;overflow:hidden}
body:has(.hero-slider) .mission-pill-row span:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:var(--home-orange);transform:scaleX(.28);transform-origin:left;transition:.4s}.mission-pill-row span:nth-child(2):before{background:var(--home-yellow)!important}.mission-pill-row span:nth-child(3):before{background:#75dff1!important}.mission-pill-row span:nth-child(4):before{background:var(--home-blue)!important}.mission-pill-row span:hover:before{transform:scaleX(1)!important}.mission-pill-row span:hover{transform:translateY(-6px)!important;background:rgba(255,255,255,.12)!important}
@keyframes home-path-build{to{width:100%}}@keyframes home-market-sweep{0%,18%{left:-20%}70%,100%{left:120%}}@keyframes mission-orbit{to{transform:rotate(360deg)}}@keyframes mission-light-pass{0%,20%{left:-25%}75%,100%{left:125%}}@keyframes mission-tag-line{to{width:115px}}
@media(max-width:900px){.home-hero-topline{left:20px;right:20px;width:auto;grid-template-columns:auto auto 14px auto 14px auto}.home-hero-topline b,.home-hero-topline span{padding:0 10px}.home-hero-scope strong{font-size:.7rem}.home-hero-scope small{font-size:.57rem}body:has(.hero-slider) .mission-copy-panel{margin:0 20px}}
@media(max-width:650px){.home-hero-topline{display:grid;grid-template-columns:repeat(3,1fr);top:17px}.home-hero-topline b,.home-hero-topline i{display:none}.home-hero-topline span{min-height:43px;padding:0 4px;font-size:.53rem;letter-spacing:.06em}.home-hero-scope span{min-height:76px;padding-top:13px;padding-bottom:13px}.home-hero-scope strong{font-size:.61rem}.home-hero-scope small{font-size:.5rem}body:has(.hero-slider) .mission-cinema-section{padding:75px 0}body:has(.hero-slider) .mission-copy-panel{padding:38px 23px;margin:0 15px}body:has(.hero-slider) .mission-cinema-section h2{font-size:clamp(2.4rem,11vw,3.5rem)!important;line-height:.92!important}body:has(.hero-slider) .mission-cinema-section p{font-size:.95rem}body:has(.hero-slider) .mission-pill-row{grid-template-columns:1fr 1fr;white-space:normal}.mission-energy i:nth-child(4){display:none}}
@media(prefers-reduced-motion:reduce){.home-hero-topline:after,.home-hero-scope:before,.mission-energy i:nth-child(4),body:has(.hero-slider) .mission-copy-panel:after,.mission-tag>i{animation:none}}
/* ===== END HOMEPAGE SIGNATURE UPGRADE ===== */
body:has(.hero-slider) .mission-cinema-section p{hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}

/* Node 9 styles moved to css/node9-general-contracting.css. */

/* Node 9 exclusive architectural footer. */
.gcx-footer{position:relative;background:#1f2324;color:#f1eee7;overflow:hidden}.gcx-footer,.gcx-footer *,.gcx-footer *:before,.gcx-footer *:after{box-sizing:border-box}.gcx-footer-rule{height:7px;background:#a64f2b}.gcx-footer-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr)}.gcx-footer-intro{position:relative;min-height:650px;padding:clamp(70px,8vw,130px) clamp(35px,8vw,135px);border-right:1px solid rgba(255,255,255,.13);background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),#1f2324;background-size:58px 58px}.gcx-footer-intro:after{content:"";position:absolute;right:0;bottom:0;width:190px;height:190px;border-top:1px solid rgba(201,180,138,.25);border-left:1px solid rgba(201,180,138,.25);border-radius:100% 0 0;pointer-events:none}.gcx-footer-intro>span,.gcx-footer-directory span{display:block;color:#c9b48a;font-size:.62rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.gcx-footer-intro h2{max-width:900px;margin:24px 0;color:#f1eee7;font-family:'Arial Narrow',Arial,Helvetica,sans-serif;font-size:clamp(2.5rem,3.8vw,4.6rem);font-weight:900;letter-spacing:-.035em;line-height:.98}.gcx-footer-intro h2 em{color:#c0704d;font-style:normal}.gcx-footer-intro>p{max-width:650px;color:rgba(241,238,231,.65);font-size:1rem;line-height:1.75}.gcx-footer-intro>a{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-width:255px;margin-top:30px;padding:18px 20px;border:1px solid #a64f2b;background:#a64f2b;color:#fff;font-size:.7rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.35s}.gcx-footer-intro>a:hover{background:#f1eee7;color:#1f2324;transform:translateY(-5px)}.gcx-footer-intro>a i{font-size:1.1rem;font-style:normal}
.gcx-footer-directory{display:grid;grid-template-columns:1fr;align-content:center;background:#292d2e}.gcx-footer-brand,.gcx-footer-contact{padding:clamp(34px,4vw,62px);border-bottom:1px solid rgba(255,255,255,.12)}.gcx-footer-brand{display:flex;min-height:250px;flex-direction:column;justify-content:center}.gcx-footer-brand strong{display:block;color:#fff;font-family:'Arial Narrow',Arial,Helvetica,sans-serif;font-size:clamp(1.8rem,2.35vw,2.8rem);font-weight:900;letter-spacing:-.03em;line-height:.98}.gcx-footer-brand>p{max-width:560px;margin:22px 0 0;color:rgba(255,255,255,.56);line-height:1.7}.gcx-footer-contact{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(220px,1.1fr);gap:18px 28px;align-items:center;background:linear-gradient(110deg,rgba(255,255,255,.025),transparent)}.gcx-footer-contact>div span{display:block}.gcx-footer-contact>div p{max-width:360px;margin:13px 0 0;color:rgba(255,255,255,.55);font-size:.8rem;line-height:1.65}.gcx-footer-contact>a{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:64px;padding:18px 21px;background:#bd5b3e;color:#fff;text-decoration:none;box-shadow:0 15px 35px rgba(0,0,0,.2);transition:background .25s ease,transform .25s ease}.gcx-footer-contact>a strong{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.gcx-footer-contact>a i{font-size:1.1rem;font-style:normal}.gcx-footer-contact>a:hover,.gcx-footer-contact>a:focus-visible{background:#d06a4b;color:#fff;transform:translateY(-2px)}.gcx-footer-contact>small{grid-column:1/-1;padding-top:17px;border-top:1px solid rgba(255,255,255,.11);color:rgba(255,255,255,.52);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gcx-footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:24px clamp(25px,5vw,80px);border-top:1px solid rgba(255,255,255,.12);background:#171a1b;color:rgba(255,255,255,.42);font-size:.64rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.gcx-footer-bottom p{margin:0}.gcx-footer-bottom span{color:#c9b48a}
@media(max-width:950px){.gcx-footer-main{grid-template-columns:1fr}.gcx-footer-intro{min-height:auto;border-right:0}.gcx-footer-directory{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gcx-footer-intro{padding:65px 24px}.gcx-footer-intro h2{font-size:clamp(2.3rem,9.5vw,3.25rem)}.gcx-footer-intro>a{width:100%;min-width:0}.gcx-footer-brand,.gcx-footer-contact{padding:35px 24px}.gcx-footer-brand{min-height:0}.gcx-footer-contact{grid-template-columns:1fr}.gcx-footer-contact>small{grid-column:1}.gcx-footer-bottom{display:block;padding:23px 24px}.gcx-footer-bottom span{display:block;margin-top:10px}}

/* ===== HOMEPAGE STABLE HERO + PREMIUM PROJECT FOOTER ===== */
body:has(.hero-slider) .hero-slider .slide{animation:none!important;transform:none!important;will-change:auto}
.home-hero-scope{transform:none!important;overflow:hidden;contain:layout paint}
.site-premium-footer{isolation:isolate;padding-bottom:0;background:radial-gradient(circle at 8% 30%,rgba(255,176,42,.16),transparent 27%),radial-gradient(circle at 91% 17%,rgba(37,184,218,.16),transparent 29%),#071014}
.site-premium-footer:after{content:"";position:absolute;z-index:0;inset:8px 0 auto;height:clamp(360px,43vw,620px);background:linear-gradient(90deg,rgba(7,16,20,.98) 0%,rgba(7,16,20,.82) 48%,rgba(7,16,20,.45)),url('../images/services/CM/team work.jpg') right center/cover no-repeat;opacity:.55;filter:saturate(.75);pointer-events:none}
.site-premium-footer .container{padding-top:clamp(68px,8vw,118px)}
.site-premium-footer .modern-footer-hero{isolation:isolate;grid-template-columns:minmax(0,1.35fr) minmax(285px,.55fr);gap:clamp(35px,6vw,95px);align-items:stretch;padding:0;border:1px solid rgba(255,255,255,.18);border-left:0;background:rgba(7,15,19,.78);box-shadow:0 42px 110px rgba(0,0,0,.5);backdrop-filter:blur(15px)}
.site-premium-footer .modern-footer-hero:before{content:"";position:absolute;z-index:3;left:0;top:0;bottom:0;width:7px;background:linear-gradient(var(--home-orange),var(--home-yellow) 50%,var(--home-blue));box-shadow:0 0 34px rgba(255,208,0,.25)}
.site-premium-footer .modern-footer-hero:after{right:31%;top:-145px;width:330px;height:330px;border-width:1px;border-color:rgba(255,255,255,.12);box-shadow:0 0 0 58px rgba(255,208,0,.025),0 0 0 116px rgba(37,184,218,.022);animation:home-ring 18s linear infinite}
.footer-hero-copy{position:relative;z-index:2;padding:clamp(42px,5.5vw,78px)}
.site-premium-footer .footer-kicker{display:inline-flex;align-items:center;gap:13px;margin-bottom:18px;color:#ffe271;font-size:.69rem;letter-spacing:.2em}
.site-premium-footer .footer-kicker:before{content:"";width:28px;height:3px;background:var(--home-orange)}
.site-premium-footer .modern-footer-hero h2{max-width:760px;font-size:clamp(2rem,3.25vw,3.6rem);line-height:1;letter-spacing:-.04em}
.site-premium-footer .modern-footer-hero p{max-width:670px;margin-top:24px;font-size:1.02rem;line-height:1.75}
.footer-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.footer-hero-meta span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.055);color:rgba(255,255,255,.78);font-size:.6rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.footer-hero-meta span:before{content:"";width:6px;height:6px;background:var(--home-yellow);transform:rotate(45deg)}.footer-hero-meta span:nth-child(2):before{background:var(--home-orange)}.footer-hero-meta span:nth-child(3):before{background:var(--home-blue)}
.footer-hero-action{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,4vw,52px);border-left:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,208,0,.13),rgba(37,184,218,.12));overflow:hidden}.footer-hero-action:after{content:"";position:absolute;right:-40px;bottom:-70px;width:180px;height:180px;border:25px solid rgba(37,184,218,.08);border-radius:50%;animation:footer-action-pulse 4s ease-in-out infinite}.footer-hero-action>small{position:relative;z-index:2;color:#86e5f4;font-size:.64rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}
.site-premium-footer .footer-hero-action .footer-main-btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;margin-top:20px;padding:19px 21px}.footer-main-btn span{font-size:1.25rem;transition:transform .3s}.footer-main-btn:hover span{transform:translate(4px,-4px)}.site-premium-footer .footer-hero-action p{position:relative;z-index:2;margin:19px 0 0;color:rgba(255,255,255,.58);font-size:.8rem;line-height:1.6}
.site-premium-footer .modern-footer-grid{position:relative;z-index:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.site-premium-footer p,.site-premium-footer h2,.site-premium-footer h3,.site-premium-footer li,.site-premium-footer strong{hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
.site-premium-footer .modern-footer-card{position:relative;min-height:285px;padding:clamp(30px,3.4vw,48px);overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:0 25px 60px rgba(0,0,0,.2)}
.site-premium-footer .modern-footer-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--home-yellow);transform-origin:left;transition:transform .45s}.site-premium-footer .modern-footer-card:nth-child(2):before{background:var(--home-orange)}.site-premium-footer .modern-footer-card:nth-child(3):before{background:var(--home-blue)}
.site-premium-footer .modern-footer-card:after{content:"";position:absolute;right:-34px;bottom:-34px;width:105px;height:105px;border:1px solid rgba(255,255,255,.09);transform:rotate(45deg);transition:.45s}.modern-footer-card:hover:after{right:-18px;bottom:-18px;border-color:rgba(255,208,0,.34)}
.site-premium-footer .modern-footer-card:hover{transform:translateY(-9px);border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.08)}
.site-premium-footer .modern-footer-card h3{font-size:clamp(1.35rem,2vw,1.9rem);letter-spacing:-.035em}.modern-footer-card:nth-child(2) h3{color:#ffc56a!important}.modern-footer-card:nth-child(3) h3{color:#8ae7f5!important}
.site-premium-footer .modern-footer-bottom{position:relative;z-index:3;margin-top:20px;padding:28px 0 34px}
@keyframes footer-action-pulse{50%{transform:scale(1.12);opacity:.6}}
@media(max-width:1000px){.site-premium-footer .modern-footer-hero{grid-template-columns:1fr}.footer-hero-action{border-top:1px solid rgba(255,255,255,.14);border-left:0}.footer-hero-action .footer-main-btn{max-width:390px}}
@media(max-width:650px){.site-premium-footer .container{width:calc(100% - 28px);padding-top:58px}.footer-hero-copy,.footer-hero-action{padding:30px 23px}.site-premium-footer .modern-footer-hero h2{font-size:clamp(1.8rem,8.5vw,2.6rem)}.site-premium-footer .modern-footer-hero p{overflow-wrap:break-word!important}.footer-hero-meta{display:grid;grid-template-columns:1fr}.footer-hero-meta span{width:100%}.site-premium-footer .modern-footer-grid{grid-template-columns:1fr}.site-premium-footer .modern-footer-card{min-height:0;padding:28px 23px}.footer-hero-action .footer-main-btn{max-width:none}.site-premium-footer .modern-contact-row strong{overflow-wrap:anywhere!important}}
@media(prefers-reduced-motion:reduce){.footer-hero-action:after{animation:none}}
/* ===== END HOMEPAGE STABLE HERO + PROJECT FOOTER ===== */

/* Mission label containment across tablet and compact phone widths. */
@media(max-width:900px){body:has(.hero-slider) .mission-pill-row span{padding-left:7px!important;padding-right:7px!important;font-size:.56rem!important;letter-spacing:.045em!important}}
@media(max-width:650px){body:has(.hero-slider) .mission-pill-row span{padding-left:5px!important;padding-right:5px!important;font-size:.5rem!important;letter-spacing:.025em!important}}
@media(max-width:360px){body:has(.hero-slider) .mission-pill-row span{font-size:.48rem!important;letter-spacing:.015em!important}}

/* ===== HOMEPAGE FOOTER ACTION CARD REFINEMENT ===== */
.site-premium-footer .modern-footer-hero{grid-template-columns:minmax(0,1.12fr) minmax(340px,.72fr);gap:0}
.footer-hero-action{box-sizing:border-box;container-type:inline-size;align-self:stretch;min-width:0;width:100%;justify-content:center;padding:clamp(40px,4.5vw,66px);border-left:1px solid rgba(255,255,255,.17);border-top:5px solid var(--home-blue);background:linear-gradient(150deg,rgba(22,55,65,.96),rgba(11,28,35,.98) 62%,rgba(255,208,0,.12));box-shadow:inset 20px 0 60px rgba(37,184,218,.06)}
.footer-hero-action:before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--home-blue),#7de6f6,var(--home-yellow));background-size:180% 100%;animation:footer-action-flow 5s linear infinite}
.footer-hero-action:after{right:-62px;bottom:-82px;width:220px;height:220px;border:1px solid rgba(125,230,246,.18);box-shadow:0 0 0 36px rgba(37,184,218,.04),0 0 0 72px rgba(255,208,0,.025);animation:footer-action-pulse 5s ease-in-out infinite}
.footer-hero-action>small{display:flex;align-items:center;gap:12px;color:#8ce9f7;font-size:.66rem;letter-spacing:.2em}.footer-hero-action>small:before{content:"";width:24px;height:3px;background:var(--home-yellow)}
.footer-hero-action>strong{position:relative;z-index:2;display:block;margin-top:22px;color:#fff;font-size:clamp(1.65rem,2.45vw,2.7rem);letter-spacing:-.045em;line-height:1.03}
.footer-hero-action--homepage .footer-action-line{display:block;white-space:nowrap}
.footer-hero-action--homepage>strong{font-size:clamp(1.45rem,7cqi,2.3rem);letter-spacing:-.055em}
.site-premium-footer .footer-hero-action>p{max-width:360px;margin:20px 0 0;color:rgba(255,255,255,.68);font-size:.9rem;line-height:1.7}
.site-premium-footer .footer-hero-action .footer-main-btn{position:relative;z-index:3;width:100%;max-width:390px;margin-top:28px;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:0;background:var(--home-yellow);box-shadow:0 20px 48px rgba(255,208,0,.17);overflow:hidden}
.footer-main-btn .footer-btn-label{display:block;padding:19px 21px;font-size:.74rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;transition:.35s}
.footer-main-btn>i{display:grid;place-items:center;align-self:stretch;width:61px;min-height:58px;border-left:1px solid rgba(0,0,0,.16);background:rgba(255,255,255,.25);font-size:1.25rem;font-style:normal;transition:.35s}
.site-premium-footer .footer-hero-action .footer-main-btn:hover{background:#fff;color:#071014;transform:translateY(-5px);box-shadow:0 25px 55px rgba(37,184,218,.22)}.footer-hero-action .footer-main-btn:hover>i{background:var(--home-blue);color:#fff;transform:none}
.footer-action-note{position:relative;z-index:2;display:block;margin-top:17px;color:rgba(255,255,255,.45);font-size:.54rem;font-weight:850;letter-spacing:.065em;line-height:1.55;text-transform:uppercase}
.footer-hero-action--homepage .footer-action-note{box-sizing:border-box;width:calc(100% + 64px);margin-left:-32px;color:rgba(255,255,255,.78);font-size:clamp(.68rem,2.6cqi,.78rem);font-weight:800;letter-spacing:0;line-height:1.6;text-align:center;text-transform:none;white-space:nowrap}
.site-premium-footer--homepage .modern-footer-hero{grid-template-columns:minmax(0,1.02fr) minmax(400px,.82fr)}
.site-premium-footer--homepage .footer-hero-copy{display:flex;flex-direction:column;justify-content:center}
.site-premium-footer--homepage .footer-hero-action{padding:clamp(44px,4vw,60px);box-shadow:inset 24px 0 70px rgba(37,184,218,.075),inset 0 0 0 1px rgba(255,255,255,.035)}
.site-premium-footer--homepage .footer-hero-action>strong{font-size:clamp(1.8rem,7cqi,2.4rem);line-height:1.06}
.site-premium-footer--homepage .footer-hero-action>p{max-width:430px;font-size:1rem;line-height:1.65}
.site-premium-footer--homepage .footer-hero-action .footer-main-btn{max-width:430px;margin-top:30px}
.site-premium-footer--homepage .footer-main-btn .footer-btn-label{font-size:.8rem}
.site-premium-footer--homepage .footer-action-note{margin-top:20px;font-size:clamp(.72rem,2.4cqi,.8rem)}
@media(min-width:851px){.site-premium-footer--homepage .footer-action-note{position:absolute;right:clamp(32px,4vw,60px);bottom:clamp(72px,7.5vw,96px);left:clamp(32px,4vw,60px);width:auto;margin:0}}
@keyframes footer-action-flow{to{background-position:180% 0}}
@media(max-width:1100px){.site-premium-footer .modern-footer-hero{grid-template-columns:minmax(0,1fr) minmax(310px,.72fr)}.footer-hero-action{padding:40px 32px}}
@media(max-width:1100px){.site-premium-footer--homepage .modern-footer-hero{grid-template-columns:minmax(0,1fr) minmax(370px,.82fr)}}
@media(max-width:850px){.site-premium-footer .modern-footer-hero{grid-template-columns:1fr}.footer-hero-action{border-top:5px solid var(--home-blue);border-left:0}.footer-hero-action>strong{max-width:520px}.footer-hero-action .footer-main-btn{max-width:420px}}
@media(max-width:850px){.site-premium-footer--homepage .modern-footer-hero{grid-template-columns:1fr}.site-premium-footer--homepage .footer-hero-action{padding:42px 34px}.site-premium-footer--homepage .footer-hero-action .footer-main-btn{max-width:430px}.site-premium-footer--homepage .footer-action-note{position:relative;right:auto;bottom:auto;left:auto;width:calc(100% + 64px);margin:20px 0 0 -32px}}
@media(max-width:650px){.site-premium-footer .modern-footer-hero{grid-template-columns:minmax(0,1fr)!important}.footer-hero-copy,.footer-hero-action{box-sizing:border-box;min-width:0;width:100%;max-width:100%}.footer-hero-action{padding:34px 23px}.footer-hero-action>strong{font-size:clamp(1.75rem,8.5vw,2.45rem)}.footer-hero-action--homepage>strong{font-size:clamp(1.45rem,7cqi,2.3rem)}.site-premium-footer .footer-hero-action>p{font-size:.87rem}.footer-action-note{font-size:.5rem}.footer-hero-action--homepage .footer-action-note{width:calc(100% + 28px);margin-left:-14px;font-size:clamp(.68rem,2.6cqi,.78rem)}}
@media(prefers-reduced-motion:reduce){.footer-hero-action:before{animation:none}}
/* ===== END HOMEPAGE FOOTER ACTION CARD REFINEMENT ===== */

/* Match the two homepage footer headlines at a shared visual midpoint. */
.site-premium-footer--homepage .modern-footer-hero h2,
.site-premium-footer--homepage .footer-hero-action>strong{font-size:clamp(2.15rem,3.8vw,3rem)}
.site-premium-footer--homepage .footer-action-note{position:relative;right:auto;bottom:auto;left:auto;width:calc(100% + 64px);margin:32px 0 0 -32px}
.site-premium-footer--homepage .footer-contact-heading>span{color:#86e5f4}
.site-premium-footer--homepage .footer-contact-heading h3{max-width:310px;line-height:.96}
.site-premium-footer--homepage .footer-contact-cta{grid-template-columns:112px minmax(0,1fr) 42px;align-items:center;padding:18px 16px;border:1px solid rgba(255,208,0,.24);background:rgba(255,208,0,.055);transition:background .3s,border-color .3s,transform .3s}
.site-premium-footer--homepage .footer-contact-cta strong{font-size:1rem;overflow-wrap:normal!important}
.site-premium-footer--homepage .footer-contact-cta em{display:grid;place-items:center;width:38px;height:38px;background:var(--home-yellow);color:#071014;font-size:1.05rem;font-style:normal}
.site-premium-footer--homepage .footer-contact-cta:hover{border-color:var(--home-yellow);background:rgba(255,208,0,.11);transform:translateY(-3px)}
@media(max-width:650px){.site-premium-footer--homepage .footer-action-note{width:calc(100% + 28px);margin:26px 0 0 -14px}}
@media(max-width:650px){.site-premium-footer--homepage .footer-contact-cta{grid-template-columns:1fr auto;gap:8px}.site-premium-footer--homepage .footer-contact-cta span{grid-column:1/-1}}

/* Homepage contact card: editorial headline with a single premium action. */
.site-premium-footer--homepage .footer-contact-card{grid-template-columns:minmax(250px,.82fr) minmax(300px,1.18fr);gap:clamp(42px,5vw,76px)}
.site-premium-footer--homepage .footer-contact-heading h3{max-width:none;font-size:clamp(2.15rem,3.2vw,3.3rem);line-height:.92}
.site-premium-footer--homepage .footer-contact-heading h3>span{display:block;white-space:nowrap}
.site-premium-footer--homepage .footer-contact-list{border-top:0}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta{display:grid;grid-template-columns:minmax(0,1fr) 64px;grid-template-rows:auto auto;gap:3px 18px;min-height:84px;padding:17px 0 17px 23px;border:0;background:var(--home-yellow);box-shadow:0 18px 42px rgba(255,208,0,.14)}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>span{grid-column:1;grid-row:1;color:rgba(7,16,20,.58);font-size:.56rem}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>strong{grid-column:1;grid-row:2;color:#071014;font-size:1.08rem;font-weight:900}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>em{grid-column:2;grid-row:1/3;align-self:stretch;width:64px;height:auto;border-left:1px solid rgba(7,16,20,.18);background:rgba(255,255,255,.24);color:#071014}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta:hover{padding-right:0;background:#fff;box-shadow:0 24px 55px rgba(37,184,218,.18)}
.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta){margin-top:18px;padding-inline:4px}
@media(max-width:900px){.site-premium-footer--homepage .footer-contact-card{grid-template-columns:1fr;gap:34px}.site-premium-footer--homepage .footer-contact-heading h3>span{white-space:normal}}
@media(max-width:520px){.site-premium-footer--homepage .footer-contact-list .footer-contact-cta{grid-template-columns:minmax(0,1fr) 56px;grid-template-rows:auto auto;padding:16px 0 16px 19px}.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>span{grid-column:1;grid-row:1}.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>strong{grid-column:1;grid-row:2}.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>em{position:static;grid-column:2;grid-row:1/3;width:56px}}

/* Homepage contact card proportion and alignment polish. */
.site-premium-footer--homepage .footer-contact-card{align-items:start}
.site-premium-footer--homepage .footer-contact-list{margin-top:32px}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta{box-sizing:border-box;grid-template-columns:minmax(0,1fr) 54px;min-height:78px;padding:13px 0 13px 19px;gap:1px 14px}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>strong{font-size:1rem;white-space:nowrap}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>em{box-sizing:border-box;width:54px}
.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta){grid-template-columns:110px minmax(0,1fr);gap:18px;min-height:66px;margin-top:14px}
.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta)>strong{font-size:.9rem;white-space:nowrap}
@media(max-width:900px){.site-premium-footer--homepage .footer-contact-list{width:min(100%,520px);margin-top:0}}
@media(max-width:520px){.site-premium-footer--homepage .footer-contact-list .footer-contact-cta{grid-template-columns:minmax(0,1fr) 52px;grid-template-rows:auto auto;min-height:76px;padding:12px 0 12px 17px}.site-premium-footer--homepage .footer-contact-list .footer-contact-cta>em{width:52px}.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta){grid-template-columns:1fr;gap:6px}.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta)>strong{white-space:normal}}

/* Homepage contact card final composition: headline first, actions second. */
.site-premium-footer--homepage .footer-contact-card{display:grid;grid-template-columns:1fr;gap:0;align-content:center;align-items:initial}
.site-premium-footer--homepage .footer-contact-heading h3{font-size:clamp(2.15rem,3.45vw,3.45rem);line-height:.94}
.site-premium-footer--homepage .footer-contact-heading h3>span{display:inline;white-space:normal}
.site-premium-footer--homepage .footer-contact-heading h3>span+span:before{content:" "}
.site-premium-footer--homepage .footer-contact-list{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);gap:14px;width:100%;margin-top:38px;border:0}
.site-premium-footer--homepage .footer-contact-list .footer-contact-cta{min-height:82px;margin:0}
.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta){box-sizing:border-box;display:grid;grid-template-columns:1fr;align-content:center;gap:6px;min-height:82px;margin:0;padding:14px 18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035)}
.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta)>strong{font-size:.92rem;white-space:nowrap}
.site-premium-footer.site-premium-footer--homepage .footer-contact-list a.footer-contact-cta{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 54px;grid-template-rows:auto auto;gap:2px 14px;align-items:center;min-height:82px;margin:0;padding:13px 0 13px 20px;border:0;background:var(--home-yellow)}
.site-premium-footer.site-premium-footer--homepage .footer-contact-list a.footer-contact-cta>span{grid-column:1;grid-row:1;color:rgba(7,16,20,.58)}
.site-premium-footer.site-premium-footer--homepage .footer-contact-list a.footer-contact-cta>strong{grid-column:1;grid-row:2;color:#071014;font-size:1rem;white-space:nowrap}
.site-premium-footer.site-premium-footer--homepage .footer-contact-list a.footer-contact-cta>em{position:static;grid-column:2;grid-row:1/3;align-self:stretch;display:grid;place-items:center;box-sizing:border-box;width:54px;height:auto;border-left:1px solid rgba(7,16,20,.18);background:rgba(255,255,255,.25);color:#071014}
.site-premium-footer--homepage .footer-contact-list--with-email .footer-contact-cta{grid-column:1/-1}.site-premium-footer--homepage .footer-contact-email{color:#fff}.site-premium-footer--homepage .footer-contact-email:hover strong,.site-premium-footer--homepage .footer-contact-email:focus-visible strong{color:#7ad2dd}
.site-premium-footer--homepage .footer-contact-list .footer-contact-email>strong{
  min-width:0;
  max-width:100%;
  font-size:clamp(.78rem,1.15vw,.88rem);
  letter-spacing:-.02em;
  line-height:1.25;
  overflow-wrap:anywhere;
  word-break:normal;
  white-space:normal;
}

/* Homepage email: match the primary inquiry action's tactile hover lift. */
.site-premium-footer--homepage .footer-contact-list a.footer-contact-email{
  position:relative;
  isolation:isolate;
  transition:transform .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease;
}
.site-premium-footer--homepage .footer-contact-list a.footer-contact-email:hover,
.site-premium-footer--homepage .footer-contact-list a.footer-contact-email:focus-visible{
  z-index:2;
  padding-left:18px;
  padding-right:18px;
  transform:translateY(-5px);
  border-color:rgba(122,210,221,.7);
  background:rgba(37,184,218,.12);
  box-shadow:0 18px 38px rgba(0,0,0,.26),0 0 0 1px rgba(122,210,221,.12);
  outline:none;
}
.site-premium-footer--homepage .footer-contact-list a.footer-contact-email:hover>strong,
.site-premium-footer--homepage .footer-contact-list a.footer-contact-email:focus-visible>strong{
  color:#7ad2dd;
}
@media(prefers-reduced-motion:reduce){
  .site-premium-footer--homepage .footer-contact-list a.footer-contact-email{transition:none}
}

@media(max-width:700px){.site-premium-footer--homepage .footer-contact-heading h3>span{display:block}.site-premium-footer--homepage .footer-contact-heading h3>span+span:before{content:none}.site-premium-footer--homepage .footer-contact-list{grid-template-columns:1fr}.site-premium-footer--homepage .footer-contact-list .modern-contact-row:not(.footer-contact-cta)>strong{white-space:normal}}

/* Three-service homepage composition after retiring Design & Build. */
body:has(.hero-slider) .service-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body:has(.hero-slider) .service-showcase-card{grid-template-columns:1fr!important;min-height:520px!important}
body:has(.hero-slider) .service-card-image{height:270px!important;min-height:270px!important}
@media(max-width:1100px){body:has(.hero-slider) .service-showcase-grid{grid-template-columns:1fr!important}body:has(.hero-slider) .service-showcase-card{grid-template-columns:minmax(220px,.8fr) 1.2fr!important;min-height:320px!important}body:has(.hero-slider) .service-card-image{height:100%!important;min-height:316px!important}}
@media(max-width:650px){body:has(.hero-slider) .service-showcase-card{grid-template-columns:1fr!important;min-height:0!important}body:has(.hero-slider) .service-card-image{height:245px!important;min-height:245px!important}}

/* Design-Build is presented as an available delivery method, not a standalone service page. */
.home-design-build-callout{position:relative;display:grid;grid-template-columns:82px minmax(0,1.3fr) minmax(250px,.7fr) auto;gap:clamp(22px,3vw,46px);align-items:center;margin-top:26px;padding:clamp(26px,3.5vw,44px);border:1px solid #cddadd;border-left:6px solid var(--home-yellow);background:linear-gradient(115deg,#0a151a 0%,#10242b 62%,#12323c 100%);color:#fff;box-shadow:0 24px 65px rgba(12,31,39,.16);overflow:hidden}
.home-design-build-callout:before{content:"";position:absolute;right:-75px;top:-130px;width:270px;height:270px;border:1px solid rgba(125,230,246,.17);border-radius:50%;box-shadow:0 0 0 45px rgba(37,184,218,.035),0 0 0 90px rgba(255,208,0,.022);animation:home-ring 16s linear infinite}
.home-design-build-callout:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:linear-gradient(90deg,var(--home-orange),var(--home-yellow),var(--home-blue));transform:scaleX(.24);transform-origin:left;transition:transform .55s}
.home-design-build-callout:hover:after{transform:scaleX(1)}
.home-design-build-mark{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;border:1px solid rgba(255,255,255,.24);border-top:4px solid var(--home-yellow);background:linear-gradient(145deg,rgba(255,208,0,.12),rgba(37,184,218,.1));box-shadow:inset 0 0 28px rgba(125,230,246,.05);overflow:hidden}.home-design-build-mark:before{content:"";position:absolute;left:-15px;bottom:-24px;width:55px;height:55px;border:1px solid rgba(125,230,246,.18);transform:rotate(45deg)}.home-design-build-mark strong{position:relative;z-index:2;color:#fff;font-size:1.45rem;font-weight:950;letter-spacing:-.06em;line-height:1}.home-design-build-mark small{position:relative;z-index:2;margin-top:7px;color:#83e7f5;font-size:.43rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase;white-space:nowrap}
.home-design-build-mark img{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(0,0,0,.3))}
.home-design-build-copy,.home-design-build-scope,.home-design-build-link{position:relative;z-index:2;min-width:0}.home-design-build-copy>span{display:block;color:#82e7f5;font-size:.62rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.home-design-build-copy h3{margin:9px 0 0;color:#fff;font-size:clamp(1.55rem,2.35vw,2.55rem);letter-spacing:-.045em;line-height:1.02;hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}.home-design-build-copy h3>span{display:block;hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}.home-design-build-copy p{max-width:720px;margin:14px 0 0;color:rgba(255,255,255,.68);font-size:.88rem;line-height:1.68;hyphens:none}
.home-design-build-scope{display:grid;gap:7px}.home-design-build-scope span{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:rgba(255,255,255,.82);font-size:.6rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.home-design-build-scope span:before{content:"";width:6px;height:6px;background:var(--home-yellow);transform:rotate(45deg)}.home-design-build-scope span:nth-child(2):before{background:var(--home-orange)}.home-design-build-scope span:nth-child(3):before{background:var(--home-blue)}
.home-design-build-link{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:205px;padding:17px 18px;background:var(--home-yellow);color:#111;font-size:.68rem;font-weight:950;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;box-shadow:0 15px 35px rgba(255,208,0,.18);transition:.35s}.home-design-build-link span{font-size:1.15rem;transition:transform .3s}.home-design-build-link:hover{background:#fff;transform:translateY(-5px);box-shadow:0 22px 44px rgba(37,184,218,.2)}.home-design-build-link:hover span{transform:translate(4px,-4px)}
@media(max-width:1150px){.home-design-build-callout{grid-template-columns:68px minmax(0,1fr) auto}.home-design-build-scope{grid-column:2/4;grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-design-build-callout{grid-template-columns:58px minmax(0,1fr);padding:25px 20px}.home-design-build-mark{width:56px;height:56px}.home-design-build-mark strong{font-size:1.1rem}.home-design-build-mark small{font-size:.34rem;margin-top:5px}.home-design-build-copy p{font-size:.83rem}.home-design-build-scope{grid-column:1/-1;grid-template-columns:1fr}.home-design-build-link{grid-column:1/-1;width:100%;min-width:0}}
@media(max-width:420px){.home-design-build-callout{grid-template-columns:1fr}.home-design-build-mark{display:none}.home-design-build-copy,.home-design-build-scope,.home-design-build-link{grid-column:1}.home-design-build-copy h3{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){.home-design-build-callout:before{animation:none}}

/* ===== NODE 5 — PROJECT PORTFOLIO REBUILD ===== */
.portfolio-page{--pf-ink:#071116;--pf-deep:#0c1b21;--pf-paper:#f2f1eb;--pf-yellow:#ffd000;--pf-orange:#ff7438;--pf-blue:#25b8da;color:var(--pf-ink);overflow:hidden}.portfolio-page,.portfolio-page *{box-sizing:border-box}.portfolio-page h1,.portfolio-page h2,.portfolio-page h3,.portfolio-page p{hyphens:none;word-break:normal;overflow-wrap:normal}.portfolio-hero{position:relative;isolation:isolate;min-height:clamp(720px,90vh,900px);display:flex;align-items:center;padding:80px 0 118px;color:#fff;overflow:hidden}.portfolio-hero-image,.portfolio-hero-shade,.portfolio-hero-grid{position:absolute;inset:0;width:100%;height:100%}.portfolio-hero-image{z-index:-4;object-fit:cover;object-position:center 48%;animation:pf-hero-drift 18s ease-in-out infinite alternate}.portfolio-hero-shade{z-index:-3;background:linear-gradient(90deg,rgba(5,11,14,.94) 0%,rgba(5,11,14,.76) 46%,rgba(5,11,14,.18) 78%),linear-gradient(0deg,rgba(5,11,14,.55),transparent 42%)}.portfolio-hero-grid{z-index:-2;opacity:.16;background:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 68%)}.portfolio-hero:after{content:"";position:absolute;z-index:-1;left:0;bottom:0;width:100%;height:7px;background:linear-gradient(90deg,var(--pf-orange),var(--pf-yellow) 48%,var(--pf-blue));background-size:180% 100%;animation:pf-color-flow 7s linear infinite}.portfolio-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);gap:clamp(40px,7vw,110px);align-items:end;width:min(1280px,calc(100% - 40px))}.portfolio-hero-copy{max-width:850px;padding-left:clamp(18px,2.5vw,34px);border-left:5px solid var(--pf-yellow)}.portfolio-eyebrow{display:flex;align-items:center;gap:13px;color:#ffe777;font-size:.68rem;font-weight:950;letter-spacing:.19em;text-transform:uppercase}.portfolio-eyebrow i{width:45px;height:2px;background:linear-gradient(90deg,var(--pf-yellow),var(--pf-blue))}.portfolio-hero h1{display:grid;gap:4px;margin:24px 0;color:#fff;font-size:clamp(3.7rem,6.4vw,7rem);letter-spacing:-.065em;line-height:.83;text-transform:uppercase}.portfolio-hero h1 span,.portfolio-hero h1 em{display:block;font-style:normal}.portfolio-hero h1 em{background:linear-gradient(90deg,var(--pf-yellow),#ffe88c 45%,#8ae7f5);background-clip:text;color:transparent}.portfolio-hero-copy>p{max-width:700px;margin:28px 0 0;color:rgba(255,255,255,.78);font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.7}.portfolio-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.portfolio-btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.35s}.portfolio-btn-primary{border-color:var(--pf-yellow);background:var(--pf-yellow);color:#111;box-shadow:0 16px 42px rgba(255,208,0,.2)}.portfolio-btn:hover{border-color:var(--pf-blue);background:var(--pf-blue);color:#071116;transform:translateY(-5px)}.portfolio-hero-index{position:relative;padding:32px;border-top:5px solid var(--pf-blue);background:rgba(6,17,22,.72);box-shadow:0 30px 80px rgba(0,0,0,.32);backdrop-filter:blur(12px)}.portfolio-hero-index:after{content:"";position:absolute;right:15px;bottom:15px;width:44px;height:44px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.portfolio-hero-index small{display:block;color:#83e8f6;font-size:.6rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.portfolio-hero-index strong{display:block;margin-top:15px;color:#fff;font-size:clamp(1.4rem,2vw,2.1rem);letter-spacing:-.035em;line-height:1.05}.portfolio-hero-index span{display:block;margin-top:24px;color:rgba(255,255,255,.5);font-size:.56rem;font-weight:800;letter-spacing:.08em;line-height:1.6;text-transform:uppercase}.portfolio-hero-path{position:absolute;z-index:2;top:28px;left:50%;display:flex;align-items:center;gap:13px;padding:11px 16px;border:1px solid rgba(255,255,255,.15);background:rgba(5,12,15,.48);color:rgba(255,255,255,.72);font-size:.56rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;transform:translateX(-50%);backdrop-filter:blur(8px)}.portfolio-hero-path i{width:6px;height:6px;background:var(--pf-yellow);transform:rotate(45deg)}.portfolio-hero-path i:last-of-type{background:var(--pf-blue)}.portfolio-market-bar{position:absolute;z-index:3;left:0;right:0;bottom:7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:rgba(5,12,15,.91);backdrop-filter:blur(12px)}.portfolio-market-bar>span{position:relative;min-width:0;padding:20px clamp(16px,3vw,45px);border-right:1px solid rgba(255,255,255,.12);color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.portfolio-market-bar>span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:12px;background:var(--pf-yellow);transform:rotate(45deg)}.portfolio-market-bar>span:nth-child(2):before{background:var(--pf-orange)}.portfolio-market-bar>span:nth-child(3):before{background:#6de1f2}.portfolio-market-bar>span:nth-child(4):before{background:var(--pf-blue)}.portfolio-market-bar small{display:block;margin:7px 0 0 21px;color:rgba(255,255,255,.48);font-size:.54rem;letter-spacing:.03em;text-transform:none}
.portfolio-intro{position:relative;padding:clamp(85px,9vw,145px) 0 0;background:var(--pf-paper)}.portfolio-intro:before{content:"";position:absolute;right:0;top:0;width:35%;height:100%;background:linear-gradient(135deg,transparent 49.8%,rgba(37,184,218,.08) 50%);pointer-events:none}.portfolio-intro-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(50px,9vw,130px);align-items:start}.portfolio-intro-title>span,.portfolio-section-head>div>span,.portfolio-delivery-title>span,.portfolio-cta-inner>div>span{display:block;color:#9b6900;font-size:.67rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.portfolio-intro-title h2,.portfolio-section-head h2,.portfolio-delivery-title h2,.portfolio-cta h2{margin:16px 0 0;letter-spacing:-.055em;line-height:.95}.portfolio-intro-title h2{max-width:620px;font-size:clamp(2.8rem,4.8vw,5.5rem)}.portfolio-intro-copy p{margin:0;color:#52656d;font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.82}.portfolio-intro-copy p+p{margin-top:24px}.portfolio-scope-line{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(65px,7vw,100px);border-top:1px solid #c8d5d9;border-left:1px solid #c8d5d9}.portfolio-scope-line span{display:flex;align-items:center;justify-content:center;min-height:86px;padding:16px;border-right:1px solid #c8d5d9;background:rgba(255,255,255,.52);color:#18303a;font-size:.63rem;font-weight:950;letter-spacing:.1em;text-align:center;text-transform:uppercase;transition:.35s}.portfolio-scope-line span:hover{background:#fff;color:#a26900;transform:translateY(-6px);box-shadow:0 18px 40px rgba(14,37,47,.1)}
.portfolio-work{padding:clamp(90px,10vw,160px) 0;background:linear-gradient(135deg,#eef2f1,#fff 52%,#eef7f9)}.portfolio-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:55px;align-items:end;margin-bottom:55px}.portfolio-section-head h2{max-width:850px;font-size:clamp(2.8rem,4.7vw,5.4rem)}.portfolio-section-head>p{margin:0;color:#60737a;font-size:1rem;line-height:1.75}.portfolio-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.portfolio-card{grid-column:span 6;display:grid;grid-template-columns:1fr;min-width:0;border:1px solid #cddadd;background:#fff;box-shadow:0 18px 50px rgba(12,34,43,.08);overflow:hidden;transition:.4s}.portfolio-card-wide{grid-column:span 8;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr)}.portfolio-card-tall{grid-column:span 4}.portfolio-card:hover{transform:translateY(-9px);box-shadow:0 32px 80px rgba(12,34,43,.16)}.portfolio-card-media{position:relative;min-height:340px;overflow:hidden}.portfolio-card-tall .portfolio-card-media{min-height:490px}.portfolio-card-wide .portfolio-card-media{min-height:520px}.portfolio-card-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,13,17,.58),transparent 48%)}.portfolio-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}.portfolio-card:hover .portfolio-card-media img{transform:scale(1.055)}.portfolio-card-media>span{position:absolute;z-index:2;left:22px;bottom:20px;padding:9px 12px;border-left:3px solid var(--pf-yellow);background:rgba(5,14,18,.78);color:#fff;font-size:.57rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;backdrop-filter:blur(7px)}.portfolio-card-copy{position:relative;padding:clamp(27px,3.2vw,45px)}.portfolio-card-copy:before{content:"";position:absolute;left:0;top:0;width:75px;height:5px;background:linear-gradient(90deg,var(--pf-yellow),var(--pf-blue))}.portfolio-card-copy small{color:#9a6800;font-size:.61rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.portfolio-card-copy h3{margin:14px 0 0;font-size:clamp(1.55rem,2.3vw,2.55rem);letter-spacing:-.045em;line-height:1.03}.portfolio-card-copy p{margin:18px 0 0;color:#5b6c73;font-size:.92rem;line-height:1.75}.portfolio-card-copy>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:25px}.portfolio-card-copy>div span{padding:8px 10px;border:1px solid #d4dfe2;background:#f4f7f7;color:#334b54;font-size:.52rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.portfolio-card-finish .portfolio-card-media img{object-position:center 58%}.portfolio-gallery-link{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:25px;padding:24px 28px;border:1px solid #cad8dc;background:#fff}.portfolio-gallery-link>span{color:#607279;font-size:.85rem}.portfolio-gallery-link>a{display:flex;align-items:center;gap:25px;color:#0a1b22;font-size:.66rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.portfolio-gallery-link i{font-size:1.15rem;font-style:normal;transition:.3s}.portfolio-gallery-link a:hover i{color:var(--pf-blue);transform:translate(4px,-4px)}
.portfolio-delivery{position:relative;padding:clamp(90px,10vw,155px) 0;background:var(--pf-deep);color:#fff;overflow:hidden}.portfolio-delivery:before{content:"";position:absolute;right:-130px;top:-180px;width:520px;height:520px;border:1px solid rgba(37,184,218,.15);border-radius:50%;box-shadow:0 0 0 70px rgba(37,184,218,.025),0 0 0 140px rgba(255,208,0,.018)}.portfolio-delivery-inner{position:relative;display:grid;grid-template-columns:minmax(300px,.67fr) minmax(0,1.33fr);gap:clamp(55px,8vw,120px)}.portfolio-delivery-title>span{color:#7de6f6}.portfolio-delivery-title h2{color:#fff;font-size:clamp(2.7rem,4.4vw,5rem)}.portfolio-delivery-title p{max-width:520px;margin:24px 0 0;color:rgba(255,255,255,.62);line-height:1.75}.portfolio-delivery-steps{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12)}.portfolio-delivery-steps article{position:relative;min-width:0;padding:clamp(27px,3.4vw,45px);background:#10242b;transition:.35s}.portfolio-delivery-steps article:hover{z-index:2;background:#17333d;transform:translateY(-5px)}.portfolio-delivery-steps article i{display:block;width:34px;height:4px;margin-bottom:25px;background:var(--pf-orange)}.portfolio-delivery-steps article:nth-child(2) i{background:var(--pf-yellow)}.portfolio-delivery-steps article:nth-child(3) i{background:#78e2f3}.portfolio-delivery-steps article:nth-child(4) i{background:var(--pf-blue)}.portfolio-delivery-steps small{color:#8be8f6;font-size:.58rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.portfolio-delivery-steps strong{display:block;margin-top:12px;color:#fff;font-size:1.3rem;letter-spacing:-.025em}.portfolio-delivery-steps p{margin:14px 0 0;color:rgba(255,255,255,.57);font-size:.86rem;line-height:1.65}
.portfolio-cta{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;padding:85px 0;color:#fff;overflow:hidden}.portfolio-cta-image{position:absolute;z-index:-2;inset:0;background:url('../images/projects/featured/framing-hero-project.jpg') center 52%/cover no-repeat}.portfolio-cta:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,13,17,.96),rgba(5,13,17,.78) 56%,rgba(5,13,17,.3))}.portfolio-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center}.portfolio-cta-inner>div{max-width:850px}.portfolio-cta-inner>div>span{color:#ffe16a}.portfolio-cta h2{color:#fff;font-size:clamp(2.8rem,5vw,5.7rem)}.portfolio-cta p{max-width:680px;margin:22px 0 0;color:rgba(255,255,255,.68);font-size:1rem;line-height:1.7}.portfolio-cta-button{display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:245px;padding:19px 20px;background:var(--pf-yellow);color:#111;font-size:.68rem;font-weight:950;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;box-shadow:0 20px 50px rgba(255,208,0,.22);transition:.35s}.portfolio-cta-button span{font-size:1.25rem;transition:.3s}.portfolio-cta-button:hover{background:var(--pf-blue);transform:translateY(-6px)}.portfolio-cta-button:hover span{transform:translate(4px,-4px)}
body:has(.portfolio-page) .modern-footer{border-top:0;background:#071014}body:has(.portfolio-page) .modern-footer .container{padding-top:60px}body:has(.portfolio-page) .modern-footer-card{background:rgba(255,255,255,.045)}body:has(.portfolio-page) .modern-footer p,body:has(.portfolio-page) .modern-footer strong{hyphens:none;word-break:normal}
@keyframes pf-hero-drift{to{transform:scale(1.04);object-position:54% 48%}}@keyframes pf-color-flow{to{background-position:180% 0}}
@media(max-width:1050px){.portfolio-hero-inner{grid-template-columns:1fr}.portfolio-hero-index{display:none}.portfolio-section-head,.portfolio-delivery-inner{grid-template-columns:1fr}.portfolio-card-wide{grid-column:1/-1}.portfolio-card-tall{grid-column:span 6}.portfolio-cta-inner{grid-template-columns:1fr}.portfolio-cta-button{width:max-content}.portfolio-scope-line{grid-template-columns:repeat(3,1fr)}.portfolio-scope-line span:nth-child(n+4){grid-column:span 1}}
@media(max-width:760px){.portfolio-hero{min-height:850px;padding:100px 0 170px}.portfolio-hero-inner{width:calc(100% - 30px)}.portfolio-hero-copy{padding-left:18px}.portfolio-hero h1{font-size:clamp(3rem,14vw,4.8rem);line-height:.87}.portfolio-hero-actions{display:grid}.portfolio-btn{width:100%}.portfolio-hero-path{top:20px;width:calc(100% - 30px);justify-content:center;padding:9px 8px;font-size:.49rem}.portfolio-market-bar{grid-template-columns:1fr 1fr}.portfolio-market-bar>span{padding:13px 14px;font-size:.56rem}.portfolio-market-bar small{font-size:.47rem}.portfolio-intro-grid{grid-template-columns:1fr;gap:35px}.portfolio-scope-line{grid-template-columns:1fr 1fr}.portfolio-scope-line span{min-height:70px}.portfolio-section-head{gap:22px}.portfolio-card,.portfolio-card-wide,.portfolio-card-tall{grid-column:1/-1;grid-template-columns:1fr}.portfolio-card-media,.portfolio-card-wide .portfolio-card-media,.portfolio-card-tall .portfolio-card-media{min-height:320px}.portfolio-gallery-link{align-items:flex-start;flex-direction:column}.portfolio-delivery-steps{grid-template-columns:1fr}.portfolio-cta{min-height:600px}.portfolio-cta-button{width:100%;min-width:0}body:has(.portfolio-page) .modern-footer-grid{grid-template-columns:1fr}}

/* Featured commercial project — Node 5 */
.commercial-feature{--cf-yellow:#ffc400;--cf-blue:#39a9d6;position:relative;isolation:isolate;overflow:hidden;padding:clamp(95px,11vw,175px) 0;background:#071116;color:#fff}.commercial-feature:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 80%,transparent)}.commercial-feature-glow{position:absolute;z-index:-1;width:65vw;height:65vw;right:-24vw;top:-35vw;border-radius:50%;background:radial-gradient(circle,rgba(57,169,214,.22),transparent 67%);animation:commercialGlow 7s ease-in-out infinite alternate}.commercial-feature-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr);gap:clamp(35px,7vw,110px);align-items:end;margin-bottom:clamp(45px,6vw,85px)}.commercial-feature-kicker{display:flex;align-items:center;gap:14px;color:var(--cf-yellow);font-size:.66rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.commercial-feature-kicker:before{content:"";width:42px;height:3px;background:var(--cf-yellow);box-shadow:0 0 18px rgba(255,196,0,.75)}.commercial-feature h2{margin:21px 0 0;max-width:900px;color:#fff;font-size:clamp(3rem,5.5vw,6.6rem);letter-spacing:-.065em;line-height:.86}.commercial-feature h2 em{color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.64)}.commercial-feature-head p{margin:0;padding-left:25px;border-left:1px solid rgba(255,255,255,.2);color:#afbdc3;font-size:clamp(.95rem,1.2vw,1.08rem);line-height:1.85}.commercial-feature-stage{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:18px}.commercial-feature-hero{position:relative;min-height:820px;margin:0;overflow:hidden;background:#14242b}.commercial-feature-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,10,13,.88))}.commercial-feature-hero img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.commercial-feature-hero:hover img{transform:scale(1.035)}.commercial-feature-hero figcaption{position:absolute;z-index:2;left:clamp(25px,4vw,60px);right:clamp(25px,4vw,60px);bottom:clamp(28px,5vw,65px);display:grid;gap:9px}.commercial-feature-hero figcaption span,.commercial-phase span{color:var(--cf-yellow);font-size:.58rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.commercial-feature-hero figcaption strong{max-width:620px;font-size:clamp(2.25rem,4vw,4.8rem);letter-spacing:-.055em;line-height:.92}.commercial-feature-hero figcaption small{margin-top:9px;color:#c4cfd3;font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.commercial-feature-story{display:grid;grid-template-columns:1fr 1fr;gap:18px}.commercial-phase{position:relative;display:grid;grid-template-rows:minmax(210px,1fr) auto;min-width:0;overflow:hidden;background:#fff;color:#0b1b22;transition:transform .45s ease,box-shadow .45s ease}.commercial-phase:hover{z-index:2;transform:translateY(-7px);box-shadow:0 30px 65px rgba(0,0,0,.32)}.commercial-phase-image{position:relative;min-height:0;overflow:hidden}.commercial-phase-image:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:linear-gradient(90deg,var(--cf-yellow),var(--cf-blue));transform:scaleX(.25);transform-origin:left;transition:transform .55s ease}.commercial-phase:hover .commercial-phase-image:after{transform:scaleX(1)}.commercial-phase img{width:100%;height:100%;object-fit:cover;transition:transform .75s ease}.commercial-phase:hover img{transform:scale(1.06)}.commercial-phase>div:last-child{padding:clamp(20px,2.5vw,32px)}.commercial-phase h3{margin:9px 0 0;font-size:clamp(1.25rem,1.7vw,1.85rem);letter-spacing:-.04em;line-height:1.02}.commercial-phase p{margin:12px 0 0;color:#617178;font-size:.8rem;line-height:1.62}.commercial-phase-wide{grid-column:1/-1;grid-template-columns:minmax(0,1.08fr) minmax(250px,.92fr);grid-template-rows:minmax(240px,1fr)}.commercial-feature-result{display:flex;align-items:center;gap:13px;margin-top:28px;padding:22px 25px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);backdrop-filter:blur(10px)}.commercial-feature-result span,.commercial-feature-result strong{white-space:nowrap;font-size:.58rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.commercial-feature-result strong{color:var(--cf-yellow)}.commercial-feature-result i{position:relative;flex:1;height:1px;background:rgba(255,255,255,.18);overflow:hidden}.commercial-feature-result i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--cf-yellow),var(--cf-blue),transparent);transform:translateX(-100%);animation:commercialFlow 3.8s linear infinite}.commercial-feature-result i:nth-of-type(2):after{animation-delay:.35s}.commercial-feature-result i:nth-of-type(3):after{animation-delay:.7s}.commercial-feature-result i:nth-of-type(4):after{animation-delay:1.05s}.commercial-feature-result i:nth-of-type(5):after{animation-delay:1.4s}@keyframes commercialFlow{to{transform:translateX(100%)}}@keyframes commercialGlow{to{transform:translate(-7vw,8vw) scale(1.12)}}
@media(max-width:1050px){.commercial-feature-head,.commercial-feature-stage{grid-template-columns:1fr}.commercial-feature-head p{max-width:720px}.commercial-feature-hero{min-height:620px}.commercial-feature-story{grid-template-columns:1fr 1fr}.commercial-phase{min-height:470px}.commercial-phase-wide{min-height:300px}}
@media(max-width:700px){.commercial-feature{padding:85px 0}.commercial-feature-head{gap:28px}.commercial-feature h2{font-size:clamp(2.8rem,14vw,4.4rem);overflow-wrap:normal;word-break:normal}.commercial-feature-head p{padding-left:17px}.commercial-feature-hero{min-height:520px}.commercial-feature-story{grid-template-columns:1fr}.commercial-phase,.commercial-phase-wide{grid-column:1;grid-template-columns:1fr;grid-template-rows:260px auto;min-height:0}.commercial-feature-result{display:grid;grid-template-columns:1fr 24px 1fr;gap:10px}.commercial-feature-result i{width:24px}.commercial-feature-result i:nth-of-type(n+3),.commercial-feature-result span:nth-of-type(n+4){display:none}.commercial-feature-result strong{grid-column:3}.commercial-phase:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.commercial-feature-glow,.commercial-feature-result i:after{animation:none}.commercial-feature-hero img,.commercial-phase,.commercial-phase img,.commercial-phase-image:after{transition:none}}
@media(max-width:420px){.portfolio-hero h1{font-size:clamp(2.75rem,13.5vw,3.8rem)}.portfolio-hero-copy>p{font-size:.92rem}.portfolio-market-bar>span{padding:11px 10px}.portfolio-intro-title h2,.portfolio-section-head h2,.portfolio-delivery-title h2,.portfolio-cta h2{font-size:clamp(2.3rem,11vw,3.3rem)}.portfolio-scope-line{grid-template-columns:1fr}.portfolio-card-media,.portfolio-card-wide .portfolio-card-media,.portfolio-card-tall .portfolio-card-media{min-height:260px}.portfolio-card-copy{padding:27px 22px}.portfolio-delivery-steps article{padding:27px 22px}}
@media(prefers-reduced-motion:reduce){.portfolio-hero-image,.portfolio-hero:after{animation:none}.portfolio-card:hover,.portfolio-delivery-steps article:hover,.portfolio-btn:hover,.portfolio-cta-button:hover{transform:none}}
/* ===== END NODE 5 PROJECT PORTFOLIO REBUILD ===== */

/* Node 5 content expansion: sectors and complete construction expertise. */
.portfolio-industries{position:relative;padding:clamp(90px,10vw,155px) 0;background:#0b181e;color:#fff;overflow:hidden}.portfolio-industries:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 9% 20%,rgba(255,208,0,.13),transparent 27%),radial-gradient(circle at 91% 75%,rgba(37,184,218,.15),transparent 29%),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:auto,auto,55px 55px,55px 55px}.portfolio-industries .container{position:relative}.portfolio-industries .portfolio-section-head h2{color:#fff}.portfolio-industries .portfolio-section-head>p{color:rgba(255,255,255,.62)}.portfolio-industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.13)}.portfolio-industry-grid article{position:relative;min-width:0;min-height:350px;padding:clamp(28px,3.5vw,47px);background:rgba(12,31,38,.94);overflow:hidden;transition:.4s}.portfolio-industry-grid article:after{content:"";position:absolute;right:-35px;bottom:-35px;width:105px;height:105px;border:1px solid rgba(255,255,255,.1);transform:rotate(45deg);transition:.4s}.portfolio-industry-grid article:hover{z-index:2;background:#17343e;transform:translateY(-8px);box-shadow:0 30px 70px rgba(0,0,0,.3)}.portfolio-industry-grid article:hover:after{right:-20px;bottom:-20px;border-color:rgba(125,230,246,.35)}.portfolio-industry-grid i{display:block;width:40px;height:5px;margin-bottom:45px;background:#ffd000}.portfolio-industry-grid article:nth-child(2) i{background:#ff7438}.portfolio-industry-grid article:nth-child(3) i{background:#77e1f2}.portfolio-industry-grid article:nth-child(4) i{background:#25b8da}.portfolio-industry-grid small{color:#85e7f5;font-size:.56rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.portfolio-industry-grid h3{margin:14px 0 0;color:#fff;font-size:clamp(1.75rem,2.4vw,2.7rem);letter-spacing:-.045em}.portfolio-industry-grid p{margin:20px 0 0;color:rgba(255,255,255,.6);font-size:.88rem;line-height:1.75}
.portfolio-expertise{position:relative;padding:clamp(90px,10vw,155px) 0;background:linear-gradient(135deg,#f6f4ed,#fff 58%,#eef7f9)}.portfolio-expertise:after{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:linear-gradient(90deg,#ff7438,#ffd000 48%,#25b8da)}.portfolio-expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.portfolio-expertise-grid article{position:relative;min-width:0;min-height:300px;padding:clamp(28px,3.4vw,46px);border:1px solid #cddadc;background:rgba(255,255,255,.82);box-shadow:0 15px 42px rgba(14,37,46,.06);overflow:hidden;transition:.4s}.portfolio-expertise-grid article:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:#ff7438;transform:scaleY(.2);transform-origin:top;transition:.45s}.portfolio-expertise-grid article:nth-child(2):before,.portfolio-expertise-grid article:nth-child(5):before{background:#ffd000}.portfolio-expertise-grid article:nth-child(3):before,.portfolio-expertise-grid article:nth-child(6):before{background:#25b8da}.portfolio-expertise-grid article:hover{z-index:2;background:#fff;transform:translateY(-8px);box-shadow:0 28px 70px rgba(14,37,46,.14)}.portfolio-expertise-grid article:hover:before{transform:scaleY(1)}.portfolio-expertise-grid article>span{display:block;color:#9b6900;font-size:.58rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.portfolio-expertise-grid h3{margin:20px 0 0;font-size:clamp(1.45rem,2vw,2.15rem);letter-spacing:-.04em;line-height:1.05}.portfolio-expertise-grid p{margin:18px 0 0;color:#607178;font-size:.89rem;line-height:1.72}
@media(max-width:1050px){.portfolio-industry-grid{grid-template-columns:1fr 1fr}.portfolio-expertise-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.portfolio-industry-grid,.portfolio-expertise-grid{grid-template-columns:1fr}.portfolio-industry-grid article,.portfolio-expertise-grid article{min-height:0}.portfolio-industry-grid i{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.portfolio-industry-grid article:hover,.portfolio-expertise-grid article:hover{transform:none}}

/* ===== NODE 6 — PREMIUM FIELD GALLERY ===== */
body:has(.gallery-portfolio-page){--gal-ink:#071116;--gal-deep:#0b1a20;--gal-paper:#f3f2ec;--gal-yellow:#ffd000;--gal-orange:#ff7438;--gal-blue:#25b8da}body:has(.gallery-portfolio-page) .gallery-portfolio-hero,body:has(.gallery-portfolio-page) .gallery-portfolio-hero *{box-sizing:border-box}body:has(.gallery-portfolio-page) .gallery-portfolio-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(730px,91vh,920px);padding:90px 0 130px;background:#071116;color:#fff;overflow:hidden}.gallery-premium-media{position:absolute;z-index:-4;inset:0;display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:3px}.gallery-premium-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,13,.97) 0%,rgba(4,10,13,.8) 44%,rgba(4,10,13,.25) 82%),linear-gradient(0deg,rgba(4,10,13,.65),transparent 45%)}.gallery-premium-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05);animation:gallery-image-drift 16s ease-in-out infinite alternate}.gallery-premium-media img:first-child{grid-row:1/3}.gallery-premium-media img:nth-child(2){animation-delay:-5s}.gallery-premium-media img:nth-child(3){animation-delay:-10s}.gallery-premium-grid{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:70px 70px;opacity:.12;mask-image:linear-gradient(90deg,#000,transparent 68%)}body:has(.gallery-portfolio-page) .gallery-portfolio-hero:after{content:"";position:absolute;z-index:4;left:0;right:0;bottom:0;height:7px;background:linear-gradient(90deg,var(--gal-orange),var(--gal-yellow) 48%,var(--gal-blue));background-size:180% 100%;animation:gallery-color-flow 7s linear infinite}body:has(.gallery-portfolio-page) .gallery-portfolio-hero-inner{position:relative;z-index:2;width:min(1280px,calc(100% - 40px));max-width:none;margin:0 auto;padding:0 0 0 clamp(20px,3vw,40px);border-left:5px solid var(--gal-yellow);text-align:left}body:has(.gallery-portfolio-page) .gallery-portfolio-hero .hero-kicker{display:flex;align-items:center;gap:12px;width:max-content;padding:0;border:0;background:none;color:#ffe36a;font-size:.68rem;letter-spacing:.18em}body:has(.gallery-portfolio-page) .gallery-portfolio-hero .hero-kicker i{width:45px;height:2px;background:linear-gradient(90deg,var(--gal-yellow),var(--gal-blue))}body:has(.gallery-portfolio-page) .gallery-portfolio-hero h2{display:grid;gap:4px;max-width:930px;margin:24px 0 0;color:#fff;font-size:clamp(4rem,7vw,7.7rem);letter-spacing:-.065em;line-height:.82;text-transform:uppercase;hyphens:none;word-break:normal;overflow-wrap:normal}body:has(.gallery-portfolio-page) .gallery-portfolio-hero h2 span,body:has(.gallery-portfolio-page) .gallery-portfolio-hero h2 em{display:block;font-style:normal}body:has(.gallery-portfolio-page) .gallery-portfolio-hero h2 em{background:linear-gradient(90deg,var(--gal-yellow),#ffe98d 48%,#8ce8f6);background-clip:text;color:transparent}body:has(.gallery-portfolio-page) .gallery-portfolio-hero p{max-width:750px;margin:30px 0 0;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.3vw,1.16rem);line-height:1.72;hyphens:none}.gallery-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:32px}.gallery-hero-actions a{display:flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:1px solid rgba(255,255,255,.34);color:#fff;font-size:.67rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.35s}.gallery-hero-actions a:first-child{border-color:var(--gal-yellow);background:var(--gal-yellow);color:#111;box-shadow:0 18px 44px rgba(255,208,0,.2)}.gallery-hero-actions a:hover{border-color:var(--gal-blue);background:var(--gal-blue);color:#061116;transform:translateY(-5px)}.gallery-hero-note{position:absolute;z-index:3;right:clamp(30px,6vw,105px);bottom:155px;width:min(300px,24vw);padding:30px;border-top:5px solid var(--gal-blue);background:rgba(6,17,22,.76);box-shadow:0 28px 75px rgba(0,0,0,.35);backdrop-filter:blur(12px)}.gallery-hero-note:after{content:"";position:absolute;right:14px;bottom:14px;width:43px;height:43px;border-right:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.gallery-hero-note small{color:#84e7f5;font-size:.58rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.gallery-hero-note strong{display:block;margin-top:15px;color:#fff;font-size:clamp(1.55rem,2.25vw,2.45rem);letter-spacing:-.04em;line-height:.98}.gallery-hero-note span{display:block;margin-top:22px;color:rgba(255,255,255,.5);font-size:.55rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.gallery-hero-reel{position:absolute;z-index:3;left:0;right:0;bottom:7px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(5,12,15,.91);backdrop-filter:blur(10px)}.gallery-hero-reel span{padding:24px 25px;border-right:1px solid rgba(255,255,255,.12);color:#fff;font-size:.65rem;font-weight:950;letter-spacing:.14em;text-align:center;text-transform:uppercase}.gallery-hero-reel span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:12px;background:var(--gal-yellow);transform:rotate(45deg)}.gallery-hero-reel span:nth-child(2):before{background:var(--gal-orange)}.gallery-hero-reel span:nth-child(3):before{background:#7be3f3}.gallery-hero-reel span:nth-child(4):before{background:var(--gal-blue)}
body:has(.gallery-portfolio-page) .gallery-portfolio-page{background:#eef2f1;color:var(--gal-ink);overflow:hidden}body:has(.gallery-portfolio-page) .gallery-category-section{position:relative;padding:clamp(90px,10vw,155px) 0;background:linear-gradient(135deg,#f5f3ed,#fff 56%,#eaf5f7)}body:has(.gallery-portfolio-page) .gallery-category-section:before{content:"";position:absolute;right:-120px;top:-150px;width:430px;height:430px;border:1px solid rgba(37,184,218,.14);border-radius:50%;box-shadow:0 0 0 65px rgba(37,184,218,.025),0 0 0 130px rgba(255,208,0,.018)}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading{position:relative;z-index:2;max-width:970px;margin:0 0 55px;text-align:left}body:has(.gallery-portfolio-page) .gallery-category-section .section-label{color:#996700}body:has(.gallery-portfolio-page) .gallery-category-section h2{max-width:900px;font-size:clamp(2.4rem,3.6vw,4.35rem);letter-spacing:-.06em;line-height:.92}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading p{max-width:650px;margin:20px 0 0;color:#63747b;font-size:1rem;line-height:1.7}body:has(.gallery-portfolio-page) .gallery-category-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:260px;gap:14px}body:has(.gallery-portfolio-page) .gallery-category-card{grid-column:span 4;min-width:0;height:auto!important;border:0;border-radius:0;background:#0b1a20;box-shadow:0 18px 50px rgba(10,30,38,.12);overflow:hidden}body:has(.gallery-portfolio-page) .gallery-category-card.large{grid-column:span 8;grid-row:span 2}body:has(.gallery-portfolio-page) .gallery-category-card:nth-child(2),body:has(.gallery-portfolio-page) .gallery-category-card:nth-child(3){grid-column:span 4}body:has(.gallery-portfolio-page) .gallery-category-card:nth-child(4),body:has(.gallery-portfolio-page) .gallery-category-card:nth-child(5){grid-column:span 6}body:has(.gallery-portfolio-page) .gallery-category-card:nth-child(n+6){grid-column:span 4}body:has(.gallery-portfolio-page) .gallery-category-card:after{content:"↗";position:absolute;z-index:4;right:20px;top:20px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);background:rgba(5,14,18,.48);color:#fff;font-size:1.05rem;transition:.35s;backdrop-filter:blur(7px)}body:has(.gallery-portfolio-page) .gallery-category-card:hover:after{border-color:var(--gal-yellow);background:var(--gal-yellow);color:#111;transform:translate(4px,-4px)}body:has(.gallery-portfolio-page) .gallery-category-card img{transition:transform .75s ease,filter .55s;filter:saturate(.82)}body:has(.gallery-portfolio-page) .gallery-category-card:hover img{transform:scale(1.075);filter:saturate(1)}body:has(.gallery-portfolio-page) .gallery-category-card>div{z-index:3;padding:28px;background:linear-gradient(0deg,rgba(4,12,15,.96),rgba(4,12,15,.05));transform:none}body:has(.gallery-portfolio-page) .gallery-category-card>div span{color:#85e7f5;font-size:.56rem;letter-spacing:.15em}body:has(.gallery-portfolio-page) .gallery-category-card h3{margin-top:8px;color:#fff;font-size:clamp(1.4rem,2.1vw,2.25rem);letter-spacing:-.04em}body:has(.gallery-portfolio-page) .gallery-category-card p{max-width:430px;color:rgba(255,255,255,.62);font-size:.82rem;line-height:1.55}
body:has(.gallery-portfolio-page) .gallery-work-section{position:relative;padding:clamp(90px,9vw,145px) 0;background:#f4f5f2}body:has(.gallery-portfolio-page) .gallery-work-section.dark{background:#0b1a20;color:#fff}body:has(.gallery-portfolio-page) .gallery-work-section:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,var(--gal-orange),var(--gal-yellow),var(--gal-blue));transform:scaleX(.2);transform-origin:left}body:has(.gallery-portfolio-page) .gallery-work-heading{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,1fr);gap:45px;align-items:start;margin-bottom:45px}body:has(.gallery-portfolio-page) .gallery-work-heading .section-label{padding-top:10px;color:#996700;font-size:.65rem;letter-spacing:.17em}body:has(.gallery-portfolio-page) .gallery-work-section.dark .section-label{color:#84e7f5}body:has(.gallery-portfolio-page) .gallery-work-heading h2{max-width:950px;margin:0;font-size:clamp(2.5rem,4.2vw,4.8rem);letter-spacing:-.055em;line-height:.95;hyphens:none}body:has(.gallery-portfolio-page) .gallery-work-section.dark h2{color:#fff}body:has(.gallery-portfolio-page) .gallery-work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}body:has(.gallery-portfolio-page) .gallery-photo{position:relative;grid-column:span 4;min-width:0;height:330px;padding:0;border:0;background:#13252c;box-shadow:0 16px 45px rgba(8,26,34,.12);cursor:zoom-in;overflow:hidden;transition:transform .4s,box-shadow .4s}body:has(.gallery-portfolio-page) .gallery-photo:nth-child(1){grid-column:span 7;height:440px}body:has(.gallery-portfolio-page) .gallery-photo:nth-child(2){grid-column:span 5;height:440px}body:has(.gallery-portfolio-page) .gallery-photo:nth-child(3):last-child{grid-column:1/-1;height:460px}body:has(.gallery-portfolio-page) .gallery-photo:nth-child(4):last-child{grid-column:span 8}body:has(.gallery-portfolio-page) .gallery-photo:nth-child(5),body:has(.gallery-portfolio-page) .gallery-photo:nth-child(6){grid-column:span 6}body:has(.gallery-portfolio-page) .gallery-photo:before{content:"View image";position:absolute;z-index:3;left:18px;bottom:18px;padding:9px 12px;border-left:3px solid var(--gal-yellow);background:rgba(5,14,18,.76);color:#fff;font-size:.53rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase;opacity:0;transform:translateY(12px);transition:.35s;backdrop-filter:blur(7px)}body:has(.gallery-portfolio-page) .gallery-photo:after{content:"+";position:absolute;z-index:3;right:18px;top:18px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);background:rgba(5,14,18,.38);color:#fff;font-size:1.25rem;opacity:0;transform:scale(.75);transition:.35s}body:has(.gallery-portfolio-page) .gallery-photo:hover{z-index:2;transform:translateY(-7px);box-shadow:0 28px 75px rgba(8,26,34,.23)}body:has(.gallery-portfolio-page) .gallery-photo:hover:before,body:has(.gallery-portfolio-page) .gallery-photo:hover:after{opacity:1;transform:none}body:has(.gallery-portfolio-page) .gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s}body:has(.gallery-portfolio-page) .gallery-photo:hover img{transform:scale(1.06);filter:saturate(1.08)}
body:has(.gallery-portfolio-page) .gallery-lightbox{z-index:10000;background:rgba(3,9,12,.94);backdrop-filter:blur(16px)}body:has(.gallery-portfolio-page) .gallery-lightbox:before{content:"Project Gallery";position:absolute;left:28px;top:25px;color:#ffe16a;font-size:.59rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}body:has(.gallery-portfolio-page) .gallery-lightbox img{max-width:min(86vw,1500px);max-height:84vh;border:1px solid rgba(255,255,255,.18);box-shadow:0 35px 100px rgba(0,0,0,.62)}body:has(.gallery-portfolio-page) .gallery-lightbox-close,body:has(.gallery-portfolio-page) .gallery-lightbox-prev,body:has(.gallery-portfolio-page) .gallery-lightbox-next{border:1px solid rgba(255,255,255,.25);background:rgba(8,22,28,.76);color:#fff;backdrop-filter:blur(8px);transition:.3s}body:has(.gallery-portfolio-page) .gallery-lightbox-close:hover,body:has(.gallery-portfolio-page) .gallery-lightbox-prev:hover,body:has(.gallery-portfolio-page) .gallery-lightbox-next:hover{border-color:var(--gal-yellow);background:var(--gal-yellow);color:#111}
body:has(.gallery-portfolio-page) .gallery-premium-cta{position:relative;isolation:isolate;min-height:520px;display:flex;align-items:center;padding:80px 0;background:#071116;color:#fff;overflow:hidden}body:has(.gallery-portfolio-page) .gallery-premium-cta:before{content:"";position:absolute;z-index:-2;inset:0;background:url('../images/projects/featured/framing-hero-project.jpg') center 48%/cover no-repeat}body:has(.gallery-portfolio-page) .gallery-premium-cta:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(4,12,15,.96),rgba(4,12,15,.72) 62%,rgba(4,12,15,.35))}body:has(.gallery-portfolio-page) .gallery-premium-cta .services-final-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center}body:has(.gallery-portfolio-page) .gallery-premium-cta span{color:#ffe16a;font-size:.64rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}body:has(.gallery-portfolio-page) .gallery-premium-cta h2{max-width:850px;margin:15px 0 0;color:#fff;font-size:clamp(2.8rem,5vw,5.7rem);letter-spacing:-.06em;line-height:.92}body:has(.gallery-portfolio-page) .gallery-premium-cta p{max-width:680px;color:rgba(255,255,255,.68);line-height:1.7}body:has(.gallery-portfolio-page) .gallery-premium-cta .about-final-btn{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:245px;padding:19px 20px;border-radius:0;background:var(--gal-yellow);color:#111;font-size:.67rem;letter-spacing:.09em}body:has(.gallery-portfolio-page) .gallery-premium-cta .about-final-btn i{font-size:1.2rem;font-style:normal}.gallery-footer{border-top:0;background:#071014}.gallery-footer .container{padding-top:60px}.gallery-footer .modern-footer-card{background:rgba(255,255,255,.045)}
@keyframes gallery-image-drift{to{transform:scale(1.045)}}@keyframes gallery-color-flow{to{background-position:180% 0}}
@media(max-width:1050px){.gallery-hero-note{display:none}body:has(.gallery-portfolio-page) .gallery-category-card,body:has(.gallery-portfolio-page) .gallery-category-card.large,body:has(.gallery-portfolio-page) .gallery-category-card:nth-child(n){grid-column:span 6;grid-row:span 1}.gallery-premium-media{grid-template-columns:1fr}.gallery-premium-media img:not(:first-child){display:none}body:has(.gallery-portfolio-page) .gallery-premium-cta .services-final-cta-inner{grid-template-columns:1fr}body:has(.gallery-portfolio-page) .gallery-premium-cta .about-final-btn{width:max-content}}
@media(max-width:760px){body:has(.gallery-portfolio-page) .gallery-portfolio-hero{min-height:850px;padding:105px 0 170px}body:has(.gallery-portfolio-page) .gallery-portfolio-hero-inner{width:calc(100% - 30px);padding-left:18px}body:has(.gallery-portfolio-page) .gallery-portfolio-hero h2{font-size:clamp(3.2rem,15vw,5rem);line-height:.85}body:has(.gallery-portfolio-page) .gallery-portfolio-hero p{font-size:.94rem}.gallery-hero-actions{display:grid}.gallery-hero-actions a{width:100%}.gallery-hero-reel{grid-template-columns:1fr 1fr}.gallery-hero-reel span{padding:13px 10px;font-size:.54rem}body:has(.gallery-portfolio-page) .gallery-category-grid{grid-template-columns:1fr;grid-auto-rows:310px}body:has(.gallery-portfolio-page) .gallery-category-card,body:has(.gallery-portfolio-page) .gallery-category-card.large,body:has(.gallery-portfolio-page) .gallery-category-card:nth-child(n){grid-column:1;grid-row:auto}body:has(.gallery-portfolio-page) .gallery-work-heading{grid-template-columns:1fr;gap:12px}body:has(.gallery-portfolio-page) .gallery-work-grid{grid-template-columns:1fr}body:has(.gallery-portfolio-page) .gallery-photo,body:has(.gallery-portfolio-page) .gallery-photo:nth-child(n){grid-column:1;height:300px}body:has(.gallery-portfolio-page) .gallery-photo:before,body:has(.gallery-portfolio-page) .gallery-photo:after{opacity:1;transform:none}body:has(.gallery-portfolio-page) .gallery-premium-cta{min-height:590px}body:has(.gallery-portfolio-page) .gallery-premium-cta .about-final-btn{width:100%;min-width:0}.gallery-footer .modern-footer-grid{grid-template-columns:1fr}}
@media(max-width:420px){body:has(.gallery-portfolio-page) .gallery-portfolio-hero h2{font-size:clamp(2.85rem,14vw,4rem)}body:has(.gallery-portfolio-page) .gallery-category-section h2,body:has(.gallery-portfolio-page) .gallery-work-heading h2,body:has(.gallery-portfolio-page) .gallery-premium-cta h2{font-size:clamp(2.35rem,11vw,3.35rem)}body:has(.gallery-portfolio-page) .gallery-category-grid{grid-auto-rows:280px}body:has(.gallery-portfolio-page) .gallery-photo,body:has(.gallery-portfolio-page) .gallery-photo:nth-child(n){height:250px}}
@media(prefers-reduced-motion:reduce){.gallery-premium-media img,body:has(.gallery-portfolio-page) .gallery-portfolio-hero:after{animation:none}body:has(.gallery-portfolio-page) .gallery-category-card:hover,body:has(.gallery-portfolio-page) .gallery-photo:hover,.gallery-hero-actions a:hover{transform:none}}

/* Gallery editorial redesign — Node 6 */
body:has(.gallery-portfolio-page) .gallery-editorial-hero{display:block;min-height:clamp(760px,94vh,980px);padding:0;background:#071116;overflow:hidden}.gallery-editorial-grid{position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,#000 0 55%,transparent 88%)}.gallery-editorial-collage{position:absolute;inset:0 0 0 42%;display:grid;grid-template-columns:1.45fr .8fr;grid-template-rows:1fr 1fr;gap:4px}.gallery-editorial-frame{position:relative;margin:0;overflow:hidden;background:#12242c}.gallery-editorial-frame:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.1);pointer-events:none}.gallery-editorial-frame-main{grid-row:1/3}.gallery-editorial-frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.07);animation:galleryEditorialDrift 18s ease-in-out infinite alternate}.gallery-editorial-frame-top img{animation-delay:-6s}.gallery-editorial-frame-bottom img{animation-delay:-12s}.gallery-editorial-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061015 0%,rgba(6,16,21,.98) 31%,rgba(6,16,21,.78) 49%,rgba(6,16,21,.1) 78%),linear-gradient(0deg,rgba(6,16,21,.72),transparent 45%)}.gallery-editorial-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:60px;align-items:center;width:min(1420px,calc(100% - 70px));max-width:none;min-height:clamp(760px,94vh,980px);padding:115px 0 135px}.gallery-editorial-copy{max-width:850px;padding-left:clamp(20px,3vw,48px);border-left:4px solid var(--gal-yellow)}.gallery-editorial-kicker{display:flex;align-items:center;gap:13px;color:#ffe16a;font-size:.65rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.gallery-editorial-kicker i{width:42px;height:2px;background:linear-gradient(90deg,var(--gal-yellow),var(--gal-blue))}.gallery-editorial-copy h1{margin:26px 0 0;color:#fff;font-size:clamp(4.4rem,7.7vw,9rem);font-weight:950;letter-spacing:-.075em;line-height:.78;text-transform:uppercase}.gallery-editorial-copy h1 span,.gallery-editorial-copy h1 em{display:block;font-style:normal;white-space:nowrap}.gallery-editorial-copy h1 em{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.62)}.gallery-editorial-copy>p{max-width:660px;margin:33px 0 0;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.75}.gallery-editorial-copy .gallery-hero-actions a{gap:22px}.gallery-editorial-copy .gallery-hero-actions a span{font-size:1rem;transition:transform .3s}.gallery-editorial-copy .gallery-hero-actions a:hover span{transform:translate(4px,-4px)}.gallery-editorial-copy .gallery-hero-actions a:first-child:hover span{transform:translateY(4px)}.gallery-editorial-index{align-self:end;margin-bottom:45px;padding:25px 0 25px 25px;border-left:1px solid rgba(255,255,255,.24)}.gallery-editorial-index span{color:#81e4f3;font-size:.57rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.gallery-editorial-index strong{display:block;margin:10px 0;color:#fff;font-size:clamp(4rem,6vw,6.3rem);letter-spacing:-.08em;line-height:.8}.gallery-editorial-index small{color:rgba(255,255,255,.5);font-size:.57rem;font-weight:850;letter-spacing:.09em;line-height:1.6;text-transform:uppercase}.gallery-editorial-footer{position:absolute;z-index:3;left:0;right:0;bottom:7px;display:flex;align-items:center;gap:18px;padding:23px clamp(30px,6vw,100px);background:rgba(4,12,16,.86);backdrop-filter:blur(12px)}.gallery-editorial-footer span{white-space:nowrap;color:rgba(255,255,255,.72);font-size:.58rem;font-weight:950;letter-spacing:.13em;text-transform:uppercase}.gallery-editorial-footer i{position:relative;flex:1;height:1px;background:rgba(255,255,255,.18);overflow:hidden}.gallery-editorial-footer i:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--gal-yellow),var(--gal-blue),transparent);transform:translateX(-100%);animation:galleryEditorialFlow 5s linear infinite}.gallery-editorial-footer i:nth-of-type(2):after{animation-delay:.6s}.gallery-editorial-footer i:nth-of-type(3):after{animation-delay:1.2s}
.gallery-scope-nav{position:sticky;z-index:90;top:70px;border-bottom:1px solid rgba(255,255,255,.11);background:rgba(7,17,22,.95);box-shadow:0 15px 40px rgba(5,16,21,.14);backdrop-filter:blur(14px)}.gallery-scope-nav-inner{display:flex;align-items:center;gap:28px;min-height:65px}.gallery-scope-nav-inner>span{flex:0 0 auto;color:var(--gal-yellow);font-size:.56rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.gallery-scope-nav-inner>div{display:flex;align-items:center;gap:5px;overflow-x:auto;scrollbar-width:none}.gallery-scope-nav-inner>div::-webkit-scrollbar{display:none}.gallery-scope-nav a{flex:0 0 auto;padding:10px 13px;color:rgba(255,255,255,.68);font-size:.58rem;font-weight:900;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;transition:.3s}.gallery-scope-nav a:hover,.gallery-scope-nav a:focus-visible{background:var(--gal-yellow);color:#111;outline:none}
body:has(.gallery-portfolio-page) .gallery-category-section{padding-top:clamp(105px,11vw,175px)}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);max-width:none;gap:60px;align-items:end}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading .section-label{grid-column:1/-1;margin-bottom:-35px}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading p{margin:0;padding-left:24px;border-left:1px solid #c7d4d7}.gallery-category-card{isolation:isolate}.gallery-category-card:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(3,10,13,.02) 25%,rgba(3,10,13,.96));transition:opacity .4s}.gallery-category-card:hover:before{opacity:.84}body:has(.gallery-portfolio-page) .gallery-category-card>div span:before{content:"";display:inline-block;width:18px;height:2px;margin:0 8px 2px 0;background:var(--gal-yellow)}
body:has(.gallery-portfolio-page) .gallery-work-section{scroll-margin-top:135px;counter-reset:galleryPhoto;padding:clamp(105px,10vw,165px) 0}body:has(.gallery-portfolio-page) .gallery-work-section:nth-of-type(4n+1):not(.dark){background:linear-gradient(135deg,#f7f6f1,#eaf3f4)}body:has(.gallery-portfolio-page) .gallery-work-heading{position:relative;padding-top:28px;border-top:1px solid currentColor}body:has(.gallery-portfolio-page) .gallery-work-heading:after{content:"Selected field work";position:absolute;right:0;top:-8px;padding-left:14px;background:inherit;color:#7b8b91;font-size:.54rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}body:has(.gallery-portfolio-page) .gallery-work-section.dark .gallery-work-heading:after{background:#0b1a20;color:rgba(255,255,255,.43)}body:has(.gallery-portfolio-page) .gallery-photo{counter-increment:galleryPhoto;border:1px solid rgba(7,17,22,.1)}body:has(.gallery-portfolio-page) .gallery-photo:after{content:counter(galleryPhoto,decimal-leading-zero);width:auto;height:auto;padding:9px 11px;border:0;border-top:2px solid var(--gal-yellow);background:rgba(5,14,18,.74);font-size:.58rem;font-weight:950;letter-spacing:.13em}body:has(.gallery-portfolio-page) .gallery-photo:focus-visible{outline:4px solid var(--gal-yellow);outline-offset:4px}body:has(.gallery-portfolio-page) .gallery-photo img{filter:saturate(.88) contrast(1.03)}body:has(.gallery-portfolio-page) .gallery-photo:hover img{filter:saturate(1.08) contrast(1.03)}
body:has(.gallery-portfolio-page) .gallery-lightbox{display:none;place-items:center;padding:70px 95px 55px}body:has(.gallery-portfolio-page) .gallery-lightbox.is-open{display:grid}body:has(.gallery-portfolio-page) .gallery-lightbox figure{display:grid;gap:0;max-width:min(86vw,1500px);margin:0;background:transparent}body:has(.gallery-portfolio-page) .gallery-lightbox figure img{max-width:100%;margin:auto}body:has(.gallery-portfolio-page) .gallery-lightbox-caption{min-height:1em;padding:12px 16px;background:#0b1a20;color:rgba(255,255,255,.68);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-align:center;text-transform:uppercase}.gallery-lightbox-meta{position:absolute;left:28px;top:23px;display:flex;align-items:center;gap:18px}.gallery-lightbox-meta span{color:#ffe16a;font-size:.59rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.gallery-lightbox-meta strong{display:block;padding-left:18px;border-left:1px solid rgba(255,255,255,.25);color:#fff;font-size:.59rem;letter-spacing:.13em}.gallery-lightbox-meta strong.gallery-lightbox-count{display:block}body:has(.gallery-portfolio-page) .gallery-lightbox:before{display:none}
@keyframes galleryEditorialDrift{to{transform:scale(1.055)}}@keyframes galleryEditorialFlow{to{transform:translateX(100%)}}
@media(max-width:1050px){.gallery-editorial-collage{left:35%;grid-template-columns:1fr}.gallery-editorial-frame:not(.gallery-editorial-frame-main){display:none}.gallery-editorial-shade{background:linear-gradient(90deg,#061015 0%,rgba(6,16,21,.94) 54%,rgba(6,16,21,.25))}.gallery-editorial-inner{grid-template-columns:1fr}.gallery-editorial-index{display:none}.gallery-editorial-copy{max-width:780px}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading{grid-template-columns:1fr;gap:25px}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading .section-label{margin-bottom:0}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading p{margin-top:0}}
@media(max-width:760px){body:has(.gallery-portfolio-page) .gallery-editorial-hero{min-height:790px;padding:0}.gallery-editorial-collage{left:0}.gallery-editorial-frame-main img{object-position:58% center}.gallery-editorial-shade{background:linear-gradient(90deg,rgba(5,14,18,.96),rgba(5,14,18,.68)),linear-gradient(0deg,rgba(5,14,18,.92),transparent 55%)}.gallery-editorial-inner{width:calc(100% - 30px);min-height:790px;padding:110px 0 145px}.gallery-editorial-copy{padding-left:17px}.gallery-editorial-copy h1{font-size:clamp(3.45rem,16vw,5.15rem);line-height:.82}.gallery-editorial-copy h1 span,.gallery-editorial-copy h1 em{white-space:normal}.gallery-editorial-kicker{font-size:.56rem}.gallery-editorial-copy>p{font-size:.94rem}.gallery-editorial-footer{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:14px 15px}.gallery-editorial-footer i{display:none}.gallery-editorial-footer span{padding:7px;text-align:center}.gallery-scope-nav{top:64px}.gallery-scope-nav-inner{display:block;min-height:0;padding:10px 15px}.gallery-scope-nav-inner>span{display:none}.gallery-scope-nav a{padding:9px 11px}body:has(.gallery-portfolio-page) .gallery-category-section .modern-section-heading p{padding-left:17px}body:has(.gallery-portfolio-page) .gallery-work-heading:after{display:none}body:has(.gallery-portfolio-page) .gallery-work-heading{padding-top:20px}body:has(.gallery-portfolio-page) .gallery-lightbox{padding:65px 14px 50px}.gallery-lightbox-meta{left:15px;top:18px}body:has(.gallery-portfolio-page) .gallery-lightbox-prev{left:10px}body:has(.gallery-portfolio-page) .gallery-lightbox-next{right:10px}}
@media(max-width:420px){.gallery-editorial-copy h1{font-size:clamp(3.1rem,15.5vw,4.2rem)}.gallery-editorial-copy .gallery-hero-actions a{padding:0 15px;font-size:.58rem}.gallery-lightbox-meta strong{display:none}}
@media(prefers-reduced-motion:reduce){.gallery-editorial-frame img,.gallery-editorial-footer i:after{animation:none}}

/* Field Journal Gallery — Node 6 */
body:has(.gj-page){--gj-ink:#071116;--gj-paper:#f3f0e8;--gj-warm:#ffcb05;--gj-orange:#ff6b35;--gj-blue:#22b8d6;background:var(--gj-paper)}body:has(.gj-page) .container{width:min(1420px,calc(100% - 56px));max-width:none}.gallery-journal-hero{position:relative;isolation:isolate;min-height:clamp(760px,91vh,920px);display:flex;align-items:center;padding:100px 0 130px;background:var(--gj-ink);color:#fff;overflow:hidden}.gallery-journal-visual{position:absolute;z-index:-4;inset:0 0 0 43%;display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:4px}.gallery-journal-visual figure{position:relative;margin:0;overflow:hidden}.gallery-journal-visual-main{grid-row:1/3}.gallery-journal-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05);animation:gjDrift 18s ease-in-out infinite alternate}.gallery-journal-visual figure:nth-child(2) img{animation-delay:-6s}.gallery-journal-visual figure:nth-child(3) img{animation-delay:-12s}.gallery-journal-overlay{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,#061015 0%,rgba(6,16,21,.98) 35%,rgba(6,16,21,.72) 53%,rgba(6,16,21,.12) 82%),linear-gradient(0deg,rgba(6,16,21,.72),transparent 45%)}.gallery-journal-lines{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(90deg,#000,transparent 72%)}.gallery-journal-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:clamp(50px,8vw,130px);align-items:end}.gallery-journal-hero-copy{max-width:900px;padding-left:clamp(18px,3vw,46px);border-left:5px solid var(--gj-warm)}.gallery-journal-kicker{display:flex;align-items:center;gap:14px;color:#ffe36e;font-size:.65rem;font-weight:950;letter-spacing:.19em;text-transform:uppercase}.gallery-journal-kicker i{width:46px;height:2px;background:linear-gradient(90deg,var(--gj-warm),var(--gj-blue))}.gallery-journal-hero h1{margin:26px 0 0;color:#fff;font-size:clamp(4.2rem,7.2vw,8.3rem);font-weight:950;letter-spacing:-.075em;line-height:.8;text-transform:uppercase}.gallery-journal-hero h1 span,.gallery-journal-hero h1 em{display:block;font-style:normal}.gallery-journal-hero h1 em{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.65)}.gallery-journal-hero-copy>p{max-width:690px;margin:30px 0 0;color:rgba(255,255,255,.76);font-size:clamp(1rem,1.2vw,1.14rem);line-height:1.75}.gallery-journal-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:32px}.gallery-journal-actions a{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:57px;padding:0 25px;border:1px solid rgba(255,255,255,.38);color:#fff;font-size:.64rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:.35s}.gallery-journal-actions a:first-child{border-color:var(--gj-warm);background:var(--gj-warm);color:#111;box-shadow:0 18px 42px rgba(255,203,5,.22)}.gallery-journal-actions a:hover{border-color:var(--gj-blue);background:var(--gj-blue);color:#061116;transform:translateY(-5px)}.gallery-journal-actions a span{font-size:1rem}.gallery-journal-hero-card{padding:28px;border-top:4px solid var(--gj-blue);background:rgba(6,16,21,.78);box-shadow:0 25px 70px rgba(0,0,0,.35);backdrop-filter:blur(12px)}.gallery-journal-hero-card>span{color:#7ee8f5;font-size:.56rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.gallery-journal-hero-card strong{display:block;margin-top:14px;color:#fff;font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.04em;line-height:1.05}.gallery-journal-hero-card p{margin:15px 0 0;color:rgba(255,255,255,.58);font-size:.79rem;line-height:1.6}.gallery-journal-ribbon{position:absolute;left:0;right:0;bottom:7px;display:grid;grid-template-columns:repeat(6,1fr);background:rgba(5,13,17,.91);backdrop-filter:blur(10px)}.gallery-journal-ribbon span{padding:20px 10px;border-right:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.78);font-size:.56rem;font-weight:950;letter-spacing:.13em;text-align:center;text-transform:uppercase}.gallery-journal-ribbon span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:9px;background:var(--gj-warm);transform:rotate(45deg)}.gallery-journal-ribbon span:nth-child(even):before{background:var(--gj-blue)}
.gj-page{background:var(--gj-paper);color:var(--gj-ink);overflow:clip}.gj-intro{padding:clamp(85px,9vw,135px) 0;background:linear-gradient(135deg,#f6f3eb,#fff 56%,#edf7f8)}.gj-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:clamp(45px,8vw,125px);align-items:end}.gj-intro-grid>div:first-child>span,.gj-chapter .section-label,.gj-cta-inner>div>span{color:#9b6800;font-size:.62rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.gj-intro h2{margin:18px 0 0;font-size:clamp(3.1rem,5.2vw,6rem);letter-spacing:-.065em;line-height:.87}.gj-intro h2 em{color:#168fac;font-style:normal}.gj-intro-copy>p{margin:0;padding-left:24px;border-left:2px solid #c8d6d9;color:#5d6d73;line-height:1.8}.gj-intro-copy>div{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin-top:30px}.gj-intro-copy strong{color:var(--gj-ink);font-size:clamp(1.7rem,2.5vw,2.7rem);letter-spacing:-.06em}.gj-intro-copy span{color:#64747a;font-size:.55rem;font-weight:850;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.gj-nav{position:sticky;z-index:80;top:70px;border-bottom:1px solid rgba(255,255,255,.12);background:rgba(7,17,22,.96);box-shadow:0 14px 35px rgba(7,17,22,.14);backdrop-filter:blur(14px)}.gj-nav>.container{display:flex;align-items:center;gap:28px;min-height:64px}.gj-nav>.container>span{flex:none;color:var(--gj-warm);font-size:.55rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.gj-nav>.container>div{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.gj-nav a{flex:none;padding:10px 14px;color:rgba(255,255,255,.68);font-size:.58rem;font-weight:900;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;transition:.3s}.gj-nav a:hover,.gj-nav a:focus-visible{background:var(--gj-warm);color:#111;outline:none}
.gj-chapter{scroll-margin-top:134px;padding:clamp(78px,8vw,120px) 0;background:var(--gj-paper)}.gj-chapter-tint{background:#e8edef}.gj-concrete-feature{background:#0a1920;color:#fff}.gj-chapter-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.45fr);gap:60px;align-items:end;margin-bottom:40px;padding-top:23px;border-top:1px solid rgba(7,17,22,.22)}.gj-concrete-feature .gj-chapter-head{border-color:rgba(255,255,255,.24)}.gj-chapter .section-label{display:block;margin-bottom:13px}.gj-concrete-feature .section-label{color:#7ee8f5}.gj-chapter h2{max-width:940px;margin:0;font-size:clamp(2.65rem,4.5vw,5.2rem);letter-spacing:-.06em;line-height:.91}.gj-concrete-feature h2{color:#fff}.gj-chapter-head>p{margin:0;color:#65757b;font-size:.94rem;line-height:1.75}.gj-concrete-feature .gj-chapter-head>p{color:rgba(255,255,255,.61)}.gj-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:10px}.gj-page .gallery-photo{position:relative;grid-column:span 5;height:390px;min-width:0;padding:0;border:0;background:#14272f;box-shadow:none;cursor:zoom-in;overflow:hidden;transition:transform .45s ease,box-shadow .45s ease}.gj-page .gallery-photo:nth-child(4n+1){grid-column:span 7}.gj-page .gallery-photo:nth-child(4n+2){grid-column:span 5}.gj-page .gallery-photo:nth-child(4n+3){grid-column:span 5}.gj-page .gallery-photo:nth-child(4n+4){grid-column:span 7}.gj-grid-five .gallery-photo:last-child{grid-column:1/-1;height:470px}.gj-grid-nine .gallery-photo:nth-child(n+5){grid-column:span 4;height:315px}.gj-grid-nine .gallery-photo:last-child{grid-column:span 4}.gj-grid-six .gallery-photo:nth-child(n+3){grid-column:span 3;height:300px}.gj-grid-six .gallery-photo:first-child,.gj-grid-six .gallery-photo:nth-child(2){height:430px}.gj-grid-three .gallery-photo{grid-column:span 4;height:430px}.gj-page .gallery-photo:before{content:"View";position:absolute;z-index:3;left:17px;bottom:17px;padding:9px 11px;border-left:3px solid var(--gj-warm);background:rgba(5,14,18,.78);color:#fff;font-size:.51rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:.35s;backdrop-filter:blur(7px)}.gj-page .gallery-photo:after{content:"+";position:absolute;z-index:3;right:17px;top:17px;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.4);background:rgba(5,14,18,.38);color:#fff;font-size:1.2rem;opacity:0;transform:scale(.75);transition:.35s}.gj-page .gallery-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03);transition:transform .75s ease,filter .5s}.gj-page .gallery-photo:hover{z-index:2;transform:translateY(-6px);box-shadow:0 28px 65px rgba(5,20,27,.22)}.gj-page .gallery-photo:hover img{transform:scale(1.045);filter:saturate(1.08)}.gj-page .gallery-photo:hover:before,.gj-page .gallery-photo:hover:after{opacity:1;transform:none}.gj-page .gallery-photo:focus-visible{outline:4px solid var(--gj-warm);outline-offset:4px}.gj-cta{position:relative;isolation:isolate;display:flex;align-items:center;min-height:500px;padding:80px 0;background:#071116;color:#fff;overflow:hidden}.gj-cta-bg{position:absolute;z-index:-2;inset:0;background:url('../images/gallery/Gallery Page Used/structural-removal-01.png') center/cover no-repeat}.gj-cta:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,14,18,.97),rgba(5,14,18,.72) 66%,rgba(5,14,18,.4))}.gj-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:60px;align-items:center}.gj-cta-inner>div>span{color:#ffe06a}.gj-cta h2{max-width:860px;margin:13px 0 0;color:#fff;font-size:clamp(2.4rem,3.6vw,4.35rem);letter-spacing:-.065em;line-height:.9}.gj-cta p{max-width:680px;color:rgba(255,255,255,.67);line-height:1.7}.gj-cta a{display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:245px;padding:20px;background:var(--gj-warm);color:#111;font-size:.64rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.35s}.gj-cta a:hover{background:var(--gj-blue);transform:translateY(-5px)}
body:has(.gj-page) .gj-lightbox{display:none;place-items:center;padding:70px 90px 50px;background:rgba(3,9,12,.96);backdrop-filter:blur(16px)}body:has(.gj-page) .gj-lightbox.is-open{display:grid}body:has(.gj-page) .gj-lightbox figure{display:grid;gap:0;max-width:min(88vw,1500px);margin:0;background:#0b1a20}body:has(.gj-page) .gj-lightbox img{max-width:100%;max-height:78vh;margin:auto;border-radius:0;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.58)}body:has(.gj-page) .gallery-lightbox-caption{padding:12px 16px;color:rgba(255,255,255,.7);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-align:center;text-transform:uppercase}.gj-lightbox .gallery-lightbox-meta{position:absolute;left:28px;top:23px;display:flex;gap:18px;align-items:center}.gj-lightbox .gallery-lightbox-meta span{color:#ffe16a;font-size:.58rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.gj-lightbox .gallery-lightbox-meta strong{display:block;padding-left:18px;border-left:1px solid rgba(255,255,255,.25);color:#fff;font-size:.58rem;letter-spacing:.12em}.gj-lightbox .gallery-lightbox-close,.gj-lightbox .gallery-lightbox-prev,.gj-lightbox .gallery-lightbox-next{border:1px solid rgba(255,255,255,.28);background:rgba(8,22,28,.8);color:#fff;backdrop-filter:blur(8px)}.gj-lightbox .gallery-lightbox-close:hover,.gj-lightbox .gallery-lightbox-prev:hover,.gj-lightbox .gallery-lightbox-next:hover{background:var(--gj-warm);color:#111}
@keyframes gjDrift{to{transform:scale(1.05)}}
@media(max-width:1050px){.gallery-journal-visual{left:34%;grid-template-columns:1fr}.gallery-journal-visual figure:not(.gallery-journal-visual-main){display:none}.gallery-journal-overlay{background:linear-gradient(90deg,#061015 0%,rgba(6,16,21,.94) 56%,rgba(6,16,21,.3))}.gallery-journal-hero-inner{grid-template-columns:1fr}.gallery-journal-hero-card{display:none}.gj-intro-grid,.gj-chapter-head,.gj-cta-inner{grid-template-columns:1fr}.gj-chapter-head{gap:25px}.gj-chapter-head>p{max-width:700px}.gj-cta a{width:max-content}.gj-grid-six .gallery-photo:nth-child(n){grid-column:span 6;height:350px}}
@media(max-width:760px){body:has(.gj-page) .container{width:calc(100% - 30px)}.gallery-journal-hero{min-height:820px;padding:105px 0 145px}.gallery-journal-visual{left:0}.gallery-journal-visual-main img{object-position:58% center}.gallery-journal-overlay{background:linear-gradient(90deg,rgba(5,14,18,.96),rgba(5,14,18,.67)),linear-gradient(0deg,rgba(5,14,18,.9),transparent 52%)}.gallery-journal-hero-copy{padding-left:16px}.gallery-journal-hero h1{font-size:clamp(3.25rem,15vw,4.9rem);line-height:.82}.gallery-journal-hero-copy>p{font-size:.93rem}.gallery-journal-actions{display:grid}.gallery-journal-actions a{width:100%}.gallery-journal-ribbon{grid-template-columns:repeat(3,1fr)}.gallery-journal-ribbon span{padding:10px 5px;font-size:.47rem}.gj-intro{padding:75px 0}.gj-intro-grid{gap:35px}.gj-intro h2{font-size:clamp(2.7rem,12vw,4rem)}.gj-intro-copy>div{grid-template-columns:auto 1fr}.gj-nav{top:64px}.gj-nav>.container{display:block;min-height:0;padding:9px 0}.gj-nav>.container>span{display:none}.gj-nav a{padding:9px 11px}.gj-chapter{padding:70px 0}.gj-chapter h2{font-size:clamp(2.4rem,11vw,3.6rem)}.gj-grid{grid-template-columns:1fr}.gj-page .gallery-photo,.gj-page .gallery-photo:nth-child(n),.gj-grid-nine .gallery-photo:nth-child(n),.gj-grid-six .gallery-photo:nth-child(n),.gj-grid-three .gallery-photo:nth-child(n){grid-column:1;height:290px}.gj-page .gallery-photo:before,.gj-page .gallery-photo:after{opacity:1;transform:none}.gj-page .gallery-photo:hover{transform:none}.gj-cta{min-height:570px}.gj-cta a{width:100%;min-width:0}body:has(.gj-page) .gj-lightbox{padding:65px 12px 45px}.gj-lightbox .gallery-lightbox-meta{left:14px;top:18px}.gj-lightbox .gallery-lightbox-prev{left:8px}.gj-lightbox .gallery-lightbox-next{right:8px}}
@media(max-width:420px){.gallery-journal-hero h1{font-size:clamp(3rem,14vw,4rem)}.gallery-journal-kicker{font-size:.52rem}.gj-chapter-head{margin-bottom:27px}.gj-page .gallery-photo,.gj-page .gallery-photo:nth-child(n){height:250px}.gj-lightbox .gallery-lightbox-count{display:none}}
@media(prefers-reduced-motion:reduce){.gallery-journal-visual img{animation:none}.gj-page .gallery-photo,.gj-page .gallery-photo img,.gallery-journal-actions a,.gj-cta a{transition:none}}

/* Gallery finishing refinements */
.gj-page p,.gallery-journal-hero p,.gj-chapter h2,.gj-cta h2{hyphens:none;word-break:normal;overflow-wrap:normal}.gj-cta-bg{background-image:url('../images/gallery/Gallery Page Used/site-clearing-01.jpg')}
.gallery-journal-hero .gallery-journal-hero-copy>p,.gj-page p{hyphens:none!important;-webkit-hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}

/* Gallery lightbox — seamless dark image viewer */
body:has(.gj-page) .gj-lightbox figure{position:relative;display:flex;align-items:center;justify-content:center;width:auto;max-width:min(88vw,1500px);max-height:78vh;margin:0;border:1px solid rgba(255,255,255,.13);background:#050c10;box-shadow:0 34px 100px rgba(0,0,0,.68);overflow:hidden}
body:has(.gj-page) .gj-lightbox img{display:block;width:auto;max-width:100%;height:auto;max-height:78vh;margin:0;background:#050c10;box-shadow:none}
body:has(.gj-page) .gj-lightbox .gallery-lightbox-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;margin:0;padding:38px 22px 16px;border:0;background:linear-gradient(0deg,rgba(3,9,12,.92),rgba(3,9,12,.66) 55%,transparent);color:rgba(255,255,255,.86);font-size:.61rem;line-height:1.45;text-align:left;text-shadow:0 1px 8px rgba(0,0,0,.75)}
body:has(.gj-page) .gj-lightbox:after{content:"Use arrow keys to explore";position:absolute;right:28px;bottom:22px;color:rgba(255,255,255,.42);font-size:.52rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
@media(max-width:760px){body:has(.gj-page) .gj-lightbox figure{max-width:calc(100vw - 24px);max-height:74vh}body:has(.gj-page) .gj-lightbox img{max-height:74vh}body:has(.gj-page) .gj-lightbox .gallery-lightbox-caption{padding:34px 15px 13px;font-size:.55rem}body:has(.gj-page) .gj-lightbox:after{display:none}}

/* Premium Contact Experience — Node 7 */
body:has(.ct7-page){--ct7-ink:#061116;--ct7-panel:#0a1b22;--ct7-paper:#f2efe6;--ct7-yellow:#ffd000;--ct7-blue:#22b8d6;background:var(--ct7-paper)}body:has(.ct7-page) .container{width:min(1420px,calc(100% - 56px));max-width:none}.ct7-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(760px,92vh,940px);padding:110px 0 140px;background:var(--ct7-ink);color:#fff;overflow:hidden}.ct7-hero-media{position:absolute;z-index:-4;inset:0 0 0 41%;background:url('../images/gallery/Gallery Page Used/machinery.jpeg') center/cover no-repeat;animation:ct7HeroDrift 18s ease-in-out infinite alternate}.ct7-hero-wash{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,#061116 0%,rgba(6,17,22,.99) 37%,rgba(6,17,22,.78) 55%,rgba(6,17,22,.18) 86%),linear-gradient(0deg,rgba(6,17,22,.82),transparent 52%)}.ct7-grid-lines{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.052) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.052) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,#000,transparent 76%)}.ct7-hero:after{content:"";position:absolute;z-index:-1;left:0;top:0;width:8px;height:100%;background:linear-gradient(180deg,var(--ct7-yellow),var(--ct7-blue),var(--ct7-yellow));background-size:100% 220%;animation:ct7ColorRail 6s linear infinite}.ct7-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(60px,8vw,130px);align-items:end}.ct7-hero-copy{max-width:920px}.ct7-eyebrow{display:flex;align-items:center;gap:13px;color:#ffe46c;font-size:.65rem;font-weight:950;letter-spacing:.19em;text-transform:uppercase}.ct7-eyebrow i{width:46px;height:2px;background:linear-gradient(90deg,var(--ct7-yellow),var(--ct7-blue))}.ct7-hero h1{margin:28px 0 0;color:#fff;font-size:clamp(4.2rem,7.2vw,8.5rem);font-weight:950;letter-spacing:-.075em;line-height:.81;text-transform:uppercase}.ct7-hero h1 em{display:block;color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.68)}.ct7-hero-copy>p{max-width:720px;margin:30px 0 0;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.2vw,1.16rem);line-height:1.75}.ct7-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}.ct7-hero-actions a{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:59px;padding:0 25px;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.62rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:.35s}.ct7-hero-actions a:first-child{border-color:var(--ct7-yellow);background:var(--ct7-yellow);color:#101316;box-shadow:0 18px 45px rgba(255,208,0,.2)}.ct7-hero-actions a:hover{border-color:var(--ct7-blue);background:var(--ct7-blue);color:#061116;transform:translateY(-5px)}.ct7-hero-actions span{font-size:1rem}.ct7-intake-card{position:relative;padding:30px;border-top:4px solid var(--ct7-blue);background:rgba(5,15,20,.83);box-shadow:0 30px 80px rgba(0,0,0,.38);backdrop-filter:blur(14px)}.ct7-intake-card:before{content:"";position:absolute;right:-1px;top:-4px;width:42%;height:4px;background:var(--ct7-yellow);animation:ct7CardPulse 3s ease-in-out infinite}.ct7-intake-card>span,.ct7-panel-label,.ct7-intro-grid>div:first-child>span,.ct7-form-head span,.ct7-next-head span,.ct7-footer-top>div>span{color:#78e7f4;font-size:.58rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.ct7-intake-card>strong{display:block;margin:14px 0 23px;color:#fff;font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.045em;line-height:1.08}.ct7-intake-card ol{margin:0;padding:0;list-style:none}.ct7-intake-card li{display:grid;grid-template-columns:38px 1fr;gap:13px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}.ct7-intake-card li>i{color:#ffe36b;font-size:.56rem;font-style:normal;font-weight:950}.ct7-intake-card li b,.ct7-intake-card li small{display:block}.ct7-intake-card li b{color:#fff;font-size:.78rem}.ct7-intake-card li small{margin-top:3px;color:rgba(255,255,255,.5);font-size:.65rem}.ct7-intake-card>p{display:flex;align-items:center;gap:9px;margin:20px 0 0;color:rgba(255,255,255,.62);font-size:.62rem}.ct7-intake-card>p span{width:8px;height:8px;border-radius:50%;background:#43e19b;box-shadow:0 0 0 6px rgba(67,225,155,.11);animation:ct7Status 2s ease-in-out infinite}.ct7-hero-rail{position:absolute;left:0;right:0;bottom:7px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(5,14,18,.91);backdrop-filter:blur(12px)}.ct7-hero-rail span{padding:20px 10px;border-right:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75);font-size:.57rem;font-weight:950;letter-spacing:.14em;text-align:center;text-transform:uppercase}.ct7-hero-rail span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;background:var(--ct7-yellow);transform:rotate(45deg)}.ct7-hero-rail span:nth-child(even):before{background:var(--ct7-blue)}
.ct7-page{background:var(--ct7-paper);color:var(--ct7-ink);overflow:clip}.ct7-intro{padding:clamp(90px,9vw,145px) 0;background:linear-gradient(135deg,#f6f3eb,#fff 54%,#edf8fa)}.ct7-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.68fr);gap:clamp(50px,9vw,140px);align-items:end}.ct7-intro-grid h2{max-width:850px;margin:17px 0 0;font-size:clamp(3.15rem,5.35vw,6.2rem);letter-spacing:-.068em;line-height:.87}.ct7-intro-grid h2 em{color:#168eaa;font-style:normal}.ct7-intro-copy>p{margin:0;padding-left:25px;border-left:2px solid #bdcfd2;color:#586a70;font-size:1rem;line-height:1.8}.ct7-intro-copy>div{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.ct7-intro-copy>div span{padding:10px 13px;border:1px solid #cad8da;background:rgba(255,255,255,.6);color:#475b62;font-size:.54rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.ct7-intake{padding:clamp(75px,8vw,125px) 0;background:#dfe7e8}.ct7-intake-grid{display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);box-shadow:0 40px 100px rgba(5,25,32,.17)}.ct7-contact-panel{position:relative;isolation:isolate;padding:clamp(38px,5vw,70px);background:var(--ct7-panel);color:#fff;overflow:hidden}.ct7-contact-panel:before{content:"";position:absolute;z-index:-2;inset:48% -20% -15% 10%;border-radius:50%;background:radial-gradient(circle,rgba(34,184,214,.24),transparent 66%);animation:ct7Ambient 8s ease-in-out infinite alternate}.ct7-contact-panel:after{content:"";position:absolute;z-index:-1;right:-55px;bottom:-55px;width:210px;height:210px;border:1px solid rgba(255,208,0,.24);border-radius:50%;box-shadow:0 0 0 32px rgba(255,208,0,.04),0 0 0 65px rgba(34,184,214,.035);animation:ct7Ring 20s linear infinite}.ct7-contact-panel h2{max-width:520px;margin:17px 0 0;color:#fff;font-size:clamp(2.6rem,4.1vw,4.8rem);letter-spacing:-.065em;line-height:.9}.ct7-contact-panel>p{max-width:520px;margin:25px 0 0;color:rgba(255,255,255,.62);line-height:1.75}.ct7-contact-list{margin-top:38px}.ct7-contact-list>a,.ct7-contact-list>div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:13px;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none}.ct7-contact-list i{color:#ffe36b;font-size:.54rem;font-style:normal;font-weight:950}.ct7-contact-list span,.ct7-contact-list strong{display:block}.ct7-contact-list span{color:rgba(255,255,255,.43);font-size:.55rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.ct7-contact-list strong{margin-top:5px;color:#fff;font-size:.78rem;letter-spacing:0;text-transform:none;overflow-wrap:anywhere}.ct7-contact-list b{font-size:1rem;transition:.3s}.ct7-contact-list>a:hover b{color:var(--ct7-yellow);transform:translate(4px,-4px)}.ct7-panel-note{display:flex;gap:13px;margin-top:34px;padding:18px;border-left:3px solid var(--ct7-yellow);background:rgba(255,255,255,.055)}.ct7-panel-note>span{flex:none;width:8px;height:8px;margin-top:7px;border-radius:50%;background:var(--ct7-blue)}.ct7-panel-note p{margin:0;color:rgba(255,255,255,.58);font-size:.72rem;line-height:1.65}.ct7-form{padding:clamp(38px,5vw,72px)!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:none!important}.ct7-form-head{display:flex;justify-content:space-between;gap:25px;align-items:start;margin-bottom:36px;padding-bottom:27px;border-bottom:1px solid #dce4e6}.ct7-form-head h2{margin:9px 0 0;color:var(--ct7-ink);font-size:clamp(2rem,3vw,3.35rem);letter-spacing:-.055em;line-height:.95}.ct7-form-head>i{color:#718087;font-size:.55rem;font-style:normal;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.ct7-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 19px}.ct7-form .form-row{margin:0!important}.ct7-form .form-row label{display:block;margin:0 0 9px;color:#293b42;font-size:.58rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.ct7-form input,.ct7-form select,.ct7-form textarea{width:100%;border:1px solid #cdd9dc!important;border-radius:0!important;background:#f7f9f8!important;color:#0b1b21!important;font:inherit;outline:none;transition:border-color .3s,box-shadow .3s,background .3s}.ct7-form input,.ct7-form select{height:58px;padding:0 17px!important}.ct7-form textarea{min-height:180px;padding:16px 17px!important;resize:vertical}.ct7-form input:focus,.ct7-form select:focus,.ct7-form textarea:focus{border-color:#1597b4!important;background:#fff!important;box-shadow:0 0 0 4px rgba(34,184,214,.12)!important}.ct7-form input::placeholder,.ct7-form textarea::placeholder{color:#87959a}.ct7-form-message{grid-column:1/-1}.ct7-form-message small{display:block;margin-top:8px;color:#738187;font-size:.62rem}.ct7-submit{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:64px;margin-top:25px!important;padding:0 23px!important;border:0!important;border-radius:0!important;background:var(--ct7-yellow)!important;color:#101316!important;font-size:.65rem!important;font-weight:950!important;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 18px 38px rgba(255,208,0,.2);transition:.35s!important}.ct7-submit b{font-size:1.1rem;transition:.35s}.ct7-submit:hover{background:var(--ct7-blue)!important;transform:translateY(-4px)!important}.ct7-submit:hover b{transform:translate(4px,-4px)}.ct7-form-privacy{display:flex;align-items:center;gap:9px;margin:17px 0 0;color:#738187;font-size:.63rem;line-height:1.5}.ct7-form-privacy i{display:grid;place-items:center;flex:none;width:19px;height:19px;border-radius:50%;background:#dff5ec;color:#16815c;font-style:normal;font-weight:950}
.ct7-next{padding:clamp(90px,9vw,145px) 0;background:var(--ct7-paper)}.ct7-next-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.45fr);gap:70px;align-items:end;padding-top:25px;border-top:1px solid rgba(6,17,22,.22)}.ct7-next-head h2{max-width:900px;margin:13px 0 0;font-size:clamp(3rem,4.9vw,5.7rem);letter-spacing:-.065em;line-height:.89}.ct7-next-head>p{margin:0;color:#65757b;line-height:1.75}.ct7-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:48px}.ct7-next-grid article{position:relative;min-height:330px;padding:35px;border-top:4px solid var(--ct7-yellow);background:#fff;box-shadow:0 18px 50px rgba(12,34,42,.07);overflow:hidden;transition:.4s}.ct7-next-grid article:nth-child(2){border-color:var(--ct7-blue)}.ct7-next-grid article:after{content:"";position:absolute;right:-45px;bottom:-45px;width:130px;height:130px;border:1px solid rgba(6,17,22,.08);border-radius:50%;transition:.5s}.ct7-next-grid article:hover{z-index:2;background:var(--ct7-panel);color:#fff;transform:translateY(-10px);box-shadow:0 30px 70px rgba(5,22,29,.2)}.ct7-next-grid article:hover:after{border-color:rgba(34,184,214,.35);transform:scale(1.35)}.ct7-next-grid article>i{display:block;color:#a3b0b4;font-size:.58rem;font-style:normal;font-weight:950;letter-spacing:.15em}.ct7-next-grid article>span{display:block;margin-top:55px;color:#a06d00;font-size:.56rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.ct7-next-grid article:nth-child(2)>span{color:#168da8}.ct7-next-grid h3{max-width:320px;margin:13px 0 0;font-size:clamp(1.7rem,2.4vw,2.55rem);letter-spacing:-.05em;line-height:1}.ct7-next-grid p{max-width:350px;margin:19px 0 0;color:#68787e;font-size:.83rem;line-height:1.7}.ct7-next-grid article:hover h3{color:#fff}.ct7-next-grid article:hover p{color:rgba(255,255,255,.6)}.ct7-footer{background:#061116!important}.ct7-footer-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:50px;align-items:center;margin-bottom:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(110deg,rgba(255,208,0,.09),rgba(34,184,214,.08))}.ct7-footer-top>div{padding:clamp(28px,4vw,50px)}.ct7-footer-top h2{margin:10px 0 0;color:#fff;font-size:clamp(2.4rem,4vw,4.8rem);letter-spacing:-.06em;line-height:.9}.ct7-footer-top>a{align-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:260px;padding:30px;border-left:1px solid rgba(255,255,255,.12);background:var(--ct7-yellow);color:#111;font-size:.62rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:.35s}.ct7-footer-top>a:hover{background:var(--ct7-blue)}.ct7-footer .modern-footer-grid{grid-template-columns:1.05fr .8fr 1.15fr;gap:12px}.ct7-footer .modern-footer-card{min-height:250px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}
@keyframes ct7HeroDrift{to{transform:scale(1.045)}}@keyframes ct7ColorRail{to{background-position:0 220%}}@keyframes ct7CardPulse{50%{width:72%}}@keyframes ct7Status{50%{box-shadow:0 0 0 10px rgba(67,225,155,0)}}@keyframes ct7Ambient{to{transform:translate(-8%,-10%) scale(1.15)}}@keyframes ct7Ring{to{transform:rotate(360deg)}}
@media(max-width:1050px){.ct7-hero-media{left:25%}.ct7-hero-wash{background:linear-gradient(90deg,#061116,rgba(6,17,22,.94) 65%,rgba(6,17,22,.4))}.ct7-hero-inner{grid-template-columns:1fr}.ct7-intake-card{display:none}.ct7-intro-grid,.ct7-intake-grid,.ct7-next-head{grid-template-columns:1fr}.ct7-intro-grid{gap:40px}.ct7-intake-grid{box-shadow:none}.ct7-next-head{gap:25px}.ct7-next-head>p{max-width:700px}.ct7-footer .modern-footer-grid{grid-template-columns:1fr 1fr}.ct7-footer .modern-footer-card:first-child{grid-column:1/-1}}
@media(max-width:760px){body:has(.ct7-page) .container{width:calc(100% - 30px)}.ct7-hero{min-height:830px;padding:105px 0 150px}.ct7-hero-media{left:0;background-position:56% center}.ct7-hero-wash{background:linear-gradient(90deg,rgba(5,14,18,.96),rgba(5,14,18,.7)),linear-gradient(0deg,rgba(5,14,18,.92),transparent 50%)}.ct7-hero h1{font-size:clamp(3.25rem,15vw,5rem);line-height:.82}.ct7-hero-copy>p{font-size:.93rem}.ct7-hero-actions{display:grid}.ct7-hero-actions a{width:100%}.ct7-hero-rail{grid-template-columns:repeat(2,1fr)}.ct7-hero-rail span{padding:10px 5px;font-size:.48rem}.ct7-intro{padding:75px 0}.ct7-intro-grid h2{font-size:clamp(2.7rem,12vw,4.15rem)}.ct7-intake{padding:0}.ct7-contact-panel,.ct7-form{padding:45px 22px!important}.ct7-form-head{display:block}.ct7-form-head>i{display:block;margin-top:12px}.ct7-form-grid{grid-template-columns:1fr}.ct7-form-message{grid-column:auto}.ct7-next{padding:78px 0}.ct7-next-head h2{font-size:clamp(2.7rem,12vw,4rem)}.ct7-next-grid{grid-template-columns:1fr}.ct7-next-grid article{min-height:275px}.ct7-next-grid article>span{margin-top:35px}.ct7-footer-top{grid-template-columns:1fr}.ct7-footer-top>a{min-width:0;border-top:1px solid rgba(255,255,255,.12);border-left:0}.ct7-footer .modern-footer-grid{grid-template-columns:1fr}.ct7-footer .modern-footer-card:first-child{grid-column:auto}}
@media(max-width:420px){.ct7-hero h1{font-size:clamp(3rem,14vw,4rem)}.ct7-eyebrow{font-size:.52rem}.ct7-contact-list>a,.ct7-contact-list>div{grid-template-columns:27px minmax(0,1fr) auto}.ct7-contact-panel h2{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){.ct7-hero-media,.ct7-hero:after,.ct7-intake-card:before,.ct7-intake-card>p span,.ct7-contact-panel:before,.ct7-contact-panel:after{animation:none}.ct7-hero-actions a,.ct7-next-grid article,.ct7-submit{transition:none!important}}
.ct7-form{display:block!important}
@media(min-width:1051px){.ct7-contact-list>a strong{font-size:.68rem}}
/* ===== END NODE 6 PREMIUM FIELD GALLERY ===== */

/* Structural Steel — Node 13 */
body:has(.ss13-page){--ss-ink:#071216;--ss-panel:#0c2027;--ss-paper:#f2efe7;--ss-yellow:#ffd000;--ss-cyan:#25b9d6;background:var(--ss-paper)}body:has(.ss13-page) .container{width:min(1420px,calc(100% - 56px));max-width:none}.ss13-page{background:var(--ss-paper);color:var(--ss-ink);overflow:clip}.ss13-page p,.ss13-page h1,.ss13-page h2,.ss13-page h3{hyphens:none;word-break:normal;overflow-wrap:normal}.ss13-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(780px,94vh,960px);padding:110px 0 145px;background:var(--ss-ink);color:#fff;overflow:hidden}.ss13-hero-photo{position:absolute;z-index:-4;inset:0 0 0 42%;background:url('../images/services/Steel/Steel%20structure.jpg?v=20260829-2') 48% center/cover no-repeat;animation:ss13Drift 18s ease-in-out infinite alternate}.ss13-hero-shade{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,#061116 0%,rgba(6,17,22,.99) 37%,rgba(6,17,22,.78) 56%,rgba(6,17,22,.1) 88%),linear-gradient(0deg,rgba(6,17,22,.86),transparent 55%)}.ss13-grid{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,#000,transparent 77%)}.ss13-hero:before{content:"";position:absolute;z-index:-1;left:0;top:0;width:8px;height:100%;background:linear-gradient(180deg,var(--ss-yellow),var(--ss-cyan),var(--ss-yellow));background-size:100% 220%;animation:ss13Rail 6s linear infinite}.ss13-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(60px,8vw,125px);align-items:end}.ss13-hero-copy{max-width:930px}.ss13-kicker{display:flex;align-items:center;gap:13px;color:#ffe36c;font-size:.65rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}.ss13-kicker i{width:46px;height:2px;background:linear-gradient(90deg,var(--ss-yellow),var(--ss-cyan))}.ss13-hero h1{margin:28px 0 0;color:#fff;font-size:clamp(4.2rem,7.25vw,8.45rem);font-weight:950;letter-spacing:-.075em;line-height:.79;text-transform:uppercase}.ss13-hero h1 em{color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.68)}.ss13-hero-copy>p{max-width:760px;margin:31px 0 0;color:rgba(255,255,255,.72);font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.75}.ss13-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px}.ss13-actions a{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:59px;padding:0 25px;border:1px solid rgba(255,255,255,.35);color:#fff;font-size:.62rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:.35s}.ss13-actions a:first-child{border-color:var(--ss-yellow);background:var(--ss-yellow);color:#101316;box-shadow:0 18px 45px rgba(255,208,0,.2)}.ss13-actions a:hover{border-color:var(--ss-cyan);background:var(--ss-cyan);color:#061116;transform:translateY(-5px)}.ss13-actions a span{font-size:1rem}.ss13-hero-card{position:relative;padding:30px;border-top:4px solid var(--ss-cyan);background:rgba(5,15,20,.84);box-shadow:0 30px 80px rgba(0,0,0,.4);backdrop-filter:blur(14px)}.ss13-hero-card:before{content:"";position:absolute;right:-1px;top:-4px;width:43%;height:4px;background:var(--ss-yellow);animation:ss13Pulse 3.5s ease-in-out infinite}.ss13-hero-card>span,.ss13-label,.ss13-cta-inner>div>span{color:#78e5f2;font-size:.58rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.ss13-hero-card>strong{display:block;margin:14px 0 22px;color:#fff;font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.045em;line-height:1.08}.ss13-hero-card ul{margin:0;padding:0;list-style:none}.ss13-hero-card li{padding:12px 0;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.78);font-size:.68rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.ss13-hero-card li:before{content:"";display:inline-block;width:7px;height:7px;margin-right:11px;background:var(--ss-yellow);transform:rotate(45deg)}.ss13-hero-card>p{display:flex;align-items:center;gap:9px;margin:20px 0 0;color:rgba(255,255,255,.52);font-size:.55rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ss13-hero-card>p i{width:8px;height:8px;border-radius:50%;background:#45dfa0;box-shadow:0 0 0 6px rgba(69,223,160,.1);animation:ss13Status 2s ease-in-out infinite}.ss13-hero-rail{position:absolute;left:0;right:0;bottom:7px;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(5,14,18,.92);backdrop-filter:blur(12px)}.ss13-hero-rail span{padding:20px 10px;border-right:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.74);font-size:.57rem;font-weight:950;letter-spacing:.14em;text-align:center;text-transform:uppercase}.ss13-hero-rail span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;background:var(--ss-yellow);transform:rotate(45deg)}.ss13-hero-rail span:nth-child(even):before{background:var(--ss-cyan)}
.ss13-overview{padding:clamp(90px,9vw,145px) 0;background:linear-gradient(135deg,#f6f3eb,#fff 54%,#edf8fa)}.ss13-overview-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.67fr);gap:clamp(55px,9vw,145px);align-items:end}.ss13-overview h2{max-width:880px;margin:17px 0 0;font-size:clamp(3.2rem,5.45vw,6.3rem);letter-spacing:-.07em;line-height:.86}.ss13-overview h2 em{color:#168fa9;font-style:normal}.ss13-overview-copy{padding-left:27px;border-left:2px solid #bdcfd2}.ss13-overview-copy p{margin:0;color:#586a70;font-size:.98rem;line-height:1.82}.ss13-overview-copy p+p{margin-top:20px}.ss13-services{padding:clamp(75px,8vw,125px) 0;background:#dfe7e8}.ss13-service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}.ss13-service{position:relative;grid-column:span 6;min-height:470px;background:#fff;box-shadow:0 20px 55px rgba(9,31,39,.09);overflow:hidden}.ss13-service-feature{grid-column:1/-1;min-height:620px}.ss13-service img{width:100%;height:260px;object-fit:cover;filter:saturate(.86) contrast(1.05);transition:transform .8s ease,filter .5s}.ss13-service-feature img{height:620px}.ss13-service>div{position:relative;padding:29px 31px}.ss13-service-feature>div{position:absolute;left:0;bottom:0;width:min(650px,75%);padding:39px;background:rgba(5,17,22,.92);color:#fff;backdrop-filter:blur(12px)}.ss13-service span{color:#9c6a00;font-size:.57rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.ss13-service-feature span{color:#ffe36c}.ss13-service h3{margin:12px 0 0;font-size:clamp(1.7rem,2.7vw,3.05rem);letter-spacing:-.055em;line-height:.95}.ss13-service-feature h3{color:#fff}.ss13-service p{margin:17px 0 0;color:#65757b;font-size:.82rem;line-height:1.72}.ss13-service-feature p{color:rgba(255,255,255,.65)}.ss13-service:hover img{transform:scale(1.045);filter:saturate(1.04)}.ss13-service:after{content:"";position:absolute;right:0;top:0;width:0;height:4px;background:linear-gradient(90deg,var(--ss-yellow),var(--ss-cyan));transition:.55s}.ss13-service:hover:after{width:100%}
.ss13-process{padding:clamp(90px,9vw,145px) 0;background:var(--ss-paper)}.ss13-process-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:65px;align-items:end;padding-top:25px;border-top:1px solid rgba(7,18,22,.22)}.ss13-process-head h2{max-width:920px;margin:13px 0 0;font-size:clamp(3rem,5vw,5.8rem);letter-spacing:-.067em;line-height:.88}.ss13-process-head>p{margin:0;color:#68787d;line-height:1.75}.ss13-process-track{position:relative;height:3px;margin:49px 0 28px;background:rgba(7,18,22,.12);overflow:hidden}.ss13-process-track i{position:absolute;inset:0 auto 0 0;width:35%;background:linear-gradient(90deg,var(--ss-yellow),var(--ss-cyan));animation:ss13Process 5s ease-in-out infinite alternate}.ss13-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ss13-process-grid article{background:#fff;box-shadow:0 17px 50px rgba(10,31,38,.07);transition:.4s;overflow:hidden}.ss13-process-grid figure{height:260px;margin:0;overflow:hidden}.ss13-process-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.84);transition:.7s}.ss13-process-grid article>span,.ss13-process-grid h3,.ss13-process-grid article>p{display:block;margin-left:27px;margin-right:27px}.ss13-process-grid article>span{margin-top:28px;color:#158da8;font-size:.56rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.ss13-process-grid h3{margin-top:12px;font-size:clamp(1.55rem,2vw,2.2rem);letter-spacing:-.05em;line-height:1}.ss13-process-grid article>p{margin-top:17px;margin-bottom:31px;color:#69787d;font-size:.78rem;line-height:1.68}.ss13-process-grid article:hover{background:var(--ss-panel);color:#fff;transform:translateY(-9px);box-shadow:0 28px 70px rgba(6,25,32,.2)}.ss13-process-grid article:hover img{transform:scale(1.06);filter:saturate(1)}.ss13-process-grid article:hover h3{color:#fff}.ss13-process-grid article:hover p{color:rgba(255,255,255,.61)}
.ss13-capabilities{position:relative;isolation:isolate;padding:clamp(95px,10vw,155px) 0;background:#07161c;color:#fff;overflow:hidden}.ss13-cap-bg{position:absolute;z-index:-2;inset:0;background:url('../images/services/Steel/structural%20steel%209.jpg') center/cover no-repeat;opacity:.2;filter:grayscale(.5)}.ss13-capabilities:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,15,20,.99),rgba(5,15,20,.91))}.ss13-cap-layout{display:grid;grid-template-columns:minmax(310px,.6fr) minmax(0,1.4fr);gap:clamp(55px,8vw,120px)}.ss13-cap-layout header{position:sticky;top:125px;align-self:start}.ss13-cap-layout h2{margin:16px 0 0;color:#fff;font-size:clamp(3rem,4.8vw,5.55rem);letter-spacing:-.068em;line-height:.88}.ss13-cap-layout header p{max-width:530px;color:rgba(255,255,255,.58);line-height:1.75}.ss13-cap-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ss13-cap-grid article{position:relative;min-height:245px;padding:29px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);backdrop-filter:blur(10px);overflow:hidden;transition:.4s}.ss13-cap-grid article:after{content:"";position:absolute;right:-36px;bottom:-36px;width:100px;height:100px;border:1px solid rgba(37,185,214,.2);border-radius:50%;transition:.45s}.ss13-cap-grid i{color:#ffe36c;font-size:.54rem;font-style:normal;font-weight:950}.ss13-cap-grid h3{margin:45px 0 0;color:#fff;font-size:clamp(1.35rem,2vw,2.1rem);letter-spacing:-.045em;line-height:1}.ss13-cap-grid p{margin:15px 0 0;color:rgba(255,255,255,.56);font-size:.76rem;line-height:1.65}.ss13-cap-grid article:hover{border-color:var(--ss-cyan);background:rgba(37,185,214,.1);transform:translateY(-6px)}.ss13-cap-grid article:hover:after{transform:scale(1.45)}
.ss13-cta{position:relative;isolation:isolate;display:flex;align-items:center;min-height:650px;padding:90px 0;background:#071216;color:#fff;overflow:hidden}.ss13-cta-image{position:absolute;z-index:-2;inset:0;background:url('../images/services/Steel/Unloading%20Steel%201.jpg') center/cover no-repeat;animation:ss13Drift 18s ease-in-out infinite alternate}.ss13-cta:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,15,20,.98),rgba(5,15,20,.84) 65%,rgba(5,15,20,.42))}.ss13-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:center}.ss13-cta h2{max-width:900px;margin:14px 0 0;color:#fff;font-size:clamp(3.3rem,6vw,7rem);letter-spacing:-.073em;line-height:.82}.ss13-cta h2 em{color:var(--ss-yellow);font-style:normal}.ss13-cta p{max-width:720px;color:rgba(255,255,255,.66);line-height:1.75}.ss13-cta small{display:block;margin-top:25px;color:#77e4f1;font-size:.56rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.ss13-cta-inner>a{display:flex;align-items:center;justify-content:space-between;gap:35px;min-width:255px;padding:22px;background:var(--ss-yellow);color:#111;font-size:.62rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;box-shadow:0 20px 50px rgba(255,208,0,.2);transition:.35s}.ss13-cta-inner>a:hover{background:var(--ss-cyan);transform:translateY(-6px)}
@keyframes ss13Drift{to{transform:scale(1.045)}}@keyframes ss13Rail{to{background-position:0 220%}}@keyframes ss13Pulse{50%{width:72%}}@keyframes ss13Status{50%{box-shadow:0 0 0 10px rgba(69,223,160,0)}}@keyframes ss13Process{to{width:100%}}
@media(max-width:1100px){.ss13-hero-photo{left:28%}.ss13-hero-shade{background:linear-gradient(90deg,#061116,rgba(6,17,22,.93) 67%,rgba(6,17,22,.3))}.ss13-hero-inner{grid-template-columns:1fr}.ss13-hero-card{display:none}.ss13-overview-grid,.ss13-process-head,.ss13-cap-layout,.ss13-cta-inner{grid-template-columns:1fr}.ss13-overview-grid{gap:42px}.ss13-process-head{gap:25px}.ss13-process-head>p{max-width:700px}.ss13-process-grid{grid-template-columns:1fr 1fr}.ss13-cap-layout header{position:static}.ss13-cta-inner>a{width:max-content}}
@media(max-width:760px){body:has(.ss13-page) .container{width:calc(100% - 30px)}.ss13-hero{min-height:850px;padding:105px 0 155px}.ss13-hero-photo{left:0;background-position:56% center}.ss13-hero-shade{background:linear-gradient(90deg,rgba(5,14,18,.96),rgba(5,14,18,.69)),linear-gradient(0deg,rgba(5,14,18,.92),transparent 50%)}.ss13-hero h1{font-size:clamp(3.35rem,15.3vw,5.1rem);line-height:.8}.ss13-hero-copy>p{font-size:.92rem}.ss13-actions{display:grid}.ss13-actions a{width:100%}.ss13-hero-rail{grid-template-columns:repeat(2,1fr)}.ss13-hero-rail span{padding:10px 4px;font-size:.47rem}.ss13-overview{padding:75px 0}.ss13-overview h2{font-size:clamp(2.75rem,12vw,4.2rem)}.ss13-overview-copy{padding-left:18px}.ss13-services{padding:60px 0}.ss13-service,.ss13-service-feature{grid-column:1/-1;min-height:0}.ss13-service-feature img,.ss13-service img{height:310px}.ss13-service-feature>div{position:relative;width:100%;padding:29px;background:var(--ss-panel)}.ss13-process{padding:75px 0}.ss13-process-head h2{font-size:clamp(2.75rem,12vw,4rem)}.ss13-process-grid{grid-template-columns:1fr}.ss13-process-grid figure{height:280px}.ss13-capabilities{padding:80px 0}.ss13-cap-layout h2{font-size:clamp(2.8rem,12vw,4.2rem)}.ss13-cap-grid{grid-template-columns:1fr}.ss13-cap-grid article{min-height:220px}.ss13-cta{min-height:700px}.ss13-cta h2{font-size:clamp(3.1rem,14vw,4.8rem)}.ss13-cta-inner>a{width:100%;min-width:0}}
@media(max-width:420px){.ss13-hero h1{font-size:clamp(3.05rem,14.5vw,4.15rem)}.ss13-kicker{font-size:.52rem}.ss13-service img,.ss13-service-feature img{height:260px}.ss13-cta small{line-height:1.7}}
@media(prefers-reduced-motion:reduce){.ss13-hero-photo,.ss13-hero:before,.ss13-hero-card:before,.ss13-hero-card>p i,.ss13-process-track i,.ss13-cta-image{animation:none}.ss13-actions a,.ss13-service img,.ss13-process-grid article,.ss13-cap-grid article,.ss13-cta-inner>a{transition:none}}
.ss13-hero-copy{min-width:0;width:100%}
@media(max-width:760px){.ss13-hero h1{font-size:clamp(2.55rem,10.8vw,3.6rem);line-height:.82}}
@media(max-width:420px){.ss13-hero h1{font-size:clamp(2.45rem,10.6vw,3.25rem)}}

/* Structural steel refinement: restrained hero, connection cards, dedicated footer */
.ss13-hero{min-height:clamp(690px,82vh,820px);padding-top:105px}
.ss13-hero-inner{align-items:center}
.ss13-hero-copy{max-width:780px}
.ss13-hero h1{max-width:730px;margin-top:23px;font-size:clamp(3.25rem,5.35vw,6.25rem);line-height:.86;letter-spacing:-.065em}
.ss13-hero-copy>p{max-width:680px;margin-top:25px;font-size:clamp(.94rem,1.05vw,1.08rem);line-height:1.68}
.ss13-actions{margin-top:28px}
.ss13-actions a:first-child{border-color:rgba(255,255,255,.35);background:transparent;color:#fff;box-shadow:none}
.ss13-actions a:first-child:hover{border-color:var(--ss-cyan);background:var(--ss-cyan);color:#061116}
.ss13-cap-grid article{min-height:220px;padding:29px 29px 32px;border-top-color:rgba(37,185,214,.5)}
.ss13-cap-grid article:before{content:"";display:block;width:34px;height:3px;margin-bottom:30px;background:linear-gradient(90deg,var(--ss-cyan),var(--ss-yellow));transform-origin:left;transition:transform .4s ease}
.ss13-cap-grid article:hover:before{transform:scaleX(2)}
.ss13-cap-grid article>span{display:block;color:#80ddeb;font-size:.51rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.ss13-cap-grid h3{margin:15px 0 0}
.ss13-cap-layout h2 em{color:var(--ss-yellow);font-style:normal}

.ss13-footer{position:relative;isolation:isolate;padding:0 0 30px;background:#030b0e;color:#fff;overflow:hidden}
.ss13-footer:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 82% 18%,rgba(37,185,214,.13),transparent 31%),linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%);background-size:auto,90px 90px}
.ss13-footer-beam{position:relative;display:grid;grid-template-columns:repeat(4,1fr);height:19px;border-top:4px solid var(--ss-yellow);border-bottom:1px solid rgba(255,255,255,.16);background:#0d2027;overflow:hidden}
.ss13-footer-beam:after{content:"";position:absolute;top:-4px;left:-20%;width:20%;height:4px;background:var(--ss-cyan);box-shadow:0 0 18px rgba(37,185,214,.7);animation:ss13FooterScan 6s ease-in-out infinite}
.ss13-footer-beam i{border-right:1px solid rgba(255,255,255,.18);transform:skewX(-32deg)}
.ss13-footer-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:clamp(60px,10vw,150px);align-items:end;padding-top:clamp(75px,8vw,120px);padding-bottom:clamp(65px,7vw,100px)}
.ss13-footer-brand>span,.ss13-footer-contact>span{color:#69d4e7;font-size:.55rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.ss13-footer-brand h2{margin:15px 0 20px;color:#fff;font-size:clamp(3rem,5.4vw,6.5rem);letter-spacing:-.07em;line-height:.82}
.ss13-footer-brand h2 em{color:transparent;font-style:normal;-webkit-text-stroke:1px rgba(255,255,255,.55)}
.ss13-footer-brand p{max-width:570px;margin:0;color:rgba(255,255,255,.55);font-size:.9rem;line-height:1.7}
.ss13-footer-contact{position:relative;padding:30px 0 6px 32px;border-left:1px solid rgba(255,255,255,.18)}
.ss13-footer-contact:before{content:"";position:absolute;top:0;left:-2px;width:3px;height:42px;background:var(--ss-yellow)}
.ss13-footer-contact a{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-size:clamp(.82rem,1.1vw,1rem);font-weight:800;text-decoration:none;overflow-wrap:anywhere;transition:.3s}
.ss13-footer-contact a:hover{color:var(--ss-yellow);padding-left:8px}
.ss13-footer-contact a i{color:var(--ss-yellow);font-size:1.25rem;font-style:normal}
.ss13-footer-contact p{margin:18px 0 0;color:rgba(255,255,255,.44);font-size:.53rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.ss13-footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;padding-top:25px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.46);font-size:.55rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.ss13-footer-bottom nav{display:flex;gap:28px}.ss13-footer-bottom a{color:rgba(255,255,255,.7);text-decoration:none;transition:.25s}.ss13-footer-bottom a:hover{color:var(--ss-yellow)}.ss13-footer-bottom>span:last-child{text-align:right}
@keyframes ss13FooterScan{0%,10%{left:-20%}50%,60%{left:100%}100%{left:100%}}

@media(max-width:1100px){.ss13-hero{min-height:760px}.ss13-footer-main{grid-template-columns:1fr}.ss13-footer-contact{max-width:650px}}
@media(max-width:760px){.ss13-hero{min-height:780px;padding-top:100px}.ss13-hero h1{font-size:clamp(2.45rem,10.4vw,3.55rem);line-height:.86}.ss13-hero-copy>p{font-size:.88rem}.ss13-cap-grid article{min-height:0}.ss13-footer-main{gap:52px;padding-top:70px}.ss13-footer-brand h2{font-size:clamp(2.8rem,12.8vw,4.4rem)}.ss13-footer-contact{padding-left:22px}.ss13-footer-bottom{grid-template-columns:1fr;gap:18px}.ss13-footer-bottom nav{order:-1;justify-content:space-between}.ss13-footer-bottom>span:last-child{text-align:left}}
@media(max-width:420px){.ss13-hero h1{font-size:clamp(2.3rem,10.1vw,3rem)}.ss13-footer-contact a{font-size:.75rem}.ss13-footer-bottom nav{gap:18px}}
@media(prefers-reduced-motion:reduce){.ss13-footer-beam:after{animation:none}}

/* Node 13 final refinement: denser page rhythm and an exposed-steel closing yard */
.ss13-overview{position:relative;overflow:hidden}
.ss13-overview:before{content:"";position:absolute;top:0;right:7%;width:clamp(170px,22vw,390px);height:10px;background:linear-gradient(90deg,var(--ss-yellow) 0 54%,var(--ss-cyan) 54%)}
.ss13-overview-grid{position:relative;padding:clamp(30px,4vw,58px);border:1px solid rgba(8,31,39,.13);background:rgba(255,255,255,.7);box-shadow:0 30px 80px rgba(8,31,39,.07)}
.ss13-overview-grid:before,.ss13-overview-grid:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#87999d;box-shadow:inset 0 0 0 3px #cbd4d4}
.ss13-overview-grid:before{top:18px;left:18px}.ss13-overview-grid:after{right:18px;bottom:18px}
.ss13-services{position:relative;background:linear-gradient(135deg,#d9e3e4,#eef2ef 48%,#d6e4e7)}
.ss13-services:before{content:"STEEL / FIELD / COORDINATION";position:absolute;top:28px;right:4%;color:rgba(7,18,22,.1);font-size:clamp(1rem,2.1vw,2rem);font-weight:950;letter-spacing:.2em}
.ss13-service-grid{gap:14px}.ss13-service{border:1px solid rgba(8,31,39,.1);box-shadow:0 22px 55px rgba(9,31,39,.12)}
.ss13-process{padding-top:clamp(75px,7.5vw,115px);padding-bottom:clamp(75px,7.5vw,115px)}
.ss13-process-grid{gap:14px}.ss13-process-grid article{border-bottom:4px solid transparent}.ss13-process-grid article:nth-child(odd){border-bottom-color:var(--ss-yellow)}.ss13-process-grid article:nth-child(even){border-bottom-color:var(--ss-cyan)}
.ss13-capabilities{padding-top:clamp(80px,8vw,125px);padding-bottom:clamp(80px,8vw,125px)}
.ss13-cta{min-height:560px}.ss13-cta h2{font-size:clamp(3.2rem,5.3vw,6.2rem)}

.ss13-yard-footer{--yard:#02090c;position:relative;isolation:isolate;padding:0 0 32px;background:var(--yard);color:#fff;overflow:hidden}
.ss13-yard-sky{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(2,9,12,.98) 0 50%,rgba(2,9,12,.55)),url('../images/services/Steel/Steel%20structure.jpg?v=20260829-2') 79% 42%/cover no-repeat;filter:saturate(.65)}
.ss13-yard-footer:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.35))}
.ss13-yard-truss{position:relative;display:grid;grid-template-columns:repeat(5,1fr);height:34px;border-top:5px solid var(--ss-yellow);border-bottom:2px solid rgba(255,255,255,.25);background:#0b1b20;overflow:hidden}
.ss13-yard-truss:before{content:"";position:absolute;top:-5px;left:-24%;width:24%;height:5px;background:var(--ss-cyan);box-shadow:0 0 24px var(--ss-cyan);animation:ss13YardScan 6s ease-in-out infinite}
.ss13-yard-truss i{position:relative;border-right:2px solid rgba(255,255,255,.18);transform:skewX(-34deg)}
.ss13-yard-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(430px,.85fr);gap:clamp(55px,9vw,140px);align-items:center;min-height:650px;padding-top:clamp(80px,9vw,135px);padding-bottom:clamp(80px,9vw,135px)}
.ss13-yard-kicker{display:flex;align-items:center;gap:14px;color:#70deed;font-size:.56rem;font-weight:950;letter-spacing:.19em;text-transform:uppercase}.ss13-yard-kicker:before{content:"";width:54px;height:3px;background:linear-gradient(90deg,var(--ss-yellow),var(--ss-cyan))}
.ss13-yard-statement h2{margin:20px 0 0;color:#fff;font-size:clamp(4rem,6.8vw,8rem);letter-spacing:-.075em;line-height:.78}.ss13-yard-statement h2 em{color:var(--ss-yellow);font-style:normal;text-shadow:0 0 40px rgba(255,208,0,.12)}
.ss13-yard-statement>p{max-width:680px;margin:29px 0 0;color:rgba(255,255,255,.66);font-size:clamp(.92rem,1.15vw,1.08rem);line-height:1.72}
.ss13-yard-signal{display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:center;max-width:410px;margin-top:34px;padding:18px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.ss13-yard-signal i{grid-row:1/3;width:11px;height:11px;border-radius:50%;background:#41db9a;box-shadow:0 0 0 8px rgba(65,219,154,.1);animation:ss13Status 2s ease-in-out infinite}.ss13-yard-signal span{color:#ffe36c;font-size:.52rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.ss13-yard-signal strong{margin-top:4px;color:rgba(255,255,255,.7);font-size:.75rem}
.ss13-yard-board{position:relative;border:1px solid rgba(255,255,255,.22);border-top:5px solid var(--ss-cyan);background:rgba(4,17,22,.85);box-shadow:0 35px 90px rgba(0,0,0,.44);backdrop-filter:blur(15px)}
.ss13-yard-board:before,.ss13-yard-board:after{content:"";position:absolute;top:16px;width:8px;height:8px;border-radius:50%;background:#7d8b8f;box-shadow:inset 0 0 0 2px #cbd1d2}.ss13-yard-board:before{left:16px}.ss13-yard-board:after{right:16px}
.ss13-yard-board-head{display:flex;justify-content:space-between;gap:20px;padding:30px 32px 22px;border-bottom:1px solid rgba(255,255,255,.15);color:#fff;font-size:.6rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.ss13-yard-board-head i{color:#ffe36c;font-style:normal}
.ss13-yard-email{position:relative;display:block;padding:31px 62px 31px 32px;color:#fff;text-decoration:none;transition:.3s}.ss13-yard-email:hover{background:rgba(37,185,214,.09)}.ss13-yard-email small{display:block;color:rgba(255,255,255,.43);font-size:.51rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.ss13-yard-email strong{display:block;margin-top:11px;font-size:clamp(.78rem,1.15vw,1.02rem);overflow-wrap:anywhere}.ss13-yard-email>i{position:absolute;right:30px;top:50%;color:var(--ss-yellow);font-size:1.3rem;font-style:normal}
.ss13-yard-scopes{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.15)}.ss13-yard-scopes span{padding:19px 25px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.62);font-size:.54rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.ss13-yard-scopes span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;background:var(--ss-cyan);transform:rotate(45deg)}.ss13-yard-scopes span:nth-child(3n+1):before{background:var(--ss-yellow)}
.ss13-yard-status{display:flex;align-items:center;gap:13px;padding:22px 32px;color:rgba(255,255,255,.48);font-size:.52rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.ss13-yard-status i{flex:none;width:8px;height:8px;border-radius:50%;background:#41db9a;box-shadow:0 0 0 7px rgba(65,219,154,.1);animation:ss13Status 2s ease-in-out infinite}
.ss13-yard-base{display:grid;grid-template-columns:1fr auto 1fr;gap:35px;align-items:center;padding-top:25px;border-top:1px solid rgba(255,255,255,.16)}
.ss13-yard-brand{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.ss13-yard-brand b{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.22);background:var(--ss-yellow);color:#071216;font-size:.7rem}.ss13-yard-brand span{font-size:.68rem;font-weight:950;line-height:1.02;text-transform:uppercase;white-space:nowrap}
.ss13-yard-base nav{display:flex;gap:30px}.ss13-yard-base nav a{color:rgba(255,255,255,.68);font-size:.55rem;font-weight:900;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:.25s}.ss13-yard-base nav a:hover{color:var(--ss-yellow)}.ss13-yard-base p{margin:0;color:rgba(255,255,255,.4);font-size:.52rem;font-weight:850;letter-spacing:.1em;text-align:right;text-transform:uppercase}
@keyframes ss13YardScan{0%,10%{left:-24%}55%,65%{left:100%}100%{left:100%}}
@media(max-width:1100px){.ss13-yard-grid{grid-template-columns:1fr;min-height:0}.ss13-yard-board{max-width:720px}.ss13-yard-sky{background-position:65% center}.ss13-yard-footer:before{content:"";position:absolute;z-index:-2;inset:0;background:rgba(2,9,12,.4)}}
@media(max-width:760px){.ss13-overview-grid{padding:42px 24px}.ss13-services:before{top:20px;right:15px;font-size:.65rem}.ss13-cta{min-height:620px}.ss13-yard-grid{gap:55px;padding-top:75px;padding-bottom:70px}.ss13-yard-statement h2{font-size:clamp(3.3rem,15vw,5rem)}.ss13-yard-board-head{padding:28px 23px 20px}.ss13-yard-email{padding:28px 52px 28px 23px}.ss13-yard-scopes{grid-template-columns:1fr}.ss13-yard-status{padding:22px 23px;line-height:1.5}.ss13-yard-base{grid-template-columns:1fr;gap:24px}.ss13-yard-base nav{order:-1;justify-content:space-between;gap:15px}.ss13-yard-base p{text-align:left}}
@media(max-width:420px){.ss13-yard-statement h2{font-size:clamp(3rem,14vw,4rem)}.ss13-yard-email strong{font-size:.72rem}.ss13-yard-board-head{display:grid}.ss13-yard-base nav a{font-size:.48rem}}
@media(prefers-reduced-motion:reduce){.ss13-yard-truss:before,.ss13-yard-status i,.ss13-yard-signal i{animation:none}}
.ss13-cta-image{background-image:url('../images/services/Steel/Steel%20Erection%20-%20Active%20Site.jpg');background-position:center 58%}

/* Full-height field erection feature for portrait lift photography */
.ss13-lift-feature{position:relative;isolation:isolate;padding:clamp(90px,9vw,145px) 0;background:#08161b;color:#fff;overflow:hidden}
.ss13-lift-feature:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),radial-gradient(circle at 84% 18%,rgba(37,185,214,.15),transparent 32%);background-size:76px 76px,76px 76px,auto}
.ss13-lift-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.55fr);gap:clamp(60px,9vw,140px);align-items:end;margin-bottom:clamp(48px,6vw,85px)}
.ss13-lift-head h2{margin:15px 0 0;color:#fff;font-size:clamp(3.3rem,5.6vw,6.5rem);letter-spacing:-.07em;line-height:.84}.ss13-lift-head h2 em{color:var(--ss-yellow);font-style:normal}.ss13-lift-head>p{margin:0;padding-left:26px;border-left:2px solid rgba(37,185,214,.55);color:rgba(255,255,255,.62);font-size:.95rem;line-height:1.78}
.ss13-lift-gallery{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.72fr);gap:18px;align-items:start}
.ss13-lift-gallery figure{position:relative;margin:0;background:#02090c;box-shadow:0 35px 90px rgba(0,0,0,.4);overflow:hidden}.ss13-lift-gallery figure:before{content:"";position:absolute;z-index:2;inset:0;border:1px solid rgba(255,255,255,.18);pointer-events:none}.ss13-lift-gallery img{display:block;width:100%;height:auto;filter:saturate(.82) contrast(1.04);transition:filter .5s,transform .8s}.ss13-lift-gallery figure:hover img{filter:saturate(1);transform:scale(1.012)}
.ss13-lift-primary{margin-top:0!important}.ss13-lift-secondary{margin-top:clamp(90px,10vw,150px)!important}
.ss13-lift-gallery figcaption{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:70px 30px 28px;background:linear-gradient(transparent,rgba(3,12,15,.94));color:#fff}.ss13-lift-gallery figcaption span{display:block;color:#7ee1ee;font-size:.53rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.ss13-lift-gallery figcaption strong{display:block;max-width:500px;margin-top:9px;font-size:clamp(1.2rem,2vw,2rem);letter-spacing:-.04em;line-height:1.05}
.ss13-lift-note{position:absolute;z-index:4;right:clamp(20px,4vw,58px);top:30px;width:min(320px,28%);padding:28px;border-top:4px solid var(--ss-yellow);background:rgba(3,13,17,.9);box-shadow:0 25px 65px rgba(0,0,0,.42);backdrop-filter:blur(14px)}.ss13-lift-note>i{display:block;width:42px;height:3px;margin-bottom:22px;background:var(--ss-cyan)}.ss13-lift-note>span{color:#ffe36c;font-size:.5rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.ss13-lift-note>strong{display:block;margin-top:12px;color:#fff;font-size:clamp(1.35rem,2.1vw,2.2rem);letter-spacing:-.05em;line-height:.98}.ss13-lift-note>p{margin:16px 0 0;color:rgba(255,255,255,.55);font-size:.72rem;line-height:1.65}
@media(max-width:1000px){.ss13-lift-head{grid-template-columns:1fr;gap:35px}.ss13-lift-head>p{max-width:720px}.ss13-lift-gallery{grid-template-columns:1fr 1fr}.ss13-lift-note{position:relative;right:auto;top:auto;grid-column:1/-1;width:100%;display:grid;grid-template-columns:auto 1fr 1fr;gap:18px 28px;align-items:center}.ss13-lift-note>i{grid-row:1/3;margin:0}.ss13-lift-note>strong{margin:0}.ss13-lift-note>p{margin:0}}
@media(max-width:700px){.ss13-lift-feature{padding:78px 0}.ss13-lift-head h2{font-size:clamp(2.8rem,13vw,4.3rem)}.ss13-lift-head>p{padding-left:18px;font-size:.86rem}.ss13-lift-gallery{grid-template-columns:1fr;gap:14px}.ss13-lift-secondary{margin-top:0!important}.ss13-lift-gallery figcaption{padding:55px 22px 22px}.ss13-lift-note{grid-column:auto;grid-template-columns:auto 1fr;padding:24px}.ss13-lift-note>strong,.ss13-lift-note>p{grid-column:2}.ss13-lift-note>i{grid-row:1/4}}
@media(prefers-reduced-motion:reduce){.ss13-lift-gallery img{transition:none}}

/* Node 13 composition pass: balanced erection gallery and stronger section flow */
.ss13-overview{padding-top:clamp(75px,7.5vw,115px);padding-bottom:clamp(75px,7.5vw,115px)}
.ss13-services{padding-top:clamp(65px,7vw,105px);padding-bottom:clamp(65px,7vw,105px)}
.ss13-lift-feature{padding-top:clamp(80px,8vw,120px);padding-bottom:clamp(80px,8vw,120px);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.ss13-lift-head{width:min(1120px,calc(100% - 56px));margin-left:auto;margin-right:auto;margin-bottom:55px}
.ss13-lift-head h2{font-size:clamp(3.1rem,5.15vw,5.9rem)}
.ss13-lift-gallery{width:min(1120px,calc(100% - 56px));grid-template-columns:1fr 1fr;gap:16px;margin-left:auto;margin-right:auto}
.ss13-lift-primary,.ss13-lift-secondary{margin-top:0!important}
.ss13-lift-gallery figure{border-bottom:5px solid var(--ss-yellow)}.ss13-lift-gallery figure:nth-child(2){border-bottom-color:var(--ss-cyan)}
.ss13-lift-gallery img{aspect-ratio:3/4;object-fit:cover;object-position:center top}
.ss13-lift-note{top:50%;right:50%;width:340px;transform:translate(50%,-50%);border-top-color:var(--ss-yellow);background:rgba(3,13,17,.94)}
.ss13-process{position:relative}.ss13-process:before{content:"";position:absolute;left:50%;top:0;width:min(1120px,calc(100% - 56px));height:1px;background:linear-gradient(90deg,transparent,rgba(7,18,22,.25),transparent);transform:translateX(-50%)}
.ss13-process-head{padding-top:0;border-top:0}.ss13-process-track{margin-top:38px}
.ss13-cap-layout h2{font-size:clamp(2.8rem,4.2vw,4.85rem)}
.ss13-cta{min-height:520px;padding-top:75px;padding-bottom:75px}
.ss13-yard-grid{min-height:590px;padding-top:clamp(70px,7.5vw,105px);padding-bottom:clamp(70px,7.5vw,105px)}
@media(max-width:1000px){.ss13-lift-note{position:absolute;right:50%;top:50%;width:310px;display:block;transform:translate(50%,-50%)}.ss13-lift-note>i{margin-bottom:22px}.ss13-lift-note>strong{margin-top:12px}.ss13-lift-note>p{margin-top:16px}.ss13-lift-head{width:calc(100% - 56px)}.ss13-lift-gallery{width:calc(100% - 56px)}}
@media(max-width:700px){.ss13-lift-head,.ss13-lift-gallery{width:calc(100% - 30px)}.ss13-lift-gallery{grid-template-columns:1fr}.ss13-lift-gallery img{aspect-ratio:auto;height:auto}.ss13-lift-note{position:relative;right:auto;top:auto;width:100%;display:grid;transform:none}.ss13-process:before{width:calc(100% - 30px)}.ss13-cta{min-height:580px}.ss13-yard-grid{min-height:0}}
.ss13-hero-photo{background-image:url('../images/services/Steel/Steel%20structure.jpg?v=20260829-2');background-position:48% center}
@media(max-width:760px){.ss13-hero-photo{background-position:56% center}}
.ss13-service:not(.ss13-service-feature) img{height:360px}
.ss13-service-elevated img{object-position:center top}
.ss13-service-staging img{object-position:center 40%}
@media(max-width:760px){.ss13-service:not(.ss13-service-feature) img{height:320px}.ss13-service-elevated img{object-position:center top}.ss13-service-staging img{object-position:center 40%}}

/* Compact erection-control sequence replaces the repetitive process cards */
.ss13-sequence{position:relative;isolation:isolate;padding:clamp(80px,8vw,125px) 0;background:linear-gradient(135deg,#f7f3e9,#fff 58%,#e9f5f6);overflow:hidden}
.ss13-sequence:before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:46%;background:#0a1a20;clip-path:polygon(0 22%,100% 0,100% 100%,0 100%)}
.ss13-sequence-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.5fr);gap:clamp(50px,8vw,120px);align-items:end;margin-bottom:clamp(50px,6vw,80px)}
.ss13-sequence-head h2{margin:14px 0 0;color:var(--ss-ink);font-size:clamp(3rem,5vw,5.7rem);letter-spacing:-.07em;line-height:.84}.ss13-sequence-head h2 em{color:#168fa9;font-style:normal}.ss13-sequence-head>p{margin:0;padding-left:25px;border-left:2px solid #b7c9cc;color:#607277;font-size:.95rem;line-height:1.75}
.ss13-sequence-strip{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.ss13-sequence-strip:before{content:"";position:absolute;z-index:2;left:7%;right:7%;top:35px;height:2px;background:linear-gradient(90deg,var(--ss-yellow),var(--ss-cyan),var(--ss-yellow));transform-origin:left;animation:ss13SequenceLine 5s ease-in-out infinite alternate}
.ss13-sequence-strip article{position:relative;min-height:235px;padding:78px 27px 30px;border:1px solid rgba(255,255,255,.16);background:rgba(7,24,30,.95);box-shadow:0 25px 60px rgba(4,19,24,.18);overflow:hidden;transition:.35s}.ss13-sequence-strip article:hover{border-color:var(--ss-cyan);transform:translateY(-7px)}
.ss13-sequence-strip article:before{content:"";position:absolute;z-index:3;top:29px;left:27px;width:14px;height:14px;border:3px solid #0a1a20;border-radius:50%;background:var(--ss-yellow);box-shadow:0 0 0 5px rgba(255,208,0,.16)}.ss13-sequence-strip article:nth-child(even):before{background:var(--ss-cyan);box-shadow:0 0 0 5px rgba(37,185,214,.16)}
.ss13-sequence-strip span{color:#77ddea;font-size:.53rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.ss13-sequence-strip strong{display:block;margin-top:15px;color:#fff;font-size:clamp(1.25rem,1.8vw,1.9rem);letter-spacing:-.045em;line-height:1.05}.ss13-sequence-strip i{position:absolute;right:-34px;bottom:-34px;width:90px;height:90px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.ss13-sequence-strip article{min-height:330px}.ss13-sequence-strip article>p{position:relative;z-index:2;margin:18px 0 0;color:rgba(255,255,255,.57);font-size:.76rem;line-height:1.68}.ss13-sequence-head>p{max-width:610px}
@keyframes ss13SequenceLine{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(max-width:1000px){.ss13-sequence-head{grid-template-columns:1fr;gap:30px}.ss13-sequence-head>p{max-width:720px}.ss13-sequence-strip{grid-template-columns:1fr 1fr}.ss13-sequence-strip:before{display:none}.ss13-sequence-strip article{min-height:285px;padding-top:67px}}
@media(max-width:620px){.ss13-sequence{padding:75px 0}.ss13-sequence-head h2{font-size:clamp(2.75rem,12.5vw,4rem)}.ss13-sequence-head>p{padding-left:18px;font-size:.86rem}.ss13-sequence-strip{grid-template-columns:1fr}.ss13-sequence-strip article{min-height:0}}
@media(prefers-reduced-motion:reduce){.ss13-sequence-strip:before{animation:none}}

/* Refine erection-sequence headline hierarchy */
.ss13-sequence-head h2{max-width:900px;font-size:clamp(2.9rem,4.45vw,5rem);line-height:.91}
.ss13-sequence-head h2 em{display:block;margin-top:.12em;font-size:.88em;line-height:.95}
.ss13-sequence-head{align-items:center;margin-bottom:clamp(58px,6vw,82px)}
.ss13-sequence-head>p{align-self:end;margin-bottom:7px}
.ss13-sequence-strip article{padding-top:82px}
@media(max-width:620px){.ss13-sequence-head h2{font-size:clamp(2.65rem,11.8vw,3.75rem)}.ss13-sequence-head h2 em{margin-top:.16em;font-size:.82em}.ss13-sequence-head{margin-bottom:48px}.ss13-sequence-strip article{padding-top:70px}}

/* Unified Node 13 closing experience */
.ss13-capabilities{border-bottom:0}
.ss13-yard-footer{margin-top:0}
.ss13-yard-truss{height:42px;border-top-width:6px;background:linear-gradient(90deg,#0a1b21,#102a32 50%,#0a1b21)}
.ss13-yard-grid{min-height:680px}
.ss13-yard-statement>p{max-width:720px}
.ss13-yard-project-link{display:flex;align-items:center;justify-content:space-between;gap:32px;width:min(410px,100%);margin-top:32px;padding:22px 24px;border:1px solid var(--ss-yellow);background:var(--ss-yellow);color:#071216;font-size:.61rem;font-weight:950;letter-spacing:.13em;text-decoration:none;text-transform:uppercase;box-shadow:0 20px 55px rgba(255,208,0,.17);transition:background .3s,border-color .3s,transform .3s,box-shadow .3s}.ss13-yard-project-link:hover{border-color:var(--ss-cyan);background:var(--ss-cyan);box-shadow:0 24px 65px rgba(37,185,214,.17);transform:translateY(-5px)}.ss13-yard-project-link i{font-size:1.15rem;font-style:normal}
.ss13-yard-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.ss13-yard-meta span{padding:8px 11px;border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.58);font-size:.49rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.ss13-yard-board{border-top-color:var(--ss-yellow)}.ss13-yard-board:after{background:var(--ss-cyan);box-shadow:inset 0 0 0 2px #cbd1d2,0 0 16px rgba(37,185,214,.35)}
@media(max-width:1100px){.ss13-yard-grid{min-height:0}}
@media(max-width:760px){.ss13-yard-truss{height:30px}.ss13-yard-project-link{width:100%}.ss13-yard-meta{display:grid;grid-template-columns:1fr 1fr}.ss13-yard-meta span{text-align:center}}

/* Final Node 13 hierarchy: 2x2 sequence, wider capability heading, single close */
.ss13-sequence-head{display:block;margin-bottom:clamp(48px,5vw,68px)}
.ss13-sequence-head h2{max-width:1050px}
.ss13-sequence-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ss13-sequence-strip:before{display:none}
.ss13-sequence-strip article{min-height:285px;padding:72px 36px 34px}
.ss13-sequence-strip article:before{left:36px}
.ss13-sequence-strip strong{max-width:520px;font-size:clamp(1.65rem,2.5vw,2.65rem)}
.ss13-sequence-strip article>p{max-width:560px;font-size:.85rem;line-height:1.72}
.ss13-cap-layout{grid-template-columns:minmax(420px,.72fr) minmax(0,1.28fr);gap:clamp(42px,5vw,76px)}
.ss13-cap-layout h2{font-size:clamp(2.7rem,3.3vw,4.5rem);line-height:.9}
.ss13-cap-line{white-space:nowrap}
.ss13-cap-layout header p{max-width:560px}
.ss13-yard-statement h2{font-size:clamp(3.7rem,5.8vw,6.8rem);line-height:.81}
.ss13-yard-copy{max-width:760px;margin-top:29px}.ss13-yard-copy p{margin:0;color:rgba(255,255,255,.66);font-size:clamp(.9rem,1.05vw,1rem);line-height:1.72}.ss13-yard-copy p+p{margin-top:16px}.ss13-yard-statement>p{display:none}
.ss13-yard-meta{margin-top:25px}.ss13-yard-project-link{margin-top:18px}
@media(max-width:1100px){.ss13-cap-layout{grid-template-columns:1fr}.ss13-cap-layout header{max-width:850px}.ss13-yard-statement h2{font-size:clamp(3.5rem,8vw,6rem)}}
@media(max-width:700px){.ss13-sequence-strip{grid-template-columns:1fr}.ss13-sequence-strip article{min-height:0;padding:68px 25px 29px}.ss13-sequence-strip article:before{left:25px}.ss13-sequence-strip strong{font-size:clamp(1.55rem,7vw,2rem)}.ss13-cap-layout h2{font-size:clamp(2.75rem,11.5vw,4rem)}.ss13-cap-line{white-space:normal}.ss13-yard-statement h2{font-size:clamp(3rem,13vw,4.3rem)}.ss13-yard-copy p{font-size:.86rem}}

/* Correct wide-screen overlap and keep the 2x2 sequence visually intact */
.ss13-sequence:before{display:none}
.ss13-sequence:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,var(--ss-yellow),var(--ss-cyan),var(--ss-yellow));background-size:200% 100%;animation:ss13SequenceEdge 7s linear infinite}
.ss13-sequence-strip article{min-height:330px;background:#0a1a20;border-color:rgba(15,58,68,.32);box-shadow:0 24px 60px rgba(8,31,39,.12)}
.ss13-capabilities{padding-bottom:clamp(75px,7vw,105px)}
.ss13-cap-layout h2{font-size:clamp(2.6rem,3vw,3.4rem);line-height:.94}
.ss13-cap-line{display:block;white-space:nowrap}
.ss13-cap-layout h2 em{display:block;margin-top:.14em;font-size:.82em;line-height:1;white-space:nowrap}
@keyframes ss13SequenceEdge{to{background-position:200% 0}}
@media(max-width:700px){.ss13-sequence-strip article{min-height:0}.ss13-cap-line,.ss13-cap-layout h2 em{white-space:normal}.ss13-cap-layout h2{font-size:clamp(2.65rem,10.8vw,3.8rem)}}

/* Structural page — balanced image rhythm and readable project desk. */
@media (min-width:761px){
  .ss13-service-feature{min-height:500px}
  .ss13-service-feature img{height:500px!important;aspect-ratio:auto!important;object-fit:cover;object-position:center 42%}
  .ss13-service:not(.ss13-service-feature) img{height:310px!important;aspect-ratio:auto!important;object-fit:cover}
  .ss13-lift-gallery img{aspect-ratio:4/3;object-fit:cover;object-position:center}
}
.ss13-yard-email small{color:rgba(255,255,255,.72)}
.ss13-yard-email strong{color:#fff;opacity:1}
.ss13-yard-email:focus-visible{outline:3px solid var(--ss-yellow);outline-offset:-3px}

/* Node 13 — balanced capabilities and consolidated project desk. */
.ss13-cap-layout{display:block}
.ss13-cap-layout>header{position:static;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(320px,1.1fr);column-gap:clamp(55px,8vw,130px);align-items:end;max-width:none;margin-bottom:48px}
.ss13-cap-layout>header .ss13-label,.ss13-cap-layout>header h2{grid-column:1}
.ss13-cap-layout>header p{grid-column:2;grid-row:1/3;align-self:end;max-width:680px;margin:0}
.ss13-cap-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ss13-cap-grid article{min-height:210px}
.ss13-yard-project-link{display:none}
.ss13-yard-email{margin:20px;border:1px solid var(--ss-yellow);background:var(--ss-yellow);color:#071216}
.ss13-yard-email:hover{background:var(--ss-cyan);border-color:var(--ss-cyan)}
.ss13-yard-email small,.ss13-yard-email strong,.ss13-yard-email>i{color:#071216}
.ss13-yard-email small{opacity:.68}
.ss13-yard-email strong{font-size:clamp(.9rem,1.2vw,1.08rem)}
.ss13-yard-base{grid-template-columns:1fr auto}
.ss13-yard-base p{text-align:right}
@media(max-width:1100px){.ss13-cap-layout>header{grid-template-columns:1fr;gap:20px}.ss13-cap-layout>header p{grid-column:1;grid-row:auto;align-self:auto}.ss13-cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ss13-cap-layout>header{margin-bottom:34px}.ss13-cap-grid{grid-template-columns:1fr}.ss13-yard-email{margin:14px}.ss13-yard-base{grid-template-columns:1fr}.ss13-yard-base p{text-align:left}}

/* Node 13 — refined section introduction and compact project-desk action. */
.ss13-cap-layout>header{position:relative;padding:38px 42px 40px;border:1px solid rgba(255,255,255,.13);border-top:4px solid var(--ss-cyan);background:linear-gradient(105deg,rgba(37,185,214,.09),rgba(255,255,255,.025));overflow:hidden}
.ss13-cap-layout>header:after{content:"";position:absolute;right:-70px;bottom:-110px;width:260px;height:260px;border:1px solid rgba(255,227,108,.13);border-radius:50%;box-shadow:0 0 0 34px rgba(37,185,214,.035);pointer-events:none}
.ss13-cap-layout>header .ss13-label{color:#80ddeb}
.ss13-cap-layout>header h2{margin-top:18px}
.ss13-cap-layout>header p{position:relative;padding:4px 0 4px 30px;border-left:1px solid rgba(255,227,108,.45);font-size:clamp(.9rem,1vw,1rem);line-height:1.75}
.ss13-yard-email{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:18px;width:calc(100% - 64px);margin:24px 32px;padding:16px 18px}
.ss13-yard-email small,.ss13-yard-email strong{grid-column:1}
.ss13-yard-email strong{margin-top:5px;font-size:.82rem}
.ss13-yard-email>i{position:static;grid-column:2;grid-row:1/3;align-self:center;font-size:1rem}
@media(max-width:760px){.ss13-cap-layout>header{padding:30px 24px}.ss13-cap-layout>header p{padding-left:20px}.ss13-yard-email{width:calc(100% - 36px);margin:18px;padding:15px 17px}}

/* Node 13 — keep the capabilities heading clear of the card grid. */
.ss13-cap-layout>header{grid-template-columns:minmax(360px,.9fr) minmax(320px,1.1fr);grid-template-rows:auto;align-items:center;min-height:235px;margin-bottom:48px;overflow:hidden}
.ss13-cap-title{grid-column:1;min-width:0}
.ss13-cap-title .ss13-label{display:block}
.ss13-cap-title h2{margin:18px 0 0;padding:0;min-height:0}
.ss13-cap-title h2 em{display:block;margin-top:.18em;line-height:1.05}
.ss13-cap-layout>header>p{grid-column:2;grid-row:1;align-self:center}
@media(max-width:1100px){.ss13-cap-layout>header{grid-template-columns:1fr;min-height:0}.ss13-cap-title,.ss13-cap-layout>header>p{grid-column:1}.ss13-cap-layout>header>p{grid-row:auto}}
@media(max-width:700px){.ss13-cap-layout>header{margin-bottom:34px}.ss13-cap-title h2 em{margin-top:.14em}}

/* Node 13 — prevent the two-line capability title from clipping at browser zoom. */
.ss13-cap-layout>header{min-height:310px!important;padding-bottom:58px!important;margin-bottom:32px!important;overflow:hidden!important}
.ss13-cap-title h2{font-size:clamp(2.45rem,2.7vw,3rem)!important;line-height:.96!important}
.ss13-cap-title h2 em{margin-top:.22em!important;font-size:.78em!important;line-height:1.08!important}
@media(max-width:1100px){.ss13-cap-layout>header{min-height:0!important;padding-bottom:40px!important}.ss13-cap-title h2{font-size:clamp(2.6rem,7vw,3.7rem)!important}}
@media(max-width:700px){.ss13-cap-layout>header{padding-bottom:32px!important;margin-bottom:28px!important}.ss13-cap-title h2{font-size:clamp(2.45rem,10.5vw,3.4rem)!important}.ss13-cap-title h2 em{font-size:.8em!important}}

/* Node 13 — section breathing room and a moderately scaled project close. */
.ss13-cap-title h2 em{margin-top:.34em!important}
.ss13-cap-grid{margin-top:42px}
.ss13-yard-grid{width:min(1480px,calc(100% - 7vw));grid-template-columns:minmax(0,1.12fr) minmax(470px,.88fr);gap:clamp(65px,8vw,125px);min-height:720px}
.ss13-yard-statement h2{font-size:clamp(4rem,6.1vw,7.2rem)}
.ss13-yard-copy{max-width:800px}
.ss13-yard-copy p{font-size:clamp(.98rem,1.08vw,1.08rem);line-height:1.78}
.ss13-yard-meta span{font-size:.54rem;padding:9px 12px}
.ss13-yard-board-head{padding:32px 34px 24px;font-size:.66rem}
.ss13-yard-email{width:calc(100% - 60px);margin:27px 30px;padding:19px 21px}
.ss13-yard-email small{font-size:.56rem}
.ss13-yard-email strong{margin-top:7px;font-size:.94rem}
.ss13-yard-email>i{font-size:1.12rem}
.ss13-yard-scopes span{padding:21px 26px;font-size:.59rem}
.ss13-yard-status{padding:24px 34px;font-size:.57rem;line-height:1.5}
.ss13-yard-base{width:min(1480px,calc(100% - 7vw));padding-top:28px}
.ss13-yard-brand span{font-size:.72rem}.ss13-yard-base p{font-size:.57rem}
@media(max-width:1100px){.ss13-cap-grid{margin-top:34px}.ss13-yard-grid{width:min(900px,calc(100% - 7vw));grid-template-columns:1fr;min-height:0}.ss13-yard-board{max-width:760px}.ss13-yard-base{width:min(900px,calc(100% - 7vw))}}
@media(max-width:760px){.ss13-cap-grid{margin-top:28px}.ss13-yard-grid,.ss13-yard-base{width:calc(100% - 30px)}.ss13-yard-statement h2{font-size:clamp(3.2rem,14vw,4.8rem)}.ss13-yard-copy p{font-size:.92rem}.ss13-yard-email{width:calc(100% - 36px);margin:18px;padding:17px 18px}.ss13-yard-scopes span{padding:19px 22px}}

/* Node 13 — readable supporting copy across the complete Structural page. */
.ss13-hero-copy>p{font-size:clamp(1.08rem,1.15vw,1.22rem);line-height:1.75}
.ss13-overview-copy p{font-size:clamp(1.04rem,1.08vw,1.16rem);line-height:1.82}
.ss13-service p{font-size:clamp(.96rem,1vw,1.06rem);line-height:1.75}
.ss13-process-head>p,.ss13-lift-head>p,.ss13-cap-layout>header>p{font-size:clamp(1rem,1.03vw,1.1rem);line-height:1.78}
.ss13-process-grid article>p{font-size:.95rem;line-height:1.72}
.ss13-lift-note>p{font-size:.9rem;line-height:1.7}
.ss13-sequence-strip article>p{font-size:.96rem;line-height:1.72}
.ss13-cap-grid p{font-size:.9rem;line-height:1.7;color:rgba(255,255,255,.68)}
.ss13-yard-copy p{font-size:clamp(1.04rem,1.1vw,1.14rem);line-height:1.78}
@media(max-width:760px){.ss13-hero-copy>p,.ss13-overview-copy p,.ss13-service p,.ss13-process-head>p,.ss13-lift-head>p,.ss13-cap-layout>header>p,.ss13-process-grid article>p,.ss13-lift-note>p,.ss13-sequence-strip article>p,.ss13-cap-grid p,.ss13-yard-copy p{font-size:.96rem}}

/* Node 13 — clearer Structural Steel Capabilities cards. */
.ss13-cap-grid article{min-height:245px;padding:32px 31px 34px;background:rgba(255,255,255,.055)}
.ss13-cap-grid article>span{font-size:.56rem;line-height:1.5}
.ss13-cap-grid h3{margin-top:17px;font-size:clamp(1.45rem,1.75vw,1.95rem);line-height:1.04}
.ss13-cap-grid p{max-width:31rem;margin-top:17px;font-size:clamp(.94rem,.92vw,1rem);line-height:1.72;color:rgba(255,255,255,.74)}
@media(max-width:1100px){.ss13-cap-grid article{min-height:225px}.ss13-cap-grid p{font-size:.98rem}}
@media(max-width:760px){.ss13-cap-grid article{min-height:0;padding:29px 26px 31px}.ss13-cap-grid p{font-size:.96rem}}

/* Node 13 — independent capability accent prevents title/card overlap. */
.ss13-cap-title h2{margin-bottom:0!important}
.ss13-cap-accent{display:block;margin-top:16px;color:var(--ss-yellow);font-size:clamp(2rem,2.25vw,2.55rem);font-weight:700;letter-spacing:-.055em;line-height:1.05;white-space:nowrap}
@media(max-width:1100px){.ss13-cap-accent{font-size:clamp(2rem,5.5vw,2.7rem)}}
@media(max-width:700px){.ss13-cap-accent{margin-top:13px;font-size:clamp(1.8rem,8vw,2.45rem);white-space:normal}}

/* Node 13 — capability accent is a dedicated row, never behind cards. */
.ss13-cap-accent{display:none!important}
.ss13-cap-accent-row{position:relative;z-index:3;display:block;margin:0;padding:24px 44px 0;color:var(--ss-yellow);font-size:clamp(2rem,2.25vw,2.55rem);font-weight:700;letter-spacing:-.055em;line-height:1.08}
.ss13-cap-grid{position:relative;z-index:2;margin-top:34px}
@media(max-width:1100px){.ss13-cap-accent-row{padding:22px 40px 0;font-size:clamp(2rem,5vw,2.6rem)}}
@media(max-width:700px){.ss13-cap-accent-row{padding:19px 24px 0;font-size:clamp(1.8rem,8vw,2.4rem)}.ss13-cap-grid{margin-top:25px}}

/* Node 13 — naturally sized capabilities introduction. */
.ss13-cap-layout>header{height:auto!important;min-height:0!important;padding:42px 44px!important;margin-bottom:0!important;column-gap:clamp(48px,7vw,110px);overflow:visible!important}
.ss13-cap-title h2{margin-top:20px!important;font-size:clamp(2.55rem,2.8vw,3.15rem)!important;line-height:.98!important}
.ss13-cap-title h2 em{margin-top:.3em!important;font-size:.8em!important;line-height:1.08!important}
.ss13-cap-layout>header>p{margin:0!important;padding:8px 0 8px 30px;align-self:center}
.ss13-cap-grid{margin-top:38px}
@media(max-width:1100px){.ss13-cap-layout>header{padding:38px 40px!important;row-gap:28px}.ss13-cap-layout>header>p{padding-left:24px}.ss13-cap-grid{margin-top:32px}}
@media(max-width:700px){.ss13-cap-layout>header{padding:30px 24px!important;row-gap:23px}.ss13-cap-title h2{font-size:clamp(2.4rem,10vw,3.3rem)!important}.ss13-cap-layout>header>p{padding:4px 0 4px 19px}.ss13-cap-grid{margin-top:26px}}

/* Node 13 — stronger, more readable structural-project close. */
.ss13-yard-grid{grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr);min-height:760px}
.ss13-yard-copy{max-width:830px;padding-left:25px;border-left:2px solid rgba(37,185,214,.55)}
.ss13-yard-copy p{font-size:clamp(1.12rem,1.18vw,1.24rem);line-height:1.78;color:rgba(255,255,255,.76)}
.ss13-yard-copy p+p{margin-top:20px}
.ss13-yard-meta{gap:10px;margin-top:30px}
.ss13-yard-meta span{padding:11px 14px;font-size:.62rem;color:rgba(255,255,255,.72)}
.ss13-yard-board{box-shadow:0 38px 95px rgba(0,0,0,.52)}
.ss13-yard-board-head{padding:34px 36px 26px;font-size:.72rem}
.ss13-yard-email{width:calc(100% - 64px);margin:30px 32px;padding:22px 23px}
.ss13-yard-email small{font-size:.62rem}
.ss13-yard-email strong{font-size:1.05rem}
.ss13-yard-email>i{font-size:1.22rem}
.ss13-yard-scopes span{padding:23px 27px;font-size:.66rem;line-height:1.45}
.ss13-yard-status{padding:27px 36px;font-size:.64rem;line-height:1.55;color:rgba(255,255,255,.62)}
.ss13-yard-brand b{width:46px;height:46px;font-size:.76rem}.ss13-yard-brand span{font-size:.8rem;line-height:1.08}
.ss13-yard-base p{font-size:.64rem;color:rgba(255,255,255,.55)}
@media(max-width:1100px){.ss13-yard-grid{grid-template-columns:1fr;min-height:0}.ss13-yard-copy{max-width:780px}.ss13-yard-board{max-width:780px}}
@media(max-width:760px){.ss13-yard-copy{padding-left:19px}.ss13-yard-copy p{font-size:1rem}.ss13-yard-meta span{font-size:.57rem}.ss13-yard-board-head{padding:29px 24px 22px;font-size:.64rem}.ss13-yard-email{width:calc(100% - 36px);margin:18px;padding:19px 20px}.ss13-yard-scopes span{padding:20px 22px;font-size:.61rem}.ss13-yard-status{padding:23px 24px;font-size:.59rem}}

/* Node 13 — closing section scaled for wide desktop viewports. */
.ss13-yard-grid{width:min(1700px,calc(100% - 7vw));grid-template-columns:minmax(0,1.05fr) minmax(590px,.95fr);gap:clamp(75px,8vw,145px);min-height:820px}
.ss13-yard-statement h2{font-size:clamp(4.4rem,6.35vw,7.7rem)}
.ss13-yard-copy{max-width:900px}
.ss13-yard-copy p{font-size:clamp(1.2rem,1.25vw,1.34rem)}
.ss13-yard-board-head{font-size:.78rem}
.ss13-yard-email strong{font-size:1.14rem}
.ss13-yard-scopes span{font-size:.71rem}
.ss13-yard-status{font-size:.69rem}
.ss13-yard-base{width:min(1700px,calc(100% - 7vw))}
@media(max-width:1100px){.ss13-yard-grid{width:min(920px,calc(100% - 7vw));grid-template-columns:1fr;min-height:0}.ss13-yard-base{width:min(920px,calc(100% - 7vw))}}
@media(max-width:760px){.ss13-yard-grid,.ss13-yard-base{width:calc(100% - 30px)}.ss13-yard-statement h2{font-size:clamp(3.2rem,14vw,4.8rem)}.ss13-yard-copy p{font-size:1rem}.ss13-yard-board-head{font-size:.66rem}.ss13-yard-email strong{font-size:1rem}.ss13-yard-scopes span{font-size:.62rem}.ss13-yard-status{font-size:.6rem}}

/* Node 13 — stable capabilities intro and balanced project close. */
.ss13-cap-layout>.ss13-cap-intro{display:block!important;position:relative!important;top:auto!important;width:100%;height:auto!important;min-height:0!important;margin:0!important;padding:42px 44px!important;border:1px solid rgba(255,255,255,.13);border-top:4px solid var(--ss-cyan);background:linear-gradient(105deg,rgba(37,185,214,.09),rgba(255,255,255,.025));overflow:hidden!important}
.ss13-cap-intro h2{margin:19px 0 0!important;color:#fff;font-size:clamp(2.7rem,3vw,3.55rem)!important;line-height:1!important;letter-spacing:-.06em}
.ss13-cap-intro-accent{margin-top:14px;color:var(--ss-yellow);font-size:clamp(1.85rem,2vw,2.35rem);font-weight:700;letter-spacing:-.045em;line-height:1.08}
.ss13-cap-intro-copy{max-width:780px;margin-top:27px;padding-left:25px;border-left:1px solid rgba(255,227,108,.5);color:rgba(255,255,255,.72);font-size:clamp(1rem,1.03vw,1.1rem);line-height:1.78}
.ss13-cap-accent-row{display:none!important}
.ss13-cap-grid{margin-top:42px!important}
.ss13-yard-grid{width:min(1480px,calc(100% - 7vw));grid-template-columns:minmax(0,1.1fr) minmax(500px,.9fr);gap:clamp(65px,7vw,115px);min-height:740px}
.ss13-yard-statement h2{font-size:clamp(4rem,5.8vw,6.8rem)}
.ss13-yard-copy{max-width:820px}.ss13-yard-copy p{font-size:clamp(1.08rem,1.12vw,1.18rem)}
.ss13-yard-board-head{font-size:.7rem}.ss13-yard-email strong{font-size:1.02rem}.ss13-yard-scopes span{font-size:.65rem}.ss13-yard-status{font-size:.63rem}
.ss13-yard-base{width:min(1480px,calc(100% - 7vw))}
@media(max-width:1100px){.ss13-cap-layout>.ss13-cap-intro{padding:38px 40px!important}.ss13-yard-grid{width:min(900px,calc(100% - 7vw));grid-template-columns:1fr;min-height:0}.ss13-yard-base{width:min(900px,calc(100% - 7vw))}}
@media(max-width:700px){.ss13-cap-layout>.ss13-cap-intro{padding:30px 24px!important}.ss13-cap-intro h2{font-size:clamp(2.4rem,10vw,3.35rem)!important}.ss13-cap-intro-accent{font-size:clamp(1.7rem,7.8vw,2.3rem)}.ss13-cap-intro-copy{margin-top:22px;padding-left:18px;font-size:.96rem}.ss13-cap-grid{margin-top:27px!important}.ss13-yard-grid,.ss13-yard-base{width:calc(100% - 30px)}.ss13-yard-statement h2{font-size:clamp(3.2rem,14vw,4.8rem)}.ss13-yard-copy p{font-size:1rem}}

/* Node 13 — larger, clearer Project Desk panel. */
.ss13-yard-grid{grid-template-columns:minmax(0,1.05fr) minmax(560px,.95fr)}
.ss13-yard-board{border:2px solid rgba(255,255,255,.24);border-top:6px solid var(--ss-yellow);background:linear-gradient(145deg,rgba(6,24,30,.96),rgba(3,15,20,.9));box-shadow:0 42px 105px rgba(0,0,0,.58)}
.ss13-yard-board-head{padding:37px 39px 28px;font-size:.79rem;letter-spacing:.17em}
.ss13-yard-email{width:calc(100% - 70px);margin:33px 35px;padding:24px 25px;min-height:82px}
.ss13-yard-email small{font-size:.67rem;letter-spacing:.16em}
.ss13-yard-email strong{margin-top:8px;font-size:1.16rem}
.ss13-yard-email>i{font-size:1.3rem}
.ss13-yard-scopes span{padding:27px 29px;font-size:.72rem;line-height:1.5}
.ss13-yard-scopes span:before{width:8px;height:8px;margin-right:12px}
.ss13-yard-status{gap:16px;padding:30px 39px;font-size:.7rem;line-height:1.6;color:rgba(255,255,255,.68)}
.ss13-yard-status i{width:10px;height:10px}
@media(max-width:1100px){.ss13-yard-grid{grid-template-columns:1fr}.ss13-yard-board{max-width:800px}}
@media(max-width:700px){.ss13-yard-board-head{padding:30px 24px 23px;font-size:.67rem}.ss13-yard-email{width:calc(100% - 36px);margin:18px;min-height:72px;padding:20px}.ss13-yard-email small{font-size:.6rem}.ss13-yard-email strong{font-size:1.02rem}.ss13-yard-scopes span{padding:21px 22px;font-size:.63rem}.ss13-yard-status{padding:24px;font-size:.61rem}}

/* Node 13 — center the Project Desk CTA copy. */
.ss13-yard-email{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ss13-yard-email small,.ss13-yard-email strong{width:100%;text-align:center}
.ss13-yard-email>i{position:absolute;right:25px;top:50%;transform:translateY(-50%)}
@media(max-width:700px){.ss13-yard-email>i{right:19px}}

/* Node 13 — final Project Desk refinements. */
.ss13-yard-board{transform:translateY(15px)}
.ss13-yard-email{min-height:74px;padding-top:19px;padding-bottom:19px}
.ss13-yard-scopes span{color:rgba(255,255,255,.78)}
.ss13-yard-meta span{font-size:.66rem;color:rgba(255,255,255,.78)}
@media(max-width:1100px){.ss13-yard-board{transform:none}}
@media(max-width:700px){.ss13-yard-email{min-height:68px;padding-top:17px;padding-bottom:17px}.ss13-yard-meta span{font-size:.6rem}}

/* Node 13 — final visual polish for the structural project close. */
.ss13-yard-statement h2{font-size:clamp(3.9rem,5.55vw,6.55rem)}
.ss13-yard-copy{padding-top:9px;padding-bottom:9px;background:linear-gradient(90deg,rgba(2,9,12,.28),transparent 88%)}
.ss13-yard-meta span{font-size:.69rem}
.ss13-yard-board-head,.ss13-yard-scopes{border-color:rgba(255,255,255,.22)}
.ss13-yard-scopes span{padding-bottom:30px;border-color:rgba(255,255,255,.2)}
.ss13-yard-email small{letter-spacing:.11em}
@media(max-width:700px){.ss13-yard-statement h2{font-size:clamp(3.1rem,13.4vw,4.6rem)}.ss13-yard-meta span{font-size:.62rem}.ss13-yard-scopes span{padding-bottom:23px}}

@media (max-width:760px){
  .ss13-service-feature img,.ss13-service img{height:280px!important;aspect-ratio:auto!important;object-fit:cover}
  .ss13-lift-gallery img{aspect-ratio:4/3;height:auto;object-fit:cover;object-position:center}
}
@media(prefers-reduced-motion:reduce){.ss13-sequence:after{animation:none}}

/* Node 13 — structural drawing backdrop for the erection sequence. */
.ss13-sequence{background:linear-gradient(115deg,rgba(247,243,233,.9) 0%,rgba(255,255,255,.82) 52%,rgba(233,245,246,.86) 100%),url('../images/services/Steel/plan.jpg') center 8%/cover no-repeat}
.ss13-sequence-head{position:relative;padding:30px 34px;border-left:4px solid var(--ss-cyan);background:rgba(250,249,245,.72);box-shadow:0 18px 55px rgba(8,31,39,.06);backdrop-filter:blur(2px)}
.ss13-sequence-strip{position:relative}
@media(max-width:700px){.ss13-sequence{background-position:38% top}.ss13-sequence-head{padding:25px 21px}}

/* Node 13 — refined erection sequence without step numbering. */
.ss13-sequence{background:linear-gradient(115deg,rgba(247,243,233,.95) 0%,rgba(255,255,255,.91) 52%,rgba(233,245,246,.94) 100%),var(--ss13-sequence-image,url('../images/services/Steel/plan.jpg')) center 8%/cover no-repeat}
.ss13-sequence-head{width:min(1480px,calc(100% - 7vw));padding:18px 0 20px 28px;border-left:4px solid var(--ss-cyan);background:transparent;box-shadow:none;backdrop-filter:none}
.ss13-sequence-head h2{max-width:none;font-size:clamp(3rem,4.2vw,5rem)}
.ss13-sequence-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ss13-sequence-strip:before{display:block;left:28px;right:28px;top:34px;height:2px;opacity:.72}
.ss13-sequence-strip article{min-height:255px;padding:76px 25px 27px;background:rgba(7,24,30,.97);box-shadow:0 22px 48px rgba(8,31,39,.16)}
.ss13-sequence-strip article:before{left:25px}
.ss13-sequence-strip strong{font-size:clamp(1.35rem,1.75vw,1.85rem)}
.ss13-sequence-strip article>p{font-size:.82rem;line-height:1.65}
@media(max-width:1100px){.ss13-sequence-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ss13-sequence-strip:before{display:none}.ss13-sequence-strip article{min-height:235px}}
@media(max-width:700px){.ss13-sequence-head{width:calc(100% - 30px);padding:16px 0 18px 20px}.ss13-sequence-strip{grid-template-columns:1fr}.ss13-sequence-strip article{min-height:0;padding:68px 23px 27px}.ss13-sequence-strip article:before{left:23px}.ss13-sequence-strip article>p{font-size:.84rem}}

/* Node 13 — spacious, readable sequence composition. */
.ss13-sequence{padding:clamp(90px,8vw,125px) 0}
.ss13-sequence-head{width:min(1180px,calc(100% - 7vw));margin-bottom:42px;padding:12px 0 16px 28px}
.ss13-sequence-head h2{font-size:clamp(3rem,4.4vw,5.25rem);line-height:.9}
.ss13-sequence-strip{width:min(1180px,calc(100% - 7vw));grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.ss13-sequence-strip:before{display:none}
.ss13-sequence-strip article{min-height:255px;padding:70px 34px 32px}
.ss13-sequence-strip article:before{left:34px}
.ss13-sequence-strip strong{max-width:520px;font-size:clamp(1.6rem,2.25vw,2.35rem)}
.ss13-sequence-strip article>p{max-width:540px;font-size:.86rem;line-height:1.7}
@media(max-width:700px){.ss13-sequence{padding:75px 0}.ss13-sequence-head,.ss13-sequence-strip{width:calc(100% - 30px)}.ss13-sequence-head{margin-bottom:32px;padding-left:20px}.ss13-sequence-strip{grid-template-columns:1fr}.ss13-sequence-strip article{min-height:0;padding:66px 23px 28px}.ss13-sequence-strip article:before{left:23px}.ss13-sequence-strip strong{font-size:clamp(1.55rem,7vw,2rem)}}

/* Node 13 — final sequence proportions and legibility. */
.ss13-sequence-head,.ss13-sequence-strip{width:min(1340px,calc(100% - 7vw))}
.ss13-sequence-head{margin-bottom:30px}
.ss13-sequence-strip article{min-height:225px;padding:66px 34px 28px;border-top:3px solid var(--ss-yellow)}
.ss13-sequence-strip article:nth-child(even){border-top-color:var(--ss-cyan)}
.ss13-sequence-strip article:before{top:27px;width:16px;height:16px}
.ss13-sequence-strip span{font-size:.58rem}
.ss13-sequence-strip article>p{font-size:.92rem;color:rgba(255,255,255,.66)}
@media(max-width:700px){.ss13-sequence-head,.ss13-sequence-strip{width:calc(100% - 30px)}.ss13-sequence-head{margin-bottom:26px}.ss13-sequence-strip article{min-height:0;padding:64px 23px 27px}.ss13-sequence-strip article>p{font-size:.88rem}}
/* Calm the Node 13 hero so the title supports the photography instead of overpowering it. */
.ss13-hero h1{max-width:680px;font-size:clamp(2.9rem,4.35vw,5.15rem);line-height:.9;letter-spacing:-.058em}
@media(max-width:760px){.ss13-hero h1{font-size:clamp(2.25rem,9.3vw,3.2rem);line-height:.91}}
@media(max-width:420px){.ss13-hero h1{font-size:clamp(2.1rem,9vw,2.75rem)}}

/* Node 16: complete exterior scope and dedicated closing experience. */
.exterior-hero-copy h2{max-width:900px;font-size:clamp(3rem,5.4vw,6rem);line-height:.91;letter-spacing:-.035em}
.exterior-hero-copy h2 em{display:block;color:var(--ex-yellow);font-style:normal;font-size:.72em;line-height:1.04;letter-spacing:-.025em}
.exterior-hero-panel{border-top:3px solid var(--ex-yellow)}
.exterior-service-grid{align-items:stretch}
.exterior-service-card{display:grid;grid-template-rows:auto 1fr}
.exterior-card-image{height:clamp(225px,19vw,290px)}
.exterior-card-copy{display:flex;flex-direction:column}
.exterior-card-copy h3{font-size:clamp(1.25rem,1.35vw,1.55rem);text-wrap:balance}
.exterior-systems{background:linear-gradient(90deg,rgba(8,13,15,.98),rgba(8,13,15,.88)),url('../images/projects/featured/exterior-envelope-project.jpg') center/cover no-repeat}
.exterior-chip-grid span{transition:transform .25s ease,background .25s ease,border-color .25s ease}
.exterior-chip-grid span:hover{transform:translateX(6px);background:rgba(255,193,7,.13);border-color:rgba(255,193,7,.5)}
.exterior-process-card{transition:transform .3s ease,box-shadow .3s ease}
.exterior-process-card:hover{transform:translateY(-7px);box-shadow:0 30px 70px rgba(20,18,12,.15)}
.exterior-cta{min-height:570px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.68)),url('../images/projects/Commercial/envelope-exterior.jpeg') center/cover no-repeat}
.exterior-cta h2{max-width:850px;font-size:clamp(3rem,5.2vw,6rem);line-height:.9;letter-spacing:-.04em}
.exterior-footer{position:relative;padding:clamp(70px,8vw,115px) 0 24px;background:#080b0d;color:#fff;overflow:hidden}
.exterior-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 5%,rgba(255,193,7,.14),transparent 32%),linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%);background-size:auto,90px 90px;pointer-events:none}
.exterior-footer-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.7fr);gap:clamp(45px,8vw,125px);padding-bottom:clamp(55px,7vw,90px)}
.exterior-footer-brand{display:grid;grid-template-columns:94px minmax(0,1fr);gap:30px;align-items:start}
.exterior-footer-brand>span{display:grid;place-items:center;width:94px;height:94px;background:var(--ex-yellow,#ffc107);color:#111;font-size:1.65rem;font-weight:950;box-shadow:0 0 0 10px rgba(255,193,7,.08)}
.exterior-footer-brand strong{display:block;color:#fff;font-size:clamp(2rem,3.2vw,3.7rem);letter-spacing:-.05em;line-height:.95}
.exterior-footer-brand p{max-width:650px;margin:20px 0 0;color:rgba(255,255,255,.62);font-size:1rem;line-height:1.75}
.exterior-footer-contact{padding-left:30px;border-left:2px solid var(--ex-yellow,#ffc107)}
.exterior-footer-contact>span{display:block;margin-bottom:25px;color:#ffc107;font-size:.65rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}
.exterior-footer-contact strong{display:block;margin-bottom:24px;color:#fff;font-size:clamp(1.5rem,2vw,2.1rem)}
.exterior-footer-contact small{display:block;margin-top:18px;color:rgba(255,255,255,.42);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.exterior-footer-contact a,.exterior-footer-contact p{display:block;margin:6px 0 0;color:#fff;font-size:.92rem;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}
.exterior-footer-contact a:hover{color:#ffc107}
.exterior-footer-bottom{position:relative;display:flex;align-items:center;gap:28px;padding-top:23px;border-top:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.42);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}
.exterior-footer-bottom span{margin-right:auto}.exterior-footer-bottom a{color:rgba(255,255,255,.68);text-decoration:none}.exterior-footer-bottom a:hover{color:#ffc107}
@media(max-width:900px){.exterior-footer-grid{grid-template-columns:1fr}.exterior-footer-contact{margin-left:124px}.exterior-cta{min-height:500px}}
@media(max-width:760px){.exterior-hero-copy h2{font-size:clamp(2.45rem,11vw,3.7rem)}.exterior-hero-copy h2 em{font-size:.68em}.exterior-card-image{height:270px}.exterior-footer-brand{grid-template-columns:70px minmax(0,1fr);gap:22px}.exterior-footer-brand>span{width:70px;height:70px;font-size:1.25rem}.exterior-footer-contact{margin-left:92px}.exterior-footer-bottom{flex-wrap:wrap}.exterior-footer-bottom span{flex:0 0 100%}}
@media(max-width:520px){.exterior-footer-brand{grid-template-columns:1fr}.exterior-footer-contact{margin-left:0;padding-left:20px}.exterior-footer-brand strong{font-size:2.25rem}.exterior-cta h2{font-size:clamp(2.6rem,12vw,3.7rem)}}
@media(prefers-reduced-motion:reduce){.exterior-chip-grid span,.exterior-process-card{transition:none}}
/* Keep the Node 16 closing invitation strong without overpowering the project image. */
.exterior-cta h2{max-width:760px;font-size:clamp(2.45rem,4vw,4.55rem);line-height:.94;letter-spacing:-.035em}
@media(max-width:760px){.exterior-cta h2{font-size:clamp(2.2rem,9.5vw,3.25rem);line-height:.97}}
@media(max-width:420px){.exterior-cta h2{font-size:clamp(2rem,9vw,2.8rem)}}

/* Node 16 architectural footer: animated envelope lines and a clearer project handoff. */
.exterior-footer{isolation:isolate;padding:0 0 24px;background:#050a0d}
.exterior-footer:before{z-index:-2;background:radial-gradient(circle at 8% 8%,rgba(255,193,7,.16),transparent 28%),radial-gradient(circle at 92% 28%,rgba(35,167,190,.12),transparent 30%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,auto,72px 72px,72px 72px}
.exterior-footer:after{content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#ffc107,#ffc107 45%,#23a7be 55%,#23a7be);background-size:200% 100%;animation:exteriorFooterEdge 7s linear infinite}
.exterior-footer-lines{position:absolute;z-index:-1;inset:0;overflow:hidden;pointer-events:none}.exterior-footer-lines i{position:absolute;display:block;border:1px solid rgba(255,255,255,.06);transform:rotate(45deg)}.exterior-footer-lines i:nth-child(1){right:-170px;top:70px;width:430px;height:430px;animation:exteriorFooterFloat 12s ease-in-out infinite alternate}.exterior-footer-lines i:nth-child(2){right:-90px;top:150px;width:270px;height:270px;border-color:rgba(255,193,7,.14);animation:exteriorFooterFloat 9s ease-in-out infinite alternate-reverse}.exterior-footer-lines i:nth-child(3){left:-130px;bottom:30px;width:270px;height:270px;border-color:rgba(35,167,190,.1)}.exterior-footer-lines i:nth-child(4){left:42%;top:0;width:1px;height:100%;border:0;background:linear-gradient(transparent,rgba(255,255,255,.08),transparent);transform:none}
.exterior-footer-intro{position:relative;display:flex;justify-content:space-between;align-items:center;padding-top:38px;padding-bottom:25px;border-bottom:1px solid rgba(255,255,255,.13)}
.exterior-footer-intro span,.exterior-footer-intro p{margin:0;color:rgba(255,255,255,.58);font-size:.58rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.exterior-footer-intro span{color:#ffc107}
.exterior-footer-grid{padding-top:clamp(62px,7vw,100px);padding-bottom:clamp(55px,6vw,80px);grid-template-columns:minmax(0,1.15fr) minmax(390px,.72fr);align-items:center}
.exterior-footer-brand{grid-template-columns:118px minmax(0,1fr);gap:clamp(30px,4vw,58px);align-items:center}
.exterior-footer-mark{position:relative;width:118px;height:118px;display:grid;place-items:center;background:#ffc107;color:#090d0f;box-shadow:0 0 0 1px #ffc107,0 0 0 12px rgba(255,193,7,.07),0 30px 70px rgba(0,0,0,.35);overflow:hidden}.exterior-footer-mark:before,.exterior-footer-mark:after{content:"";position:absolute;background:#050a0d}.exterior-footer-mark:before{left:0;right:0;bottom:18px;height:4px}.exterior-footer-mark:after{top:0;bottom:0;right:19px;width:4px}.exterior-footer-mark span{position:relative;z-index:2;font-size:2rem;font-weight:950;letter-spacing:-.08em}.exterior-footer-mark i{position:absolute;right:-36px;top:-36px;width:72px;height:72px;border:2px solid #050a0d;transform:rotate(45deg);animation:exteriorFooterMark 6s ease-in-out infinite}
.exterior-footer-statement small{display:block;margin-bottom:17px;color:#ffc107;font-size:.62rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.exterior-footer-statement strong{display:block;color:#fff;font-size:clamp(3rem,4.7vw,5.5rem);font-weight:750;letter-spacing:-.065em;line-height:.82}.exterior-footer-statement strong em{color:#72d2df;font-style:normal}.exterior-footer-statement p{max-width:660px;margin:27px 0 0;color:rgba(255,255,255,.6);font-size:.96rem;line-height:1.75}
.exterior-footer-contact{position:relative;margin:0;padding:35px;border:1px solid rgba(255,255,255,.14);border-left:5px solid #ffc107;background:rgba(255,255,255,.045);box-shadow:0 30px 80px rgba(0,0,0,.25);backdrop-filter:blur(12px)}
.exterior-footer-contact>span{margin-bottom:15px;color:#72d2df}.exterior-footer-contact>strong{margin:0 0 27px;color:#fff;font-size:clamp(1.65rem,2.2vw,2.35rem);letter-spacing:-.04em;line-height:1.04}.exterior-footer-contact>small,.exterior-footer-service small{margin-top:0}.exterior-footer-contact>a:not(.exterior-footer-project){display:flex;justify-content:space-between;align-items:center;gap:15px;padding:11px 0 20px;border-bottom:1px solid rgba(255,255,255,.13);font-size:.84rem}.exterior-footer-contact a b{color:#ffc107;font-size:1.05rem;transition:transform .25s}.exterior-footer-contact a:hover b{transform:translate(4px,-4px)}
.exterior-footer-service{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;padding:19px 0}.exterior-footer-service small{align-self:center}.exterior-footer-service p{margin:0;color:#fff;font-size:.85rem}
.exterior-footer-project{display:flex!important;align-items:center;justify-content:space-between;gap:20px;margin-top:4px!important;padding:18px 20px!important;background:#ffc107;color:#0a0d0f!important;font-size:.64rem!important;font-weight:950;letter-spacing:.12em;text-transform:uppercase;transition:background .25s,transform .25s}.exterior-footer-project b{color:#0a0d0f!important}.exterior-footer-project:hover{background:#72d2df;transform:translateY(-4px)}
.exterior-footer-contact .exterior-footer-contact-email{display:block;margin:18px 0 0;padding:0;color:#fff;font-size:.82rem;font-weight:850;line-height:1.4;overflow-wrap:anywhere;text-decoration:none}.exterior-footer-contact .exterior-footer-contact-email:hover{color:#ffc107}
.exterior-footer-scope{position:relative;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.exterior-footer-scope span{position:relative;padding:17px 8px;border-right:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.57);font-size:.54rem;font-weight:900;letter-spacing:.11em;text-align:center;text-transform:uppercase}.exterior-footer-scope span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;background:#ffc107;transform:rotate(45deg)}.exterior-footer-scope span:nth-child(even):before{background:#72d2df}
.exterior-footer-bottom{padding-top:24px;border-top:0}.exterior-footer-bottom nav{display:flex;gap:28px}.exterior-footer-bottom nav a{color:rgba(255,255,255,.66)}
@keyframes exteriorFooterEdge{to{background-position:200% 0}}@keyframes exteriorFooterFloat{to{transform:rotate(52deg) translate3d(-18px,18px,0)}}@keyframes exteriorFooterMark{50%{transform:rotate(135deg)}}
@media(max-width:1050px){.exterior-footer-grid{grid-template-columns:1fr}.exterior-footer-contact{margin-left:176px;max-width:650px}.exterior-footer-lines i:nth-child(4){left:50%}}
@media(max-width:760px){.exterior-footer-intro{align-items:flex-start;gap:20px}.exterior-footer-intro p{text-align:right}.exterior-footer-brand{grid-template-columns:82px minmax(0,1fr);gap:24px}.exterior-footer-mark{width:82px;height:82px}.exterior-footer-mark span{font-size:1.5rem}.exterior-footer-statement strong{font-size:clamp(2.65rem,12vw,4rem)}.exterior-footer-contact{margin-left:106px;padding:27px}.exterior-footer-scope{grid-template-columns:repeat(2,1fr)}.exterior-footer-scope span{border-bottom:1px solid rgba(255,255,255,.08)}.exterior-footer-bottom{display:grid;grid-template-columns:1fr}.exterior-footer-bottom nav{order:-1}}
@media(max-width:520px){.exterior-footer-brand{grid-template-columns:1fr}.exterior-footer-contact{margin-left:0}.exterior-footer-statement strong{font-size:clamp(2.55rem,14vw,3.55rem)}.exterior-footer-service{grid-template-columns:1fr}.exterior-footer-service p{margin-top:4px}.exterior-footer-project{padding:17px 16px!important}.exterior-footer-lines i:nth-child(4){display:none}}
@media(prefers-reduced-motion:reduce){.exterior-footer:after,.exterior-footer-lines i,.exterior-footer-mark i{animation:none}}

/* Node 16 wide-screen balance based on the 2558px page review. */
.exterior-hero{overflow:hidden}
.exterior-page .container,.exterior-footer .container{width:min(1500px,calc(100% - 80px));max-width:none}
.exterior-overview-grid{grid-template-columns:minmax(0,1.12fr) minmax(440px,.88fr);gap:clamp(55px,6vw,105px)}
.exterior-overview-copy h2{max-width:800px;font-size:clamp(2.75rem,3.5vw,4.65rem);line-height:.97;letter-spacing:-.035em}
.exterior-heading{max-width:1080px}.exterior-heading h2{font-size:clamp(2.65rem,3.5vw,4.55rem);line-height:.98;letter-spacing:-.03em}
.exterior-service-grid{gap:22px}.exterior-service-card{min-width:0}.exterior-card-copy{padding:clamp(1.55rem,2vw,2.15rem)}
.exterior-card-copy p{font-size:clamp(.9rem,.9vw,1rem);line-height:1.68}
.exterior-footer-grid{grid-template-columns:minmax(0,1.25fr) minmax(460px,.62fr);gap:clamp(70px,7vw,130px)}
.exterior-footer-contact>strong{font-size:clamp(1.55rem,1.75vw,2.15rem);overflow-wrap:normal;word-break:normal;hyphens:none}
.exterior-footer-keep{white-space:nowrap}
.exterior-footer-note{display:flex;align-items:center;gap:12px;margin-top:7px;padding-top:19px;border-top:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.56);font-size:.57rem;font-weight:900;letter-spacing:.1em;line-height:1.55;text-transform:uppercase;white-space:nowrap}.exterior-footer-note i{flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#72d2df;box-shadow:0 0 0 6px rgba(114,210,223,.08);animation:exteriorFooterStatus 2.8s ease-in-out infinite}@keyframes exteriorFooterStatus{50%{box-shadow:0 0 0 11px rgba(114,210,223,0)}}
@media(max-width:1180px){.exterior-overview-grid{grid-template-columns:1fr}.exterior-footer-grid{grid-template-columns:1fr}.exterior-footer-contact{max-width:720px}}
@media(max-width:760px){.exterior-page .container,.exterior-footer .container{width:calc(100% - 30px)}.exterior-overview-copy h2,.exterior-heading h2{font-size:clamp(2.2rem,10vw,3.35rem)}.exterior-footer-keep{white-space:normal}}
@media(prefers-reduced-motion:reduce){.exterior-footer-note i{animation:none}}
@media(max-width:520px){.exterior-footer-note{gap:9px;font-size:.49rem;letter-spacing:.055em}.exterior-footer-note i{flex-basis:7px;width:7px;height:7px}}

/* Refined Node 16 monogram and mathematically centered copyright. */
.exterior-footer-mark{isolation:isolate;background:#ffc107;border:1px solid rgba(255,255,255,.22);box-shadow:0 24px 55px rgba(0,0,0,.3),0 0 0 9px rgba(255,193,7,.055);transition:transform .3s ease,box-shadow .3s ease}
.exterior-footer-mark:before{z-index:-1;left:auto;right:-26px;top:-26px;bottom:auto;width:62px;height:62px;border:1px solid rgba(5,10,13,.45);background:transparent;transform:rotate(45deg)}
.exterior-footer-mark:after{z-index:1;top:auto;left:14px;right:14px;bottom:13px;width:auto;height:3px;background:#050a0d}
.exterior-footer-mark:hover{transform:translateY(-5px);box-shadow:0 32px 68px rgba(0,0,0,.38),0 0 0 9px rgba(255,193,7,.075)}
.exterior-footer-mark span{letter-spacing:-.055em}
.exterior-footer-brand:has(.exterior-footer-mark--image){grid-template-columns:230px minmax(0,1fr)}
.exterior-footer-mark.exterior-footer-mark--image{width:230px;height:139px;padding:0;border:0;background:transparent;box-shadow:none;overflow:hidden}
.exterior-footer-mark.exterior-footer-mark--image:before,.exterior-footer-mark.exterior-footer-mark--image:after{display:none}
.exterior-footer-mark.exterior-footer-mark--image img{display:block;width:100%;height:100%!important;object-fit:contain;object-position:center}
.exterior-footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1500px,calc(100% - 80px))}
.exterior-footer-bottom>span{grid-column:2;margin:0;text-align:center;white-space:nowrap}
.exterior-footer-bottom nav{grid-column:3;justify-self:end}
@media(max-width:760px){.exterior-footer-bottom{grid-template-columns:1fr;width:calc(100% - 30px);text-align:center}.exterior-footer-bottom>span{grid-column:1;grid-row:2;white-space:normal}.exterior-footer-bottom nav{grid-column:1;grid-row:1;justify-self:center}}
@media(max-width:760px){.exterior-footer-brand:has(.exterior-footer-mark--image){grid-template-columns:190px minmax(0,1fr)}.exterior-footer-mark.exterior-footer-mark--image{width:190px;height:115px}}
@media(max-width:520px){.exterior-footer-brand:has(.exterior-footer-mark--image){grid-template-columns:1fr}.exterior-footer-mark.exterior-footer-mark--image{width:min(220px,100%);height:auto;aspect-ratio:1196/724}}

/* Shared copyright treatment across every custom page footer. */
.pc-site-copyright{display:block;margin:0;color:rgba(255,255,255,.58)!important;font-size:.72rem!important;font-weight:650!important;letter-spacing:.055em!important;line-height:1.5!important;text-align:center!important;text-transform:none!important;white-space:normal}
.modern-footer-bottom{display:flex;justify-content:center;text-align:center}
.gcx-footer-bottom,.exx-footer-bottom,.cnx-footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.gcx-footer-bottom .pc-site-copyright,.exx-footer-bottom .pc-site-copyright,.cnx-footer-bottom .pc-site-copyright{grid-column:2}
.gcx-footer-bottom>span,.exx-footer-bottom>span,.cnx-footer-bottom>span{grid-column:3;justify-self:end;text-align:right}
@media(max-width:700px){.gcx-footer-bottom,.exx-footer-bottom,.cnx-footer-bottom{grid-template-columns:1fr;gap:10px;text-align:center}.gcx-footer-bottom .pc-site-copyright,.exx-footer-bottom .pc-site-copyright,.cnx-footer-bottom .pc-site-copyright,.gcx-footer-bottom>span,.exx-footer-bottom>span,.cnx-footer-bottom>span{grid-column:1;justify-self:center;text-align:center}}

/* Node 3 — About / company story */
.abx-page{--abx-ink:#091317;--abx-panel:#132126;--abx-paper:#f2efe7;--abx-yellow:#ffc20a;--abx-cyan:#65c7d4;--abx-rust:#d87950;background:var(--abx-paper);color:#172024;overflow:hidden}.abx-page *,.abx-footer *{box-sizing:border-box;hyphens:none;word-break:normal}.abx-wrap{width:min(1480px,calc(100% - 7vw));margin:auto}.abx-label,.abx-eyebrow{color:#a24c2e;font-size:.61rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.abx-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(790px,94vh,980px);padding:120px 0 105px;background:var(--abx-ink);color:#fff}.abx-hero>img{position:absolute;z-index:-4;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:abx-drift 18s ease-in-out infinite alternate}.abx-hero-wash{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(5,15,19,.98) 0 42%,rgba(5,15,19,.76) 65%,rgba(5,15,19,.3)),linear-gradient(0deg,rgba(5,15,19,.9),transparent 52%)}.abx-grid{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,#000,transparent 85%)}.abx-hero:after{content:"";position:absolute;z-index:-1;left:0;top:0;width:7px;height:100%;background:linear-gradient(var(--abx-yellow),var(--abx-cyan),var(--abx-rust));background-size:100% 220%;animation:abx-rail 6s linear infinite}.abx-hero-inner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.55fr);gap:clamp(55px,8vw,130px);align-items:end}.abx-eyebrow{display:block;color:#ffe174;line-height:1.7}.abx-hero h2{max-width:900px;margin:27px 0;color:#fff;font-size:clamp(4rem,6.7vw,8rem);font-weight:900;letter-spacing:-.075em;line-height:.82}.abx-hero h2 em{display:block;color:var(--abx-cyan);font-style:normal}.abx-hero-copy p{max-width:760px;margin:18px 0 0;color:rgba(255,255,255,.7);font-size:clamp(.96rem,1.1vw,1.08rem);line-height:1.75}.abx-proof{display:grid;grid-template-columns:1fr 1fr;background:rgba(6,17,21,.86);border-top:4px solid var(--abx-yellow);box-shadow:0 30px 80px rgba(0,0,0,.38);backdrop-filter:blur(12px)}.abx-proof article{min-height:145px;padding:25px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.abx-proof strong,.abx-proof span{display:block}.abx-proof strong{color:#fff;font-size:clamp(1.5rem,2vw,2.2rem);letter-spacing:-.04em}.abx-proof span{margin-top:8px;color:rgba(255,255,255,.55);font-size:.57rem;font-weight:900;letter-spacing:.1em;line-height:1.45;text-transform:uppercase}.abx-hero-rail{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(6,17,21,.92);backdrop-filter:blur(10px)}.abx-hero-rail span{padding:20px;border-right:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.72);font-size:.58rem;font-weight:950;letter-spacing:.16em;text-align:center;text-transform:uppercase}.abx-hero-rail span:before{content:"";display:inline-block;width:7px;height:7px;margin-right:10px;background:var(--abx-yellow);transform:rotate(45deg)}.abx-hero-rail span:nth-child(even):before{background:var(--abx-cyan)}
.abx-story{padding:clamp(100px,10vw,160px) 0;background:var(--abx-paper)}.abx-story-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(55px,8vw,130px);align-items:center}.abx-story-media{position:relative;min-height:680px;margin:0;overflow:hidden;box-shadow:0 35px 90px rgba(23,32,36,.18)}.abx-story-media:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,19,23,.88),transparent 55%)}.abx-story-media img{width:100%;height:100%;min-height:680px;object-fit:cover;transition:transform 1s}.abx-story-media:hover img{transform:scale(1.04)}.abx-story-media figcaption{position:absolute;z-index:2;left:38px;right:38px;bottom:38px;padding-left:24px;border-left:5px solid var(--abx-yellow);color:#fff}.abx-story-media figcaption span,.abx-story-media figcaption b{display:block}.abx-story-media figcaption span{color:#8ee1eb;font-size:.57rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.abx-story-media figcaption b{max-width:500px;margin-top:12px;font-size:clamp(1.5rem,2.3vw,2.6rem);line-height:1.05}.abx-story-copy h2,.abx-section-head h2,.abx-standards h2,.abx-lasting h2,.abx-cta h2{margin:22px 0;color:#152024;font-size:clamp(3.1rem,4.8vw,6rem);font-weight:750;letter-spacing:-.07em;line-height:.86}.abx-story-copy h2 em,.abx-section-head h2 em,.abx-lasting h2 em,.abx-cta h2 em{color:#b95635;font-style:normal}.abx-story-copy p{max-width:720px;margin:18px 0;color:#566166;font-size:1rem;line-height:1.8}
.abx-approach{position:relative;padding:clamp(100px,10vw,155px) 0;background:#0c191d;color:#fff;overflow:hidden}.abx-approach:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 88% 15%,rgba(101,199,212,.13),transparent 30%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px}.abx-section-head{position:relative;display:grid;grid-template-columns:1fr .72fr;gap:70px;align-items:end}.abx-section-head .abx-label{color:#71d5e1}.abx-section-head h2{color:#fff}.abx-section-head h2 em{color:var(--abx-yellow)}.abx-section-head>p{max-width:650px;margin:0;color:rgba(255,255,255,.62);line-height:1.78}.abx-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:75px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.13)}.abx-steps article{position:relative;min-height:330px;padding:38px 30px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);transition:background .35s,transform .35s}.abx-steps article:before{content:"";position:absolute;left:0;top:-2px;width:0;height:4px;background:var(--abx-yellow);transition:width .5s}.abx-steps article:nth-child(even):before{background:var(--abx-cyan)}.abx-steps article:hover{background:rgba(255,255,255,.05);transform:translateY(-7px)}.abx-steps article:hover:before{width:100%}.abx-steps span{color:#79dbe6;font-size:.58rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.abx-steps h3{margin:65px 0 18px;color:#fff;font-size:clamp(1.5rem,1.8vw,2rem);letter-spacing:-.035em;line-height:1.05}.abx-steps p{margin:0;color:rgba(255,255,255,.56);font-size:.88rem;line-height:1.72}
.abx-standards{padding:clamp(100px,10vw,150px) 0;background:#e3ded4}.abx-standards header{display:grid;grid-template-columns:.4fr 1fr;align-items:end;margin-bottom:65px}.abx-standards h2{margin:0}.abx-standard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.abx-standard-grid article{position:relative;min-height:280px;padding:35px;background:#f8f5ee;border-top:5px solid #bd5d3c;box-shadow:0 18px 50px rgba(27,37,40,.08);transition:transform .35s,background .35s}.abx-standard-grid article:nth-child(even){border-color:#55aebb}.abx-standard-grid article:hover{transform:translateY(-8px);background:#fff}.abx-standard-grid i{display:grid;place-items:center;width:38px;height:38px;background:#17252a;color:#fff;font-size:.72rem;font-style:normal;font-weight:950}.abx-standard-grid h3{margin:42px 0 14px;color:#182226;font-size:1.45rem}.abx-standard-grid p{margin:0;color:#5c666a;font-size:.9rem;line-height:1.7}
.abx-capability{display:grid;grid-template-columns:1fr 1fr;min-height:850px;background:#18272c;color:#fff}.abx-capability-media{min-height:650px;overflow:hidden}.abx-capability-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.08);transition:transform 1s}.abx-capability:hover img{transform:scale(1.035)}.abx-capability-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,7vw,120px)}.abx-capability-copy .abx-label{color:#7dd9e4}.abx-capability-copy h2{margin:22px 0;color:#fff;font-size:clamp(3rem,4.6vw,5.6rem);font-weight:750;letter-spacing:-.07em;line-height:.86}.abx-capability-copy h2 em{display:block;color:var(--abx-yellow);font-style:normal}.abx-capability-copy>p{max-width:700px;color:rgba(255,255,255,.65);line-height:1.8}.abx-strengths{display:grid;grid-template-columns:1fr 1fr;margin-top:32px;border-top:1px solid rgba(255,255,255,.14)}.abx-strengths article{padding:22px 20px 22px 0;border-bottom:1px solid rgba(255,255,255,.14)}.abx-strengths article:nth-child(odd){border-right:1px solid rgba(255,255,255,.14)}.abx-strengths article:nth-child(even){padding-left:20px}.abx-strengths b,.abx-strengths span{display:block}.abx-strengths b{color:#fff;font-size:.82rem}.abx-strengths span{margin-top:7px;color:rgba(255,255,255,.48);font-size:.72rem;line-height:1.5}
.abx-lasting{padding:clamp(105px,11vw,175px) 0;background:#f2efe7;text-align:center}.abx-lasting h2{margin-left:auto;margin-right:auto}.abx-lasting p{max-width:850px;margin:30px auto;color:#586367;font-size:1.04rem;line-height:1.8}.abx-lasting>div>div{display:flex;justify-content:center;gap:0;margin-top:48px}.abx-lasting>div>div span{padding:17px 30px;border:1px solid #b9b1a4;color:#293337;font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.abx-lasting>div>div span+span{border-left:0}.abx-cta{position:relative;padding:clamp(85px,9vw,140px) 0;background:linear-gradient(120deg,#d87950 0 46%,#f0b70c 46% 49%,#0c1a1e 49%);color:#fff}.abx-cta>.abx-wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:80px;align-items:center}.abx-cta .abx-label{color:#fff}.abx-cta h2{color:#fff}.abx-cta h2 em{color:#0c1a1e}.abx-cta p{max-width:820px;color:rgba(255,255,255,.78);line-height:1.75}.abx-cta small{display:block;margin-top:25px;color:#182226;font-size:.58rem;font-weight:950;letter-spacing:.12em;line-height:1.6;text-transform:uppercase}.abx-cta a{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:0 26px;background:#fff;color:#10191c;font-size:.64rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;box-shadow:0 24px 65px rgba(0,0,0,.25);transition:transform .35s,background .35s}.abx-cta a:hover{background:var(--abx-cyan);transform:translateY(-7px)}.abx-cta a b{font-size:1.15rem}
.abx-footer{padding:38px 0 26px;background:#071115;color:#fff}.abx-footer>.abx-wrap{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center}.abx-footer>div>div{display:flex;align-items:center;gap:18px}.abx-footer strong{color:#fff;font-size:1.15rem}.abx-footer>div>div span{padding-left:18px;border-left:1px solid rgba(255,255,255,.2);color:#78d6e1;font-size:.57rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.abx-footer a{color:#fff;font-size:.77rem;text-decoration:none}.abx-footer a b{margin-left:10px;color:var(--abx-yellow)}.abx-footer .pc-site-copyright{grid-column:1/-1;width:100%;padding-top:24px;border-top:1px solid rgba(255,255,255,.13)}
@keyframes abx-drift{to{transform:scale(1.045)}}@keyframes abx-rail{to{background-position:0 220%}}
@media(max-width:1100px){.abx-hero-inner{grid-template-columns:1fr}.abx-proof{grid-template-columns:repeat(4,1fr)}.abx-proof article{min-height:110px}.abx-story-grid,.abx-section-head{grid-template-columns:1fr}.abx-steps{grid-template-columns:1fr 1fr}.abx-standards header{grid-template-columns:1fr;gap:20px}.abx-capability{grid-template-columns:1fr}.abx-capability-media{height:650px}.abx-cta>.abx-wrap{grid-template-columns:1fr}.abx-cta a{width:min(100%,300px)}}
@media(max-width:700px){.abx-wrap{width:calc(100% - 30px)}.abx-hero{min-height:auto;padding:120px 0 125px}.abx-hero h2{font-size:clamp(3.2rem,14vw,4.5rem)}.abx-eyebrow{font-size:.52rem}.abx-proof{grid-template-columns:1fr 1fr}.abx-proof article{min-height:105px;padding:18px}.abx-hero-rail span{padding:16px 4px;font-size:.48rem}.abx-hero-rail span:before{display:none}.abx-story-grid{gap:50px}.abx-story-media,.abx-story-media img{min-height:480px}.abx-story-media figcaption{left:22px;right:22px;bottom:25px}.abx-story-copy h2,.abx-section-head h2,.abx-standards h2,.abx-lasting h2,.abx-cta h2{font-size:clamp(2.8rem,12vw,4rem)}.abx-steps,.abx-standard-grid{grid-template-columns:1fr}.abx-steps article{min-height:0}.abx-steps h3{margin-top:45px}.abx-standard-grid article{min-height:220px}.abx-capability-media{height:460px;min-height:0}.abx-capability-copy{padding:70px 22px}.abx-capability-copy h2{font-size:clamp(2.8rem,12vw,4rem)}.abx-strengths{grid-template-columns:1fr}.abx-strengths article:nth-child(odd){border-right:0}.abx-strengths article:nth-child(even){padding-left:0}.abx-lasting>div>div{display:grid}.abx-lasting>div>div span+span{border-left:1px solid #b9b1a4;border-top:0}.abx-cta{background:linear-gradient(150deg,#d87950 0 68%,#f0b70c 68% 70%,#0c1a1e 70%)}.abx-cta h2 em{color:#fff}.abx-cta small{color:#fff}.abx-footer>.abx-wrap{grid-template-columns:1fr;text-align:center}.abx-footer>div>div{justify-content:center;flex-wrap:wrap}.abx-footer a{overflow-wrap:anywhere}.abx-footer .pc-site-copyright{grid-column:1}}
@media(prefers-reduced-motion:reduce){.abx-page *{animation:none!important;transition:none!important}}
/* Keep the four construction-market accents distinct across every page. */
.portfolio-market-bar>span:nth-child(4):before{background:#a9df68}
.trust-band-copy .no-break{white-space:nowrap}
body:has(.hero-slider) .mission-pill-row span:nth-child(4):before{background:#a9df68!important}

/* Persistent current-page marker for desktop and mobile navigation. */
.nav-links a{position:relative;padding:.45rem 0}
.nav-links a.is-current,.nav-links a[aria-current="page"]{color:#ffd000}
.nav-links a.is-current:after,.nav-links a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:3px;background:linear-gradient(90deg,#ff8a43,#ffd000);box-shadow:0 0 14px rgba(255,208,0,.38)}
.mobile-nav-overlay a.is-current,.mobile-nav-overlay a[aria-current="page"]{color:#ffd000}

/* Give the simplified homepage headline a deliberate architectural frame. */
body:has(.hero-slider) .hero-content{
  position:relative;
  width:min(960px,82vw);
  max-width:960px;
  min-height:clamp(285px,27vw,350px);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);
  align-items:stretch;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  border-left:6px solid var(--home-yellow);
  background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(105deg,rgba(5,13,17,.9),rgba(5,13,17,.55));
  background-size:42px 42px,42px 42px,auto;
  box-shadow:0 32px 90px rgba(0,0,0,.42),inset 0 0 70px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  overflow:hidden;
}
body:has(.hero-slider) .hero-content:before{
  content:"";
  position:absolute;
  top:-1px;
  right:-1px;
  width:90px;
  height:5px;
  background:linear-gradient(90deg,var(--home-orange),var(--home-blue));
}
body:has(.hero-slider) .hero-content:after{
  content:"";
  position:absolute;
  right:18px;
  bottom:18px;
  width:34px;
  height:34px;
  border-right:1px solid rgba(255,255,255,.34);
  border-bottom:1px solid rgba(255,255,255,.34);
}
body:has(.hero-slider) .hero-copy-primary{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,4vw,58px) clamp(28px,4.5vw,62px)}
body:has(.hero-slider) .hero-content .hero-kicker{position:relative;z-index:2;margin-bottom:22px;background:transparent;padding-left:0;border-left:0}
body:has(.hero-slider) .hero-content .hero-kicker:after{content:"";width:clamp(45px,7vw,110px);height:2px;margin-left:14px;background:linear-gradient(90deg,var(--home-yellow),transparent)}
body:has(.hero-slider) .hero-content h2{position:relative;z-index:2;margin:0!important;text-shadow:0 12px 36px rgba(0,0,0,.48)}
body:has(.hero-slider) .hero-content h2 span{text-shadow:0 0 32px rgba(255,208,0,.14)}
.hero-structure{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:25px 22px;border-left:1px solid rgba(255,255,255,.13);background:linear-gradient(155deg,rgba(37,184,218,.1),rgba(255,208,0,.035));overflow:hidden}
.hero-structure:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.hero-structure-code{color:#82e2f0;font-size:.56rem;font-weight:950;letter-spacing:.18em}.hero-structure-mark{position:relative;display:grid;place-items:center;width:130px;height:130px;margin:auto;border:1px solid rgba(255,255,255,.18);border-radius:50%;box-shadow:0 0 0 18px rgba(255,255,255,.025),0 0 0 36px rgba(37,184,218,.025)}.hero-structure-mark strong{color:transparent;font-size:3.5rem;font-weight:950;letter-spacing:-.09em;-webkit-text-stroke:1px rgba(255,255,255,.58)}.hero-structure-mark i{position:absolute;background:rgba(255,255,255,.18)}.hero-structure-mark i:nth-of-type(1),.hero-structure-mark i:nth-of-type(2){left:-35px;right:-35px;height:1px}.hero-structure-mark i:nth-of-type(1){top:35%}.hero-structure-mark i:nth-of-type(2){bottom:35%}.hero-structure-mark i:nth-of-type(3),.hero-structure-mark i:nth-of-type(4){top:-35px;bottom:-35px;width:1px}.hero-structure-mark i:nth-of-type(3){left:35%}.hero-structure-mark i:nth-of-type(4){right:35%}.hero-structure-axis{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.hero-structure-axis span{padding-top:8px;border-top:2px solid var(--home-yellow);color:rgba(255,255,255,.55);font-size:.43rem;font-weight:900;letter-spacing:.08em;text-align:center}.hero-structure-axis span:nth-child(2){border-color:var(--home-orange)}.hero-structure-axis span:nth-child(3){border-color:var(--home-blue)}.hero-structure>small{position:absolute;right:20px;top:25px;color:rgba(255,255,255,.35);font-size:.48rem;font-weight:900;letter-spacing:.13em}
@media(max-width:800px){body:has(.hero-slider) .hero-content{width:min(700px,88vw);grid-template-columns:1fr minmax(150px,.3fr)}.hero-structure-mark{width:100px;height:100px}.hero-structure-mark strong{font-size:2.8rem}}
@media(max-width:650px){body:has(.hero-slider) .hero-content{width:100%;min-height:270px;grid-template-columns:1fr;border-left-width:4px}body:has(.hero-slider) .hero-copy-primary{padding:28px 21px}.hero-structure{display:none}body:has(.hero-slider) .hero-content:after{width:24px;height:24px;right:12px;bottom:12px}}

/* Simplified hero schematic: visual structure without filler labels. */
body:has(.hero-slider) .hero-copy-primary{padding-left:clamp(26px,3vw,40px);padding-right:clamp(26px,3vw,40px)}
body:has(.hero-slider) .hero-content h2{font-size:clamp(2.65rem,3.4vw,3.55rem)!important;max-width:560px!important;line-height:.92!important}
.hero-structure{justify-content:center;padding:24px;background:linear-gradient(155deg,rgba(37,184,218,.12),rgba(255,208,0,.04))}
.hero-structure-plan{position:relative;width:100%;height:100%;min-height:250px;border:1px solid rgba(255,255,255,.11);background:radial-gradient(circle at 50% 44%,rgba(37,184,218,.12),transparent 38%)}
.hero-structure-plan:before,.hero-structure-plan:after{content:"";position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.17);border-radius:50%;transform:translate(-50%,-50%)}
.hero-structure-plan:before{width:128px;height:128px;box-shadow:0 0 0 25px rgba(255,255,255,.018)}
.hero-structure-plan:after{width:48px;height:48px;border-color:rgba(255,208,0,.52);box-shadow:0 0 24px rgba(255,208,0,.1)}
.hero-structure-plan>span{position:absolute;bottom:34px;width:18px;border:1px solid rgba(255,255,255,.28);border-bottom:3px solid var(--home-yellow);background:linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.01))}
.hero-structure-plan>span:nth-of-type(1){left:22%;height:68px}.hero-structure-plan>span:nth-of-type(2){left:39%;height:112px;border-bottom-color:var(--home-orange)}.hero-structure-plan>span:nth-of-type(3){left:56%;height:152px;border-bottom-color:var(--home-blue)}.hero-structure-plan>span:nth-of-type(4){left:73%;height:92px;border-bottom-color:#a9df68}
.hero-structure-plan>i{position:absolute;background:rgba(255,255,255,.18)}.hero-structure-plan>i:nth-of-type(1){left:12%;right:12%;top:26%;height:1px}.hero-structure-plan>i:nth-of-type(2){top:12%;bottom:12%;left:50%;width:1px}.hero-structure-plan>i:nth-of-type(3){left:18%;right:18%;bottom:22px;height:1px}
.hero-structure-plan>b{position:absolute;right:12px;top:12px;width:30px;height:30px;border-top:3px solid var(--home-blue);border-right:3px solid var(--home-blue)}

/* Landing hero editorial composition. */
body:has(.hero-slider) .hero-content{width:100%;max-width:1180px!important;min-height:clamp(320px,31vw,410px);grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);background:rgba(5,13,17,.76)}
body:has(.hero-slider) .hero-copy-primary{padding:clamp(38px,4vw,60px) clamp(34px,4.5vw,66px)}
body:has(.hero-slider) .hero-content h2{display:grid;gap:4px;max-width:650px!important;font-size:clamp(3rem,4vw,4.35rem)!important;line-height:.82!important}
body:has(.hero-slider) .hero-content h2 .hero-title-line{display:grid;grid-template-columns:clamp(82px,8vw,118px) 1fr;align-items:baseline;color:#fff;text-shadow:none}
body:has(.hero-slider) .hero-title-line small{color:rgba(255,255,255,.52);font-size:.25em;font-weight:950;letter-spacing:.2em;text-transform:uppercase}
body:has(.hero-slider) .hero-title-line strong{color:#fff!important;font:inherit;font-weight:950;letter-spacing:-.045em;text-transform:uppercase}
body:has(.hero-slider) .hero-title-line:last-child strong{color:var(--home-yellow)!important}
.hero-structure{padding:0;border-left:1px solid rgba(255,255,255,.17);background:#0a171c}
.hero-structure:before{z-index:3;inset:18px;border-color:rgba(255,255,255,.2)}
.hero-project-detail{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,14,18,.04),rgba(5,14,18,.48)),url('../images/gallery/Gallery Page Used/installer.jpg') 68% center/cover no-repeat;filter:saturate(.82);transition:transform 1.2s ease,filter .7s ease}
.hero-project-detail:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(var(--home-blue),var(--home-yellow),var(--home-orange))}
.hero-project-detail:after{content:"";position:absolute;right:30px;bottom:30px;width:58px;height:58px;border-right:2px solid rgba(255,255,255,.65);border-bottom:2px solid rgba(255,255,255,.65)}
body:has(.hero-slider) .hero-content:hover .hero-project-detail{transform:scale(1.035);filter:saturate(.9)}
@media(max-width:900px){body:has(.hero-slider) .hero-content{grid-template-columns:minmax(0,1fr) minmax(220px,.42fr)}body:has(.hero-slider) .hero-content h2 .hero-title-line{grid-template-columns:72px 1fr}}
@media(max-width:650px){body:has(.hero-slider) .hero-content{min-height:290px;grid-template-columns:1fr}body:has(.hero-slider) .hero-content h2{font-size:clamp(2.5rem,12vw,3.4rem)!important}body:has(.hero-slider) .hero-content h2 .hero-title-line{grid-template-columns:62px 1fr}.hero-structure{display:none}}

/* Final landing hero: full-bleed installer image with one focused message. */
body:has(.hero-slider) .hero-slider .slide{background-position:64% center!important}
body:has(.hero-slider) .hero-slider .overlay{background:linear-gradient(90deg,rgba(4,11,14,.94) 0%,rgba(4,11,14,.8) 38%,rgba(4,11,14,.28) 70%,rgba(4,11,14,.08) 100%)}
body:has(.hero-slider) .hero-content{display:block;width:min(700px,62vw);max-width:700px!important;min-height:0;padding:0;border:0;border-left:6px solid var(--home-yellow);background:rgba(5,13,17,.74);box-shadow:0 30px 90px rgba(0,0,0,.38);backdrop-filter:blur(7px);overflow:hidden}
body:has(.hero-slider) .hero-copy-primary{min-height:330px;padding:clamp(42px,5vw,66px) clamp(34px,5vw,68px)}
body:has(.hero-slider) .home-hero-corner{display:none}
body:has(.hero-slider) .hero-content:before{width:140px}
@media(max-width:650px){body:has(.hero-slider) .hero-slider .slide{background-position:68% center!important}body:has(.hero-slider) .hero-content{width:100%;border-left-width:4px}body:has(.hero-slider) .hero-copy-primary{min-height:275px;padding:30px 24px}}

/* Crane hero with two complete, readable brand statements. */
body:has(.hero-slider) .hero-slider .slide{background-position:64% center!important}
body:has(.hero-slider) .hero-slider .overlay{background:linear-gradient(90deg,rgba(4,11,14,.95) 0%,rgba(4,11,14,.72) 46%,rgba(4,11,14,.2) 78%,rgba(4,11,14,.06) 100%)}
body:has(.hero-slider) .hero-content{width:min(690px,62vw);max-width:690px!important;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),rgba(5,13,17,.78);background-size:48px 48px,48px 48px,auto}
body:has(.hero-slider) .hero-copy-primary{min-height:350px}
body:has(.hero-slider) .hero-content h2{display:grid;gap:3px;width:100%;max-width:600px!important;font-size:clamp(3rem,4.5vw,4.75rem)!important;line-height:.88!important}
body:has(.hero-slider) .hero-content h2 .hero-phrase-line{display:block;color:#fff!important;font:inherit;font-weight:950;letter-spacing:-.045em;text-transform:uppercase;white-space:nowrap}
body:has(.hero-slider) .hero-content h2 .hero-phrase-line:last-child{color:var(--home-yellow)!important}
@media(max-width:650px){body:has(.hero-slider) .hero-content{width:100%}body:has(.hero-slider) .hero-content h2{font-size:clamp(2.4rem,11.5vw,3.35rem)!important}body:has(.hero-slider) .hero-content h2 .hero-phrase-line{white-space:normal}}

/* Responsive landing statement sized to its panel, with no forced clipping. */
body:has(.hero-slider) .hero-content{width:min(640px,58vw);max-width:640px!important;border-left:0;background:rgba(5,13,17,.82);overflow:visible}
body:has(.hero-slider) .hero-copy-primary{position:relative;min-height:340px;padding:62px 54px 72px;border-left:6px solid var(--home-yellow)}
body:has(.hero-slider) .hero-copy-primary:after{content:"";position:absolute;left:54px;right:54px;bottom:38px;height:5px;background:linear-gradient(90deg,var(--home-yellow) 0 34%,var(--home-orange) 34% 67%,var(--home-blue) 67%)}
body:has(.hero-slider) .hero-content .hero-kicker{align-self:flex-start;margin-bottom:28px;padding:10px 13px;background:var(--home-yellow);color:#111;font-size:.64rem;line-height:1.15;letter-spacing:.13em}
body:has(.hero-slider) .hero-content .hero-kicker:after{display:none}
body:has(.hero-slider) .hero-content h2{display:grid;gap:8px;width:100%;max-width:none!important;font-size:clamp(2.65rem,3.6vw,3.65rem)!important;line-height:.9!important}
body:has(.hero-slider) .hero-content h2 .hero-phrase-line{width:100%;white-space:normal;overflow-wrap:normal;word-break:normal}
@media(max-width:650px){body:has(.hero-slider) .hero-content{width:100%}body:has(.hero-slider) .hero-copy-primary{min-height:285px;padding:34px 24px 58px;border-left-width:4px}body:has(.hero-slider) .hero-copy-primary:after{left:24px;right:24px;bottom:26px}body:has(.hero-slider) .hero-content h2{font-size:clamp(2.35rem,10.8vw,3.15rem)!important}}

/* Responsive tuning for the landing statement. */
@media(min-width:651px) and (max-width:900px){
  body:has(.hero-slider) .hero-content{width:min(640px,calc(100vw - 40px));max-width:640px!important}
  body:has(.hero-slider) .hero-copy-primary{min-height:320px;padding:50px 44px 66px}
  body:has(.hero-slider) .hero-copy-primary:after{left:44px;right:44px;bottom:34px}
  body:has(.hero-slider) .hero-content h2{font-size:clamp(2.8rem,6.6vw,3.45rem)!important}
}
@media(max-width:650px){
  body:has(.hero-slider) .hero-center{width:calc(100% - 24px)}
  body:has(.hero-slider) .hero-content .hero-kicker{width:fit-content;max-width:100%;padding:9px 11px;font-size:.56rem;line-height:1.25}
  body:has(.hero-slider) .hero-content h2{font-size:clamp(2.15rem,9vw,2.8rem)!important;line-height:.94!important;gap:6px}
}
@media(max-width:420px){
  body:has(.hero-slider) .hero-copy-primary{min-height:270px;padding:28px 18px 54px}
  body:has(.hero-slider) .hero-copy-primary:after{left:18px;right:18px;bottom:24px;height:4px}
  body:has(.hero-slider) .hero-content .hero-kicker{font-size:.5rem;letter-spacing:.1em}
  body:has(.hero-slider) .hero-content h2{font-size:clamp(2rem,8.8vw,2.35rem)!important}
}

/* Homepage hero: architectural composition with restrained motion. */
body:has(.hero-slider) .hero-content{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);
  width:min(920px,76vw);
  max-width:920px!important;
  border:1px solid rgba(255,255,255,.16);
  border-left:0;
  background:rgba(5,13,17,.82);
  box-shadow:0 36px 100px rgba(0,0,0,.42);
  backdrop-filter:blur(9px);
  overflow:hidden;
}
body:has(.hero-slider) .hero-copy-primary{
  min-height:360px;
  padding:clamp(42px,5vw,70px) clamp(32px,5vw,70px) 76px;
  border-left:6px solid var(--home-yellow);
}
body:has(.hero-slider) .hero-copy-primary:after{left:clamp(32px,5vw,70px);right:clamp(32px,5vw,70px)}
body:has(.hero-slider) .hero-content h2{font-size:clamp(2.7rem,3.8vw,4rem)!important;line-height:.92!important}
body:has(.hero-slider) .hero-intro{max-width:520px!important;margin:24px 0 0!important;color:rgba(255,255,255,.72);font-size:.98rem!important;line-height:1.65!important}
.hero-motion-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:24px 22px 20px;border-left:1px solid rgba(255,255,255,.13);background:linear-gradient(155deg,rgba(37,184,218,.13),rgba(255,208,0,.035));overflow:hidden}
.hero-motion-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;animation:hero-grid-drift 12s linear infinite;pointer-events:none}
.hero-motion-label,.hero-motion-status{position:relative;z-index:2}.hero-motion-label{display:flex;justify-content:space-between;gap:10px;color:#82e2f0;font-size:.5rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.hero-motion-label b{color:rgba(255,255,255,.48)}
.hero-motion-plan{position:relative;z-index:2;width:158px;height:158px;margin:auto;border:1px solid rgba(255,255,255,.17);border-radius:50%;animation:hero-plan-float 4.5s ease-in-out infinite}
.hero-motion-plan:before,.hero-motion-plan:after{content:"";position:absolute;inset:19px;border:1px solid rgba(37,184,218,.38);border-radius:50%}.hero-motion-plan:after{inset:42px;border-color:rgba(255,208,0,.42)}
.hero-motion-plan>i{position:absolute;background:rgba(255,255,255,.2)}.hero-motion-plan>i:nth-child(1){left:-28px;right:-28px;top:50%;height:1px}.hero-motion-plan>i:nth-child(2){top:-28px;bottom:-28px;left:50%;width:1px}.hero-motion-plan>i:nth-child(3){left:22px;right:22px;top:28%;height:1px;transform:rotate(35deg)}.hero-motion-plan>i:nth-child(4){left:22px;right:22px;bottom:28%;height:1px;transform:rotate(-35deg)}
.hero-motion-core{position:absolute!important;z-index:3!important;inset:50% auto auto 50%!important;display:grid!important;place-items:center;width:76px;height:76px;margin:0!important;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate(-50%,-50%)!important;overflow:visible}.hero-motion-core img{display:block;width:auto;height:70px;max-width:none;object-fit:contain;filter:drop-shadow(0 0 1px rgba(255,255,255,.55)) drop-shadow(0 5px 8px rgba(0,0,0,.38))}.hero-motion-pulse{position:absolute;inset:-1px;border:3px solid transparent;border-top-color:var(--home-yellow);border-radius:50%;filter:drop-shadow(0 0 7px rgba(255,208,0,.5));animation:hero-plan-sequence 6s linear infinite}
.hero-motion-status{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.hero-motion-status span{padding-top:9px;border-top:3px solid var(--home-yellow);color:rgba(255,255,255,.58);font-size:.48rem;font-weight:900;letter-spacing:.1em;text-align:center;text-transform:uppercase}.hero-motion-status span:nth-child(2){border-color:var(--home-orange)}.hero-motion-status span:nth-child(3){border-color:var(--home-blue)}
.hero-motion-status span:nth-child(1){animation:hero-status-plan 6s linear infinite}.hero-motion-status span:nth-child(2){animation:hero-status-build 6s linear infinite}.hero-motion-status span:nth-child(3){animation:hero-status-deliver 6s linear infinite}
@keyframes hero-plan-sequence{0%{transform:rotate(0);border-top-color:var(--home-yellow);filter:drop-shadow(0 0 7px rgba(255,208,0,.55))}32%{transform:rotate(120deg);border-top-color:var(--home-yellow)}33%{border-top-color:var(--home-orange);filter:drop-shadow(0 0 7px rgba(255,113,56,.55))}65%{transform:rotate(240deg);border-top-color:var(--home-orange)}66%{border-top-color:var(--home-blue);filter:drop-shadow(0 0 7px rgba(37,184,218,.55))}100%{transform:rotate(360deg);border-top-color:var(--home-blue);filter:drop-shadow(0 0 7px rgba(37,184,218,.55))}}
@keyframes hero-status-plan{0%,32%{color:#fff;opacity:1}33%,100%{color:rgba(255,255,255,.58);opacity:.65}}@keyframes hero-status-build{0%,32%,66%,100%{color:rgba(255,255,255,.58);opacity:.65}33%,65%{color:#fff;opacity:1}}@keyframes hero-status-deliver{0%,65%{color:rgba(255,255,255,.58);opacity:.65}66%,100%{color:#fff;opacity:1}}
@keyframes hero-core-stage{0%,32%{background-color:var(--home-yellow);box-shadow:0 10px 28px rgba(0,0,0,.48),0 0 24px rgba(255,208,0,.32)}33%,65%{background-color:var(--home-orange);box-shadow:0 10px 28px rgba(0,0,0,.48),0 0 24px rgba(255,113,56,.34)}66%,100%{background-color:var(--home-blue);box-shadow:0 10px 28px rgba(0,0,0,.48),0 0 24px rgba(37,184,218,.34)}}
@keyframes hero-plan-float{50%{transform:translateY(-8px)}}@keyframes hero-grid-drift{to{background-position:24px 24px,24px 24px}}
/* Homepage framework panel: editorial project path, without game-like motion. */
.hero-motion-panel{justify-content:flex-start;padding:28px 25px 24px;border-left:1px solid rgba(255,255,255,.16);background:linear-gradient(165deg,rgba(13,38,45,.97),rgba(7,21,26,.98));overflow:hidden}
.hero-motion-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 11%,rgba(255,255,255,.035) 11% 11.4%,transparent 11.4% 100%);animation:none;pointer-events:none}
.hero-motion-panel:after{content:"";position:absolute;z-index:3;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#ffd000 0 33.333%,#ff7138 33.333% 66.666%,#55d8eb 66.666% 100%);pointer-events:none}
.hero-motion-label{align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.15);color:#8ce7f4;font-size:.52rem;letter-spacing:.15em}
.hero-motion-label b{color:rgba(255,255,255,.38);font-size:.48rem;letter-spacing:.12em}
.hero-framework-intro{position:relative;z-index:2;padding:26px 0 22px;opacity:0;transform:translateY(10px);animation:hero-framework-enter .7s .12s ease-out forwards}
.hero-framework-intro strong,.hero-framework-intro span{display:block}
.hero-framework-intro strong{max-width:12ch;color:#fff;font-size:clamp(1.2rem,1.35vw,1.5rem);font-weight:780;letter-spacing:-.035em;line-height:1.04;text-wrap:balance}
.hero-framework-intro span{margin-top:9px;color:rgba(255,255,255,.5);font-size:.58rem;font-weight:700;letter-spacing:.045em;line-height:1.45;text-transform:uppercase}
.hero-framework-steps{position:relative;z-index:2;display:grid;gap:0;margin:auto 0 0;padding:0;border-bottom:1px solid rgba(255,255,255,.14);list-style:none}
.hero-framework-steps li{position:relative;display:block;padding:14px 10px 14px 15px;border-top:1px solid rgba(255,255,255,.14);opacity:0;transform:translateX(12px);animation:hero-framework-enter .65s ease-out forwards;transition:background .3s ease}
.hero-framework-steps li:nth-child(1){animation-delay:.28s}.hero-framework-steps li:nth-child(2){animation-delay:.44s}.hero-framework-steps li:nth-child(3){animation-delay:.6s}
.hero-framework-steps li:before{content:"";position:absolute;top:14px;bottom:14px;left:0;width:3px;color:#ffd000;background:currentColor;box-shadow:0 0 0 0 rgba(255,208,0,0);animation:hero-framework-marker 9s 1.2s ease-in-out infinite}
.hero-framework-steps li:nth-child(2):before{color:#ff7138;animation-delay:4.2s}.hero-framework-steps li:nth-child(3):before{color:#55d8eb;animation-delay:7.2s}
.hero-framework-steps li:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:linear-gradient(90deg,#ffd000,transparent 75%);transform:scaleX(0);transform-origin:left;animation:hero-framework-line .8s .55s ease-out forwards}
.hero-framework-steps li:nth-child(2):after{background:linear-gradient(90deg,#ff7138,transparent 75%);animation-delay:.7s}.hero-framework-steps li:nth-child(3):after{background:linear-gradient(90deg,#55d8eb,transparent 75%);animation-delay:.85s}
.hero-framework-steps li>span{animation:hero-framework-stage 9s 1.2s ease-in-out infinite}
.hero-framework-steps li:nth-child(2)>span{animation-delay:4.2s}.hero-framework-steps li:nth-child(3)>span{animation-delay:7.2s}
.hero-framework-steps li:hover{background:rgba(255,255,255,.045)}
.hero-framework-steps li>b{color:#ffd000;font-size:.55rem;font-weight:950;letter-spacing:.12em}
.hero-framework-steps li:nth-child(2)>b{color:#ff7138}.hero-framework-steps li:nth-child(3)>b{color:#55d8eb}
.hero-framework-steps li>span,.hero-framework-steps strong,.hero-framework-steps small{display:block;min-width:0}
.hero-framework-steps strong{color:#fff;font-size:.74rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.hero-framework-steps small{margin-top:6px;color:rgba(255,255,255,.6);font-size:.64rem;font-weight:650;letter-spacing:.015em;line-height:1.42}
@keyframes hero-framework-enter{to{opacity:1;transform:none}}
@keyframes hero-framework-line{to{transform:scaleX(1)}}
@keyframes hero-framework-stage{0%,28%,100%{transform:translateX(0);opacity:.68}6%,22%{transform:translateX(5px);opacity:1}}
@keyframes hero-framework-marker{0%,28%,100%{box-shadow:0 0 0 0 rgba(255,255,255,0);filter:brightness(.82)}6%,22%{box-shadow:0 0 16px 1px currentColor;filter:brightness(1.18)}}
@media(max-width:900px){body:has(.hero-slider) .hero-content{width:min(820px,calc(100vw - 40px));grid-template-columns:minmax(0,1fr) 210px}}
@media(max-width:650px){body:has(.hero-slider) .hero-content{display:block;width:100%;border-left:0}body:has(.hero-slider) .hero-copy-primary{min-height:0;padding:32px 24px 58px;border-left-width:4px}body:has(.hero-slider) .hero-copy-primary:after{left:24px;right:24px;bottom:25px}.hero-motion-panel{display:none}body:has(.hero-slider) .hero-intro{margin-top:18px!important;font-size:.88rem!important;line-height:1.55!important}}
@media(min-width:1400px){
  body:has(.hero-slider) .hero-center{width:min(calc(100% - 9vw),1500px)}
  body:has(.hero-slider) .hero-content{width:min(1200px,80vw);max-width:1200px!important;grid-template-columns:minmax(0,1.55fr) minmax(275px,.45fr)}
  body:has(.hero-slider) .hero-copy-primary{min-height:410px;padding-left:clamp(55px,4.5vw,78px);padding-right:clamp(55px,4.5vw,78px)}
  body:has(.hero-slider) .hero-copy-primary:after{left:clamp(55px,4.5vw,78px);right:clamp(55px,4.5vw,78px)}
  body:has(.hero-slider) .hero-intro{max-width:590px!important}
  .hero-motion-panel{padding:32px 30px 27px}
  .hero-motion-plan{width:184px;height:184px}
  .home-hero-topline{left:max(4.5vw,calc((100vw - 1500px)/2));width:min(900px,60vw)}
}
@media(prefers-reduced-motion:reduce){.hero-motion-panel:before,.hero-motion-panel:after,.hero-motion-plan,.hero-motion-pulse,.hero-motion-core,.hero-framework-intro,.hero-framework-steps li,.hero-framework-steps li:before,.hero-framework-steps li:after,.hero-framework-steps li>span{animation:none;opacity:1;transform:none}}

/* Homepage services: wide editorial grid and unified delivery-method feature. */
body:has(.hero-slider) .home-services-showcase{position:relative;padding:clamp(90px,8vw,145px) 0;background:linear-gradient(130deg,#f7f4eb 0%,#fff 54%,#edf8fa 100%);overflow:hidden}
body:has(.hero-slider) .home-services-showcase:before{content:"";position:absolute;right:-150px;top:90px;width:430px;height:430px;border:1px solid rgba(37,184,218,.13);border-radius:50%;box-shadow:0 0 0 70px rgba(37,184,218,.025),0 0 0 140px rgba(255,208,0,.018);pointer-events:none}
body:has(.hero-slider) .home-services-showcase>.container{position:relative;z-index:2;width:min(1500px,calc(100% - 8vw));max-width:1500px}
body:has(.hero-slider) .home-services-showcase .home-services-heading{display:grid;grid-template-columns:minmax(230px,.55fr) minmax(360px,1fr);column-gap:clamp(45px,8vw,130px);align-items:end;max-width:none;margin:0 0 clamp(42px,5vw,72px);text-align:left}
.home-services-eyebrow{grid-column:1;display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#9b6800;font-size:.67rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.home-services-eyebrow:before{content:"";width:42px;height:3px;background:linear-gradient(90deg,var(--home-orange),var(--home-yellow))}
body:has(.hero-slider) .home-services-showcase .home-services-heading h2{grid-column:1;margin:0;font-size:clamp(3rem,4.2vw,5rem);line-height:.9;letter-spacing:-.055em}
body:has(.hero-slider) .home-services-showcase .home-services-heading p{grid-column:2;grid-row:1/3;align-self:end;max-width:720px;margin:0;padding:8px 0 8px clamp(25px,3vw,48px);border-left:1px solid #bdcdd1;color:#50656e;font-size:clamp(.98rem,1.15vw,1.15rem);line-height:1.75}
body:has(.hero-slider) .service-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:clamp(16px,1.6vw,28px)!important;max-width:none;margin:0}
body:has(.hero-slider) .service-showcase-card{position:relative;grid-template-columns:1fr!important;min-height:560px!important;border:1px solid #d7e0e2!important;border-top:0!important;background:#fff!important;box-shadow:0 22px 55px rgba(13,28,36,.11)!important;overflow:hidden}
body:has(.hero-slider) .service-card-image{height:310px!important;min-height:310px!important}body:has(.hero-slider) .service-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(7,20,26,.32));pointer-events:none}
body:has(.hero-slider) .service-card-image:before{content:"";position:absolute;z-index:3;top:0;left:0;width:100%;height:5px;background:var(--home-yellow);pointer-events:none}body:has(.hero-slider) .service-showcase-card:nth-child(2) .service-card-image:before{background:var(--home-orange)}body:has(.hero-slider) .service-showcase-card:nth-child(3) .service-card-image:before{background:var(--home-blue)}
body:has(.hero-slider) .service-card-content{position:relative;justify-content:flex-start;padding:clamp(28px,2.5vw,40px)!important;background:#fff!important}
body:has(.hero-slider) .service-card-content:after{content:"Explore service  \2197";display:block;margin-top:auto;padding-top:27px;color:#1a768c;font-size:.61rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
body:has(.hero-slider) .service-showcase-card h3{font-size:clamp(1.55rem,1.8vw,2rem)!important}body:has(.hero-slider) .service-showcase-card p{font-size:.92rem!important;line-height:1.72!important}
body:has(.hero-slider) .service-showcase-card:hover{transform:translateY(-10px)!important;box-shadow:0 34px 80px rgba(13,28,36,.18)!important}
body:has(.hero-slider) .home-design-build-callout{max-width:none;margin-top:clamp(24px,2.4vw,38px);padding:clamp(32px,3.5vw,52px);grid-template-columns:95px minmax(0,1.3fr) minmax(260px,.65fr) minmax(210px,.42fr);gap:clamp(24px,3vw,52px);border-color:#243a42;border-left-width:7px;box-shadow:0 30px 75px rgba(12,31,39,.2)}
body:has(.hero-slider) .home-design-build-mark{width:84px;height:84px}body:has(.hero-slider) .home-design-build-copy h3{font-size:clamp(1.8rem,2.4vw,2.7rem)}body:has(.hero-slider) .home-design-build-copy p{font-size:.91rem}
body:has(.hero-slider) .home-services-action{margin-top:42px;text-align:center}
@media(max-width:1100px){body:has(.hero-slider) .home-services-showcase>.container{width:min(920px,calc(100% - 40px))}body:has(.hero-slider) .service-showcase-grid{grid-template-columns:1fr!important}body:has(.hero-slider) .service-showcase-card{grid-template-columns:minmax(240px,.8fr) 1.2fr!important;min-height:330px!important}body:has(.hero-slider) .service-card-image{height:100%!important;min-height:330px!important}body:has(.hero-slider) .home-design-build-callout{grid-template-columns:78px minmax(0,1fr) auto}.home-design-build-scope{grid-column:2/4}}
@media(max-width:700px){body:has(.hero-slider) .home-services-showcase>.container{width:calc(100% - 30px)}body:has(.hero-slider) .home-services-showcase .home-services-heading{display:block}body:has(.hero-slider) .home-services-showcase .home-services-heading p{margin-top:22px;padding:18px 0 0;border-left:0;border-top:1px solid #bdcdd1}body:has(.hero-slider) .service-showcase-card{grid-template-columns:1fr!important;min-height:0!important}body:has(.hero-slider) .service-card-image{height:245px!important;min-height:245px!important}body:has(.hero-slider) .home-design-build-callout{grid-template-columns:58px minmax(0,1fr)}body:has(.hero-slider) .home-design-build-scope,body:has(.hero-slider) .home-design-build-link{grid-column:1/-1}}

/* Premium homepage footer brand and contact panels. */
.site-premium-footer{--home-yellow:#ffd000;--home-orange:#ff7138;--home-blue:#25b8da}
.site-premium-footer .modern-footer-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:18px}
.site-premium-footer .modern-footer-card{min-height:330px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 28px 70px rgba(0,0,0,.25)}
.footer-brand-card{display:flex;flex-direction:column;justify-content:center}
.footer-brand-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.footer-brand-head .footer-mark{flex:0 1 auto;margin:0}.footer-brand-head>span{flex:0 0 auto;color:#ffe16d;font-size:.58rem;font-weight:950;letter-spacing:.14em;white-space:nowrap;text-transform:uppercase}
.site-premium-footer .footer-brand-card h3{max-width:100%;margin-bottom:20px;color:#fff!important;font-size:clamp(1.75rem,2.15vw,2.25rem);line-height:1;letter-spacing:-.04em;text-transform:none}
.site-premium-footer .footer-brand-card h3 .footer-company-nowrap{white-space:nowrap}
.site-premium-footer .footer-brand-card p{max-width:530px;color:rgba(255,255,255,.67);font-size:.95rem;line-height:1.75}
.footer-brand-rule{display:grid;grid-template-columns:1fr 1fr 1fr;width:min(100%,390px);height:5px;margin-top:30px}.footer-brand-rule i:nth-child(1){background:var(--home-yellow)}.footer-brand-rule i:nth-child(2){background:var(--home-orange)}.footer-brand-rule i:nth-child(3){background:var(--home-blue)}
.footer-contact-card{display:grid;grid-template-columns:minmax(170px,.46fr) minmax(0,1fr);gap:clamp(28px,4vw,58px);align-items:center}
.footer-contact-heading>span{display:block;margin-bottom:14px;color:#83e5f3;font-size:.6rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.site-premium-footer .footer-contact-heading h3{margin:0;color:#fff!important;font-size:clamp(1.7rem,2.5vw,2.65rem);line-height:.96;letter-spacing:-.045em;text-transform:none}
.footer-contact-list{display:grid;border-top:1px solid rgba(255,255,255,.14)}
.site-premium-footer .footer-contact-list .modern-contact-row{position:relative;display:grid;grid-template-columns:minmax(115px,.45fr) minmax(0,1fr) auto;gap:18px;align-items:center;min-height:74px;margin:0;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14);text-decoration:none;transition:padding .3s ease,background .3s ease}
.site-premium-footer .footer-contact-list .modern-contact-row>span{display:flex;gap:9px;align-items:center;color:rgba(255,255,255,.48);font-size:.58rem;letter-spacing:.12em}
.footer-contact-list .modern-contact-row>span i{color:var(--home-yellow);font-style:normal;font-size:.48rem}
.site-premium-footer .footer-contact-list .modern-contact-row strong{color:#fff;font-size:.9rem;font-weight:800;overflow-wrap:anywhere!important}
.footer-contact-list .modern-contact-row em{color:var(--home-yellow);font-style:normal;font-size:1.05rem;transition:transform .3s ease}
.footer-contact-list a.modern-contact-row:hover{padding-left:12px;padding-right:12px;background:rgba(255,255,255,.055)}.footer-contact-list a.modern-contact-row:hover em{transform:translate(3px,-3px)}
@media(max-width:900px){.site-premium-footer .modern-footer-grid{grid-template-columns:1fr}.footer-contact-card{grid-template-columns:1fr}.footer-brand-card,.footer-contact-card{min-height:0}}
@media(max-width:520px){.site-premium-footer .modern-footer-card{padding:28px 22px}.footer-contact-card{gap:25px}.site-premium-footer .footer-contact-list .modern-contact-row{grid-template-columns:1fr;gap:7px;padding:16px 0}.footer-contact-list .modern-contact-row em{position:absolute;right:0;top:18px}.footer-brand-head{align-items:flex-start}}

/* Keep the editable homepage service area and phone inside their card. */
.site-premium-footer--homepage .footer-contact-list .footer-service-area>strong{
  display:grid;
  gap:3px;
  min-width:0;
  white-space:normal;
}
.site-premium-footer--homepage .footer-contact-list .footer-service-area>strong>span{
  min-width:0;
  color:#fff;
}
.site-premium-footer--homepage .footer-contact-list .footer-service-area>strong>a{
  width:max-content;
  max-width:100%;
  color:#ff6b35;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
.site-premium-footer--homepage .footer-contact-list .footer-service-area>strong>a:hover{
  color:#fff;
}

/* Premium About page typography balance and text containment. */
body:has(.about-page) .about-hero h2{max-width:820px!important;font-size:clamp(2.4rem,3.25vw,3.6rem)!important;line-height:.98!important;letter-spacing:-.04em!important;text-wrap:balance}
body:has(.about-page) .about-hero p{max-width:670px!important;font-size:1rem!important;line-height:1.7!important}
body:has(.about-page) .about-stats-row{max-width:760px!important}
body:has(.about-page) .about-split-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1160px!important;gap:20px!important}
body:has(.about-page) .about-panel{padding:clamp(2rem,2.8vw,3rem)!important;border-radius:0!important;box-shadow:0 24px 65px rgba(19,26,29,.1)!important}
body:has(.about-page) .about-panel h2,body:has(.about-page) .about-panel-dark h2{width:100%!important;max-width:100%!important;font-size:clamp(1.8rem,2.15vw,2.4rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;text-wrap:balance}
body:has(.about-page) .about-panel h2 span,body:has(.about-page) .about-panel-dark h2 span,body:has(.about-page) .about-split-section .about-panel h2 .keep-together{max-width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
body:has(.about-page) .about-panel p,body:has(.about-page) .about-panel-dark p{font-size:.95rem!important;line-height:1.72!important}
body:has(.about-page) .about-leadership-section .modern-section-heading,body:has(.about-page) .about-why-section .modern-section-heading{max-width:900px!important;margin-bottom:2.5rem!important}
body:has(.about-page) .about-leadership-section .modern-section-heading h2,body:has(.about-page) .about-why-section .modern-section-heading h2{max-width:760px!important;font-size:clamp(2.15rem,3.25vw,3.45rem)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-wrap:balance}
body:has(.about-page) .about-person-card,body:has(.about-page) .about-reason-card{border-radius:0!important;border-top:4px solid #ffc107!important;box-shadow:0 22px 55px rgba(20,31,36,.09)!important}
body:has(.about-page) .about-final-cta h2{max-width:650px!important;font-size:clamp(2.15rem,3.2vw,3.2rem)!important;line-height:1.02!important;letter-spacing:-.04em!important;text-wrap:balance}
@media(max-width:900px){body:has(.about-page) .about-hero h2{font-size:clamp(2.2rem,6vw,3.1rem)!important}body:has(.about-page) .about-split-grid{grid-template-columns:1fr}body:has(.about-page) .about-panel h2,body:has(.about-page) .about-panel-dark h2{font-size:clamp(1.9rem,5.5vw,2.45rem)!important}}
@media(max-width:560px){body:has(.about-page) .about-hero{min-height:auto!important}body:has(.about-page) .about-hero h2{font-size:clamp(2rem,8.8vw,2.65rem)!important;line-height:1!important}body:has(.about-page) .about-panel{padding:1.6rem!important}body:has(.about-page) .about-leadership-section .modern-section-heading h2,body:has(.about-page) .about-why-section .modern-section-heading h2{font-size:clamp(2rem,9vw,2.7rem)!important}body:has(.about-page) .about-final-cta h2{font-size:clamp(2rem,9vw,2.65rem)!important}}

/* Node 3 — editorial About-page identity */
.abx-page .abx-hero{min-height:760px;padding:125px 0 105px;background:#eee9df;color:#152126}.abx-page .abx-hero>img{inset:0 0 0 48%;width:52%;height:100%;object-position:56% center;filter:saturate(.78) contrast(1.04)}.abx-page .abx-hero-wash{background:linear-gradient(90deg,#eee9df 0 43%,rgba(238,233,223,.97) 50%,rgba(238,233,223,.58) 65%,rgba(9,19,23,.14) 100%)}.abx-page .abx-grid{background:linear-gradient(rgba(21,33,38,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(21,33,38,.045) 1px,transparent 1px);background-size:76px 76px;mask-image:linear-gradient(90deg,#000,transparent 58%)}.abx-page .abx-hero-inner{grid-template-columns:minmax(0,1fr) minmax(310px,.48fr);gap:clamp(55px,8vw,125px)}.abx-page .abx-eyebrow{color:#9b4b31}.abx-page .abx-hero h2{max-width:760px;margin:28px 0;color:#142025;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,4.7vw,5.8rem);font-weight:500;letter-spacing:-.06em;line-height:.9}.abx-page .abx-hero h2 em{color:#b95738;font-style:italic;font-weight:500}.abx-page .abx-hero-copy p{max-width:690px;color:#4e5a5e}.abx-page .abx-hero-copy>small{display:block;margin-top:25px;color:#6a7477;font-size:.56rem;font-weight:900;letter-spacing:.13em;line-height:1.6;text-transform:uppercase}.abx-page .abx-proof{border-top-color:#d97950;background:rgba(9,20,24,.92)}.abx-page .abx-hero-rail{background:#e4ded3;border-top:1px solid #c7beb1}.abx-page .abx-hero-rail span{border-color:#c7beb1;color:#566064}.abx-page .abx-hero-rail span:before{background:#b95738}.abx-page .abx-hero-rail span:nth-child(even):before{background:#4e9da7}
.abx-page .abx-approach{padding:clamp(105px,10vw,165px) 0;background:#f8f5ee;color:#182327}.abx-page .abx-approach:before{background:linear-gradient(90deg,transparent 0 37%,rgba(19,34,39,.045) 37% 37.1%,transparent 37.1%),linear-gradient(rgba(19,34,39,.035) 1px,transparent 1px);background-size:auto,100% 72px}.abx-page .abx-section-head{grid-template-columns:.72fr 1fr;gap:clamp(55px,9vw,145px);align-items:start}.abx-page .abx-section-head .abx-label{color:#a24c2e}.abx-page .abx-section-head h2{color:#182327;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.2rem,4.4vw,5.2rem);font-weight:500;line-height:.9}.abx-page .abx-section-head h2 em{color:#3c8791;font-style:italic;font-weight:500}.abx-page .abx-section-head>p{max-width:660px;padding:22px 0 0 34px;border-left:1px solid #b8aea0;color:#566166;font-size:1rem}.abx-page .abx-steps{display:block;margin:80px 0 0 37%;border:0;border-top:1px solid #a99f92}.abx-page .abx-steps article{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(250px,.65fr) minmax(300px,1fr);gap:35px;align-items:center;min-height:0;padding:34px 0;border:0;border-bottom:1px solid #bdb4a7;color:#182327}.abx-page .abx-steps article:before{left:-37%;top:auto;bottom:-1px;width:0;height:2px}.abx-page .abx-steps article:hover{background:transparent;transform:translateX(10px)}.abx-page .abx-steps article:hover:before{width:137%}.abx-page .abx-steps span{color:#a55237}.abx-page .abx-steps h3{margin:0;color:#182327;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.45rem,1.9vw,2.15rem);font-weight:500}.abx-page .abx-steps p{margin:0;color:#687175;font-size:.86rem}
.abx-page .abx-standards{padding:clamp(105px,10vw,160px) 0;background:#102126;color:#fff}.abx-page .abx-standards header{grid-template-columns:.48fr 1fr;gap:65px;align-items:start;margin-bottom:75px}.abx-page .abx-standards .abx-label{color:#72ced8}.abx-page .abx-standards h2{color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.1rem,4.4vw,5.3rem);font-weight:500;line-height:.92}.abx-page .abx-standards header>p{grid-column:2;max-width:720px;margin:0;color:rgba(255,255,255,.58);line-height:1.75}.abx-page .abx-standard-grid{grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(255,255,255,.2)}.abx-page .abx-standard-grid article{display:grid;grid-template-columns:minmax(150px,.38fr) 1fr;gap:24px;align-items:start;min-height:0;padding:32px 28px 32px 0;border:0;border-bottom:1px solid rgba(255,255,255,.16);background:transparent;box-shadow:none}.abx-page .abx-standard-grid article:nth-child(odd){border-right:1px solid rgba(255,255,255,.16)}.abx-page .abx-standard-grid article:nth-child(even){padding-left:30px}.abx-page .abx-standard-grid article:hover{background:rgba(255,255,255,.035);transform:none}.abx-page .abx-standard-grid i{display:none}.abx-page .abx-standard-grid h3{margin:0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:1.4rem;font-weight:500}.abx-page .abx-standard-grid p{margin:0;color:rgba(255,255,255,.55);font-size:.86rem}
.abx-page .abx-lasting{padding:clamp(90px,8vw,130px) 0}.abx-page .abx-lasting h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,4.25vw,5.1rem);font-weight:500}.abx-page .abx-lasting h2 em{font-style:italic;font-weight:500}.abx-page .abx-cta{padding:clamp(80px,8vw,120px) 0;background:#c86f4d}.abx-page .abx-cta>.abx-wrap{grid-template-columns:minmax(0,1fr) 260px}.abx-page .abx-cta h2{max-width:900px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.1rem,4.4vw,5.2rem);font-weight:500;line-height:.9}.abx-page .abx-cta h2 em{color:#fff;font-style:italic;font-weight:500}.abx-page .abx-cta small{color:#272d2f}.abx-page .abx-cta a{background:#102126;color:#fff;box-shadow:none}.abx-page .abx-cta a:hover{background:#68c2cd;color:#102126}
.abx-footer{position:relative;padding:0;background:#071316}.abx-footer:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px}.abx-footer>.abx-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.75fr);gap:80px;padding-top:85px}.abx-footer-signature{display:grid!important;grid-template-columns:90px 1fr;gap:30px!important;align-items:start!important}.abx-footer-signature>span{display:grid!important;place-items:center;width:90px;height:110px;padding:0!important;border:0!important;background:#c86f4d;color:#101a1d!important;font-size:1.8rem!important;font-weight:950;letter-spacing:-.04em!important}.abx-footer-signature small{display:block;color:#76d1dc;font-size:.58rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.abx-footer-signature strong{display:block;margin-top:18px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,3.3vw,4rem);font-weight:500;letter-spacing:-.05em;line-height:.92}.abx-footer-details{display:grid;grid-template-columns:1fr 1fr;padding-left:35px;border-left:1px solid rgba(255,255,255,.15)}.abx-footer-details>div{display:block!important;padding:20px;border-bottom:1px solid rgba(255,255,255,.13)}.abx-footer-details>div:last-child{grid-column:1/-1}.abx-footer-details small{display:block;color:rgba(255,255,255,.42);font-size:.52rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.abx-footer-details a,.abx-footer-details strong{display:block;margin-top:9px;color:#fff;font-size:.78rem;line-height:1.55;text-decoration:none}.abx-footer-details a b{color:#d98462}.abx-footer-rule{grid-column:1/-1;display:grid!important;grid-template-columns:auto 1fr auto 1fr auto;gap:20px!important;align-items:center!important;margin-top:25px;padding:24px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.abx-footer-rule span{padding:0!important;border:0!important;color:rgba(255,255,255,.58)!important;font-size:.54rem!important;font-weight:900;letter-spacing:.13em!important;text-transform:uppercase}.abx-footer-rule i{height:1px;background:linear-gradient(90deg,#c86f4d,#67c3cd)}.abx-footer .pc-site-copyright{grid-column:1/-1;padding:27px 0 32px;border:0}
@media(max-width:1100px){.abx-page .abx-hero>img{inset:0;width:100%}.abx-page .abx-hero-wash{background:linear-gradient(90deg,rgba(238,233,223,.98),rgba(238,233,223,.9) 65%,rgba(238,233,223,.62))}.abx-page .abx-hero-inner{grid-template-columns:1fr}.abx-page .abx-proof{grid-template-columns:repeat(4,1fr)}.abx-page .abx-section-head{grid-template-columns:1fr}.abx-page .abx-steps{margin-left:0}.abx-page .abx-steps article{grid-template-columns:150px minmax(220px,.7fr) 1fr}.abx-page .abx-steps article:before{left:0}.abx-page .abx-steps article:hover:before{width:100%}.abx-footer>.abx-wrap{grid-template-columns:1fr}.abx-footer-details{max-width:800px}}
@media(max-width:700px){.abx-page .abx-hero{padding:115px 0 125px}.abx-page .abx-hero h2{font-size:clamp(3rem,12.5vw,4.15rem)}.abx-page .abx-hero-rail span{font-size:.44rem}.abx-page .abx-section-head h2,.abx-page .abx-standards h2,.abx-page .abx-lasting h2,.abx-page .abx-cta h2{font-size:clamp(2.75rem,11.5vw,3.8rem)}.abx-page .abx-section-head>p{padding-left:20px}.abx-page .abx-steps article{grid-template-columns:1fr;gap:12px;padding:28px 0}.abx-page .abx-standard-grid{grid-template-columns:1fr}.abx-page .abx-standard-grid article,.abx-page .abx-standard-grid article:nth-child(even){grid-template-columns:1fr;gap:12px;padding:27px 10px 27px 0;border-right:0}.abx-page .abx-standards header{grid-template-columns:1fr;gap:20px}.abx-page .abx-standards header>p{grid-column:1}.abx-page .abx-cta>.abx-wrap{grid-template-columns:1fr}.abx-footer>.abx-wrap{gap:45px;padding-top:65px}.abx-footer-signature{grid-template-columns:72px 1fr}.abx-footer-signature>span{width:72px;height:88px}.abx-footer-details{grid-template-columns:1fr;padding-left:0;border-left:0}.abx-footer-details>div:last-child{grid-column:1}.abx-footer-rule{grid-template-columns:1fr;text-align:center}.abx-footer-rule i{display:none}}
@media(max-width:700px){.abx-page .abx-hero-inner,.abx-page .abx-hero-copy,.abx-page .abx-proof{min-width:0;max-width:100%}.abx-page .abx-hero h2{width:100%;max-width:100%;font-size:clamp(2.75rem,11.5vw,3.8rem)}.abx-page .abx-eyebrow,.abx-page .abx-hero-copy>small{white-space:normal;overflow-wrap:normal}}

/* Node 3 — compact company-credential footer */
.abx-footer{padding:0;background:#071316}.abx-footer>.abx-wrap{display:block;padding-top:0}.abx-footer .abx-footer-topline{display:grid;grid-template-columns:auto 1fr auto auto;gap:24px;align-items:center;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#77d4df;font-size:.54rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.abx-footer-topline i{height:1px;background:linear-gradient(90deg,#cb7552,#66c2cd)}.abx-footer-topline span:last-child{color:rgba(255,255,255,.55)}
.abx-footer .abx-footer-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(230px,.38fr) minmax(330px,.52fr);gap:0;align-items:stretch;padding:58px 0 52px}.abx-footer-brand{display:grid;grid-template-columns:205px minmax(0,1fr);gap:36px;padding:8px 42px 8px 0}.abx-footer-mark{display:flex;align-items:flex-start;justify-content:center;width:205px;height:auto;background:transparent;clip-path:none}.abx-footer-mark img{display:block;width:100%;height:auto;max-height:165px;object-fit:contain;object-position:center top;filter:drop-shadow(0 14px 28px rgba(0,0,0,.28))}.abx-footer-brand small,.abx-footer-contact>small{display:block;color:#77d4df;font-size:.55rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.abx-footer-brand h2{margin:16px 0 20px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.2rem,3vw,3.65rem);font-weight:500;letter-spacing:-.055em;line-height:.92}.abx-footer-brand p{max-width:610px;margin:0;color:rgba(255,255,255,.56);font-size:.86rem;line-height:1.7}
.abx-footer-proof{display:grid;border-right:1px solid rgba(255,255,255,.14);border-left:1px solid rgba(255,255,255,.14)}.abx-footer-proof article{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center;padding:20px 27px;border-bottom:1px solid rgba(255,255,255,.14)}.abx-footer-proof article:last-child{border-bottom:0}.abx-footer-proof strong{color:#fff;font-size:clamp(1.25rem,1.7vw,1.85rem);letter-spacing:-.04em}.abx-footer-proof span{color:rgba(255,255,255,.45);font-size:.58rem;font-weight:850;letter-spacing:.08em;line-height:1.45;text-transform:uppercase}
.abx-footer .abx-footer-contact{display:flex;flex-direction:column;justify-content:center;margin-left:42px;padding:35px;border-top:4px solid #77d4df;background:#132328;box-shadow:0 25px 70px rgba(0,0,0,.25)}.abx-footer-contact h3{margin:17px 0;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.85rem,2.45vw,2.8rem);font-weight:500;letter-spacing:-.045em;line-height:.96}.abx-footer-contact p{margin:0;color:rgba(255,255,255,.55);font-size:.78rem;line-height:1.65}.abx-footer-contact a{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:25px;padding:18px 20px;background:#cb7552;color:#10191c;font-size:.58rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:background .3s,transform .3s}.abx-footer-contact a:hover{background:#77d4df;transform:translateY(-4px)}.abx-footer-contact a b{font-size:1rem}
.abx-footer .abx-footer-sectors{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}.abx-footer-sectors span{padding:20px;border-right:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.52);font-size:.55rem;font-weight:900;letter-spacing:.13em;text-align:center;text-transform:uppercase}.abx-footer-sectors span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;background:#cb7552;transform:rotate(45deg)}.abx-footer-sectors span:nth-child(even):before{background:#77d4df}.abx-footer .abx-footer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:30px;align-items:center;padding:25px 0 30px;color:rgba(255,255,255,.42);font-size:.62rem}.abx-footer-bottom>span:last-child{text-align:right}.abx-footer-bottom .pc-site-copyright{grid-column:2;width:auto;padding:0;border:0}
@media(max-width:1120px){.abx-footer .abx-footer-body{grid-template-columns:1fr 1fr}.abx-footer-brand{grid-column:1/-1;padding:10px 0 50px}.abx-footer-proof{border-left:0}.abx-footer .abx-footer-contact{margin-left:35px}}
@media(max-width:700px){.abx-footer .abx-footer-topline{grid-template-columns:1fr;text-align:center}.abx-footer-topline i{display:none}.abx-footer .abx-footer-body{grid-template-columns:1fr;padding:45px 0}.abx-footer-brand{grid-column:1;grid-template-columns:138px minmax(0,1fr);gap:22px;padding-bottom:42px}.abx-footer-mark{width:138px;height:auto}.abx-footer-mark img{max-height:118px}.abx-footer-brand h2{font-size:clamp(2rem,9vw,2.8rem)}.abx-footer-proof{border:1px solid rgba(255,255,255,.14)}.abx-footer .abx-footer-contact{margin:28px 0 0;padding:30px 23px}.abx-footer .abx-footer-sectors{grid-template-columns:1fr 1fr}.abx-footer-sectors span{border-bottom:1px solid rgba(255,255,255,.1)}.abx-footer .abx-footer-bottom{grid-template-columns:1fr;gap:12px;text-align:center}.abx-footer-bottom .pc-site-copyright{grid-column:1;grid-row:3}.abx-footer-bottom>span:last-child{text-align:center}}

/* Node 7 — concise project contact page */
body:has(.cx7-page){--cx-ink:#0b181d;--cx-paper:#f3f0e8;--cx-blue:#58becb;--cx-yellow:#f5bc16;--cx-rust:#cb7250;background:var(--cx-paper)}body:has(.cx7-page) .container{max-width:1200px}.cx7-page *,.cx7-footer *{box-sizing:border-box;hyphens:none;word-break:normal}.cx7-wrap{width:min(1380px,calc(100% - 7vw));margin:auto}.cx7-label,.cx7-kicker{color:#a44f33;font-size:.59rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.cx7-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:660px;padding:125px 0 100px;background:#0a181d;color:#fff;overflow:hidden}.cx7-hero-media{position:absolute;z-index:-2;inset:0 0 0 47%;background:url('../images/gallery/Gallery Page Used/machinery.jpeg') center/cover no-repeat;filter:saturate(.72);animation:ct7HeroDrift 18s ease-in-out infinite alternate}.cx7-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#09171c 0 45%,rgba(9,23,28,.95) 55%,rgba(9,23,28,.25))}.cx7-hero-inner{position:relative;z-index:1}.cx7-hero-inner>div{max-width:760px}.cx7-kicker{color:#83d8e2}.cx7-hero h1{margin:24px 0;color:#fff;font-size:clamp(3.1rem,4.8vw,5.4rem);font-weight:740;letter-spacing:-.065em;line-height:.9}.cx7-hero p{max-width:720px;color:rgba(255,255,255,.7);font-size:1rem;line-height:1.75}.cx7-hero small{display:block;margin-top:24px;color:#f8da79;font-size:.57rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.cx7-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.cx7-actions a{display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:210px;padding:18px 21px;border:1px solid rgba(255,255,255,.3);color:#fff;font-size:.59rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:.3s}.cx7-actions a:first-child{border-color:var(--cx-yellow);background:var(--cx-yellow);color:#10171a}.cx7-actions a:hover{border-color:var(--cx-blue);background:var(--cx-blue);color:#0a181d;transform:translateY(-4px)}
.cx7-intro{padding:clamp(90px,9vw,140px) 0;background:var(--cx-paper)}.cx7-intro-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.55fr);gap:clamp(55px,9vw,140px);align-items:start}.cx7-intro-copy h2,.cx7-request-head h2,.cx7-next-head h2,.cx7-close h2{margin:20px 0;color:#152126;font-size:clamp(2.7rem,4vw,4.6rem);font-weight:680;letter-spacing:-.06em;line-height:.92}.cx7-intro-copy h2 em{color:#aa5134;font-style:normal}.cx7-intro-copy p{max-width:780px;color:#566368;line-height:1.78}.cx7-direct{padding:32px;border-top:4px solid var(--cx-blue);background:#102126;color:#fff;box-shadow:0 24px 65px rgba(15,30,35,.18)}.cx7-direct>span{color:#7ad2dd;font-size:.57rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.cx7-direct>a,.cx7-direct>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 15px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none}.cx7-direct small{grid-column:1/-1;color:rgba(255,255,255,.45);font-size:.52rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cx7-direct strong{color:#fff;font-size:.78rem;line-height:1.45;overflow-wrap:anywhere}.cx7-direct b{color:var(--cx-rust)}
.cx7-request{padding:clamp(85px,8vw,125px) 0;background:#dfe6e5}.cx7-request-grid{display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);gap:clamp(50px,8vw,115px);align-items:start}.cx7-request-head{position:sticky;top:45px}.cx7-request-head h2{font-size:clamp(2.6rem,3.7vw,4.2rem)}.cx7-request-head p{max-width:420px;color:#5d6a6e;line-height:1.7}.cx7-request-head small{display:block;margin-top:28px;color:#788589;font-size:.57rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.cx7-form{padding:clamp(35px,5vw,65px)!important;border:0!important;border-radius:0!important;background:#fff!important;box-shadow:0 30px 85px rgba(10,32,38,.14)!important}.cx7-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 18px}.cx7-form .form-row{margin:0!important}.cx7-form label{display:block;margin-bottom:9px;color:#293b40;font-size:.57rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.cx7-form input,.cx7-form select,.cx7-form textarea{width:100%;border:1px solid #ccd8da!important;border-radius:0!important;background:#f7f9f8!important;color:#102026!important;font:inherit;outline:none;transition:.3s}.cx7-form input,.cx7-form select{height:57px;padding:0 16px!important}.cx7-form textarea{min-height:190px;padding:16px!important;resize:vertical}.cx7-form input:focus,.cx7-form select:focus,.cx7-form textarea:focus{border-color:#269bad!important;background:#fff!important;box-shadow:0 0 0 4px rgba(88,190,203,.13)!important}.cx7-message{grid-column:1/-1}.cx7-submit{display:flex!important;align-items:center;justify-content:center;gap:15px;width:100%;min-height:64px;margin-top:25px!important;border:0!important;border-radius:0!important;background:var(--cx-yellow)!important;color:#11181a!important;font-size:.63rem!important;font-weight:950!important;letter-spacing:.12em;text-transform:uppercase;transition:.3s!important}.cx7-submit:hover{background:var(--cx-blue)!important;transform:translateY(-4px)}.cx7-privacy{text-align:center;color:#758286;font-size:.62rem;line-height:1.5}
.cx7-next{padding:clamp(90px,9vw,140px) 0;background:#f6f3ec}.cx7-next-head{display:grid;grid-template-columns:.32fr 1fr;gap:70px;align-items:end}.cx7-next-head h2{max-width:820px;margin:0;font-size:clamp(2.5rem,3.6vw,4rem)}.cx7-next-list{margin-top:60px;border-top:1px solid #aeb5b3}.cx7-next-list article{display:grid;grid-template-columns:150px minmax(250px,.65fr) 1fr;gap:35px;align-items:center;padding:30px 0;border-bottom:1px solid #bdc2c0;transition:padding .3s,background .3s}.cx7-next-list article:hover{padding-left:18px;background:#fff}.cx7-next-list span{color:#a24d32;font-size:.57rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.cx7-next-list h3{margin:0;color:#172327;font-size:1.5rem;letter-spacing:-.035em}.cx7-next-list p{margin:0;color:#657175;font-size:.87rem;line-height:1.68}.cx7-close{padding:clamp(75px,7vw,105px) 0;background:#c96f4d;color:#fff}.cx7-close>.cx7-wrap{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:75px;align-items:center}.cx7-close .cx7-label{color:#fff}.cx7-close h2{color:#fff;font-size:clamp(2.7rem,3.7vw,4.2rem)}.cx7-close p{max-width:790px;color:rgba(255,255,255,.78);line-height:1.7}.cx7-close small{display:block;margin-top:22px;color:#283033;font-size:.56rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.cx7-close a{display:flex;align-items:center;justify-content:center;gap:14px;padding:21px;background:#102126;color:#fff;font-size:.6rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:.3s}.cx7-close a:hover{background:var(--cx-blue);color:#102126;transform:translateY(-4px)}
.cx7-footer{padding:32px 0 25px;background:#071316;color:#fff}.cx7-footer>.cx7-wrap{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.cx7-footer>div>div{display:flex;align-items:center;gap:18px}.cx7-footer strong{color:#fff;font-size:1.05rem}.cx7-footer>div>div span{padding-left:18px;border-left:1px solid rgba(255,255,255,.18);color:#74ced8;font-size:.55rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cx7-footer a{color:rgba(255,255,255,.75);font-size:.74rem;text-decoration:none}.cx7-footer .pc-site-copyright{grid-column:1/-1;width:100%;padding-top:23px;border-top:1px solid rgba(255,255,255,.13)}
@media(max-width:1000px){.cx7-hero-media{left:25%}.cx7-intro-grid,.cx7-request-grid,.cx7-next-head{grid-template-columns:1fr}.cx7-request-head{position:static}.cx7-next-head{gap:20px}.cx7-close>.cx7-wrap{grid-template-columns:1fr}.cx7-close a{width:min(100%,280px)}}
@media(max-width:700px){.cx7-wrap{width:calc(100% - 30px)}.cx7-hero{min-height:auto;padding:110px 0 90px}.cx7-hero-media{left:0}.cx7-hero:after{background:rgba(8,22,27,.83)}.cx7-hero h1{font-size:clamp(2.8rem,12vw,3.8rem)}.cx7-actions{display:grid}.cx7-actions a{width:100%}.cx7-intro-copy h2,.cx7-request-head h2,.cx7-next-head h2,.cx7-close h2{font-size:clamp(2.45rem,10.5vw,3.35rem)}.cx7-direct{padding:28px 22px}.cx7-request{padding:0}.cx7-request-grid{width:100%}.cx7-request-head{padding:65px 15px 40px}.cx7-form{padding:42px 22px!important}.cx7-form-grid{grid-template-columns:1fr}.cx7-message{grid-column:1}.cx7-next-list article{grid-template-columns:1fr;gap:11px;padding:25px 0}.cx7-next-list article:hover{padding-left:0}.cx7-close small{line-height:1.6}.cx7-footer>.cx7-wrap{grid-template-columns:1fr;text-align:center}.cx7-footer>div>div{justify-content:center;flex-wrap:wrap}.cx7-footer a{overflow-wrap:anywhere}.cx7-footer .pc-site-copyright{grid-column:1}}
@media(prefers-reduced-motion:reduce){.cx7-page *{animation:none!important;transition:none!important}}

/* Node 7 refinement — project brief form and contact-specific closing */
.cx7-brief{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;margin-top:34px;padding-top:25px;border-top:1px solid #c9c9c2}.cx7-brief>span{color:#9b4c33;font-size:.55rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.cx7-brief ul{display:grid;grid-template-columns:repeat(4,auto);gap:10px 20px;margin:0;padding:0;list-style:none}.cx7-brief li{position:relative;padding-left:11px;color:#334348;font-size:.68rem;font-weight:750}.cx7-brief li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;background:#50b8c6;transform:rotate(45deg)}
.cx7-request{background:linear-gradient(135deg,#dbe4e3 0,#edf0ec 48%,#d8e2e2 100%)}.cx7-request>.cx7-wrap{width:min(1380px,calc(100% - 7vw))}.cx7-request-head{position:static;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.65fr);gap:70px;align-items:end;margin-bottom:38px}.cx7-request-head h2{max-width:760px;margin-bottom:0;font-size:clamp(2.8rem,4.2vw,4.7rem);text-transform:none}.cx7-request-head>div:last-child{padding:0 0 8px 28px;border-left:2px solid #60bdc8}.cx7-request-head p{margin:0}.cx7-request-head small{margin-top:15px}.cx7-form{position:relative;overflow:hidden;padding:0!important;border-top:5px solid #55bac7!important;box-shadow:0 35px 95px rgba(10,32,38,.16)!important}.cx7-form:after{content:"PROJECT BRIEF";position:absolute;right:-25px;top:40px;color:rgba(16,32,38,.035);font-size:6.5rem;font-weight:950;letter-spacing:-.06em;pointer-events:none}.cx7-form-group{position:relative;z-index:1;display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:34px clamp(30px,4vw,58px);border-bottom:1px solid #dce3e2}.cx7-form-marker{padding-top:26px}.cx7-form-marker b{display:block;color:#c26949;font-size:.65rem;letter-spacing:.15em}.cx7-form-marker span{display:block;margin-top:7px;color:#26383d;font-size:.63rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.cx7-form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.cx7-form .form-row,.cx7-form input,.cx7-form select,.cx7-form textarea{width:100%!important;max-width:none!important}.cx7-form .form-row{min-width:0}.cx7-form input,.cx7-form select{height:61px}.cx7-form-action{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px clamp(30px,4vw,58px);background:#f8faf8}.cx7-form-action .cx7-privacy{max-width:530px;margin:0;text-align:left}.cx7-form-action .cx7-submit{width:auto;min-width:280px;margin:0!important;padding:0 26px}
.cx7-next-head{grid-template-columns:230px minmax(0,1fr)}.cx7-next-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:0;gap:1px;background:#c1c8c6}.cx7-next-list article{position:relative;display:block;min-height:270px;padding:38px!important;border:0;background:#fff}.cx7-next-list article:before{content:"";display:block;width:44px;height:4px;margin-bottom:35px;background:#c96f4d;transition:width .35s}.cx7-next-list article:nth-child(2):before{background:#55bdc9}.cx7-next-list article:hover:before{width:90px}.cx7-next-list span{display:block;margin-bottom:16px}.cx7-next-list h3{margin-bottom:16px}.cx7-next-list p{max-width:420px}
.cx7-footer{position:relative;overflow:hidden;padding:0;background:#061418}.cx7-footer:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(203,114,80,.12),transparent 35%,rgba(88,190,203,.08));pointer-events:none}.cx7-footer>.cx7-wrap{position:relative;display:block}.cx7-footer-top{display:grid!important;grid-template-columns:auto 1fr auto;gap:22px!important;align-items:center;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.13)}.cx7-footer-top span{padding:0!important;border:0!important;color:#91d8df!important;font-size:.55rem!important;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.cx7-footer-top i{height:1px;background:linear-gradient(90deg,#c96f4d,#f5bc16,#55bdc9)}.cx7-footer-main{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(340px,.55fr);gap:90px!important;align-items:center!important;padding:65px 0}.cx7-footer-brand{display:grid!important;grid-template-columns:105px minmax(0,1fr);gap:30px!important}.cx7-footer-brand>b{display:grid;place-items:center;width:105px;height:120px;background:#c96f4d;color:#08171b;font-size:2rem;clip-path:polygon(0 0,82% 0,100% 16%,100% 100%,0 100%)}.cx7-footer-brand small,.cx7-footer-contact>span{display:block;color:#dd805e;font-size:.56rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.cx7-footer h2{margin:10px 0 0;color:#fff;font-size:clamp(2.4rem,3.6vw,4rem);font-weight:680;letter-spacing:-.06em;line-height:.91}.cx7-footer h2 em{color:#68c7d1;font-style:normal}.cx7-footer-contact{display:block!important;padding:30px;border:1px solid rgba(255,255,255,.16);border-left:4px solid #f5bc16;background:rgba(255,255,255,.035)}.cx7-footer-contact a{display:flex;justify-content:space-between;gap:20px;margin:20px 0;padding:19px 0;border-block:1px solid rgba(255,255,255,.14);color:#fff;font-size:.82rem;font-weight:800}.cx7-footer-contact a b{color:#f5bc16}.cx7-footer-contact small{color:rgba(255,255,255,.55);font-size:.57rem;line-height:1.7}.cx7-footer-bottom{display:grid!important;grid-template-columns:1fr 1fr 1fr;align-items:center!important;padding:24px 0;border-top:1px solid rgba(255,255,255,.13)}.cx7-footer-bottom>span{padding:0!important;border:0!important;color:rgba(255,255,255,.45)!important;font-size:.53rem!important;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.cx7-footer-bottom .pc-site-copyright{grid-column:2;width:auto;padding:0;border:0;text-align:center;white-space:nowrap}
@media(max-width:1050px){.cx7-brief{grid-template-columns:1fr}.cx7-brief ul{grid-template-columns:repeat(2,1fr)}.cx7-form-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}.cx7-footer-main{grid-template-columns:1fr;gap:45px!important}.cx7-footer-contact{max-width:620px}.cx7-footer-bottom{grid-template-columns:1fr}.cx7-footer-bottom>span{display:none}.cx7-footer-bottom .pc-site-copyright{grid-column:1}}
@media(max-width:760px){.cx7-request-head{grid-template-columns:1fr;gap:25px;padding:65px 15px 0}.cx7-request-head>div:last-child{padding:0 0 0 18px}.cx7-request>.cx7-wrap{width:100%}.cx7-form{margin-top:35px}.cx7-form-group{grid-template-columns:1fr;gap:18px;padding:30px 22px}.cx7-form-marker{padding-top:0}.cx7-form-grid--three{grid-template-columns:1fr}.cx7-form-action{align-items:stretch;flex-direction:column;padding:28px 22px}.cx7-form-action .cx7-submit{width:100%;min-width:0}.cx7-next-list{grid-template-columns:1fr}.cx7-next-list article{min-height:0}.cx7-footer-top{grid-template-columns:1fr auto}.cx7-footer-top i{display:none}.cx7-footer-main{padding:50px 0}.cx7-footer-brand{grid-template-columns:74px minmax(0,1fr);gap:18px!important}.cx7-footer-brand>b{width:74px;height:88px;font-size:1.4rem}.cx7-footer h2{font-size:clamp(2rem,10vw,3rem)}.cx7-footer-contact{padding:24px 20px}.cx7-footer-contact a{font-size:.68rem;overflow-wrap:anywhere}.cx7-footer-bottom .pc-site-copyright{font-size:.72rem!important;white-space:normal}}
.cx7-form{display:block!important}.cx7-form>.cx7-form-group,.cx7-form>.cx7-form-action,.cx7-form-group>.cx7-form-grid{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}

/* Node 7 simplified contact flow */
.cx7-hero{min-height:570px;padding-bottom:90px}.cx7-hero-inner>div{max-width:690px}.cx7-hero h1{margin-bottom:26px}.cx7-hero p{max-width:650px;font-size:1.05rem}.cx7-contact-strip{position:relative;background:#f2efe7}.cx7-contact-strip:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#c96f4d,#f5bc16 48%,#55bdc9)}.cx7-contact-strip>.cx7-wrap{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(270px,.75fr) minmax(360px,1.2fr);gap:0;align-items:stretch}.cx7-contact-strip>.cx7-wrap>div,.cx7-contact-strip p{display:flex;flex-direction:column;justify-content:center;min-height:150px;margin:0;padding:32px clamp(24px,3vw,45px);border-right:1px solid #d0d2cc}.cx7-contact-strip>.cx7-wrap>div:first-child{padding-left:0}.cx7-contact-strip span{margin-bottom:10px;color:#a45135;font-size:.55rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.cx7-contact-strip a,.cx7-contact-strip strong{color:#142429;font-size:.82rem;font-weight:820;line-height:1.5;text-decoration:none}.cx7-contact-strip a{display:flex;justify-content:space-between;gap:16px}.cx7-contact-strip a b{color:#c56848}.cx7-contact-strip p{padding-right:0;border-right:0;color:#59666a;font-size:.82rem;line-height:1.72}.cx7-request{padding-top:clamp(80px,7vw,110px)}
.cx7-footer-top,.cx7-footer-contact{display:none!important}.cx7-footer-main{grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);padding:58px 0!important}.cx7-footer-note{display:block!important;padding:8px 0 8px 36px;border-left:1px solid rgba(255,255,255,.18)}.cx7-footer-note span{display:block;color:#df805e;font-size:.56rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.cx7-footer-note strong{display:block;margin-top:14px;color:#fff;font-size:1rem}.cx7-footer-note p{margin:12px 0 0;color:rgba(255,255,255,.5);font-size:.59rem;font-weight:800;letter-spacing:.06em;line-height:1.7}.cx7-footer-bottom{display:block!important;padding:22px 0!important}.cx7-footer-bottom .pc-site-copyright{display:block;text-align:center}
@media(max-width:950px){.cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr 1fr}.cx7-contact-strip p{grid-column:1/-1;min-height:auto;padding:25px 0;border-top:1px solid #d0d2cc}.cx7-footer-main{grid-template-columns:1fr}.cx7-footer-note{max-width:600px;padding-left:24px}}
@media(max-width:650px){.cx7-hero{min-height:auto;padding:110px 0 75px}.cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr}.cx7-contact-strip>.cx7-wrap>div,.cx7-contact-strip p{min-height:auto;padding:24px 0;border-right:0;border-bottom:1px solid #d0d2cc}.cx7-contact-strip p{grid-column:auto}.cx7-footer-brand{grid-template-columns:70px minmax(0,1fr)}.cx7-footer-brand>b{width:70px;height:84px}.cx7-footer-note{padding-left:18px}.cx7-footer-main{gap:34px!important}}
.cx7-hero .cx7-location{margin-top:9px;color:#f4d36b;font-size:.56rem;letter-spacing:.14em}.cx7-hero .cx7-location+h1{margin-top:19px}.cx7-form-marker{display:flex;align-items:center;padding-top:0}.cx7-form-marker span{margin-top:0}

/* Node 7 form polish */
.cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr 1fr}.cx7-contact-strip>.cx7-wrap>div{min-height:126px}.cx7-contact-strip>.cx7-wrap>div:first-child{border-left:1px solid #d0d2cc;padding-left:clamp(24px,3vw,45px)}.cx7-contact-strip>.cx7-wrap>div:last-child{border-right:1px solid #d0d2cc}.cx7-form{background:#f8faf9!important;border-top-color:#f5bc16!important}.cx7-form:before{content:"";position:absolute;z-index:2;left:0;top:0;width:33%;height:5px;background:#c96f4d}.cx7-form:after{right:30px;top:24px;font-size:5.8rem}.cx7-form-group{grid-template-columns:180px minmax(0,1fr);gap:36px;padding-block:40px}.cx7-form-group:nth-of-type(2){background:#f1f6f5}.cx7-form-group:nth-of-type(3){background:#fff}.cx7-form-marker{align-self:stretch;position:relative;padding-left:22px;border-left:3px solid #c96f4d}.cx7-form-group:nth-of-type(2) .cx7-form-marker{border-left-color:#55bdc9}.cx7-form-group:nth-of-type(3) .cx7-form-marker{border-left-color:#f5bc16}.cx7-form-marker span{color:#192b30;font-size:.65rem}.cx7-form label{margin-bottom:11px;color:#31464b}.cx7-form input,.cx7-form select,.cx7-form textarea{border-color:#c4d0d1!important;background:#fff!important;box-shadow:0 7px 18px rgba(13,38,44,.035)}.cx7-form input::placeholder,.cx7-form textarea::placeholder{color:#879397;opacity:1}.cx7-form textarea{min-height:175px}.cx7-form-action{background:#102126;color:#fff}.cx7-form-action .cx7-privacy{color:rgba(255,255,255,.62)}.cx7-form-action .cx7-submit{background:#f5bc16!important}.cx7-form-action .cx7-submit:hover{background:#63c5d0!important}
@media(max-width:760px){.cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr}.cx7-contact-strip>.cx7-wrap>div:first-child,.cx7-contact-strip>.cx7-wrap>div:last-child{padding-inline:0;border-left:0;border-right:0}.cx7-form-group{grid-template-columns:1fr;gap:22px}.cx7-form-marker{min-height:28px;padding-left:16px}.cx7-form:after{font-size:3.5rem}}

/* Node 5 — combined projects and gallery */
body:has(.prx-page){background:#f1efe8}.prx-page *,.prx-footer *{box-sizing:border-box;hyphens:none}.prx-wrap{width:min(1420px,calc(100% - 7vw));margin:auto}.prx-kicker,.prx-section-head>div>span,.prx-gallery-head .section-label,.prx-close>div>div>span{font-size:.6rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.prx-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:760px;padding:150px 0 85px;overflow:hidden;background:#09171b;color:#fff}.prx-hero-image{position:absolute;z-index:-3;inset:0;background:url('../images/projects/Projects Page Used/p05-completed-project.jpeg') center 58%/cover no-repeat;animation:prxHero 18s ease-in-out infinite alternate}.prx-hero-shade{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(5,15,18,.96) 0 45%,rgba(5,15,18,.68) 68%,rgba(5,15,18,.18)),linear-gradient(0deg,rgba(4,14,17,.6),transparent 55%)}.prx-hero:after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:95px 95px;mask-image:linear-gradient(90deg,#000,transparent 68%)}@keyframes prxHero{to{transform:scale(1.045)}}.prx-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:70px;align-items:end}.prx-kicker{color:#6fd0da}.prx-hero h1{margin:24px 0;color:#fff;font-size:clamp(3.7rem,6.6vw,7.1rem);font-weight:680;letter-spacing:-.07em;line-height:.84}.prx-hero h1 em{color:#f3bf24;font-style:normal}.prx-hero p{max-width:670px;color:rgba(255,255,255,.72);font-size:1rem;line-height:1.75}.prx-hero a{display:inline-flex;gap:45px;align-items:center;margin-top:30px;padding:19px 22px;background:#f3bf24;color:#0c171a;font-size:.6rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:.3s}.prx-hero a:hover{background:#67cbd5;transform:translateY(-4px)}.prx-hero-note{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.22)}.prx-hero-note span{padding:18px 24px;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.prx-feature{padding:clamp(90px,9vw,145px) 0;background:#f3f0e8}.prx-section-head,.prx-gallery-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(330px,.55fr);gap:80px;align-items:end;margin-bottom:55px}.prx-section-head>div>span{color:#aa5436}.prx-section-head h2,.prx-gallery-head h2,.prx-close h2{margin:17px 0 0;color:#142126;font-size:clamp(3rem,5vw,5.7rem);font-weight:680;letter-spacing:-.065em;line-height:.88}.prx-section-head h2 em,.prx-gallery-head h2 em{color:#1598ab;font-style:normal}.prx-section-head>p,.prx-gallery-head>p{margin:0;padding-left:28px;border-left:2px solid #e0ad19;color:#596569;line-height:1.75}.prx-feature-result{position:relative;height:min(68vw,760px);margin:0 0 20px;overflow:hidden;background:#0b171a}.prx-feature-result button,.prx-story button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.prx-feature-result img,.prx-story img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.prx-feature-result:hover img,.prx-story article:hover img{transform:scale(1.035)}.prx-feature-result figcaption{position:absolute;left:35px;bottom:35px;padding:22px 27px;background:rgba(7,20,24,.92);color:#fff}.prx-feature-result figcaption span{display:block;color:#f3bf24;font-size:.55rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.prx-feature-result figcaption strong{display:block;margin-top:8px;font-size:1.5rem}.prx-story{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.prx-story article{grid-column:span 2;background:#fff}.prx-story article:nth-child(4),.prx-story article:nth-child(5){grid-column:span 3}.prx-story button{height:270px;overflow:hidden}.prx-story article>div{padding:28px}.prx-story span,.prx-photo span{color:#a34d31;font-size:.55rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.prx-story h3{margin:10px 0;color:#17262a;font-size:1.35rem}.prx-story p{margin:0;color:#647175;font-size:.82rem;line-height:1.65}
.prx-gallery{padding:clamp(90px,9vw,145px) 0;background:#09181c;color:#fff}.prx-gallery-head .section-label{color:#72d2dc}.prx-gallery-head h2{color:#fff}.prx-gallery-head h2 em{color:#e3ad19}.prx-gallery-head>p{border-color:#52bdc8;color:rgba(255,255,255,.61)}.prx-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:38px}.prx-filter{padding:13px 17px;border:1px solid rgba(255,255,255,.18);background:transparent;color:rgba(255,255,255,.7);font-size:.55rem;font-weight:950;letter-spacing:.11em;text-transform:uppercase;cursor:pointer;transition:.25s}.prx-filter:hover,.prx-filter.is-active{border-color:#f3bf24;background:#f3bf24;color:#0b171a}.prx-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:255px;grid-auto-flow:dense;gap:12px}.prx-photo{position:relative;min-width:0;overflow:hidden;padding:0;border:0;background:#13262b;cursor:zoom-in;transition:opacity .3s,transform .3s}.prx-photo.prx-wide{grid-column:span 2}.prx-photo.prx-tall{grid-row:span 2}.prx-photo.is-filtered{display:none}.prx-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .65s}.prx-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(4,13,16,.82));pointer-events:none}.prx-photo span{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff}.prx-photo:hover{z-index:2;transform:translateY(-5px)}.prx-photo:hover img{transform:scale(1.06);filter:saturate(1.12)}
.prx-close{padding:clamp(75px,7vw,110px) 0;background:#ca704f;color:#fff}.prx-close>.prx-wrap{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:75px;align-items:center}.prx-close>div>div>span{color:#fff}.prx-close h2{color:#fff;font-size:clamp(2.8rem,4vw,4.6rem)}.prx-close p{max-width:800px;color:rgba(255,255,255,.78);line-height:1.7}.prx-close a{display:flex;justify-content:space-between;gap:20px;padding:21px;background:#0b1b20;color:#fff;font-size:.59rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:.3s}.prx-close a:hover{background:#65c7d1;color:#09181c;transform:translateY(-4px)}.prx-footer{padding:30px 0;background:#061316;color:#fff}.prx-footer>.prx-wrap{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.prx-footer strong{font-size:1.05rem}.prx-footer span{color:#69cad4;font-size:.56rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.prx-footer .pc-site-copyright{grid-column:1/-1;width:100%;padding-top:22px;border-top:1px solid rgba(255,255,255,.13)}
@media(max-width:1000px){.prx-hero-inner,.prx-section-head,.prx-gallery-head{grid-template-columns:1fr}.prx-hero-note{display:none}.prx-story{grid-template-columns:1fr 1fr}.prx-story article,.prx-story article:nth-child(4),.prx-story article:nth-child(5){grid-column:span 1}.prx-grid{grid-template-columns:repeat(3,1fr)}.prx-close>.prx-wrap{grid-template-columns:1fr}.prx-close a{width:min(100%,280px)}}@media(max-width:680px){.prx-wrap{width:calc(100% - 30px)}.prx-hero{min-height:650px;padding:125px 0 70px}.prx-hero h1{font-size:clamp(3.1rem,14vw,4.4rem)}.prx-section-head,.prx-gallery-head{gap:25px}.prx-section-head h2,.prx-gallery-head h2{font-size:clamp(2.8rem,12vw,4rem)}.prx-section-head>p,.prx-gallery-head>p{padding-left:18px}.prx-feature-result{height:72vh;max-height:650px}.prx-story{grid-template-columns:1fr}.prx-story button{height:230px}.prx-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px}.prx-photo.prx-wide{grid-column:span 2}.prx-photo.prx-tall{grid-row:span 2}.prx-footer>.prx-wrap{grid-template-columns:1fr;text-align:center}.prx-footer .pc-site-copyright{grid-column:1}}
@media(prefers-reduced-motion:reduce){.prx-page *{animation:none!important;transition:none!important}}

/* Node 5 visual refinement */
.prx-feature-result{height:min(61vw,690px);border:1px solid #23363b}.prx-feature-result>button.gallery-photo{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;border-radius:0!important}.prx-feature-result>button.gallery-photo img{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;border-radius:0!important;object-fit:cover!important}.prx-feature-result:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(4,15,18,.82));pointer-events:none}.prx-feature-result figcaption{z-index:2;left:0;bottom:0;display:grid;grid-template-columns:auto 1fr;gap:10px 22px;align-items:center;width:min(560px,70%);padding:25px 30px;border-top:1px solid rgba(255,255,255,.25);border-right:1px solid rgba(255,255,255,.25);background:rgba(7,22,26,.9);backdrop-filter:blur(12px)}.prx-feature-result figcaption span{grid-row:1/3;padding-right:22px;border-right:1px solid rgba(255,255,255,.18)}.prx-feature-result figcaption strong{margin:0;font-size:1.35rem}.prx-phase-rail{display:flex;align-items:center;gap:15px;margin:0 0 20px;padding:22px 28px;background:#102328;color:#fff}.prx-phase-rail span,.prx-phase-rail strong{font-size:.54rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.prx-phase-rail span{color:rgba(255,255,255,.52)}.prx-phase-rail strong{color:#f3bf24}.prx-phase-rail i{flex:1;height:1px;background:linear-gradient(90deg,#c86d4d,#65c8d2)}.prx-story{gap:14px;background:#dbe0dc}.prx-story article{position:relative;overflow:hidden}.prx-story button.gallery-photo{height:285px!important;min-height:285px!important;max-height:285px!important;border-radius:0!important}.prx-story button.gallery-photo img{height:100%!important;border-radius:0!important}.prx-story article>div{position:relative;min-height:180px;padding:27px 29px 30px}.prx-story article>div:before{content:"";position:absolute;left:29px;top:0;width:42px;height:3px;background:#c96f4d}.prx-story article:nth-child(even)>div:before{background:#48b7c4}.prx-story h3{font-size:1.25rem}
.prx-gallery{position:relative}.prx-gallery:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:90px 90px;pointer-events:none}.prx-gallery>.prx-wrap{position:relative}.prx-filters{position:sticky;z-index:8;top:76px;padding:12px;background:rgba(9,24,28,.92);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px)}.prx-filter{border-radius:999px}.prx-grid{gap:9px}.prx-photo{border-radius:0!important}.prx-photo img{border-radius:0!important}.prx-photo span{left:14px;bottom:13px;padding:8px 10px;background:rgba(6,20,24,.82);color:#fff!important;backdrop-filter:blur(7px)}.prx-photo:before{content:"↗";position:absolute;z-index:3;right:13px;top:13px;display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.38);background:rgba(4,16,20,.38);color:#fff;font-size:.75rem;opacity:0;transform:translateY(6px);transition:.3s}.prx-photo:hover:before{opacity:1;transform:none}.prx-photo.is-filtered{display:none!important}
.prx-close{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(105deg,#c96f4d 0 62%,#a94f36 62%)}.prx-close-lines{position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,transparent 0 72%,rgba(255,255,255,.09) 72% 72.2%,transparent 72.2%),linear-gradient(45deg,transparent 0 82%,rgba(255,255,255,.08) 82% 82.2%,transparent 82.2%)}.prx-close a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;padding:23px 25px;border-left:4px solid #f3bf24}.prx-close a small{color:#6ecbd4;font-size:.5rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.prx-close a strong{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.prx-close a b{grid-column:2;grid-row:1/3;color:#f3bf24}.prx-footer strong{color:#fff!important}.prx-footer span{color:#74d0d9!important}.prx-footer .pc-site-copyright{color:rgba(255,255,255,.65)!important}
@media(max-width:680px){.prx-feature-result{height:62vh;min-height:480px}.prx-feature-result figcaption{width:100%;grid-template-columns:1fr;padding:20px}.prx-feature-result figcaption span{grid-row:auto;padding:0;border:0}.prx-phase-rail{overflow-x:auto;gap:10px;padding:18px 15px}.prx-phase-rail i{min-width:28px}.prx-story button.gallery-photo{height:240px!important;min-height:240px!important}.prx-filters{top:66px;flex-wrap:nowrap;overflow-x:auto}.prx-filter{flex:0 0 auto}.prx-close{background:#c96f4d}}
.prx-feature-result figcaption strong{color:#fff!important;font-weight:800!important;text-shadow:0 2px 12px rgba(0,0,0,.48)}
.prx-close a small{color:#72d5df!important;opacity:1!important}.prx-close a strong{color:#fff!important;font-weight:900!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}

/* Node 5 complete portfolio footer */
.prx-footer{position:relative;overflow:hidden;padding:0!important;background:#061519!important}.prx-footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 35%,rgba(201,111,79,.11),transparent 28%),radial-gradient(circle at 85% 55%,rgba(88,190,203,.09),transparent 30%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,auto,82px 82px,82px 82px;pointer-events:none}.prx-footer>.prx-wrap{position:relative;display:block!important;text-align:left!important}.prx-footer-top{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.13)}.prx-footer-top span{color:#78d0d9!important;font-size:.54rem!important;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.prx-footer-top i{height:1px;background:linear-gradient(90deg,#c96f4d,#f3bf24,#62c6d0)}.prx-footer-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.55fr);gap:90px;align-items:center;padding:65px 0}.prx-footer-brand{display:grid;grid-template-columns:105px minmax(0,1fr);gap:30px;align-items:start}.prx-footer-brand>b{display:grid;place-items:center;width:105px;height:120px;background:#c96f4d;color:#07171b;font-size:2rem;clip-path:polygon(0 0,82% 0,100% 16%,100% 100%,0 100%)}.prx-footer-brand small{color:#dc805f;font-size:.56rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.prx-footer h2{margin:10px 0 18px;color:#fff;font-size:clamp(2.7rem,4vw,4.7rem);font-weight:680;letter-spacing:-.065em;line-height:.88}.prx-footer h2 em{color:#66c8d2;font-style:normal}.prx-footer-brand p{max-width:700px;margin:0;color:rgba(255,255,255,.56);font-size:.84rem;line-height:1.7}.prx-footer-info{padding:28px;border:1px solid rgba(255,255,255,.16);border-left:4px solid #f3bf24;background:rgba(255,255,255,.035)}.prx-footer-info>div+div{margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}.prx-footer-info small{display:block;color:#df805f;font-size:.53rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.prx-footer-info a,.prx-footer-info strong{display:flex;justify-content:space-between;gap:18px;margin-top:10px;color:#fff!important;font-size:.78rem;line-height:1.5;text-decoration:none;overflow-wrap:anywhere}.prx-footer-info a b{color:#f3bf24}.prx-footer-sectors{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid rgba(255,255,255,.13)}.prx-footer-sectors span{padding:20px;border-right:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.64)!important;font-size:.54rem!important;text-align:center}.prx-footer-sectors span:last-child{border-right:0}.prx-footer>.prx-wrap>.pc-site-copyright{display:block!important;grid-column:auto!important;width:100%!important;padding:25px 0!important;border:0!important;color:rgba(255,255,255,.62)!important;text-align:center!important}
@media(max-width:900px){.prx-footer-main{grid-template-columns:1fr;gap:45px}.prx-footer-info{max-width:620px}}@media(max-width:620px){.prx-footer-top{grid-template-columns:1fr auto}.prx-footer-top i{display:none}.prx-footer-main{padding:48px 0}.prx-footer-brand{grid-template-columns:72px minmax(0,1fr);gap:18px}.prx-footer-brand>b{width:72px;height:86px;font-size:1.4rem}.prx-footer h2{font-size:clamp(2.3rem,11vw,3.3rem)}.prx-footer-info{padding:24px 20px}.prx-footer-sectors{grid-template-columns:1fr 1fr}.prx-footer-sectors span:nth-child(2){border-right:0}.prx-footer-sectors span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}}

/* Node 3 footer: proof belongs in the hero, not the closing directory. */
.abx-footer .abx-footer-body{grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr);gap:clamp(55px,8vw,125px);align-items:center}
.abx-footer .abx-footer-brand{padding-right:0}
.abx-footer .abx-footer-contact{margin-left:0}
.abx-footer-contact a.abx-footer-phone{justify-content:space-between;margin-top:22px;padding:13px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;text-transform:none;letter-spacing:0}.abx-footer-contact a.abx-footer-phone span{padding-left:0;border-left:0;color:rgba(255,255,255,.5);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase}.abx-footer-contact a.abx-footer-phone strong{color:#fff;font-size:.92rem;letter-spacing:.03em}.abx-footer-contact a.abx-footer-phone:hover{background:transparent;color:#77d4df;transform:none}.abx-footer-contact a.abx-footer-phone:hover strong{color:#77d4df}
.abx-footer-contact a.abx-footer-email{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:13px 0;border:0;border-bottom:1px solid rgba(255,255,255,.14);background:transparent;color:#fff;text-transform:none;letter-spacing:0}.abx-footer-email span{padding-left:0!important;border-left:0!important;color:rgba(255,255,255,.5);font-size:.54rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.abx-footer-email strong{color:#fff;font-size:.78rem;letter-spacing:.01em;overflow-wrap:anywhere;text-align:right}.abx-footer-contact a.abx-footer-email:hover,.abx-footer-contact a.abx-footer-email:focus-visible{background:transparent;transform:translateY(-5px) scale(1.015);filter:drop-shadow(0 10px 16px rgba(0,0,0,.34))}.abx-footer-contact a.abx-footer-email:hover strong,.abx-footer-contact a.abx-footer-email:focus-visible strong{color:#77d4df}
.abx-footer-contact>a:not(.abx-footer-phone):not(.abx-footer-email)>span{padding-left:0;border-left:0;color:#10191c}.abx-footer-contact>a:not(.abx-footer-phone):not(.abx-footer-email)>b{color:#10191c}.abx-footer-contact>a:not(.abx-footer-phone):not(.abx-footer-email):hover>span,.abx-footer-contact>a:not(.abx-footer-phone):not(.abx-footer-email):focus-visible>span{color:#10191c}
@media(max-width:1120px){.abx-footer .abx-footer-body{grid-template-columns:1fr 1fr;gap:45px}.abx-footer .abx-footer-brand{grid-column:auto;padding-bottom:8px}.abx-footer .abx-footer-contact{margin-left:0}}
@media(max-width:700px){.abx-footer .abx-footer-body{grid-template-columns:1fr;gap:35px}.abx-footer .abx-footer-brand{grid-column:1;padding-bottom:20px}}
/* Node 11 — Excavation & Site Preparation */
.exv-page{--soil:#c78b48;--sand:#e3b769;--survey:#ffe04a;--clay:#8b4f2c;--ink:#101514;--deep:#091311;--paper:#f2efe8;--sage:#9caa92;background:var(--paper);color:var(--ink);overflow:hidden}.exv-page *{box-sizing:border-box}.exv-wrap{width:min(1440px,calc(100% - 9vw));margin-inline:auto}.exv-label,.exv-eyebrow{display:block;color:var(--clay);font-size:.69rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.exv-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:820px;padding:150px 0 112px;background:#111;color:#fff;overflow:hidden}.exv-hero-media{position:absolute;z-index:-3;inset:0}.exv-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,8,.95) 0%,rgba(4,10,8,.79) 46%,rgba(4,10,8,.2) 78%),linear-gradient(0deg,rgba(4,10,8,.88),transparent 48%)}.exv-hero-media img{width:100%;height:100%;object-fit:cover;animation:exvHero 18s ease-in-out infinite alternate}.exv-hero-inner{display:grid;grid-template-columns:minmax(0,760px) 250px;gap:clamp(40px,8vw,150px);align-items:end}.exv-hero-copy{padding-left:28px;border-left:5px solid var(--survey)}.exv-eyebrow{color:var(--survey)}.exv-hero h1{margin:17px 0 25px;color:#fff;font-size:clamp(4.2rem,7.4vw,8.2rem);font-weight:750;letter-spacing:-.075em;line-height:.82}.exv-hero h1 em{color:var(--sand);font-family:Georgia,serif;font-weight:400}.exv-hero-copy>p{max-width:700px;margin:0;color:rgba(255,255,255,.77);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.75}.exv-disciplines{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.exv-disciplines span{padding:10px 13px;border:1px solid rgba(255,255,255,.25);background:rgba(6,14,12,.5);font-size:.61rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}.exv-benchmark{padding:23px;border-top:2px solid var(--survey);border-bottom:1px solid rgba(255,255,255,.3);background:rgba(7,15,13,.67);backdrop-filter:blur(10px)}.exv-benchmark span,.exv-benchmark small{display:block;color:rgba(255,255,255,.62);font-size:.58rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.exv-benchmark strong{display:block;margin:9px 0;color:var(--survey);font:500 2.3rem/1 Georgia,serif}.exv-grade{position:absolute;right:0;bottom:45px;left:0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;color:rgba(255,255,255,.55);font-size:.55rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.exv-grade i{height:1px;background:repeating-linear-gradient(90deg,var(--survey) 0 22px,transparent 22px 31px);animation:exvGrade 9s linear infinite}.exv-grade span{padding-left:4.5vw}.exv-grade b{padding-right:4.5vw;color:var(--survey)}.exv-contours{position:absolute;z-index:-1;right:-8%;bottom:-42%;width:58vw;aspect-ratio:1}.exv-contours i{position:absolute;inset:calc(var(--n,0)*9%);border:1px solid rgba(255,224,74,.16);border-radius:45% 55% 52% 48%;animation:exvContour 12s ease-in-out infinite alternate}.exv-contours i:nth-child(2){--n:1}.exv-contours i:nth-child(3){--n:2}.exv-contours i:nth-child(4){--n:3}
.exv-overview{padding:clamp(80px,9vw,140px) 0;background:#f2efe8}.exv-overview-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(300px,.7fr) minmax(350px,1fr);gap:clamp(30px,5vw,80px);align-items:center}.exv-overview h2,.exv-section-head h2,.exv-planning h2,.exv-process h2,.exv-close h2{margin:14px 0 0;font-size:clamp(3rem,4.5vw,5.6rem);letter-spacing:-.065em;line-height:.91}.exv-page h2 em{color:var(--clay);font-family:Georgia,serif;font-weight:400}.exv-overview-copy p{color:#56605b;line-height:1.8}.exv-overview-copy .exv-lead{color:var(--ink);font:500 1.35rem/1.45 Georgia,serif}.exv-overview-image{position:relative;margin:0;height:480px;overflow:hidden}.exv-overview-image img{width:100%;height:100%;object-fit:cover}.exv-overview-image:before{content:"";position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.55)}.exv-overview-image figcaption{position:absolute;z-index:2;right:0;bottom:0;display:grid;gap:3px;padding:18px 22px;background:var(--survey);color:#111;text-transform:uppercase}.exv-overview-image b{font-size:.62rem;letter-spacing:.14em}.exv-overview-image span{font-size:.55rem;letter-spacing:.08em}
.exv-services{padding:clamp(85px,9vw,140px) 0;background:#d9d2c4}.exv-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.35fr);gap:50px;align-items:end;margin-bottom:48px}.exv-section-head>p{margin:0;color:#5b5a53;line-height:1.7}.exv-service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.exv-service-card{grid-column:span 4;display:grid;grid-template-rows:290px 1fr;min-width:0;background:#fff;box-shadow:0 16px 42px rgba(32,28,20,.09);transition:transform .45s,box-shadow .45s}.exv-service-card.exv-card-wide{grid-column:span 8;grid-template-columns:1.12fr .88fr;grid-template-rows:420px}.exv-service-card figure{margin:0;overflow:hidden}.exv-service-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .7s,filter .5s}.exv-service-card>div{padding:clamp(25px,3vw,42px);border-top:4px solid var(--soil)}.exv-service-card.exv-card-wide>div{border-top:0;border-left:4px solid var(--soil)}.exv-service-card span,.exv-condition-grid span,.exv-step-grid span{color:var(--clay);font-size:.61rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.exv-service-card h3{margin:12px 0;font-size:clamp(1.55rem,2vw,2.35rem);letter-spacing:-.045em;line-height:1}.exv-service-card p{margin:0;color:#647069;line-height:1.65}.exv-service-card:hover{z-index:1;transform:translateY(-8px);box-shadow:0 28px 65px rgba(32,28,20,.17)}.exv-service-card:hover img{transform:scale(1.045);filter:saturate(1)}
.exv-planning{padding:clamp(90px,10vw,155px) 0;background:var(--deep);color:#fff}.exv-planning-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:clamp(45px,7vw,105px);align-items:center}.exv-planning figure{position:relative;height:720px;margin:0;border-left:3px solid var(--survey);overflow:hidden}.exv-planning figure:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(7,15,13,.5))}.exv-planning figure img{width:100%;height:100%;object-fit:cover}.exv-depth-scale{position:absolute;z-index:2;top:0;right:20px;bottom:0;display:flex;flex-direction:column;justify-content:space-around;color:var(--survey);font:700 .58rem/1 monospace}.exv-depth-scale span:before{content:"";display:inline-block;width:38px;margin-right:8px;border-top:1px solid currentColor;vertical-align:middle}.exv-planning .exv-label{color:var(--sand)}.exv-planning h2{color:#fff}.exv-planning h2 em{color:var(--sand)}.exv-planning header>p{max-width:700px;color:rgba(255,255,255,.62);line-height:1.75}.exv-condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:45px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}.exv-condition-grid article{min-height:145px;padding:25px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.025);transition:.35s}.exv-condition-grid article:hover{background:rgba(227,183,105,.09)}.exv-condition-grid span{color:var(--sand)}.exv-condition-grid p{margin:11px 0 0;color:rgba(255,255,255,.62);font-size:.88rem;line-height:1.6}
.exv-process{position:relative;padding:clamp(85px,9vw,140px) 0;background:#f5f3ed}.exv-process-head{max-width:760px}.exv-process-line{height:1px;margin:50px 0 0;background:#bdb5a6}.exv-process-line i{display:block;width:38%;height:3px;background:linear-gradient(90deg,var(--clay),var(--survey));animation:exvProgress 5s ease-in-out infinite alternate}.exv-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.exv-step-grid article{position:relative;min-height:280px;padding:37px 28px;border-right:1px solid #cec7ba}.exv-step-grid article:first-child{border-left:1px solid #cec7ba}.exv-step-grid article:before{content:"";position:absolute;top:-8px;left:27px;width:14px;height:14px;border:3px solid #f5f3ed;border-radius:50%;background:var(--clay);box-shadow:0 0 0 1px var(--clay)}.exv-step-grid h3{margin:18px 0 14px;font-size:clamp(1.6rem,2vw,2.25rem);letter-spacing:-.04em}.exv-step-grid p{margin:0;color:#667069;line-height:1.7}
.exv-close{position:relative;isolation:isolate;display:flex;align-items:center;min-height:680px;padding:90px 0;color:#fff}.exv-close-media{position:absolute;z-index:-2;inset:0}.exv-close-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,10,.97) 0%,rgba(5,12,10,.86) 52%,rgba(5,12,10,.28))}.exv-close-media img{width:100%;height:100%;object-fit:cover}.exv-close-copy{max-width:800px;padding:45px;border-left:5px solid var(--survey);background:rgba(6,14,12,.72);backdrop-filter:blur(12px)}.exv-close .exv-label{color:var(--survey)}.exv-close h2{color:#fff}.exv-close h2 em{color:var(--sand)}.exv-close p{max-width:680px;color:rgba(255,255,255,.72);line-height:1.75}.exv-close-meta{margin:28px 0;color:var(--sand);font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.exv-close a{display:flex;justify-content:space-between;align-items:center;width:min(100%,290px);padding:19px 21px;background:var(--survey);color:#111;font-size:.68rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.35s}.exv-close a:hover{background:#fff;transform:translateY(-4px)}.exv-footer{padding:48px 0 28px;background:#07100e;color:#fff;border-top:1px solid rgba(255,224,74,.35)}.exv-footer>.exv-wrap{display:grid;grid-template-columns:1fr 1fr;gap:35px}.exv-footer>div>div{display:grid;gap:8px}.exv-footer>div>div:nth-child(2){justify-items:end}.exv-footer strong{font-size:1.2rem}.exv-footer span{color:#91a09a;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.exv-footer a{color:#fff;text-decoration:none}.exv-footer .pc-site-copyright{grid-column:1/-1;margin:30px 0 0;padding-top:25px;border-top:1px solid rgba(255,255,255,.15);text-align:center}
@keyframes exvHero{to{transform:scale(1.055) translate3d(-1%,1%,0)}}@keyframes exvGrade{to{background-position:310px 0}}@keyframes exvContour{to{transform:rotate(9deg) scale(1.04)}}@keyframes exvProgress{to{width:100%}}
@media(max-width:1050px){.exv-hero-inner{grid-template-columns:1fr}.exv-benchmark{display:none}.exv-overview-grid{grid-template-columns:1fr 1fr}.exv-overview-image{grid-column:1/-1;height:440px}.exv-service-card,.exv-service-card.exv-card-wide{grid-column:span 6;grid-template-columns:1fr;grid-template-rows:280px 1fr}.exv-service-card.exv-card-wide>div{border-top:4px solid var(--soil);border-left:0}.exv-planning-grid{grid-template-columns:1fr}.exv-planning figure{height:520px}.exv-step-grid{grid-template-columns:repeat(2,1fr)}.exv-step-grid article:nth-child(3){border-left:1px solid #cec7ba}}
@media(max-width:700px){.exv-wrap{width:min(100% - 34px,1440px)}.exv-hero{min-height:720px;padding:125px 0 90px}.exv-hero-copy{padding-left:18px}.exv-hero h1{font-size:clamp(3.25rem,15vw,5.25rem)}.exv-grade{bottom:22px}.exv-grade span,.exv-grade b{display:none}.exv-section-head,.exv-overview-grid{grid-template-columns:1fr}.exv-overview-image{grid-column:auto;height:360px}.exv-service-card,.exv-service-card.exv-card-wide{grid-column:1/-1;grid-template-rows:250px 1fr}.exv-planning figure{height:390px}.exv-condition-grid,.exv-step-grid{grid-template-columns:1fr}.exv-step-grid article,.exv-step-grid article:nth-child(3){min-height:0;border-left:1px solid #cec7ba}.exv-close{min-height:630px}.exv-close-copy{padding:30px 23px}.exv-footer>.exv-wrap{grid-template-columns:1fr;text-align:center}.exv-footer>div>div:nth-child(2){justify-items:center}.exv-footer .pc-site-copyright{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.exv-page *{animation:none!important;transition:none!important}}
.exv-page p,.exv-page h1,.exv-page h2,.exv-page h3,.exv-page span,.exv-page a{hyphens:none;overflow-wrap:normal;word-break:normal}
.exv-hero{min-height:730px;padding-top:132px}.exv-hero h1{font-size:clamp(3.65rem,5.75vw,6.45rem);line-height:.86}.exv-hero-copy{max-width:780px}.exv-disciplines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:min(100%,760px)}.exv-disciplines span{display:flex;align-items:center;justify-content:center;min-width:0;padding:11px 8px;text-align:center;white-space:nowrap}.exv-service-card.exv-card-full{grid-column:1/-1;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);grid-template-rows:390px}.exv-service-card.exv-card-full>div{display:flex;flex-direction:column;justify-content:center;border-top:0;border-left:4px solid var(--soil)}
.exv-hero-inner{grid-template-columns:minmax(0,850px) 250px;gap:clamp(42px,5vw,90px)}.exv-hero-copy{max-width:850px}.exv-disciplines{width:100%;gap:9px}.exv-disciplines span{padding-inline:7px;font-size:.54rem;letter-spacing:.065em}
@media(max-width:1050px){.exv-disciplines{grid-template-columns:repeat(2,minmax(0,1fr))}.exv-service-card.exv-card-full{grid-column:1/-1;grid-template-columns:1fr;grid-template-rows:300px 1fr}.exv-service-card.exv-card-full>div{border-top:4px solid var(--soil);border-left:0}}
@media(max-width:700px){.exv-hero{min-height:720px}.exv-hero h1{font-size:clamp(3rem,13vw,4.25rem)}.exv-disciplines{grid-template-columns:1fr}.exv-disciplines span{justify-content:flex-start;padding-inline:12px}.exv-service-card.exv-card-full{grid-template-rows:250px 1fr}}
.exv-footer{position:relative;isolation:isolate;padding:0 0 34px;background:#06110e;color:#fff;overflow:hidden}.exv-footer:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:58px 58px}.exv-footer:after{content:"";position:absolute;z-index:-1;right:-14vw;bottom:-29vw;width:66vw;aspect-ratio:1;border:1px solid rgba(227,183,105,.1);border-radius:45% 55% 48% 52%;box-shadow:0 0 0 7vw rgba(227,183,105,.025),0 0 0 14vw rgba(227,183,105,.02)}.exv-footer-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:18px 4.5vw;border-top:3px solid var(--survey);border-bottom:1px solid rgba(255,255,255,.14);color:#aeb9b3;font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.exv-footer-top i{height:1px;background:repeating-linear-gradient(90deg,var(--soil) 0 24px,transparent 24px 33px)}.exv-footer-top b{color:var(--sand)}.exv-footer-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(380px,.75fr);gap:clamp(55px,8vw,130px);align-items:center;padding-block:clamp(70px,8vw,115px)}.exv-footer-brand{display:grid;grid-template-columns:104px minmax(0,1fr);gap:34px;align-items:start}.exv-footer-mark{display:grid;place-items:center;width:104px;height:124px;background:var(--soil);color:#101514;font-size:2rem;font-weight:950;clip-path:polygon(0 0,78% 0,100% 18%,100% 100%,0 100%)}.exv-footer-brand span,.exv-footer-details span{color:var(--sand);font-size:.61rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.exv-footer-brand h2{margin:10px 0 17px;color:#fff;font-size:clamp(3rem,4.7vw,5.4rem);letter-spacing:-.07em;line-height:.86}.exv-footer-brand h2 em{color:var(--sand);font-family:Georgia,serif;font-weight:400}.exv-footer-brand p{max-width:680px;margin:0;color:rgba(255,255,255,.6);line-height:1.75}.exv-footer-details{border-top:1px solid rgba(255,255,255,.2)}.exv-footer-details>div{display:grid;gap:10px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.2)}.exv-footer-details a,.exv-footer-details strong{color:#fff;font-size:.93rem;line-height:1.5;text-decoration:none}.exv-footer-details a{display:flex;justify-content:space-between;gap:25px}.exv-footer-details a b{color:var(--survey)}.exv-footer-scopes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.16)}.exv-footer-scopes span{padding:18px 10px;border-right:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);color:#aeb9b3;font-size:.57rem;font-weight:850;letter-spacing:.09em;text-align:center;text-transform:uppercase}.exv-footer .pc-site-copyright{margin:31px 0 0;color:#89958f;font-size:.76rem;text-align:center}.exv-footer .pc-site-copyright:before{content:"";display:inline-block;width:35px;margin-right:12px;border-top:1px solid var(--soil);vertical-align:middle}.exv-footer .pc-site-copyright:after{content:"";display:inline-block;width:35px;margin-left:12px;border-top:1px solid var(--soil);vertical-align:middle}
@media(max-width:900px){.exv-footer-main{grid-template-columns:1fr}.exv-footer-scopes{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.exv-footer-top span,.exv-footer-top b{display:none}.exv-footer-brand{grid-template-columns:1fr}.exv-footer-mark{width:76px;height:88px}.exv-footer-brand h2{font-size:clamp(2.8rem,14vw,4.2rem)}.exv-footer-scopes{grid-template-columns:repeat(2,1fr)}.exv-footer .pc-site-copyright{padding-inline:20px}.exv-footer .pc-site-copyright:before,.exv-footer .pc-site-copyright:after{display:none}}
.exv-handoff{padding:0;background:#101816;color:#fff}.exv-handoff:before{background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 100%}.exv-handoff:after{display:none}.exv-handoff-line{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:15px 4.5vw;background:#d7a955;color:#101816;font-size:.58rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.exv-handoff-line i{height:2px;background:repeating-linear-gradient(90deg,#101816 0 28px,transparent 28px 38px);opacity:.48}.exv-handoff-main{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(340px,1fr) minmax(330px,.8fr);gap:clamp(35px,5vw,80px);align-items:stretch;padding-block:clamp(65px,7vw,95px)}.exv-handoff-brand{display:grid;grid-template-columns:92px 1fr;gap:25px;align-content:start;padding-right:35px;border-right:1px solid rgba(255,255,255,.16)}.exv-handoff-mark{display:grid;place-items:center;width:92px;height:108px;background:#d7a955;color:#101816;font-size:1.85rem;font-weight:950;clip-path:polygon(0 0,78% 0,100% 19%,100% 100%,0 100%)}.exv-handoff-brand>div:last-child{display:grid;align-content:start;gap:11px}.exv-handoff-brand span,.exv-handoff-message>span,.exv-handoff-contact>span{color:#d7a955;font-size:.59rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.exv-handoff-brand strong{color:#fff;font-size:1.42rem;line-height:1.08}.exv-handoff-brand small{color:#8fa099;font-size:.58rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.exv-handoff-message{align-self:center}.exv-handoff-message h2{margin:12px 0 18px;color:#fff;font-size:clamp(2.8rem,3.7vw,4.65rem);letter-spacing:-.065em;line-height:.88}.exv-handoff-message h2 em{color:#d7a955;font-family:Georgia,serif;font-weight:400}.exv-handoff-message p{max-width:560px;margin:0;color:#aab6b1;line-height:1.7}.exv-handoff-contact{padding:30px;border:1px solid rgba(255,255,255,.2);border-top:4px solid #d7a955;background:#17211f}.exv-handoff-contact h3{margin:12px 0;color:#fff;font-size:1.55rem;letter-spacing:-.035em}.exv-handoff-contact p{margin:0 0 23px;color:#9daca6;font-size:.9rem;line-height:1.6}.exv-handoff-contact>a{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;background:#d7a955;color:#101816;font-size:.62rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.35s}.exv-handoff-contact>a:hover{background:#fff;transform:translateY(-3px)}.exv-handoff-contact>div{display:grid;gap:5px;margin-top:22px;padding-top:19px;border-top:1px solid rgba(255,255,255,.15)}.exv-handoff-contact small{color:#7f9089;font-size:.55rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.exv-handoff-contact>div strong{font-size:.78rem}.exv-handoff-bottom{display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;padding-block:24px;border-top:1px solid rgba(255,255,255,.16)}.exv-handoff-bottom>span{color:#899991;font-size:.58rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.exv-handoff .pc-site-copyright{margin:0;padding:0;border:0;color:#899991;font-size:.76rem;text-align:right}.exv-handoff .pc-site-copyright:before,.exv-handoff .pc-site-copyright:after{display:none}
@media(max-width:1050px){.exv-handoff-main{grid-template-columns:1fr 1fr}.exv-handoff-brand{grid-column:1/-1;border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding:0 0 35px}}
@media(max-width:700px){.exv-handoff-line span,.exv-handoff-line b{display:none}.exv-handoff-main{grid-template-columns:1fr}.exv-handoff-brand{grid-column:auto;grid-template-columns:74px 1fr}.exv-handoff-mark{width:74px;height:88px}.exv-handoff-message h2{font-size:clamp(2.65rem,13vw,3.8rem)}.exv-handoff-bottom{grid-template-columns:1fr;text-align:center}.exv-handoff .pc-site-copyright{text-align:center}}
.exv-footer>.exv-handoff-main{grid-template-columns:minmax(230px,.7fr) minmax(320px,1fr) minmax(300px,.8fr)}.exv-footer>.exv-handoff-bottom{grid-template-columns:1fr auto}
@media(max-width:1050px){.exv-footer>.exv-handoff-main{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.exv-footer>.exv-handoff-main{grid-template-columns:1fr}.exv-footer>.exv-handoff-bottom{grid-template-columns:1fr}}
.exv-handoff-brand strong{max-width:210px}.exv-handoff-contact h3{max-width:370px;line-height:1.08}.exv-handoff-contact .exv-handoff-services{display:block;margin:21px 0 0;padding:15px 0;border-top:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);color:#d7a955;font-size:.57rem;font-weight:900;letter-spacing:.07em;line-height:1.65;text-transform:uppercase}.exv-handoff-contact .exv-handoff-services+div{margin-top:0;border-top:0}
.exv-handoff,.exv-handoff *{hyphens:none;overflow-wrap:normal;word-break:normal}
.exv-handoff,.exv-handoff *{hyphens:none!important;-webkit-hyphens:none!important;overflow-wrap:normal!important;word-break:normal!important}.exv-handoff-contact{display:flex;flex-direction:column;padding:32px 30px 28px;border-color:rgba(215,169,85,.48);background:linear-gradient(145deg,#18231f,#121b18)}.exv-handoff-contact h3{max-width:none;margin:13px 0 17px;font-size:clamp(1.35rem,1.6vw,1.7rem);line-height:1.08}.exv-handoff-contact p{margin-bottom:24px;color:#b7c2bd;font-size:.86rem;line-height:1.68}.exv-handoff-contact .exv-handoff-services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;padding:1px;border:0;background:rgba(215,169,85,.25)}.exv-handoff-contact .exv-handoff-services span{display:flex;align-items:center;min-height:48px;padding:10px 12px;background:#131d1a;color:#d7a955;font-size:.52rem;font-weight:900;letter-spacing:.065em;line-height:1.35;text-transform:uppercase}.exv-handoff-contact .exv-handoff-services+.exv-handoff-area{display:grid;gap:7px;margin:22px 0 0;padding:19px 0 0;border-top:1px solid rgba(255,255,255,.17);border-bottom:0}.exv-handoff-contact .exv-handoff-area small{color:#d7a955}.exv-handoff-contact .exv-handoff-area strong{color:#fff;font-size:.82rem;line-height:1.45}
@media(max-width:430px){.exv-handoff-contact .exv-handoff-services{grid-template-columns:1fr}}
.exv-close{background:#07110f}.exv-close-media{display:flex;justify-content:flex-end;background:#07110f;overflow:hidden}.exv-close-media:before{content:"";position:absolute;inset:-4%;background:url('../images/services/Excavation/site-excavation-01.jpeg') center/cover no-repeat;filter:blur(16px);opacity:.2;transform:scale(1.04)}.exv-close-media:after{z-index:2;background:linear-gradient(90deg,#07110f 0%,rgba(7,17,15,.96) 30%,rgba(7,17,15,.6) 58%,rgba(7,17,15,.12) 100%)}.exv-close-media img{position:relative;z-index:1;width:62%;height:100%;margin-left:auto;object-fit:contain;object-position:right center;filter:saturate(.9) contrast(1.03)}
@media(max-width:900px){.exv-close-media img{width:78%}.exv-close-media:after{background:linear-gradient(90deg,rgba(7,17,15,.98),rgba(7,17,15,.72) 68%,rgba(7,17,15,.24))}}
@media(max-width:600px){.exv-close-media{align-items:center}.exv-close-media img{width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}.exv-close-media:after{background:rgba(7,17,15,.7)}}
.exv-close-media{display:block;background:#07110f}.exv-close-media:before{display:none}.exv-close-media img{position:absolute;inset:0;width:100%;height:100%;max-height:none;margin:0;object-fit:cover;object-position:center 42%}.exv-close-media:after{background:linear-gradient(90deg,rgba(7,17,15,.96) 0%,rgba(7,17,15,.82) 48%,rgba(7,17,15,.28) 100%)}
@media(max-width:700px){.exv-close-media img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:58% center}.exv-close-media:after{background:rgba(7,17,15,.68)}}
.exv-close-copy{max-width:760px;padding:clamp(30px,3.2vw,46px)}.exv-close h2{max-width:650px;margin:14px 0 26px;font-size:clamp(2.65rem,4.15vw,4.65rem);line-height:.98;letter-spacing:-.052em}.exv-close h2 em{display:block;padding-bottom:.08em;line-height:1.02}.exv-close p{margin-top:0;hyphens:none!important;overflow-wrap:normal!important;word-break:normal!important}.exv-close-meta{line-height:1.55}
@media(max-width:800px){.exv-close h2{font-size:clamp(2.45rem,8.5vw,3.8rem);line-height:1}.exv-close-copy{width:min(100%,680px);padding:30px 28px}.exv-close h2 em{padding-bottom:.12em}}
@media(max-width:480px){.exv-close{min-height:650px}.exv-close h2{font-size:clamp(2.35rem,12vw,3.25rem);letter-spacing:-.045em}.exv-close-copy{padding:27px 22px}.exv-close p{font-size:.93rem;line-height:1.65}.exv-close-meta{font-size:.55rem}}

/* Node 5 — premium portfolio grid */
.prx-gallery{padding:clamp(90px,8vw,135px) 0 clamp(105px,10vw,165px);background:#07171b}.prx-gallery>.prx-wrap{width:min(1500px,calc(100% - 6vw))}.prx-gallery-head{display:block;margin-bottom:44px;text-align:center}.prx-gallery-head>div{margin-inline:auto}.prx-filters{position:relative;top:auto;display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 24px;padding:14px;border:1px solid rgba(255,255,255,.13);background:#0d2227;box-shadow:0 20px 45px rgba(0,0,0,.18);backdrop-filter:none}.prx-filter{min-height:39px;padding:11px 17px;border-radius:0;font-size:.54rem}.prx-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:92px;gap:18px;padding:18px;border:1px solid rgba(255,255,255,.13);background:#0b2025;box-shadow:0 34px 85px rgba(0,0,0,.24)}.prx-photo,.prx-photo.prx-wide,.prx-photo.prx-tall{grid-column:span 3;grid-row:span 3;position:relative;min-width:0;height:auto!important;padding:8px!important;border:1px solid rgba(255,255,255,.16)!important;background:#132a30!important;box-shadow:0 13px 28px rgba(0,0,0,.2);overflow:hidden;transform:none}.prx-photo.prx-wide{grid-column:span 6}.prx-photo.prx-tall{grid-row:span 6}.prx-photo img{display:block;width:100%;height:100%;border:0!important;object-fit:cover;transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s}.prx-photo:after{inset:48% 8px 8px;background:linear-gradient(transparent,rgba(3,13,16,.9))}.prx-photo:before{right:21px;top:21px;width:36px;height:36px;border-color:rgba(255,255,255,.55);background:rgba(4,16,20,.67);opacity:1;transform:none}.prx-photo span{left:22px;bottom:21px;padding:8px 10px;border-left:3px solid #f3bf24;background:rgba(5,18,22,.82);font-size:.52rem;letter-spacing:.13em}.prx-photo:hover{z-index:2;transform:translateY(-7px);border-color:rgba(243,191,36,.68)!important;box-shadow:0 26px 52px rgba(0,0,0,.36)}.prx-photo:hover img{transform:scale(1.035);filter:saturate(1.07) contrast(1.025)}.prx-photo:focus-visible{outline:3px solid #f3bf24;outline-offset:5px}.prx-photo.is-filtered{display:none!important}
@media(max-width:1120px){.prx-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:98px}.prx-photo,.prx-photo.prx-wide,.prx-photo.prx-tall{grid-column:span 3}.prx-photo.prx-wide{grid-column:span 6}.prx-photo.prx-tall{grid-row:span 5}}
@media(max-width:720px){.prx-gallery>.prx-wrap{width:min(100% - 28px,1500px)}.prx-filters{position:relative;top:auto;z-index:8;flex-wrap:wrap;justify-content:center;overflow:visible;margin-bottom:14px;padding:10px}.prx-grid{grid-template-columns:1fr;grid-auto-rows:auto;gap:14px;padding:14px}.prx-photo,.prx-photo.prx-wide,.prx-photo.prx-tall{grid-column:1;grid-row:auto;height:clamp(285px,72vw,420px)!important}.prx-photo.prx-tall{height:clamp(390px,110vw,590px)!important}.prx-photo:before{opacity:1}.prx-photo:hover{transform:none}}

/* Site-wide responsive hardening — all public pages and node templates. */
html{overflow-x:clip}
body{min-width:320px;overflow-x:clip}
img,svg,video,canvas,iframe{max-width:100%}
:where(main,section,article,header,footer,div,nav,form,fieldset)>*{min-width:0}
:where(h1,h2,h3,h4,h5,h6,p,li,a,button,label,strong,span){word-break:normal;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}

@media(max-width:900px){
  .gcx-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
  .gcx-industry-grid article{min-height:260px;border-bottom:1px solid rgba(255,255,255,.16)}
  .gcx-industry-grid p{max-width:38rem}
}

@media(max-width:760px){
  .services-v2-hero .services-v2-sector-line{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .55rem;max-width:100%;white-space:normal;text-wrap:balance}
  .services-v2-hero h1,.services-v2-heading h2{max-width:100%;overflow:visible;text-wrap:balance}
  .exv-disciplines{grid-template-columns:1fr!important;width:100%!important}
  .exv-disciplines span{width:100%;min-width:0;justify-content:flex-start!important;white-space:normal!important}
  .gcx-industry-grid{grid-template-columns:1fr}
  .gcx-industry-grid article{min-height:230px}
}

@media(max-width:420px){
  body:has(.hero-slider) .home-design-build-callout{grid-template-columns:1fr!important;gap:20px;padding:24px 18px}
  body:has(.hero-slider) .home-design-build-mark{display:none}
  body:has(.hero-slider) .home-design-build-copy,
  body:has(.hero-slider) .home-design-build-scope,
  body:has(.hero-slider) .home-design-build-link{grid-column:1/-1!important}
  body:has(.hero-slider) .home-design-build-copy h3{font-size:clamp(1.42rem,7.2vw,1.72rem)!important;line-height:1.08}
  body:has(.hero-slider) .home-design-build-copy h3>span{display:inline!important}
  body:has(.hero-slider) .home-design-build-copy h3>span+span:before{content:" "}
  .services-v2-container{width:calc(100% - 28px)}
  .services-v2-hero .services-v2-sector-line{font-size:.61rem;line-height:1.45}
}

@media(max-width:1050px){
  .exv-hero-inner{grid-template-columns:1fr!important}
  .exv-hero-copy{width:100%;max-width:100%}
}

/* Homepage Design-Build callout: clear editorial hierarchy. */
body:has(.hero-slider) .home-design-build-callout{grid-template-columns:94px minmax(0,1fr) minmax(215px,.32fr);grid-template-rows:auto auto;gap:30px clamp(22px,2.6vw,42px);align-items:center}
body:has(.hero-slider) .home-design-build-mark{grid-column:1;grid-row:1;align-self:start;width:88px;height:88px;margin-top:38px;border:0;background:transparent;box-shadow:none;overflow:visible}
body:has(.hero-slider) .home-design-build-mark:before{display:none}
body:has(.hero-slider) .home-design-build-mark:after{content:"";position:absolute;right:13px;bottom:-11px;left:13px;height:2px;background:linear-gradient(90deg,var(--home-yellow),var(--home-orange),var(--home-blue))}
body:has(.hero-slider) .home-design-build-copy{grid-column:2;grid-row:1}
body:has(.hero-slider) .home-design-build-copy h3{display:grid;gap:14px;margin-top:14px;line-height:1}
body:has(.hero-slider) .home-design-build-copy h3 .home-design-build-title-main{color:#fff;font-size:clamp(2.25rem,3.4vw,3.8rem);font-weight:900;letter-spacing:-.06em;line-height:.88}
body:has(.hero-slider) .home-design-build-copy h3 .home-design-build-title-sub{color:#a8e9f2;font-size:clamp(1.15rem,1.65vw,1.65rem);font-weight:650;letter-spacing:-.025em;line-height:1.12}
body:has(.hero-slider) .home-design-build-copy p{max-width:820px;margin-top:18px;color:rgba(255,255,255,.72);font-size:.94rem;line-height:1.72}
body:has(.hero-slider) .home-design-build-scope{grid-column:2;grid-row:2;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body:has(.hero-slider) .home-design-build-link{grid-column:3;grid-row:1/3;align-self:center}
@media(max-width:1050px){body:has(.hero-slider) .home-design-build-callout{grid-template-columns:82px minmax(0,1fr);grid-template-rows:auto auto auto}body:has(.hero-slider) .home-design-build-mark{grid-column:1;grid-row:1;width:74px;height:74px;margin-top:32px}body:has(.hero-slider) .home-design-build-copy{grid-column:2;grid-row:1}body:has(.hero-slider) .home-design-build-scope{grid-column:2;grid-row:2}body:has(.hero-slider) .home-design-build-link{grid-column:2;grid-row:3;justify-self:start;min-width:235px}}
@media(max-width:700px){body:has(.hero-slider) .home-design-build-callout{grid-template-columns:72px minmax(0,1fr);gap:24px 18px}body:has(.hero-slider) .home-design-build-mark{width:66px;height:66px}body:has(.hero-slider) .home-design-build-mark:after{right:8px;bottom:-9px;left:8px}body:has(.hero-slider) .home-design-build-scope{grid-column:1/-1;grid-template-columns:1fr}body:has(.hero-slider) .home-design-build-link{grid-column:1/-1;width:100%}}
@media(max-width:420px){body:has(.hero-slider) .home-design-build-copy{grid-column:1!important}body:has(.hero-slider) .home-design-build-copy h3{gap:6px}body:has(.hero-slider) .home-design-build-copy h3>span{display:block!important}body:has(.hero-slider) .home-design-build-copy h3>span+span:before{content:none}body:has(.hero-slider) .home-design-build-copy h3 .home-design-build-title-main{font-size:2.2rem!important}body:has(.hero-slider) .home-design-build-copy h3 .home-design-build-title-sub{font-size:1.12rem!important}}

@media(max-width:700px){
  .abx-page .abx-proof{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%}
  .abx-page .abx-proof article{min-width:0}
  .prx-phase-rail span,.prx-phase-rail strong{flex:0 0 auto}
  .cx7-next-head{grid-template-columns:1fr!important;gap:18px}
  .rtx-eyebrow{max-width:100%;white-space:normal!important}
  .exterior-footer-note{flex-wrap:wrap;justify-content:center;max-width:100%;white-space:normal;text-align:center}
}

.abx-page .abx-standard-grid article{grid-template-columns:minmax(190px,.42fr) minmax(0,1fr)}

@media(max-width:900px){
  .abx-page .abx-standard-grid{grid-template-columns:1fr!important}
  .abx-page .abx-standard-grid article,.abx-page .abx-standard-grid article:nth-child(even){grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);padding-inline:0 20px;border-right:0}
}

@media(max-width:420px){
  body:has(.hero-slider) .mission-cinema-section h2{display:block;max-width:100%;font-size:clamp(2.05rem,9.6vw,2.7rem)!important;line-height:1!important}
  body:has(.hero-slider) .mission-cinema-section h2 span{display:block;width:100%;max-width:100%;white-space:normal!important}
}

/* Node 18 mechanical systems: contrast and responsive spacing correction. */
.mechanical-services .mechanical-heading h2{color:#fff;max-width:18ch}
.mechanical-services .mechanical-heading>span{color:var(--mech-cyan)}
.mechanical-cta-content>span{max-width:100%;line-height:1.55}
.mechanical-cta-card,.mechanical-cta-content,.mechanical-grid article{min-width:0}
.mechanical-cta-card a,.mechanical-footer a{overflow-wrap:anywhere}
.mechanical-hero h1{font-size:clamp(2.7rem,4vw,4.5rem);text-wrap:initial}
.mechanical-hero-title-line{display:block;white-space:nowrap}
.mechanical-services-title-line{display:block;white-space:nowrap}
.mechanical-feature-copy h2{font-size:clamp(2.15rem,2.8vw,3.2rem)}
.mechanical-feature-copy h2>span{display:block}
.mechanical-feature-title-line{white-space:nowrap}
.site-premium-footer--mechanical .modern-footer-card{padding:30px}
.site-premium-footer--mechanical .footer-contact-card{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.site-premium-footer--mechanical .modern-footer-grid{align-items:start}
.site-premium-footer--mechanical .footer-brand-card{min-height:0;justify-content:flex-start}
.site-premium-footer--mechanical .footer-brand-card h3{max-width:none;font-size:clamp(1.35rem,2vw,1.75rem);letter-spacing:-.035em;white-space:nowrap}
.site-premium-footer--mechanical .footer-contact-heading>span{margin-bottom:10px}
.site-premium-footer--mechanical .footer-contact-heading h3{margin:0;max-width:100%;font-size:clamp(2.25rem,3.25vw,3rem);line-height:.92;overflow-wrap:normal;word-break:normal}
.site-premium-footer--mechanical .footer-contact-heading h3>span{display:block}
.site-premium-footer--mechanical .footer-contact-list{display:grid;grid-template-columns:1fr;gap:0;width:100%;border-top:1px solid rgba(255,255,255,.14)}
.site-premium-footer--mechanical .footer-contact-list .modern-contact-row{box-sizing:border-box;display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;min-width:0;margin:0;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.site-premium-footer--mechanical .footer-contact-list .footer-contact-cta{grid-template-columns:150px minmax(0,1fr) 42px}
.site-premium-footer--mechanical .footer-contact-list .footer-contact-email strong{font-size:.9rem!important;white-space:normal!important;overflow-wrap:anywhere}
.site-premium-footer--mechanical .footer-contact-list .footer-service-area>strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
@media(max-width:700px){.site-premium-footer--mechanical .footer-contact-list{grid-template-columns:1fr}.site-premium-footer--mechanical .footer-contact-heading h3{font-size:clamp(2.35rem,12vw,3.7rem)}}
@media(max-width:520px){.site-premium-footer--mechanical .footer-contact-list .modern-contact-row{grid-template-columns:1fr;gap:7px}.site-premium-footer--mechanical .footer-contact-list .footer-contact-cta{grid-template-columns:minmax(0,1fr) 48px}.site-premium-footer--mechanical .footer-contact-list .footer-contact-cta>span{grid-column:1/-1}}

@media(max-width:900px){
  .mechanical-services{padding-inline:clamp(24px,7vw,54px)}
  .mechanical-services .mechanical-heading{max-width:680px}
  .mechanical-grid article{padding:32px clamp(24px,4.5vw,34px)}
  .mechanical-cta-premium{gap:42px;padding-inline:clamp(24px,7vw,54px)}
}

@media(max-width:600px){
  .mechanical-hero h1{font-size:clamp(1.95rem,9vw,3rem)}
  .mechanical-hero h1 em{display:block;margin-top:.12em}
  .mechanical-services .mechanical-heading h2{font-size:clamp(1.85rem,8.7vw,2.55rem)}
  .mechanical-feature-copy h2{font-size:clamp(1.55rem,7.5vw,2.5rem)}
  .mechanical-services{padding:64px 24px 72px}
  .mechanical-services .mechanical-heading h2{margin-top:16px;font-size:clamp(2rem,9.4vw,2.65rem);line-height:1.04;letter-spacing:-.035em}
  .mechanical-services .mechanical-heading,
  .mechanical-services .mechanical-heading h2,
  .mechanical-services-title-line{width:100%;max-width:100%;min-width:0}
  .mechanical-services-title-line{white-space:normal;overflow-wrap:normal}
  .mechanical-grid{margin-top:34px}
  .mechanical-grid article{min-height:auto;padding:28px 24px 30px}
  .mechanical-grid h3{margin-top:26px}
  .mechanical-cta-premium{gap:32px;padding:66px 24px 72px}
  .mechanical-cta-content{padding-top:18px}
  .mechanical-cta-content:before{width:72px}
  .mechanical-cta-content>span{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px;font-size:.64rem;letter-spacing:.12em}
  .mechanical-cta-content>span:before{width:24px;margin-top:.7em}
  .mechanical-cta-premium h2{max-width:14ch;margin-top:18px;font-size:clamp(2rem,9.2vw,2.65rem);line-height:1.02;letter-spacing:-.035em}
  .mechanical-cta-premium .mechanical-cta-content>p{margin-top:22px;line-height:1.65}
  .mechanical-cta-systems{gap:7px;margin-top:24px}
  .mechanical-cta-systems b{padding:10px 12px}
}

@media(max-width:380px){
  .mechanical-services,.mechanical-cta-premium{padding-left:20px;padding-right:20px}
  .mechanical-cta-premium h2{font-size:clamp(1.9rem,9vw,2.2rem)}
  .mechanical-cta-card{padding:25px 20px}
}

/* Cross-page responsive text-pressure corrections from the full-site audit. */
.abx-footer-bottom>span{min-width:0;overflow-wrap:anywhere}
.exterior-footer-note{font-size:.52rem;letter-spacing:.075em}
@media(max-width:1100px) and (min-width:601px){
  .mechanical-intro-pillars{grid-template-columns:1fr}
  .mechanical-intro-pillars div{padding:15px 18px}
}
@media(max-width:900px){
  .abx-footer .abx-footer-bottom{grid-template-columns:1fr;gap:12px;text-align:center}
  .abx-footer-bottom .pc-site-copyright{grid-column:1;grid-row:auto}
  .abx-footer-bottom>span:last-child{text-align:center}
}
@media(max-width:820px){
  .exterior-footer-note{flex-wrap:wrap;justify-content:center;max-width:100%;white-space:normal;text-align:center}
  .exterior-footer-scope span{padding-inline:12px;letter-spacing:.075em;overflow-wrap:anywhere}
}
@media(max-width:400px){
  .services-v2-final-panel h2{font-size:clamp(1.82rem,8.4vw,2.2rem);line-height:1.06;overflow:visible}
}

@media(max-width:420px){
  body:has(.hero-slider) .mission-cinema-section h2{font-size:clamp(1.75rem,7.8vw,2.35rem)!important;line-height:1.04!important;text-wrap:wrap!important}
  body:has(.hero-slider) .mission-cinema-section h2 span{max-inline-size:100%;text-wrap:wrap!important;overflow-wrap:break-word!important}
}

.cx7-contact-strip>.cx7-wrap:has(>.cx7-contact-strip-service:only-child){grid-template-columns:1fr}
.cx7-contact-strip>.cx7-wrap>.cx7-contact-strip-service:only-child{padding-inline:clamp(24px,3vw,45px);border-left:1px solid #d0d2cc;border-right:1px solid #d0d2cc}

/* Contact details remain editable blocks while sharing one responsive strip. */
.cx7-contact-strip>.cx7-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
.cx7-contact-strip-email a strong{overflow-wrap:anywhere}
@media(max-width:950px){.cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr 1fr}.cx7-contact-strip-email{grid-column:1/-1;border-top:1px solid #d0d2cc}}
@media(max-width:650px){.cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr}.cx7-contact-strip-email{grid-column:auto}}

/* Contact page office address and four-part contact directory. */
.cx7-contact-strip>.cx7-wrap{grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr) minmax(0,.75fr) minmax(0,1.45fr)}
.cx7-contact-strip-address strong{font-style:normal}
@media(max-width:1180px){.cx7-contact-strip>.cx7-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.cx7-contact-strip-email{grid-column:auto;border-top:0}.cx7-contact-strip>.cx7-wrap>div:nth-child(n+3){border-top:1px solid #d0d2cc}}
@media(max-width:650px){.cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr}.cx7-contact-strip>.cx7-wrap>div:nth-child(n+3){border-top:0}.cx7-contact-strip>.cx7-wrap>div:first-child{padding-inline:0;border-left:0}}

/* Contact footer branding and compact single-line email directory item. */
.cx7-footer-brand{grid-template-columns:400px minmax(0,1fr)!important;gap:58px!important;align-items:center}
.cx7-footer-logo{display:flex;align-items:center;justify-content:center;width:400px}
.cx7-footer-logo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;clip-path:none;margin:0;filter:drop-shadow(0 14px 28px rgba(0,0,0,.28))}
.cx7-footer-logo:after{display:none!important;content:none!important}
.cx7-footer-brand>b{display:block!important;width:400px!important;height:250px!important;font-size:0!important;color:transparent!important;background:transparent url('../images/Logo/caldrin-logo-contact-footer.png') center/contain no-repeat!important;clip-path:none!important}
.cx7-contact-strip-email{flex-direction:row!important;align-items:center;gap:16px}
.cx7-contact-strip>.cx7-wrap>.cx7-contact-strip-email{padding-inline:22px}
.cx7-contact-strip-email>span{flex:none;margin-bottom:0}
.cx7-contact-strip-email>a{flex:1;min-width:0;align-items:center}
.cx7-contact-strip-email a strong{font-size:clamp(.68rem,.82vw,.8rem);overflow-wrap:normal;white-space:nowrap}
@media(max-width:760px){.cx7-footer-brand{grid-template-columns:280px minmax(0,1fr)!important;gap:36px!important}.cx7-footer-logo{width:280px}.cx7-footer-brand>b{width:280px!important;height:175px!important}}
@media(max-width:650px){.cx7-contact-strip>.cx7-wrap>.cx7-contact-strip-email{padding-inline:0}}
@media(max-width:480px){.cx7-footer-brand{grid-template-columns:1fr!important}.cx7-footer-logo{width:min(320px,100%);margin:0 auto}.cx7-footer-brand>b{width:min(320px,100%)!important;height:200px!important;margin:0 auto}.cx7-footer-brand>div:last-child{text-align:center}.cx7-contact-strip-email{gap:10px}.cx7-contact-strip-email a strong{font-size:.66rem}}

/* Keep the full Caldrin signature equally clear on the About page. */
.abx-footer-brand{grid-template-columns:280px minmax(0,1fr)!important;gap:76px!important;align-items:center}
.abx-footer-mark{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;width:280px!important}
.abx-footer-mark img{display:block;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain;object-position:center;clip-path:none;margin:0;filter:drop-shadow(0 14px 28px rgba(0,0,0,.28))}
.abx-footer-mark:after{display:none!important;content:none!important}
@media(max-width:760px){.abx-footer-brand{grid-template-columns:190px minmax(0,1fr)!important;gap:36px!important}.abx-footer-mark{width:190px!important}}
@media(max-width:480px){.abx-footer-brand{grid-template-columns:1fr!important}.abx-footer-mark{width:210px!important;margin:0 auto}.abx-footer-brand>div:last-child{text-align:center}}
.cx7-form:after{display:none}

/* SEO semantic heading equivalents for legacy hero templates. */
body:has(.hero-slider) .hero-content h1{display:grid;gap:8px;width:100%;max-width:none;margin:0;color:#fff;font-size:clamp(2.7rem,3.8vw,4rem);font-weight:950;letter-spacing:-.045em;line-height:.92;text-shadow:0 12px 36px rgba(0,0,0,.48)}
body:has(.hero-slider) .hero-content h1 .hero-phrase-line{display:block;width:100%;color:#fff;font:inherit;font-weight:950;letter-spacing:-.045em;text-transform:uppercase;white-space:normal;overflow-wrap:normal;word-break:normal}
body:has(.hero-slider) .hero-content h1 .hero-phrase-line:last-child{color:var(--home-yellow)}
.abx-page .abx-hero h1{max-width:760px;margin:28px 0;color:#142025;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.5rem,4.7vw,5.8rem);font-weight:500;letter-spacing:-.06em;line-height:.9}
.abx-page .abx-hero h1 em{display:block;color:#b95738;font-style:italic;font-weight:500}
.exterior-hero-copy h1{max-width:900px;margin:.83em 0;font-size:clamp(3rem,5.4vw,6rem);font-weight:700;line-height:.91;letter-spacing:-.035em}
.exterior-page .exterior-hero-copy h1{color:#fff}
.exterior-hero-copy h1 em{display:block;color:var(--ex-yellow);font-style:normal;font-size:.72em;line-height:1.04;letter-spacing:-.025em}
.exterior-footer-contact .exterior-footer-contact-copy{margin:0 0 22px;color:rgba(255,255,255,.68);font-size:.92rem;line-height:1.65;text-transform:none;letter-spacing:0}
@media(max-width:760px){
  .exterior-hero-copy h1{font-size:clamp(2.45rem,11vw,3.7rem)}
  .exterior-hero-copy h1 em{font-size:.68em}
}
@media(max-width:700px){
  .abx-page .abx-hero h1{width:100%;max-width:100%;font-size:clamp(2.75rem,11.5vw,3.8rem)}
}
@media(max-width:650px){
  body:has(.hero-slider) .hero-content h1{font-size:clamp(2.35rem,10.8vw,3.15rem)}
}

/* About story headline: preserve tight typography without glyph collisions. */
.abx-story-copy h2 em{display:block;margin-top:.1em}

/* Site-wide collision-safe display typography. */
body:not(.path-admin) h1,
body:not(.path-admin) h2{
  line-height:1.02!important;
  text-wrap:balance;
}
body:not(.path-admin) h3{
  line-height:1.15!important;
}
body:has(.hero-slider) .mission-cinema-section h2,
body:has(.hero-slider) .home-services-showcase .home-services-heading h2{
  line-height:1.02!important;
}

/* Site-wide responsive hardening. */
html,body{max-width:100%;overflow-x:clip}
body:not(.path-admin) *,body:not(.path-admin) *::before,body:not(.path-admin) *::after{box-sizing:border-box}
body:not(.path-admin) img,body:not(.path-admin) picture,body:not(.path-admin) video,body:not(.path-admin) canvas,body:not(.path-admin) iframe{max-width:100%;height:auto}
body:not(.path-admin) main,body:not(.path-admin) section,body:not(.path-admin) article,body:not(.path-admin) header,body:not(.path-admin) footer,body:not(.path-admin) nav,body:not(.path-admin) form,body:not(.path-admin) [class*="grid"],body:not(.path-admin) [class*="inner"],body:not(.path-admin) [class*="copy"]{min-width:0}
body:not(.path-admin) input,body:not(.path-admin) select,body:not(.path-admin) textarea,body:not(.path-admin) button{max-width:100%}


@media(max-width:1000px){
  body:not(.path-admin) .nav-links{display:none!important}
  body:not(.path-admin) .mobile-menu-toggle{display:flex!important}
}
@media(max-width:650px){
  body:not(.path-admin) h1,body:not(.path-admin) h2,body:not(.path-admin) h3{max-width:100%;overflow-wrap:break-word}
  body:not(.path-admin) input,body:not(.path-admin) select,body:not(.path-admin) textarea{font-size:16px}
  body:not(.path-admin) button,body:not(.path-admin) input[type="submit"],body:not(.path-admin) a[class*="btn"],body:not(.path-admin) a[class*="button"]{min-height:44px}
  .roof-hero h1{font-size:clamp(2.45rem,11vw,3.35rem)!important;letter-spacing:-.05em}
}

/* Keep lazy-loaded project photos inside their fixed CSS Grid cells. */
.prx-grid .prx-photo>img{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)!important;max-width:none;object-fit:cover}
.prx-feature-sequence{display:none}

/* Structural hero and overview — quieter display scale and tighter rhythm. */
.ss13-hero h1{
  max-width:660px;
  font-size:clamp(3rem,3.75vw,4.6rem);
  line-height:.88!important;
  letter-spacing:-.055em;
}
.ss13-hero-copy>p{
  max-width:700px;
  margin-top:27px;
  font-size:clamp(.98rem,1.05vw,1.08rem);
  line-height:1.7;
}
.ss13-overview{
  padding-top:clamp(68px,6.4vw,96px);
  padding-bottom:clamp(68px,6.4vw,96px);
}
.ss13-overview h2{
  max-width:700px;
  font-size:clamp(3rem,4.45vw,5.15rem);
  line-height:.92!important;
  letter-spacing:-.06em;
}
.ss13-overview-copy p{
  font-size:clamp(.98rem,1vw,1.08rem);
  line-height:1.72;
}
@media(max-width:760px){
  .ss13-hero h1{font-size:clamp(2.4rem,10.4vw,3.45rem);line-height:.9!important}
  .ss13-overview h2{font-size:clamp(2.55rem,10.8vw,3.75rem);line-height:.94!important}
}

/* Structural service cards — compact editorial scale. */
@media(min-width:761px){
  .ss13-services{
    padding-top:clamp(58px,5.7vw,86px);
    padding-bottom:clamp(58px,5.7vw,86px);
  }
  .ss13-service{min-height:420px}
  .ss13-service-feature{min-height:540px}
  .ss13-service img{height:230px}
  .ss13-service-feature img{height:540px}
  .ss13-service>div{padding:25px 27px}
  .ss13-service-feature>div{width:min(590px,70%);padding:32px 34px}
  .ss13-service h3{
    margin-top:10px;
    font-size:clamp(1.45rem,1.8vw,2.15rem);
    line-height:1.02!important;
    letter-spacing:-.045em;
  }
  .ss13-service p{
    margin-top:14px;
    font-size:.78rem;
    line-height:1.66;
  }
}

/* Sitewide email affordance: a restrained lift without a permanent box. */
a[href^="mailto:"]{
  transform-origin:center;
  transition:transform .3s ease,color .3s ease,filter .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease;
}
a[href^="mailto:"]:hover,
a[href^="mailto:"]:focus-visible{
  position:relative;
  z-index:3;
  transform:translateY(-5px) scale(1.015);
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.34));
}
a[href^="mailto:"]:focus-visible{
  outline:2px solid #7ad2dd;
  outline-offset:4px;
}
@media(prefers-reduced-motion:reduce){
  a[href^="mailto:"]{transition:none}
  a[href^="mailto:"]:hover,
  a[href^="mailto:"]:focus-visible{transform:none}
}
@media(max-width:760px){
  .ss13-service h3{font-size:clamp(1.45rem,7vw,2rem);line-height:1.04!important}
  .ss13-service p{font-size:.9rem;line-height:1.65}
}

/* Structural page — unified compact scale below the hero. */
@media(min-width:761px){
  .ss13-overview-grid,
  .ss13-services>.container,
  .ss13-capabilities>.container{
    width:min(1240px,calc(100% - 7vw));
  }
  .ss13-overview h2{
    max-width:620px;
    font-size:clamp(2.8rem,3.75vw,4.35rem);
  }
  .ss13-overview-copy p{font-size:clamp(.94rem,.95vw,1.02rem)}
  .ss13-service h3{font-size:clamp(1.35rem,1.55vw,1.85rem)}
  .ss13-service p{font-size:.76rem}
  .ss13-lift-feature{padding-top:clamp(64px,6vw,88px);padding-bottom:clamp(64px,6vw,88px)}
  .ss13-lift-head{margin-bottom:44px}
  .ss13-lift-head h2{
    max-width:720px;
    font-size:clamp(2.9rem,4.15vw,4.75rem);
    line-height:.9!important;
  }
  .ss13-lift-head>p{font-size:.92rem;line-height:1.7}
  .ss13-sequence{padding-top:clamp(64px,6vw,90px);padding-bottom:clamp(64px,6vw,90px)}
  .ss13-sequence-head h2{
    font-size:clamp(2.8rem,3.85vw,4.4rem);
    line-height:.92!important;
  }
  .ss13-sequence-head>p{font-size:.92rem;line-height:1.7}
  .ss13-sequence-strip article{min-height:205px;padding:61px 29px 25px}
  .ss13-sequence-strip article:before{left:29px}
  .ss13-sequence-strip strong{font-size:clamp(1.35rem,1.8vw,1.9rem)}
  .ss13-sequence-strip article>p{font-size:.8rem;line-height:1.64}
  .ss13-capabilities{padding-top:clamp(68px,6.5vw,96px);padding-bottom:clamp(68px,6.5vw,96px)}
  .ss13-cap-layout>.ss13-cap-intro{padding:35px 38px!important}
  .ss13-cap-intro h2{font-size:clamp(2.35rem,2.55vw,3rem)!important}
  .ss13-cap-intro-accent{font-size:clamp(1.6rem,1.75vw,2rem)}
  .ss13-cap-intro-copy{font-size:.94rem;line-height:1.7}
  .ss13-cap-grid{margin-top:30px!important}
  .ss13-cap-grid article{min-height:205px;padding:27px 27px 29px}
  .ss13-cap-grid h3{font-size:clamp(1.25rem,1.4vw,1.62rem)}
  .ss13-cap-grid p{font-size:.84rem;line-height:1.65}
  .ss13-yard-statement h2{font-size:clamp(3.35rem,4.6vw,5.15rem)}
}

/* Structural closing area — compact final composition. */
@media(min-width:1101px){
  .ss13-hero-card>p{
    white-space:nowrap;
    letter-spacing:.065em;
  }
  .ss13-yard-grid{
    width:min(1280px,calc(100% - 8vw));
    grid-template-columns:minmax(0,1.08fr) minmax(420px,.78fr);
    gap:clamp(48px,5vw,78px);
    min-height:600px;
    padding-top:64px;
    padding-bottom:64px;
  }
  .ss13-yard-statement h2{
    max-width:620px;
    margin-top:18px;
    font-size:clamp(3rem,3.8vw,4.35rem);
    line-height:.92!important;
    letter-spacing:-.065em;
  }
  .ss13-yard-copy{max-width:640px;margin-top:25px;padding-left:21px}
  .ss13-yard-copy p{font-size:clamp(.96rem,1vw,1.04rem);line-height:1.66}
  .ss13-yard-copy p+p{margin-top:15px}
  .ss13-yard-meta{gap:8px;margin-top:22px}
  .ss13-yard-meta span{padding:8px 10px;font-size:.57rem}
  .ss13-yard-board{width:100%;max-width:480px;justify-self:end;transform:none}
  .ss13-yard-board-head{padding:25px 28px 20px;font-size:.62rem}
  .ss13-yard-email{width:calc(100% - 48px);margin:24px;padding:18px 48px 18px 19px;min-height:76px}
  .ss13-yard-email small{font-size:.54rem}
  .ss13-yard-email strong{font-size:.94rem}
  .ss13-yard-email>i{right:20px;font-size:1.05rem}
  .ss13-yard-scopes span{padding:18px 20px;font-size:.56rem;line-height:1.4}
  .ss13-yard-base{width:min(1280px,calc(100% - 8vw));padding-top:22px}
  .ss13-yard-brand b{width:38px;height:38px;font-size:.66rem}
  .ss13-yard-brand span{font-size:.66rem}
  .ss13-yard-base p{font-size:.54rem}
}

/* Structural services — featured story plus six balanced supporting cards. */
@media(min-width:1001px){
  .ss13-services>.container{width:min(1280px,calc(100% - 7vw))}
  .ss13-service-grid{gap:16px}
  .ss13-service:not(.ss13-service-feature){
    grid-column:span 4;
    display:flex;
    flex-direction:column;
    min-height:410px;
    border:1px solid rgba(8,31,39,.14);
    box-shadow:0 18px 44px rgba(9,31,39,.1);
  }
  .ss13-service:not(.ss13-service-feature) img{
    flex:none;
    height:220px!important;
  }
  .ss13-service:not(.ss13-service-feature)>div{
    display:flex;
    flex:1;
    flex-direction:column;
    padding:24px 25px 27px;
  }
  .ss13-service:not(.ss13-service-feature) h3{
    font-size:clamp(1.3rem,1.35vw,1.58rem);
    line-height:1.04!important;
  }
  .ss13-service:not(.ss13-service-feature) p{
    margin-top:13px;
    color:#58696f;
    font-size:.82rem;
    line-height:1.64;
  }
  .ss13-service:not(.ss13-service-feature):after{
    width:100%;
    height:3px;
    opacity:.78;
  }
  .ss13-service-feature{min-height:500px}
  .ss13-service-feature img{height:500px!important}
  .ss13-service-feature>div{width:min(560px,64%);padding:31px 34px}
  .ss13-service-feature h3{font-size:clamp(1.7rem,2vw,2.2rem)}
  .ss13-service-feature p{font-size:.84rem}
  .ss13-services{padding-bottom:60px}
  .ss13-lift-feature{padding-top:68px}
}
@media(min-width:761px) and (max-width:1000px){
  .ss13-service:not(.ss13-service-feature){grid-column:span 6}
  .ss13-service:not(.ss13-service-feature) img{height:260px!important}
}

/* Structural services introduction — remove doubled top whitespace. */
@media(min-width:761px){
  .ss13-overview{
    padding-top:42px;
    padding-bottom:68px;
  }
  .ss13-overview-grid{
    padding:40px 44px 42px;
    align-items:center;
  }
  .ss13-overview-grid:before{top:14px;left:14px}
  .ss13-overview-grid:after{right:14px;bottom:14px}
  .ss13-overview h2{margin-top:13px}
}
@media(max-width:760px){
  .ss13-overview{padding-top:34px;padding-bottom:54px}
  .ss13-overview-grid{padding:36px 24px 38px}
}

/* Node 15 — quieter hierarchy, clearer service imagery, one final CTA. */
.cmx-services .cmx-heading h2{max-width:780px;font-size:clamp(2.8rem,3.65vw,4.2rem);line-height:.94!important}
.cmx-overview h2,.cmx-why h2{font-size:clamp(2.65rem,3.55vw,4.05rem);line-height:.96!important}
.cmx-service-grid{align-items:stretch;gap:20px;margin-top:42px}
.cmx-service-card{display:flex;flex-direction:column;min-height:660px;border:1px solid rgba(255,255,255,.13)}
.cmx-service-photo{height:305px}
.cmx-service-photo:after{background:linear-gradient(180deg,transparent 60%,rgba(5,9,11,.58))}
.cmx-service-photo img{filter:saturate(.96) contrast(1.02);object-position:center}
.cmx-service-card:nth-child(1) .cmx-service-photo img{object-position:center 38%}
.cmx-service-card:nth-child(2) .cmx-service-photo img{object-position:center 30%}
.cmx-service-card:nth-child(3) .cmx-service-photo img{object-position:center 42%}
.cmx-service-body{display:flex;flex:1;flex-direction:column;padding:28px 29px 30px}
.cmx-service-body h3{font-size:clamp(1.25rem,1.5vw,1.62rem);line-height:1.08!important}
.cmx-service-body>p{margin:12px 0 0;font-size:.9rem;line-height:1.62}
.cmx-service-body ul{margin-top:19px}
.cmx-service-body li{padding:9px 0 9px 17px;font-size:.8rem;line-height:1.42}
.cmx-service-body li:before{top:14px}
.cmx-actions{margin-top:27px}
.cmx-text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:2px solid var(--cmx-yellow)}
.cmx-site-footer-inner{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.cmx-site-footer-note{padding:24px 0;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}
.cmx-site-footer-note small,.cmx-site-footer-note span{display:block;color:#84deec;font-size:.6rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.cmx-site-footer-note strong{display:block;margin:11px 0 14px;color:#fff;font-size:1.08rem}
.cmx-site-footer-note span{color:rgba(255,255,255,.55);line-height:1.6}
@media(max-width:1050px){.cmx-site-footer-inner{grid-template-columns:1fr}.cmx-service-card{min-height:620px}.cmx-service-photo{height:285px}}
@media(max-width:650px){.cmx-services .cmx-heading h2,.cmx-overview h2,.cmx-why h2{font-size:clamp(2.3rem,10vw,3.25rem)}.cmx-service-card{min-height:0}.cmx-service-photo{height:245px}.cmx-service-body{padding:25px 23px 27px}}

/* Node 15 hero — strong without overwhelming the composition. */
.cmx-hero h1{
  max-width:740px;
  font-size:clamp(2.9rem,4.75vw,5.45rem);
  line-height:.91!important;
  letter-spacing:-.055em;
}
@media(max-width:650px){
  .cmx-hero h1{font-size:clamp(2.25rem,10.5vw,3.2rem);line-height:.93!important}
}

/* Projects footer editable phone number. */
.prx-footer-info a.prx-footer-phone{display:inline-flex;width:max-content;margin-top:8px;color:#f3bf24!important;font-size:.88rem;font-weight:900;letter-spacing:.035em}
.prx-footer-info a.prx-footer-phone:hover{color:#69cad4!important}
.prx-footer-info a.prx-footer-inquiry{align-items:center;margin-top:14px;padding:14px 16px;background:#f3bf24;color:#07171b!important;font-weight:950;text-shadow:none;transition:background .25s,transform .25s}.prx-footer-info a.prx-footer-inquiry span,.prx-footer-info a.prx-footer-inquiry b{color:#07171b!important;-webkit-text-fill-color:#07171b;text-shadow:none}.prx-footer-info a.prx-footer-inquiry:hover{background:#fff;transform:translateY(-2px)}
.prx-footer-info a.prx-footer-email{display:inline-grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;width:max-content;max-width:100%;margin-top:14px;padding:0;border:0;background:none;color:#69cad4!important;overflow-wrap:anywhere;text-decoration:none!important}.prx-footer-info a.prx-footer-email small{grid-column:1/-1;color:rgba(255,255,255,.5)}.prx-footer-info a.prx-footer-email span{min-width:0;font-size:.78rem;font-weight:850;letter-spacing:0;text-transform:none;white-space:nowrap;text-decoration:none!important}.prx-footer-info a.prx-footer-email i{align-self:center;color:#69cad4;font-size:.9rem;font-style:normal}.prx-footer-info a.prx-footer-email:hover{background:none;color:#fff!important;text-decoration:none!important}
@media(max-width:480px){.prx-footer-info a.prx-footer-email span{font-size:.74rem;white-space:normal;overflow-wrap:anywhere}}

/* Node 16 — measured exterior typography and a single final CTA. */
.exterior-hero-copy h1{
  max-width:780px;
  font-size:clamp(2.85rem,4.45vw,5rem);
  line-height:.93!important;
}
.exterior-overview-copy h2{
  max-width:680px;
  font-size:clamp(2.45rem,3vw,3.8rem);
  line-height:.98!important;
}
.exterior-heading{max-width:900px}
.exterior-heading h2{
  font-size:clamp(2.35rem,2.9vw,3.65rem);
  line-height:1!important;
}
.exterior-systems-copy h2{
  font-size:clamp(2.4rem,3vw,3.7rem);
  line-height:.98!important;
}
.exterior-process .exterior-heading h2{
  max-width:760px;
  font-size:clamp(2.35rem,2.85vw,3.55rem);
  line-height:1!important;
}
.exterior-cta-inner{grid-template-columns:1fr;max-width:1500px}
.exterior-cta-inner>div{max-width:820px}
.exterior-cta h2{
  max-width:720px;
  font-size:clamp(2.35rem,3.25vw,3.9rem);
  line-height:.96!important;
}
.exterior-footer-statement strong{
  font-size:clamp(2.45rem,3.65vw,4.25rem);
  line-height:.88!important;
}
@media(max-width:760px){
  .exterior-hero-copy h1{font-size:clamp(2.25rem,10vw,3.35rem)}
  .exterior-overview-copy h2,.exterior-heading h2,.exterior-systems-copy h2,.exterior-process .exterior-heading h2{font-size:clamp(2rem,8.7vw,3rem)}
  .exterior-cta h2{font-size:clamp(2.05rem,9vw,3.05rem)}
  .exterior-footer-statement strong{font-size:clamp(2.25rem,10.5vw,3.35rem)}
}

/* Consistent, editable phone treatment across service-page contact panels. */
.cnx-footer-contact .cnx-footer-phone{
  display:inline-block;
  width:max-content;
  margin-top:16px;
  padding:0;
  border:0;
  color:var(--cf-amber);
  font-size:.92rem;
  letter-spacing:.03em;
}

.cnx-footer-scope {
  display: inline-flex;
  align-items: center;
  margin-top: 1.1rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255, 255, 255, .14);
  color: #d9bd74;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .12em;
  line-height: 1.45;
  text-transform: uppercase;
}
.gcx-footer-contact>.gcx-footer-phone{
  grid-column:1/-1;
  display:inline-block;
  width:max-content;
  min-height:0;
  margin-top:-4px;
  padding:0;
  background:none;
  box-shadow:none;
  color:#d8b85d;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.03em;
}
.gcx-footer-contact>.gcx-footer-email{
  grid-column:1/-1;
  display:inline-block;
  width:max-content;
  min-height:0;
  margin-top:-4px;
  padding:0;
  background:none;
  box-shadow:none;
  color:#f1eee7;
  font-size:.9rem;
  font-weight:800;
  letter-spacing:.01em;
  text-transform:none;
}
.gcx-footer-contact>.gcx-footer-email:hover,
.gcx-footer-contact>.gcx-footer-email:focus-visible{
  background:none;
  color:#d8b85d;
  transform:translateY(-5px) scale(1.015);
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.34));
  text-decoration:none;
}
.gcx-footer-contact>.gcx-footer-phone:hover,
.gcx-footer-contact>.gcx-footer-phone:focus-visible{
  background:none;
  color:#fff;
  transform:none;
}
.ss13-yard-phone{
  display:block;
  width:max-content;
  margin:0 32px 25px;
  color:var(--ss-cyan);
  font-size:.96rem;
  font-weight:950;
  letter-spacing:.035em;
  text-decoration:none;
}
.ss13-yard-phone:hover{color:#fff}
.ss13-yard-contact-email{
  display:block;
  width:max-content;
  max-width:calc(100% - 64px);
  margin:22px 32px 12px;
  color:#fff;
  font-size:.82rem;
  font-weight:850;
  line-height:1.35;
  overflow-wrap:anywhere;
  text-decoration:none;
}
.ss13-yard-contact-email:hover{color:var(--ss-yellow)}
.cmx-site-footer-phone{
  display:block;
  width:max-content;
  margin:-5px 0 14px;
  color:#ff7445;
  font-size:.96rem;
  font-weight:950;
  text-decoration:none;
}
.cmx-site-footer-phone:hover{color:#fff}
.exterior-footer-service .exterior-footer-phone{
  grid-column:1/-1;
  width:max-content;
  padding:3px 0 0;
  border:0;
  color:#ffc107;
  font-size:.9rem;
  font-weight:950;
  text-decoration:none;
}
.rtx-footer-contact .rtx-footer-phone{
  color:inherit;
  text-decoration:none;
}
.rtx-footer-contact .rtx-footer-phone:hover strong{color:#fff}
@media(max-width:600px){
  .gcx-footer-contact>.gcx-footer-email,.gcx-footer-contact>.gcx-footer-phone{grid-column:1}
  .ss13-yard-contact-email,.ss13-yard-phone{margin-inline:24px}
}

/* Cohesive Construction Management footer panel. */
.cmx-site-footer{
  padding-inline:clamp(22px,4.5vw,72px);
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    #07161b;
  background-size:72px 100%;
}
.cmx-site-footer .cmx-site-footer-inner{
  width:min(1180px,100%);
  margin-inline:auto;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  gap:0;
  align-items:stretch;
  padding:clamp(52px,6vw,78px) 0;
}
.cmx-site-footer .cmx-site-footer-brand{
  align-content:center;
  padding:clamp(38px,4vw,58px);
  border:1px solid rgba(255,255,255,.15);
  border-top:4px solid #f6c515;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
}
.cmx-site-footer .cmx-site-footer-brand>span{
  box-shadow:8px 8px 0 rgba(246,197,21,.09);
}
.cmx-site-footer .cmx-site-footer-brand strong{
  max-width:560px;
  font-size:clamp(1.75rem,2.2vw,2.45rem);
}
.cmx-site-footer .cmx-site-footer-brand p{
  max-width:570px;
  color:rgba(255,255,255,.7);
  font-size:.94rem;
}
.cmx-site-footer .cmx-site-footer-brand small{
  display:block;
  margin-bottom:14px;
  color:#f6c515;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.cmx-site-footer .cmx-site-footer-note{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(38px,4vw,56px);
  border:1px solid rgba(255,255,255,.15);
  border-top:4px solid #ff7445;
  border-left:0;
  background:linear-gradient(145deg,rgba(22,49,58,.96),rgba(8,28,34,.96));
}
.cmx-footer-detail{
  margin-top:20px;
  padding:20px 0;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.cmx-site-footer .cmx-footer-detail span{
  padding:0;
  border:0;
  color:rgba(255,255,255,.48);
}
.cmx-site-footer .cmx-footer-detail strong{
  display:block;
  margin:8px 0 0;
  color:#fff;
  font-size:1.3rem;
}
.cmx-footer-contact-links{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  margin-top:12px;
}
.cmx-site-footer .cmx-site-footer-phone{
  margin:0;
}
.cmx-site-footer .cmx-site-footer-email{
  width:auto;
  margin:0;
}
.cmx-site-footer .cmx-site-footer-phone,
.cmx-site-footer .cmx-site-footer-email{
  display:flex;
  min-width:0;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
  color:#fff;
  overflow-wrap:anywhere;
  text-decoration:none;
}
.cmx-site-footer .cmx-footer-contact-links small{color:#84deec}
.cmx-site-footer .cmx-footer-contact-links strong{min-width:0;margin:0;font-size:.86rem;line-height:1.35;text-align:right;overflow-wrap:anywhere;word-break:normal}
.cmx-site-footer .cmx-site-footer-phone strong{color:#ff7445}
.cmx-site-footer .cmx-site-footer-email:hover,
.cmx-site-footer .cmx-site-footer-email:focus-visible{
  color:#f6c515;
  text-decoration:underline;
}
.cmx-footer-sectors{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin-top:18px;
}
.cmx-site-footer .cmx-footer-sectors>span{
  display:block;
  min-width:0;
  padding:7px 4px;
  border:1px solid rgba(255,255,255,.13);
  color:rgba(255,255,255,.58);
  font-size:clamp(.43rem,.5vw,.53rem);
  letter-spacing:.06em;
  line-height:1;
  text-align:center;
  white-space:nowrap;
}
.cmx-site-footer .cmx-site-footer-base{
  width:min(1180px,100%);
  margin-inline:auto;
}
@media(max-width:1050px){
  .cmx-site-footer .cmx-site-footer-inner{
    grid-template-columns:1fr;
  }
  .cmx-site-footer .cmx-site-footer-note{
    border-top:0;
    border-left:1px solid rgba(255,255,255,.15);
    border-bottom:4px solid #ff7445;
  }
}
@media(max-width:600px){
  .cmx-site-footer{
    padding-inline:15px;
  }
  .cmx-site-footer .cmx-site-footer-inner{
    padding-block:38px;
  }
  .cmx-site-footer .cmx-site-footer-brand,
  .cmx-site-footer .cmx-site-footer-note{
    padding:30px 22px;
  }
  .cmx-site-footer .cmx-site-footer-brand{
    grid-template-columns:1fr;
  }
  .cmx-footer-contact-links{grid-template-columns:1fr}
  .cmx-site-footer .cmx-site-footer-phone,
  .cmx-site-footer .cmx-site-footer-email{align-items:flex-start;flex-direction:column;gap:7px}
  .cmx-site-footer .cmx-footer-contact-links strong{text-align:left}
}


/* ============================================================
   MERGED SOURCE: node9-general-contracting.css
   ============================================================ */
/* Node 9 — General Contracting */
.gcx-page{--ink:#151a1d;--charcoal:#22292c;--concrete:#ecece7;--yellow:#f2bd16;--red:#d84b3f;--blue:#184b70;--sky:#82c9df;--green:#416b52;color:var(--ink);overflow:hidden;background:linear-gradient(rgba(238,240,237,.62),rgba(238,240,237,.62)),url('../images/hero/drawings.jpg') center top/cover fixed no-repeat;font-family:Arial,Helvetica,sans-serif}
.gcx-page,.gcx-page *,.gcx-page *:before,.gcx-page *:after{box-sizing:border-box}
.gcx-page h1,.gcx-page h2,.gcx-page h3{hyphens:none;overflow-wrap:normal;word-break:keep-all;text-wrap:balance}
.gcx-page p{hyphens:none;overflow-wrap:normal;word-break:normal}
.gcx-shell{width:min(1480px,calc(100% - 7vw));margin-inline:auto}
.gcx-label,.gcx-kicker{display:flex;align-items:center;gap:12px;color:#a83b32;font-size:.67rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
.gcx-label:before,.gcx-kicker:before{content:"";width:32px;height:3px;background:var(--yellow)}

.gcx-hero{position:relative;isolation:isolate;min-height:clamp(720px,85vh,880px);color:#fff;background:var(--ink);overflow:hidden}
.gcx-hero-image,.gcx-hero-shade,.gcx-hero-grid{position:absolute;inset:0;width:100%;height:100%}
.gcx-hero-image{z-index:-3;object-fit:cover;filter:grayscale(1) contrast(1.08);animation:gcx-plan-focus 1.4s cubic-bezier(.2,.8,.2,1) both}
.gcx-hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(18,23,26,.97) 0 49%,rgba(22,54,76,.42) 76%,rgba(18,23,26,.54))}
.gcx-hero-grid{z-index:-1;opacity:.13;background:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,#000,transparent 76%);animation:gcx-grid-drift 22s linear infinite}
.gcx-hero:after{content:"";position:absolute;left:0;top:0;width:42%;height:7px;background:linear-gradient(90deg,var(--yellow) 0 55%,var(--red) 55%);animation:gcx-line-build 1.2s .2s both}
.gcx-current-page{position:absolute;z-index:3;top:34px;left:3.5vw;display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.66);font-size:.59rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.gcx-current-page i{width:7px;height:7px;background:var(--yellow);transform:rotate(45deg)}
.gcx-current-page strong{padding:10px 14px;background:#20282c;color:#fff}
.gcx-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.4fr);gap:6vw;align-items:center;min-height:760px;padding:95px 0 120px}
.gcx-hero-copy{position:relative;max-width:900px;padding:34px 42px;background:rgba(20,26,29,.88);border-left:6px solid var(--red);box-shadow:0 30px 80px rgba(0,0,0,.32);backdrop-filter:blur(5px)}
.gcx-kicker{color:#f1cfc8}.gcx-kicker:before{background:var(--yellow)}
.gcx-hero h1{display:grid;gap:2px;margin:28px 0 24px;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.8rem,4.15vw,5rem);font-weight:950;letter-spacing:-.05em;line-height:.91;text-transform:none}
.gcx-hero h1 span,.gcx-hero h1 em,.gcx-hero h1 strong{display:block;width:fit-content;background:transparent;color:#fff;font:inherit}
.gcx-hero h1 em{color:#e58a65;font-style:normal}.gcx-hero h1 strong{font-size:.68em;color:#fff}
.gcx-hero-copy>p{max-width:730px;margin:26px 0 0;color:rgba(255,255,255,.76);font-size:1rem;line-height:1.72}
.gcx-command{position:relative;background:#f3f2ed;color:var(--ink);box-shadow:14px 14px 0 var(--yellow);animation:gcx-command-pulse 5.5s ease-in-out infinite}
.gcx-command:before{content:"GENERAL CONTRACTOR";display:block;padding:14px 20px;background:var(--red);color:#fff;font-size:.57rem;font-weight:950;letter-spacing:.16em}
.gcx-command>span{display:block;padding:26px 25px 0;color:#99751b;font-size:.58rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.gcx-command>strong{display:block;padding:18px 25px 0;color:var(--ink);font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(1.35rem,1.6vw,1.9rem);font-weight:950;line-height:1.12}
.gcx-command>div{display:grid;gap:7px;padding:25px}.gcx-command small{padding:11px 12px;border:1px solid #c9cdce;background:#e4e7e7;font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.gcx-sector-rail{position:absolute;z-index:3;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:#222a2e}
.gcx-sector-rail span{padding:24px clamp(18px,4vw,70px);border-right:1px solid rgba(255,255,255,.12);color:#f1f2ef;font-size:.64rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.gcx-sector-rail span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:13px;background:var(--red);transform:rotate(45deg)}
.gcx-sector-rail span:nth-child(2):before{background:var(--yellow)}.gcx-sector-rail span:nth-child(3):before{background:var(--sky)}.gcx-sector-rail span:nth-child(4):before{background:#70a277}

/* Overview — one drafting annotation, not a card grid. */
.gcx-overview{position:relative;padding:clamp(95px,10vw,165px) 0;background:rgba(231,233,230,.76);overflow:hidden}
.gcx-overview:before{content:"ACCOUNTABILITY";position:absolute;right:-1vw;bottom:-.09em;color:transparent;font-size:clamp(5rem,11vw,11rem);font-weight:950;letter-spacing:-.07em;-webkit-text-stroke:1px rgba(21,26,29,.1)}
.gcx-overview-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(520px,.9fr) minmax(0,1.1fr);gap:0;align-items:stretch}
.gcx-section-intro{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(45px,4vw,65px);background:rgba(31,39,43,.96);color:#fff;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}
.gcx-section-intro h2{max-width:560px;margin:24px 0 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.25rem,2.8vw,3.35rem);font-weight:950;letter-spacing:-.055em;line-height:.98}
.gcx-overview-copy{padding:clamp(48px,6vw,90px) clamp(45px,7vw,110px);background:rgba(248,247,242,.94)}
.gcx-overview-copy p{max-width:900px;margin:0 0 20px;color:#4d575c;line-height:1.8}
.gcx-overview-copy .gcx-lead{padding-left:26px;border-left:4px solid var(--red);color:var(--ink);font-size:clamp(1.25rem,1.65vw,1.7rem);font-weight:850;line-height:1.48}

/* Deliverables — structural beams. */
.gcx-deliver{padding:clamp(90px,9vw,145px) 0;background:rgba(215,219,218,.8)}
.gcx-dark-heading{display:grid;grid-template-columns:.45fr 1fr;gap:50px;align-items:end;margin-bottom:55px}
.gcx-dark-heading h2{max-width:850px;margin:0;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.5rem,3.7vw,4.45rem);font-weight:950;letter-spacing:-.06em;line-height:.94}
.gcx-deliver-grid{display:grid;gap:18px}
.gcx-deliver-grid article{position:relative;display:grid;grid-template-columns:minmax(260px,.55fr) minmax(0,1fr);gap:clamp(35px,5vw,75px);align-items:center;min-height:155px;margin-left:0;padding:36px clamp(34px,4vw,58px);background:rgba(247,246,240,.95);border-left:10px solid var(--yellow);box-shadow:0 10px 30px rgba(20,27,31,.08);transition:transform .4s,box-shadow .4s}
.gcx-deliver-grid article:nth-child(2){margin-left:0;border-color:var(--sky)}.gcx-deliver-grid article:nth-child(3){margin-left:0;border-color:#6b9a72}
.gcx-deliver-grid article:before{display:none}
.gcx-deliver-grid article:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(20,27,31,.15)}
.gcx-deliver-grid i{display:none}.gcx-deliver-grid h3{margin:0;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(1.45rem,2vw,2.1rem);font-weight:950;letter-spacing:-.035em;line-height:1.05}.gcx-deliver-grid p{margin:0;color:#4d585d;line-height:1.72}

/* Capabilities — field register beside site imagery. */
.gcx-capabilities{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;background:rgba(21,61,88,.96);color:#fff}
.gcx-capability-image{position:relative;min-height:620px;overflow:hidden;background-position:center;background-size:cover;background-repeat:no-repeat;filter:grayscale(.85) contrast(1.15);transition:background-size 1.1s}.gcx-capability-image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(242,189,22,.25),transparent 45%)}
.gcx-capability-image img{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.gcx-capability-content{display:flex;flex-direction:column;justify-content:center;padding:clamp(55px,6vw,95px);background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:52px 52px}
.gcx-capability-content .gcx-label{color:#d4eaf2}.gcx-capability-content h2{max-width:760px;margin:24px 0 18px;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.4rem,3.45vw,4.1rem);font-weight:950;letter-spacing:-.055em;line-height:.95}.gcx-capability-content>p{color:rgba(255,255,255,.7)}
.gcx-capability-list{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-top:1px solid rgba(255,255,255,.22)}
.gcx-capability-list span{position:relative;padding:15px 10px 15px 24px;border-bottom:1px solid rgba(255,255,255,.18);color:#f3f5f3;font-size:.78rem;font-weight:800;transition:padding-left .3s,background .3s}.gcx-capability-list span:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}
.gcx-capability-list span:before{content:"";position:absolute;left:3px;top:21px;width:7px;height:7px;background:var(--yellow);transform:rotate(45deg)}.gcx-capability-list span:hover{padding-left:31px;background:rgba(255,255,255,.07)}

/* Process — an animated vertical construction sequence. */
.gcx-process{padding:clamp(100px,10vw,160px) 0;background:rgba(244,243,237,.84)}
.gcx-process-heading{display:grid;grid-template-columns:.42fr 1fr;gap:35px 80px;align-items:end;margin-bottom:70px}.gcx-process-heading h2{margin:0;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.5rem,3.7vw,4.4rem);font-weight:950;letter-spacing:-.06em;line-height:.94}.gcx-process-heading>p{grid-column:2;max-width:720px;margin:0;color:#566166;line-height:1.7}
.gcx-process-track{position:relative;display:grid;gap:0;max-width:1180px;margin-left:auto}
.gcx-process-track:before{content:"";position:absolute;left:27px;top:12px;bottom:12px;width:5px;background:linear-gradient(var(--yellow),var(--red),var(--sky),var(--green))}
.gcx-process-track article{position:relative;display:grid;grid-template-columns:220px 260px 1fr;gap:35px;align-items:start;padding:35px 30px 35px 85px;border-bottom:1px solid #bfc4c5;background:transparent;transition:background .35s,box-shadow .35s}
.gcx-process-track article:before{content:"";position:absolute;z-index:2;left:17px;top:39px;width:25px;height:25px;border:5px solid #f4f3ed;background:var(--yellow);border-radius:50%;box-shadow:0 0 0 2px var(--ink)}
.gcx-process-track article:nth-child(2):before{background:var(--red)}.gcx-process-track article:nth-child(3):before{background:var(--sky)}.gcx-process-track article:nth-child(4):before{background:var(--green)}
.gcx-process-track article:hover{background:rgba(229,221,202,.32);box-shadow:inset 0 0 0 1px rgba(120,101,70,.08)}
.gcx-process-track span{color:#9c402e;font-size:.62rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.gcx-process-track h3{margin:0;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.75rem;font-weight:950;letter-spacing:-.035em}.gcx-process-track p{margin:0;color:#515d62;font-size:.9rem;line-height:1.72}

/* Trust — statements pinned to one structural spine. */
.gcx-trust{padding:clamp(95px,9vw,145px) 0;background:rgba(222,225,223,.82)}
.gcx-trust-layout{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);gap:7vw;align-items:start}.gcx-trust header{position:sticky;top:35px;padding:38px 0;border-top:8px solid var(--yellow)}
.gcx-trust h2{margin:22px 0 0;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.4rem,3.4vw,4rem);font-weight:950;letter-spacing:-.06em;line-height:.94}
.gcx-trust-grid{display:grid;gap:0;border-left:3px solid var(--ink)}.gcx-trust-grid article{position:relative;margin-left:0;padding:38px 35px 38px 58px;border-bottom:1px solid #b6bcbd;background:rgba(247,246,241,.82);transition:background .35s,box-shadow .35s}.gcx-trust-grid article:before{content:"";position:absolute;left:-10px;top:47px;width:17px;height:17px;background:var(--red);transform:rotate(45deg)}.gcx-trust-grid article:nth-child(2):before{background:var(--yellow)}.gcx-trust-grid article:nth-child(3):before{background:var(--sky)}.gcx-trust-grid article:nth-child(4):before{background:var(--green)}
.gcx-trust-grid article:hover{z-index:1;background:#fff;box-shadow:0 16px 36px rgba(25,31,33,.09)}.gcx-trust-grid h3{margin:0 0 12px;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.65rem;font-weight:950;letter-spacing:-.03em}.gcx-trust-grid p{max-width:720px;margin:0;color:#526065;line-height:1.72}

/* Industries — site zones, not repeated cards. */
.gcx-industries{padding:clamp(95px,9vw,145px) 0;background:rgba(27,35,39,.96);color:#fff}.gcx-industries-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:55px}.gcx-industries-heading .gcx-label{color:#d8ecf2}.gcx-industries-heading h2{max-width:760px;margin:0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.45rem,3.4vw,4rem);font-weight:950;letter-spacing:-.055em;line-height:.95}
.gcx-industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;min-height:400px}.gcx-industry-grid article{position:relative;display:flex;min-width:0;min-height:400px;flex-direction:column;justify-content:flex-start;padding:45px 32px;border-right:1px solid rgba(255,255,255,.16);overflow:hidden;transition:background .4s,box-shadow .4s}.gcx-industry-grid article:nth-child(1){background:rgba(142,54,52,.2)}.gcx-industry-grid article:before{content:"";position:absolute;inset:auto 0 0;height:7px;background:var(--red);transition:height .45s;opacity:.8}.gcx-industry-grid article:nth-child(2){background:rgba(24,75,112,.72)}.gcx-industry-grid article:nth-child(2):before{background:var(--sky)}.gcx-industry-grid article:nth-child(3){background:rgba(255,193,7,.035)}.gcx-industry-grid article:nth-child(3):before{background:var(--yellow)}.gcx-industry-grid article:nth-child(4){background:rgba(65,107,82,.52)}.gcx-industry-grid article:nth-child(4):before{background:#71a879}.gcx-industry-grid article:hover{z-index:1;box-shadow:0 20px 42px rgba(0,0,0,.18)}.gcx-industry-grid article:hover:before{height:100%;opacity:.1}.gcx-industry-grid span{position:relative;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.5rem;font-weight:950}.gcx-industry-grid p{position:relative;margin:20px 0 0;color:rgba(255,255,255,.67);line-height:1.72}

.gcx-confidence{position:relative;isolation:isolate;display:flex;align-items:center;min-height:760px;padding:95px 0;color:#fff;overflow:hidden;background:#1c2529}.gcx-confidence>img,.gcx-confidence-shade{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover}.gcx-confidence>img{filter:grayscale(.85) contrast(1.08);animation:gcx-slow-pan 16s ease-in-out infinite alternate}.gcx-confidence-shade{z-index:-1;background:linear-gradient(90deg,rgba(20,28,31,.96),rgba(20,45,57,.8) 58%,rgba(20,28,31,.25))}
.gcx-confidence-copy{max-width:820px;margin-left:4vw;padding:clamp(45px,5vw,75px);background:rgba(25,34,38,.88);border-left:6px solid var(--yellow);backdrop-filter:blur(7px)}.gcx-confidence h2{margin:24px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.45rem,3.45vw,4.1rem);font-weight:950;letter-spacing:-.055em;line-height:.94}.gcx-confidence p{color:rgba(255,255,255,.72);line-height:1.78}.gcx-confidence-copy>a{display:inline-block;margin-top:22px;padding-top:15px;border-top:3px solid var(--red);color:#fff;font-size:.72rem;font-weight:900;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;transition:color .25s ease,transform .25s ease}.gcx-confidence-copy>a:hover,.gcx-confidence-copy>a:focus-visible{color:#f0c9b8;transform:translateX(4px)}

@keyframes gcx-plan-focus{from{opacity:0;transform:scale(1.08);filter:grayscale(1) blur(5px)}to{opacity:1;transform:scale(1);filter:grayscale(1) contrast(1.08)}}
@keyframes gcx-grid-drift{to{background-position:54px 54px}}
@keyframes gcx-line-build{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}
@keyframes gcx-command-pulse{50%{transform:translateY(-8px);box-shadow:14px 22px 0 var(--yellow)}}
@keyframes gcx-gauge{to{transform:rotate(360deg)}}
@keyframes gcx-progress{0%,15%{transform:scaleY(.08)}70%,100%{transform:scaleY(1)}}
@keyframes gcx-slow-pan{to{transform:scale(1.04) translateX(-1.5%)}}

@media(max-width:1100px){
  .gcx-hero-inner,.gcx-overview-grid,.gcx-capabilities,.gcx-trust-layout{grid-template-columns:1fr}
  .gcx-hero{min-height:1050px}.gcx-hero-inner{align-content:center}.gcx-command{max-width:480px}
  .gcx-section-intro{clip-path:none}.gcx-capability-image{min-height:clamp(340px,48vw,480px)}.gcx-capability-content{min-height:0;padding:clamp(55px,7vw,78px) clamp(30px,7vw,72px)}
  .gcx-process-heading{grid-template-columns:1fr}.gcx-process-heading>p{grid-column:1}
  .gcx-process-track article{grid-template-columns:190px 220px 1fr}
  .gcx-trust header{position:relative;top:auto}.gcx-industries-heading{display:block}.gcx-industries-heading h2{margin-top:22px}
}
@media(max-width:720px){
  .gcx-page{background-attachment:scroll}.gcx-shell{width:calc(100% - 30px)}
  .gcx-hero{min-height:1080px;padding-bottom:150px}.gcx-current-page{left:16px}.gcx-hero-inner{display:block;min-height:0;padding:105px 0 30px}.gcx-hero-copy{padding:36px 23px}.gcx-hero h1{display:block;font-size:clamp(2.2rem,9.2vw,2.85rem)}.gcx-hero h1 span,.gcx-hero h1 em,.gcx-hero h1 strong{width:100%}.gcx-command{width:calc(100% - 8px);margin-top:30px;box-shadow:8px 8px 0 var(--yellow)}
  .gcx-sector-rail{grid-template-columns:1fr 1fr}.gcx-sector-rail span{padding:18px 14px}
  .gcx-overview-grid{display:block}.gcx-section-intro,.gcx-overview-copy{padding:65px 25px}
  .gcx-dark-heading{grid-template-columns:1fr}.gcx-deliver-grid article,.gcx-deliver-grid article:nth-child(2),.gcx-deliver-grid article:nth-child(3){display:block;min-height:0;margin-left:0;padding:32px 25px}.gcx-deliver-grid h3{margin-bottom:15px}
  .gcx-capability-list{grid-template-columns:1fr}.gcx-capability-list span:nth-child(odd){border-right:0}.gcx-capability-content{min-height:0;padding:65px 25px}
  .gcx-process-track{margin:0}.gcx-process-track:before{left:17px}.gcx-process-track article{display:block;padding:35px 20px 35px 60px}.gcx-process-track article:before{left:7px}.gcx-process-track h3{margin:12px 0}.gcx-process-track article:hover{transform:none}
  .gcx-trust-grid article,.gcx-trust-grid article:nth-child(even){margin-left:0;padding:35px 23px 35px 40px}.gcx-trust-grid article:before{left:-10px}
  .gcx-industry-grid{grid-template-columns:1fr;min-height:0}.gcx-industry-grid article{min-height:260px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .gcx-confidence{min-height:auto;padding:70px 15px}.gcx-confidence-copy{margin:0;padding:42px 25px}.gcx-confidence h2{font-size:clamp(2.25rem,10vw,3rem)}
}

@media(max-width:900px) and (min-width:721px){
  .gcx-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
  .gcx-industry-grid article{min-height:260px;border-bottom:1px solid rgba(255,255,255,.16)}
  .gcx-industry-grid p{max-width:38rem}
  .gcx-process-track article{grid-template-columns:1fr;gap:12px;padding:32px 28px 32px 65px}
}
@media(prefers-reduced-motion:reduce){.gcx-page *{animation:none!important;transition:none!important}}

@media(max-width:1100px) and (min-width:761px){
  .gcx-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}
  .gcx-industry-grid article{min-height:270px;padding:38px 30px;border-bottom:1px solid rgba(255,255,255,.16)}
  .gcx-industry-grid span,.gcx-industry-grid p{max-width:100%;overflow:visible}
}


/* ============================================================
   MERGED SOURCE: node10-restoration.css
   ============================================================ */
/* Node 10 — Restoration */
.rtx-page{--ink:#202522;--slate:#293330;--stone:#e8e2d7;--lime:#b9c7a8;--oxide:#a94e35;--copper:#ca7650;--moss:#416154;color:var(--ink);overflow:hidden;background:#e8e2d7;font-family:Arial,Helvetica,sans-serif}
.rtx-page,.rtx-page *,.rtx-page *:before,.rtx-page *:after{box-sizing:border-box}.rtx-page h1,.rtx-page h2,.rtx-page h3{hyphens:none;overflow-wrap:normal;word-break:keep-all;text-wrap:balance}.rtx-page p{hyphens:none;overflow-wrap:normal}.rtx-wrap{width:min(1480px,calc(100% - 7vw));margin-inline:auto}.rtx-eyebrow,.rtx-kicker{color:#91412f;font-size:.66rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.rtx-eyebrow:before,.rtx-kicker:before{content:"";display:inline-block;width:30px;height:3px;margin:0 12px 2px 0;background:#a8b88e}

.rtx-hero{position:relative;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);min-height:850px;background:#202724;color:#fff}.rtx-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:110px clamp(45px,7vw,125px) 150px;background:linear-gradient(135deg,#202724,#304039)}.rtx-hero-copy:after{content:"";position:absolute;right:-65px;top:50%;width:130px;height:130px;border:28px solid #a94e35;border-radius:50%;transform:translateY(-50%);opacity:.8}.rtx-location{position:absolute;top:35px;left:clamp(45px,7vw,125px);display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.58);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.rtx-location i{width:7px;height:7px;background:#a8b88e;transform:rotate(45deg)}.rtx-location strong{color:#fff}.rtx-kicker{color:#d4dec8}.rtx-hero h1{margin:26px 0 25px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,4.6vw,5.6rem);font-weight:500;letter-spacing:-.055em;line-height:.91}.rtx-hero h1 span,.rtx-hero h1 em,.rtx-hero h1 strong{display:block;color:#fff;font:inherit}.rtx-hero h1 em{color:#d88a62;font-style:italic}.rtx-hero h1 strong{font-size:.72em;color:#cbd6bb}.rtx-hero-copy>p{max-width:720px;margin:0;color:rgba(255,255,255,.7);line-height:1.75}.rtx-hero-visual{position:relative;margin:0;overflow:hidden}.rtx-hero-visual img{width:100%;height:100%;object-fit:cover;animation:rtx-reveal 1.5s cubic-bezier(.2,.8,.2,1) both}.rtx-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(32,39,36,.42),transparent 48%),linear-gradient(0deg,rgba(32,39,36,.3),transparent 45%)}.rtx-hero-visual figcaption{position:absolute;z-index:2;left:45px;right:45px;bottom:105px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;color:#fff;font-size:.61rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.rtx-hero-visual figcaption i{height:2px;background:linear-gradient(90deg,#a94e35,#b9c7a8);transform-origin:left;animation:rtx-line 2s .6s both}.rtx-life-rail{position:absolute;z-index:3;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(233,227,216,.95);color:#28312d}.rtx-life-rail span{padding:27px 35px;border-right:1px solid #c8c0b4;font-size:.65rem;font-weight:950;letter-spacing:.16em;text-align:center;text-transform:uppercase}.rtx-life-rail span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:12px;border:2px solid #a94e35;border-radius:50%}.rtx-life-rail span:nth-child(2):before{background:#a94e35}.rtx-life-rail span:nth-child(3):before{background:#a8b88e;border-color:#a8b88e}.rtx-life-rail span:nth-child(4):before{background:#416154;border-color:#416154}

.rtx-overview{padding:clamp(100px,11vw,175px) 0;background:#e8e2d7}.rtx-overview .rtx-wrap{display:grid;grid-template-columns:minmax(360px,.75fr) minmax(0,1.25fr);gap:9vw;align-items:start}.rtx-overview-title{position:sticky;top:40px;padding-top:32px;border-top:8px solid #a94e35}.rtx-overview-title h2{margin:25px 0 0;font-family:Georgia,serif;font-size:clamp(2.4rem,3.5vw,4.2rem);font-weight:500;letter-spacing:-.05em;line-height:1}.rtx-overview-story{padding-left:5vw;border-left:1px solid #b9b1a5}.rtx-lead{margin:0 0 50px;color:#2b332f;font-family:Georgia,serif;font-size:clamp(1.45rem,2.1vw,2.2rem);line-height:1.5}.rtx-story-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.rtx-story-columns p{margin:0;color:#59615d;line-height:1.82}

.rtx-services{padding:clamp(95px,9vw,145px) 0;background:#f3efe7}.rtx-section-head{display:grid;grid-template-columns:.45fr 1fr;gap:60px;align-items:end;margin-bottom:65px}.rtx-section-head h2{margin:0;font-family:Georgia,serif;font-size:clamp(2.55rem,3.8vw,4.6rem);font-weight:500;letter-spacing:-.055em;line-height:.96}.rtx-service-bands{border-top:1px solid #a9a297}.rtx-service-bands article{position:relative;display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:7vw;padding:50px 35px;border-bottom:1px solid #a9a297;transition:padding .4s,background .4s}.rtx-service-bands article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:8px;background:#a94e35;transform:scaleY(0);transform-origin:top;transition:transform .45s}.rtx-service-bands article:nth-child(2):before{background:#416154}.rtx-service-bands article:nth-child(3):before{background:#bf865f}.rtx-service-bands article:nth-child(4):before{background:#74806b}.rtx-service-bands article:hover{padding-left:60px;background:#e7e1d6}.rtx-service-bands article:hover:before{transform:scaleY(1)}.rtx-service-bands span{color:#8b4633;font-size:.6rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.rtx-service-bands h3{margin:12px 0 0;font-family:Georgia,serif;font-size:clamp(1.55rem,2vw,2.2rem);font-weight:500;letter-spacing:-.035em}.rtx-service-bands p{margin:0;color:#58615d;line-height:1.78}

.rtx-process{position:relative;padding:clamp(110px,11vw,175px) 0;background:#293330;color:#fff;overflow:hidden}.rtx-process:before{content:"";position:absolute;inset:0;opacity:.08;background:radial-gradient(circle at center,transparent 0 22%,#fff 22.3% 22.5%,transparent 22.8% 35%,#fff 35.3% 35.5%,transparent 35.8%)}.rtx-process-head{position:relative;text-align:center}.rtx-process-head .rtx-eyebrow{color:#cbd6bb}.rtx-process-head h2{margin:25px 0 0;color:#fff;font-family:Georgia,serif;font-size:clamp(2.6rem,4vw,4.8rem);font-weight:500;letter-spacing:-.055em}.rtx-cycle{position:relative;width:190px;height:190px;margin:55px auto -30px;border:2px solid rgba(255,255,255,.18);border-radius:50%}.rtx-cycle:before,.rtx-cycle:after,.rtx-cycle i,.rtx-cycle b{content:"";position:absolute;width:18px;height:18px;border-radius:50%}.rtx-cycle:before{left:50%;top:-10px;background:#a94e35}.rtx-cycle:after{right:-10px;top:50%;background:#ca7650}.rtx-cycle i{left:50%;bottom:-10px;background:#a8b88e}.rtx-cycle b{left:-10px;top:50%;background:#6d9382}.rtx-cycle{animation:rtx-cycle 13s linear infinite}.rtx-process-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.rtx-process-steps article{min-height:360px;padding:50px 32px;background:rgba(255,255,255,.055);border-top:5px solid #a94e35;transition:transform .4s,background .4s}.rtx-process-steps article:nth-child(2){border-color:#ca7650}.rtx-process-steps article:nth-child(3){border-color:#a8b88e}.rtx-process-steps article:nth-child(4){border-color:#6d9382}.rtx-process-steps article:hover{transform:translateY(-12px);background:rgba(255,255,255,.1)}.rtx-process-steps span{color:#cbd6bb;font-size:.59rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.rtx-process-steps h3{margin:20px 0 18px;color:#fff;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.rtx-process-steps p{margin:0;color:rgba(255,255,255,.63);font-size:.9rem;line-height:1.75}

.rtx-value{display:grid;grid-template-columns:.85fr 1.15fr;min-height:650px}.rtx-value-question{display:flex;flex-direction:column;justify-content:center;padding:clamp(65px,8vw,130px);background:#a94e35;color:#fff}.rtx-value-question span{font-size:.62rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.rtx-value-question h2{margin:28px 0 0;color:#fff;font-family:Georgia,serif;font-size:clamp(2.7rem,4vw,4.8rem);font-weight:500;letter-spacing:-.055em;line-height:.96}.rtx-value-answer{display:flex;flex-direction:column;justify-content:center;padding:clamp(65px,9vw,150px);background:#c9d0bc}.rtx-value-answer p{max-width:820px;margin:0 0 28px;color:#344039;font-family:Georgia,serif;font-size:clamp(1.2rem,1.55vw,1.55rem);line-height:1.65}

.rtx-industries{padding:clamp(100px,10vw,160px) 0;background:#e8e2d7}.rtx-industries-head{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:60px}.rtx-industries-head h2{max-width:760px;margin:0;font-family:Georgia,serif;font-size:clamp(2.5rem,3.6vw,4.3rem);font-weight:500;letter-spacing:-.05em}.rtx-industry-list{border-top:1px solid #989287}.rtx-industry-list article{display:grid;grid-template-columns:.55fr 1.45fr;gap:50px;padding:38px 25px;border-bottom:1px solid #aaa399;transition:background .35s}.rtx-industry-list article:hover{background:#f4f0e8}.rtx-industry-list h3{margin:0;color:#8f412f;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.rtx-industry-list p{max-width:800px;margin:0;color:#59615d;line-height:1.72}

.rtx-close{position:relative;isolation:isolate;display:flex;align-items:center;min-height:800px;padding:90px 5vw;color:#fff;overflow:hidden;background:#202724}.rtx-close>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.5) contrast(1.08);animation:rtx-pan 16s ease-in-out infinite alternate}.rtx-close:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(27,34,31,.96),rgba(27,34,31,.73) 56%,rgba(27,34,31,.15))}.rtx-close-copy{max-width:840px;padding:clamp(45px,6vw,90px);background:rgba(32,39,36,.87);border-left:7px solid #a8b88e;backdrop-filter:blur(7px)}.rtx-close-copy .rtx-eyebrow{color:#d5dfca}.rtx-close-copy h2{margin:25px 0;color:#fff;font-family:Georgia,serif;font-size:clamp(2.7rem,4vw,4.8rem);font-weight:500;letter-spacing:-.055em}.rtx-close-copy p{color:rgba(255,255,255,.72);line-height:1.8}
.rtx-handoff{display:grid;grid-template-columns:auto minmax(60px,1fr) auto minmax(60px,1fr) auto;gap:25px;align-items:center;padding:38px max(5vw,30px);background:linear-gradient(90deg,#202724,#14262a 55%,#071a20);color:#d9dfd4;font-size:.62rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.rtx-handoff i{height:2px;background:linear-gradient(90deg,#a94e35,#a8b88e);transform-origin:left;animation:rtx-line 2.8s ease-in-out infinite alternate}.rtx-page+.site-premium-footer{margin-top:0}.rtx-page+.site-premium-footer .footer-hazard-line{height:4px;background:linear-gradient(90deg,#a94e35 0 34%,#a8b88e 34% 67%,#416154 67%)}

@keyframes rtx-reveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:scale(1.04)}to{opacity:1;clip-path:inset(0);transform:scale(1)}}@keyframes rtx-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes rtx-cycle{to{transform:rotate(360deg)}}@keyframes rtx-pan{to{transform:scale(1.04) translateX(-1.5%)}}
@media(max-width:1050px){.rtx-hero,.rtx-overview .rtx-wrap,.rtx-value{grid-template-columns:1fr}.rtx-hero-copy{min-height:700px}.rtx-hero-visual{min-height:620px}.rtx-overview-title{position:relative;top:auto}.rtx-process-steps{grid-template-columns:1fr 1fr}.rtx-industries-head{display:block}.rtx-industries-head h2{margin-top:24px}}
@media(max-width:700px){.rtx-wrap{width:calc(100% - 30px)}.rtx-hero-copy{min-height:720px;padding:105px 24px 145px}.rtx-location{left:24px}.rtx-hero-copy:after{display:none}.rtx-hero h1{font-size:clamp(2.6rem,12vw,3.5rem)}.rtx-hero-visual{min-height:470px}.rtx-hero-visual figcaption{left:20px;right:20px;bottom:125px;display:block}.rtx-hero-visual figcaption i{display:block;margin:12px 0}.rtx-life-rail{grid-template-columns:1fr 1fr}.rtx-life-rail span{padding:17px 10px}.rtx-overview .rtx-wrap{display:block}.rtx-overview-story{margin-top:55px;padding-left:0;border-left:0}.rtx-story-columns{grid-template-columns:1fr}.rtx-section-head{grid-template-columns:1fr}.rtx-service-bands article{display:block;padding:38px 18px}.rtx-service-bands article:hover{padding-left:28px}.rtx-service-bands p{margin-top:20px}.rtx-process-steps{grid-template-columns:1fr}.rtx-process-steps article{min-height:0}.rtx-cycle{width:140px;height:140px}.rtx-value-question,.rtx-value-answer{padding:70px 25px}.rtx-industry-list article{display:block;padding:32px 15px}.rtx-industry-list p{margin-top:14px}.rtx-close{min-height:auto;padding:70px 15px}.rtx-close-copy{padding:42px 24px}.rtx-close-copy h2{font-size:clamp(2.5rem,11vw,3.4rem)}}
@media(max-width:700px){.rtx-handoff{grid-template-columns:1fr;gap:14px;padding:30px 24px}.rtx-handoff i{width:100%;height:1px}}
@media(prefers-reduced-motion:reduce){.rtx-page *{animation:none!important;transition:none!important}}

/* Node 10 — Interior Renovation, Restoration & Fit-Outs */
.rtx-interior-page{--ink:#15191a;--slate:#1d282b;--stone:#ece8df;--lime:#a9c7b0;--oxide:#a64d35;--copper:#d77d56;--moss:#32685f;background:#ece8df}
.rtx-interior-page .rtx-hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:820px}
.rtx-interior-page .rtx-hero-copy{background:radial-gradient(circle at 92% 28%,rgba(215,125,86,.16),transparent 27%),linear-gradient(145deg,#182326,#263936)}
.rtx-interior-page .rtx-hero-copy:after{border-width:2px;border-color:rgba(215,125,86,.55);box-shadow:0 0 0 25px rgba(215,125,86,.05),0 0 0 50px rgba(169,199,176,.035)}
.rtx-interior-page .rtx-hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(3.35rem,5vw,6.2rem);font-weight:750;line-height:.86}.rtx-interior-page .rtx-hero h1 em{margin-top:.13em;color:#e48a62;font-size:.82em;font-style:normal}.rtx-interior-page .rtx-hero-copy>p{max-width:760px;font-size:1rem}
.rtx-interior-page .rtx-hero-visual img{object-position:center 44%;filter:saturate(.86) contrast(1.04)}
.rtx-interior-page .rtx-life-rail span:nth-child(1):before{background:#a64d35}.rtx-interior-page .rtx-life-rail span:nth-child(2):before{background:#d77d56;border-color:#d77d56}
.rtx-interior-page .rtx-overview{background:linear-gradient(135deg,#eee9df,#faf8f3 63%,#e2eee9)}
.rtx-interior-page .rtx-overview .rtx-wrap{grid-template-columns:minmax(420px,.82fr) minmax(0,1.18fr);gap:clamp(65px,8vw,130px)}
.rtx-interior-page .rtx-overview-title h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.8rem,4vw,5.1rem);font-weight:650;line-height:.92}
.rtx-interior-page .rtx-overview-story{align-self:center}.rtx-interior-page .rtx-overview-story>p:last-child{max-width:760px;margin:0;color:#59615d;font-size:1rem;line-height:1.82}
.rtx-interior-page .rtx-services{background:#f6f3ed}
.rtx-interior-page .rtx-section-head{grid-template-columns:.38fr 1fr}.rtx-interior-page .rtx-section-head h2{font-family:Arial,Helvetica,sans-serif;font-weight:650;letter-spacing:-.055em}
.rtx-interior-page .rtx-section-head>div>p{max-width:780px;margin:24px 0 0;color:#58615d;font-size:clamp(.94rem,1.15vw,1.08rem);line-height:1.75}
.rtx-interior-service-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}
.rtx-interior-service-grid article{position:relative;grid-column:span 4;display:grid;grid-template-rows:260px 1fr;min-height:520px;background:#172124;color:#fff;overflow:hidden;box-shadow:0 20px 55px rgba(18,28,29,.14);transition:transform .4s,box-shadow .4s}.rtx-interior-service-grid article:hover{transform:translateY(-8px);box-shadow:0 32px 75px rgba(18,28,29,.22)}
.rtx-interior-service-grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.05);transition:transform .7s,filter .5s}.rtx-interior-service-grid article:hover img{transform:scale(1.055);filter:saturate(1)}
.rtx-interior-service-grid article>div{position:relative;padding:34px 30px 30px}.rtx-interior-service-grid article>div:before{content:"";position:absolute;left:30px;top:0;width:54px;height:5px;background:#d77d56}.rtx-interior-service-grid article:nth-child(3n+2)>div:before{background:#a9c7b0}.rtx-interior-service-grid article:nth-child(3n)>div:before{background:#a64d35}
.rtx-interior-service-grid span{color:#c8ddd1;font-size:.56rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.rtx-interior-service-grid h3{margin:13px 0 16px;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.45rem,1.65vw,1.9rem);font-weight:700;letter-spacing:-.035em;line-height:1}.rtx-interior-service-grid p{margin:0;color:rgba(255,255,255,.64);font-size:.86rem;line-height:1.72}
.rtx-capabilities{position:relative;padding:clamp(100px,10vw,155px) 0;background:#1d292c;color:#fff;overflow:hidden}.rtx-capabilities:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(215,125,86,.12),transparent 27%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,72px 72px,72px 72px}
.rtx-cap-layout{position:relative;display:grid;grid-template-columns:minmax(360px,.72fr) minmax(0,1.28fr);gap:clamp(55px,8vw,120px);align-items:start}.rtx-cap-layout header{position:sticky;top:45px}.rtx-cap-layout h2{margin:20px 0;color:#fff;font-family:Arial,Helvetica,sans-serif;font-size:clamp(3.2rem,4.5vw,5.6rem);font-weight:720;letter-spacing:-.065em;line-height:.84}.rtx-cap-layout h2 em{display:block;color:#70c5b4;font-style:normal}.rtx-cap-layout header p{max-width:520px;color:rgba(255,255,255,.58);line-height:1.75}
.rtx-cap-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.16)}.rtx-cap-grid span{position:relative;display:flex;align-items:center;min-height:86px;padding:20px 25px 20px 50px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);color:#fff;font-size:.77rem;font-weight:850;letter-spacing:.035em}.rtx-cap-grid span:before{content:"";position:absolute;left:25px;width:8px;height:8px;background:#d77d56;transform:rotate(45deg)}.rtx-cap-grid span:nth-child(4n+2):before,.rtx-cap-grid span:nth-child(4n+3):before{background:#70c5b4}.rtx-cap-grid span:hover{background:rgba(255,255,255,.05)}
.rtx-conditions{padding:clamp(100px,10vw,155px) 0;background:#ded8cd}.rtx-conditions-head{display:grid;grid-template-columns:minmax(300px,.5fr) minmax(0,1fr);gap:25px 8vw;align-items:end}.rtx-conditions-head h2{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.8rem,4vw,5rem);font-weight:650;letter-spacing:-.06em;line-height:.92}.rtx-conditions-head>p{grid-column:2;max-width:760px;margin:0;color:#59615d;line-height:1.75}
.rtx-condition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:65px}.rtx-condition-grid article{min-height:240px;padding:35px 28px;border-top:5px solid #a64d35;background:#f7f4ee;box-shadow:0 18px 50px rgba(25,33,32,.08);transition:transform .35s}.rtx-condition-grid article:nth-child(even){border-color:#5cae9e}.rtx-condition-grid article:hover{transform:translateY(-7px)}.rtx-condition-grid span{color:#8e4433;font-size:.56rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.rtx-condition-grid h3{margin:60px 0 0;font-family:Georgia,serif;font-size:clamp(1.35rem,1.6vw,1.75rem);font-weight:500;line-height:1.15}
.rtx-interior-page .rtx-process{padding:clamp(100px,9vw,145px) 0}.rtx-interior-page .rtx-process-head h2{max-width:1050px;margin-left:auto;margin-right:auto;font-family:Arial,Helvetica,sans-serif;font-size:clamp(2.7rem,3.7vw,4.55rem);font-weight:650;line-height:.94}.rtx-interior-page .rtx-process-steps{margin-top:65px}.rtx-interior-page .rtx-process-steps article{min-height:285px}.rtx-interior-page .rtx-process-steps h3{font-family:Arial,Helvetica,sans-serif;font-weight:650}
.rtx-interior-page .rtx-close{min-height:720px;justify-content:flex-start}.rtx-interior-page .rtx-close>img{object-position:center 58%;filter:saturate(.68) contrast(1.08)}.rtx-interior-page .rtx-close-copy{max-width:900px;border-left-color:#d77d56}.rtx-interior-page .rtx-close-copy h2{font-family:Arial,Helvetica,sans-serif;font-weight:680;line-height:.9}.rtx-interior-page .rtx-close-copy small{display:block;margin-top:24px;color:#b9d8c8;font-size:.58rem;font-weight:950;letter-spacing:.12em;line-height:1.7;text-transform:uppercase}.rtx-interior-page .rtx-close-copy a{display:flex;align-items:center;justify-content:space-between;max-width:270px;margin-top:28px;padding:19px 21px;background:#d77d56;color:#15191a;font-size:.63rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:background .3s,transform .3s}.rtx-interior-page .rtx-close-copy a:hover{background:#a9c7b0;transform:translateY(-5px)}.rtx-interior-page .rtx-close-copy a b{font-size:1rem}
.rtx-interior-footer{position:relative;isolation:isolate;padding:0;background:#0b1416;color:#fff;overflow:hidden}.rtx-interior-footer:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:74px 74px}.rtx-footer-glow{position:absolute;z-index:-1;right:-12%;top:-45%;width:58vw;height:58vw;border:1px solid rgba(112,197,180,.13);border-radius:50%;box-shadow:0 0 0 8vw rgba(112,197,180,.025),0 0 0 17vw rgba(215,125,86,.018);animation:rtx-footer-drift 12s ease-in-out infinite alternate}.rtx-footer-kicker{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.13);color:#b9d8c8;font-size:.56rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.rtx-footer-kicker i{height:1px;background:linear-gradient(90deg,#d77d56,#70c5b4)}.rtx-footer-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(380px,.62fr);gap:clamp(55px,8vw,130px);align-items:center;padding:clamp(70px,8vw,125px) 0}.rtx-footer-brand{display:grid;grid-template-columns:112px minmax(0,1fr);gap:38px;align-items:start}.rtx-footer-mark{position:relative;display:grid;place-items:center;width:112px;aspect-ratio:1;background:#d77d56;color:#11191b;clip-path:polygon(0 0,82% 0,100% 18%,100% 100%,0 100%)}.rtx-footer-mark:after{content:"";position:absolute;right:18%;top:0;width:1px;height:100%;background:#11191b}.rtx-footer-mark b{font-size:1.7rem;font-weight:950}.rtx-footer-mark span{position:absolute;right:0;top:0;width:20px;height:20px;border-left:1px solid #11191b;transform:rotate(-45deg);transform-origin:top}.rtx-footer-brand small,.rtx-footer-contact>span{color:#d77d56;font-size:.58rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.rtx-footer-brand h2{margin:18px 0 25px;font-size:clamp(3rem,5vw,6.2rem);font-weight:720;letter-spacing:-.07em;line-height:.82}.rtx-footer-brand h2 em{display:block;color:#70c5b4;font-style:normal}.rtx-footer-brand p{max-width:670px;margin:0;color:rgba(255,255,255,.58);line-height:1.75}.rtx-footer-contact{position:relative;padding:40px;border:1px solid rgba(255,255,255,.17);border-left:5px solid #d77d56;background:rgba(255,255,255,.04);backdrop-filter:blur(8px);box-shadow:0 30px 80px rgba(0,0,0,.2)}.rtx-footer-contact:before{content:"";position:absolute;right:0;top:0;width:48px;height:48px;border-top:1px solid #70c5b4;border-right:1px solid #70c5b4}.rtx-footer-contact h3{margin:20px 0 32px;font-size:clamp(1.8rem,2.5vw,3.1rem);letter-spacing:-.055em;line-height:.95}.rtx-footer-contact a,.rtx-footer-contact>div{display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:20px 0;border-top:1px solid rgba(255,255,255,.12);color:#fff;text-decoration:none}.rtx-footer-contact a small,.rtx-footer-contact>div small{grid-column:1/-1;color:rgba(255,255,255,.42);font-size:.52rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.rtx-footer-contact a strong,.rtx-footer-contact>div strong{font-size:.82rem;font-weight:650;overflow-wrap:anywhere}.rtx-footer-contact a b{color:#d77d56;font-size:1rem;transition:transform .3s}.rtx-footer-contact a:hover b{transform:translate(4px,-4px)}.rtx-footer-scope{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13)}.rtx-footer-scope span{position:relative;padding:22px 12px;border-right:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.48);font-size:.54rem;font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase;transition:color .3s,background .3s}.rtx-footer-scope span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:10px;background:#70c5b4;transform:rotate(45deg)}.rtx-footer-scope span:nth-child(odd):before{background:#d77d56}.rtx-footer-scope span:hover{background:rgba(255,255,255,.04);color:#fff}.rtx-footer-bottom{display:flex;justify-content:space-between;gap:30px;padding:25px 0 30px;color:rgba(255,255,255,.38);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.rtx-footer-bottom nav{display:flex;gap:28px}.rtx-footer-bottom a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .3s}.rtx-footer-bottom a:hover{color:#70c5b4}@keyframes rtx-footer-drift{to{transform:translate(-6%,8%) scale(1.06)}}
@media(max-width:1050px){.rtx-interior-page .rtx-hero{grid-template-columns:1fr}.rtx-interior-service-grid article{grid-column:span 6}.rtx-cap-layout,.rtx-conditions-head{grid-template-columns:1fr}.rtx-cap-layout header{position:static}.rtx-conditions-head>p{grid-column:1}.rtx-condition-grid{grid-template-columns:1fr 1fr}.rtx-footer-main{grid-template-columns:1fr}.rtx-footer-contact{max-width:680px}.rtx-footer-scope{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.rtx-interior-page .rtx-hero h1{font-size:clamp(2.65rem,12vw,3.75rem)}.rtx-interior-service-grid article{grid-column:1/-1;grid-template-rows:250px 1fr;min-height:0}.rtx-cap-grid{grid-template-columns:1fr}.rtx-cap-layout h2{font-size:clamp(2.8rem,13vw,4.1rem)}.rtx-condition-grid{grid-template-columns:1fr}.rtx-condition-grid article{min-height:190px}.rtx-condition-grid h3{margin-top:42px}.rtx-conditions-head h2{font-size:clamp(2.55rem,11vw,3.65rem)}.rtx-interior-page .rtx-close{min-height:auto}.rtx-interior-page .rtx-close-copy a{max-width:none}.rtx-footer-kicker{grid-template-columns:1fr;text-align:center}.rtx-footer-kicker i{display:none}.rtx-footer-brand{grid-template-columns:1fr}.rtx-footer-mark{width:86px}.rtx-footer-brand h2{font-size:clamp(2.9rem,14vw,4.4rem)}.rtx-footer-contact{padding:30px 22px}.rtx-footer-scope{grid-template-columns:1fr 1fr}.rtx-footer-bottom{align-items:center;flex-direction:column;text-align:center}.rtx-footer-bottom nav{gap:20px}}
@media(max-width:420px){.rtx-interior-page .rtx-hero h1{font-size:clamp(2.1rem,9.2vw,2.7rem);line-height:.9;letter-spacing:-.045em}}

/* Interior footer contrast and scale isolation. */
.rtx-interior-footer .rtx-footer-main{grid-template-columns:minmax(0,1.15fr) minmax(380px,.62fr);gap:clamp(55px,7vw,110px);padding:clamp(60px,6.5vw,95px) 0}
.rtx-interior-footer .rtx-footer-brand{grid-template-columns:104px minmax(0,1fr);gap:34px}
.rtx-interior-footer .rtx-footer-mark{width:104px}
.rtx-interior-footer .rtx-footer-mark b{color:#11191b}
.rtx-interior-footer .rtx-footer-brand small,.rtx-interior-footer .rtx-footer-contact>span{color:#e58a64}
.rtx-interior-footer .rtx-footer-brand h2{color:#fff;font-size:clamp(3rem,4.25vw,5.25rem);line-height:.84}
.rtx-interior-footer .rtx-footer-brand h2 em{color:#70c5b4}
.rtx-interior-footer .rtx-footer-brand p{color:rgba(255,255,255,.68)}
.rtx-interior-footer .rtx-footer-contact{border-color:rgba(255,255,255,.2);border-left-color:#d77d56;background:rgba(21,31,34,.94)}
.rtx-interior-footer .rtx-footer-contact h3{color:#fff;font-size:clamp(1.8rem,2.35vw,2.8rem);font-weight:700;line-height:.98}
.rtx-interior-footer .rtx-footer-contact a,.rtx-interior-footer .rtx-footer-contact>div{grid-template-columns:minmax(0,1fr) auto;border-color:rgba(255,255,255,.14);color:#fff}
.rtx-interior-footer .rtx-footer-contact a small,.rtx-interior-footer .rtx-footer-contact>div small{color:rgba(255,255,255,.55)}
.rtx-interior-footer .rtx-footer-contact a strong,.rtx-interior-footer .rtx-footer-contact>div strong{color:#fff;line-height:1.5}
.rtx-interior-footer .rtx-footer-contact a b{color:#e58a64}
.rtx-interior-footer .rtx-footer-contact a:hover strong{color:#70c5b4}
.rtx-interior-footer .rtx-footer-contact{transition:border-color .3s,background .3s,transform .3s}
.rtx-interior-footer .rtx-footer-contact:hover{border-color:#70c5b4;border-left-color:#d77d56;background:rgba(25,39,42,.98)}
.rtx-interior-footer .rtx-footer-contact a.rtx-footer-project-link{display:flex;align-items:center;justify-content:space-between;min-height:58px;margin-top:24px;padding:0 20px;border:0;background:#d77d56;color:#11191b;font-size:.65rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:background .3s,transform .3s}
.rtx-interior-footer .rtx-footer-contact a.rtx-footer-project-link:hover{background:#70c5b4;transform:translateY(-3px)}
.rtx-interior-footer .rtx-footer-contact a.rtx-footer-project-link:focus-visible{outline:3px solid #70c5b4;outline-offset:4px}
.rtx-interior-footer .rtx-footer-project-link{display:flex!important;align-items:center;justify-content:center;gap:14px;margin-top:24px;padding:20px 22px!important;border:0!important;background:#d77d56!important;color:#11191b!important;font-size:.62rem;font-weight:950;letter-spacing:.12em;text-align:center;text-decoration:none;text-transform:uppercase;box-shadow:0 18px 45px rgba(0,0,0,.2);cursor:pointer;transition:background .3s,transform .3s}
.rtx-interior-footer .rtx-footer-project-link span{color:#11191b}
.rtx-interior-footer .rtx-footer-project-link b{color:#11191b;font-size:1.05rem;transition:transform .3s}
.rtx-interior-footer .rtx-footer-project-link:hover{background:#70c5b4!important;transform:translateY(-4px)}
.rtx-interior-footer .rtx-footer-project-link:hover b{transform:translate(4px,-4px)}
.rtx-interior-page .rtx-close:after,.rtx-interior-page .rtx-close>img{pointer-events:none}
.rtx-interior-page .rtx-close-copy{position:relative;z-index:2;pointer-events:auto}
.rtx-interior-page .rtx-close-copy a{position:relative;z-index:3;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.rtx-interior-footer .rtx-footer-bottom{justify-content:center;padding:28px 0 32px;text-align:center}
.rtx-interior-footer .rtx-footer-bottom small{color:rgba(255,255,255,.58);font-size:.72rem;font-weight:650;letter-spacing:.055em;line-height:1.5}
@media(max-width:1050px){.rtx-interior-footer .rtx-footer-main{grid-template-columns:1fr}.rtx-interior-footer .rtx-footer-contact{max-width:680px}}
@media(max-width:700px){.rtx-interior-footer .rtx-footer-brand{grid-template-columns:1fr}.rtx-interior-footer .rtx-footer-mark{width:86px}.rtx-interior-footer .rtx-footer-brand h2{font-size:clamp(2.9rem,14vw,4.4rem)}}

/* Balance the company statement with the adjacent project-inquiry card. */
.rtx-interior-footer .rtx-footer-main{
  align-items:stretch;
}
.rtx-interior-footer .rtx-footer-brand{
  position:relative;
  align-content:center;
  align-items:center;
  padding:clamp(38px,4.5vw,64px);
  border:1px solid rgba(255,255,255,.16);
  border-top:4px solid #70c5b4;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:0 30px 80px rgba(0,0,0,.16);
}
.rtx-interior-footer .rtx-footer-brand:after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  width:74px;
  height:74px;
  border-right:1px solid rgba(215,125,86,.58);
  border-bottom:1px solid rgba(215,125,86,.58);
}
.rtx-interior-footer .rtx-footer-brand h2{
  max-width:640px;
  margin:20px 0 24px;
  font-size:clamp(2.75rem,3.85vw,4.7rem);
  line-height:.88;
}
.rtx-interior-footer .rtx-footer-brand p{
  max-width:610px;
  font-size:.96rem;
  line-height:1.72;
}
@media(max-width:1050px){
  .rtx-interior-footer .rtx-footer-brand{
    max-width:680px;
  }
}
@media(max-width:700px){
  .rtx-interior-footer .rtx-footer-main{
    gap:28px;
    padding-block:48px;
  }
  .rtx-interior-footer .rtx-footer-brand{
    padding:30px 22px 34px;
  }
  .rtx-interior-footer .rtx-footer-mark{
    width:74px;
  }
  .rtx-interior-footer .rtx-footer-brand h2{
    margin:18px 0 20px;
    font-size:clamp(2.45rem,12vw,3.55rem);
    line-height:.9;
  }
  .rtx-interior-footer .rtx-footer-brand p{
    font-size:.9rem;
  }
}

/* Simplified inquiry card: compact phone row and centred primary action. */
.rtx-interior-footer .rtx-footer-contact .rtx-footer-phone{
  display:block;
  width:max-content;
  margin-top:8px;
  padding:0;
  border:0;
  color:#fff;
}
.rtx-interior-footer .rtx-footer-contact>div:first-of-type{
  padding-bottom:14px;
}
.rtx-interior-footer .rtx-footer-contact a.rtx-footer-project-link{
  position:relative;
  justify-content:center;
  text-align:center;
}
.rtx-interior-footer .rtx-footer-project-link span{
  width:100%;
  text-align:center;
}
.rtx-interior-footer .rtx-footer-project-link b{
  position:absolute;
  right:20px;
}

@media(max-width:700px){
  .rtx-interior-page .rtx-section-head{grid-template-columns:1fr;gap:22px}
  .rtx-interior-page .rtx-section-head .rtx-eyebrow{display:block;width:100%;max-width:100%;white-space:normal;overflow:visible}
}


/* ============================================================
   MERGED SOURCE: node17-demolition.css
   ============================================================ */
.dmx-page{--black:#171b1d;--steel:#2b3337;--concrete:#e6e7e4;--orange:#e56b24;--yellow:#f2c318;--blue:#4f9fba;color:#171b1d;overflow:hidden;background:#e6e7e4;font-family:Arial,Helvetica,sans-serif}.dmx-page,.dmx-page *,.dmx-page *:before,.dmx-page *:after{box-sizing:border-box}.dmx-page h1,.dmx-page h2,.dmx-page h3{hyphens:none;word-break:keep-all;overflow-wrap:normal;text-wrap:balance}.dmx-wrap{width:min(1480px,calc(100% - 7vw));margin:auto}.dmx-kicker{color:#a74719;font-size:.65rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.dmx-kicker:before{content:"";display:inline-block;width:32px;height:4px;margin:0 12px 2px 0;background:var(--yellow)}
.dmx-hero{position:relative;isolation:isolate;min-height:900px;background:#151a1d;color:#fff;overflow:hidden}.dmx-hero>img{position:absolute;z-index:-2;top:0;right:0;width:62%;height:100%;object-fit:cover;object-position:center 48%;filter:grayscale(.12) contrast(1.08) saturate(.9);animation:dmx-reveal 1.3s ease-out both}.dmx-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(18,22,24,.99) 0 43%,rgba(18,22,24,.84) 52%,rgba(18,22,24,.22) 76%,rgba(18,22,24,.08))}.dmx-hero-copy{display:flex;flex-direction:column;justify-content:center;width:min(980px,60vw);min-height:810px;padding:110px 5vw 150px;background:rgba(18,23,26,.73);clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}.dmx-location{position:absolute;top:36px;display:flex;gap:12px;align-items:center;color:rgba(255,255,255,.6);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.dmx-location i{width:7px;height:7px;background:var(--yellow);transform:rotate(45deg)}.dmx-location strong{color:#fff}.dmx-hero .dmx-kicker{color:#ffd76a}.dmx-hero h1{margin:28px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(3.2rem,4.35vw,5.35rem);font-weight:950;letter-spacing:-.055em;line-height:.89;text-transform:uppercase}.dmx-hero h1 em{color:#f28a46;font-style:normal}.dmx-hero-copy>p{max-width:720px;color:rgba(255,255,255,.72);line-height:1.75}.dmx-sequence{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;gap:20px;align-items:center;padding:28px 5vw;background:#22292d;color:#fff;font-size:.63rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.dmx-sequence i{height:3px;background:linear-gradient(90deg,var(--orange),var(--yellow));transform-origin:left;animation:dmx-line 2.5s ease-in-out infinite alternate}
.dmx-overview{padding:clamp(100px,10vw,165px) 0;background:#e6e7e4}.dmx-overview .dmx-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.dmx-overview header{padding-top:32px;border-top:9px solid var(--orange)}.dmx-overview h2,.dmx-heading h2,.dmx-process h2,.dmx-professional h2,.dmx-close h2{margin:25px 0 0;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.5rem,3.7vw,4.5rem);font-weight:950;letter-spacing:-.06em;line-height:.94}.dmx-overview-copy{padding-left:5vw;border-left:1px solid #aeb3b2}.dmx-overview-copy p{color:#525d61;line-height:1.78}.dmx-overview-copy .dmx-lead{margin-top:0;color:#172024;font-size:clamp(1.45rem,2.1vw,2.1rem);font-weight:850;line-height:1.48}
.dmx-services{padding:clamp(95px,9vw,145px) 0;background:#f4f3ef}.dmx-heading{display:grid;grid-template-columns:.4fr 1fr;gap:60px;align-items:end;margin-bottom:65px}.dmx-heading h2{margin:0}.dmx-scope{border-top:2px solid #20272a}.dmx-scope article{display:grid;grid-template-columns:100px minmax(280px,.65fr) 1.35fr;gap:45px;padding:42px 30px;border-bottom:1px solid #b9bdbc;transition:background .35s,padding .35s}.dmx-scope article:hover{padding-left:52px;background:#e3e5e3}.dmx-scope span{color:#ab4615;font-size:.6rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.dmx-scope h3{margin:0;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.7rem;letter-spacing:-.035em}.dmx-scope p{margin:0;color:#566166;line-height:1.72}
.dmx-process{padding:clamp(105px,10vw,165px) 0;background:#20272a;color:#fff}.dmx-process header{display:grid;grid-template-columns:.4fr 1fr;gap:60px;align-items:end}.dmx-process h2{margin:0;color:#fff}.dmx-process .dmx-kicker{color:#ffd56a}.dmx-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:5px solid #5c666a}.dmx-track:before{content:"";position:absolute;left:0;top:-5px;width:100%;height:5px;background:linear-gradient(90deg,var(--blue) 0 25%,var(--yellow) 25% 50%,var(--orange) 50% 75%,#74a275 75%);transform-origin:left;animation:dmx-progress 6s ease-in-out infinite}.dmx-track article{min-height:390px;padding:50px 32px;border-right:1px solid rgba(255,255,255,.14);transition:background .35s,transform .35s}.dmx-track article:hover{background:rgba(255,255,255,.08);transform:translateY(-10px)}.dmx-track span{color:#f3c956;font-size:.61rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.dmx-track h3{margin:20px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.7rem}.dmx-track p{color:rgba(255,255,255,.64);line-height:1.73}
.dmx-professional{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#d8dad7}.dmx-professional>img{width:100%;height:100%;object-fit:cover;filter:grayscale(.45) contrast(1.12)}.dmx-professional-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,140px)}.dmx-professional-copy p{color:#536064;line-height:1.8}.dmx-sectors{padding:clamp(95px,9vw,145px) 0;background:#e6e7e4}.dmx-sector-list{margin-top:45px;border-top:1px solid #979e9e}.dmx-sector-list article{display:grid;grid-template-columns:.55fr 1.45fr;gap:45px;padding:35px 25px;border-bottom:1px solid #aeb3b2;transition:background .3s}.dmx-sector-list article:hover{background:#f4f3ef}.dmx-sector-list h3{margin:0;color:#aa4618;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.75rem}.dmx-sector-list p{margin:0;color:#566166;line-height:1.7}
.dmx-close{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center;padding:clamp(75px,8vw,130px) max(5vw,30px);background:linear-gradient(105deg,#182024,#26383e);color:#fff;border-top:8px solid var(--yellow)}.dmx-close h2{color:#fff}.dmx-close p{max-width:900px;margin-top:24px;color:rgba(255,255,255,.67);line-height:1.76}.dmx-close .dmx-kicker{color:#f4ce61}.dmx-close>a{display:flex;gap:55px;align-items:center;padding:20px 24px;background:var(--orange);color:#fff;font-size:.7rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase}.dmx-close>a:hover{background:var(--yellow);color:#171b1d}.dmx-close>a i{font-style:normal}
@keyframes dmx-reveal{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes dmx-line{from{transform:scaleX(.1)}to{transform:scaleX(1)}}@keyframes dmx-progress{0%,15%{transform:scaleX(.08)}75%,100%{transform:scaleX(1)}}
@media(max-width:1000px){.dmx-overview .dmx-wrap,.dmx-professional{grid-template-columns:1fr}.dmx-hero-copy{width:72vw}.dmx-track{grid-template-columns:1fr 1fr}.dmx-professional>img{min-height:520px}.dmx-close{grid-template-columns:1fr}}
@media(max-width:700px){.dmx-wrap{width:calc(100% - 30px)}.dmx-hero{min-height:1040px}.dmx-hero>img{left:0;width:100%;object-position:45% center}.dmx-hero:after{background:linear-gradient(rgba(18,22,24,.76),rgba(18,22,24,.94))}.dmx-hero-copy{width:100%;min-height:900px;padding:100px 24px 170px;clip-path:none}.dmx-hero h1{font-size:clamp(2.6rem,12vw,3.5rem)}.dmx-sequence{grid-template-columns:1fr 1fr;gap:12px}.dmx-sequence i{display:none}.dmx-overview .dmx-wrap{display:block}.dmx-overview-copy{margin-top:55px;padding-left:0;border:0}.dmx-heading,.dmx-process header{grid-template-columns:1fr}.dmx-scope article{display:block;padding:35px 18px}.dmx-scope h3{margin:12px 0}.dmx-track{grid-template-columns:1fr}.dmx-track article{min-height:0}.dmx-professional-copy{padding:65px 24px}.dmx-sector-list article{display:block}.dmx-sector-list p{margin-top:12px}.dmx-close{padding:65px 24px}.dmx-close>a{justify-content:space-between;width:100%}}
@media(max-width:420px){.dmx-hero h1{font-size:clamp(2.25rem,10.5vw,2.75rem);letter-spacing:-.045em}}
@media(prefers-reduced-motion:reduce){.dmx-page *{animation:none!important;transition:none!important}}


/* ============================================================
   MERGED SOURCE: node11-excavation.css
   ============================================================ */
.exx-page{--soil:#5a3d28;--clay:#a55c32;--sand:#d5bb89;--stone:#e6e1d7;--ink:#172125;--water:#4d8395;color:var(--ink);overflow:hidden;background:#e6e1d7;font-family:Arial,Helvetica,sans-serif}.exx-page,.exx-page *,.exx-page *:before,.exx-page *:after{box-sizing:border-box}.exx-page h1,.exx-page h2,.exx-page h3{hyphens:none;word-break:keep-all;overflow-wrap:normal;text-wrap:balance}.exx-page p{hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:pretty}.exx-wrap{width:min(1480px,calc(100% - 7vw));margin:auto}.exx-kicker{color:#8c4827;font-size:.65rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.exx-kicker:before{content:"";display:inline-block;width:31px;height:4px;margin:0 12px 2px 0;background:#d2a84b}body:has(.exx-page) .sticky-nav{position:relative!important;top:auto!important;background:#e9e5dc!important;box-shadow:none!important;border-bottom:1px solid #c4beb1!important}body:has(.exx-page) .sticky-nav a{color:#172125!important}
.exx-hero{position:relative;isolation:isolate;min-height:900px;color:#fff;background:#182226;overflow:hidden}.exx-hero>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.08) saturate(.8);animation:exx-drift 16s ease-in-out infinite alternate}.exx-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(20,29,33,.97) 0 54%,rgba(20,29,33,.48) 78%,rgba(20,29,33,.25))}.exx-hero-copy{display:flex;flex-direction:column;justify-content:center;width:min(1120px,72vw);min-height:780px;padding:110px 6vw 150px;background:rgba(23,33,37,.72)}.exx-location{position:absolute;top:36px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.58);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.exx-location i{width:8px;height:8px;background:#d2a84b;border-radius:50%}.exx-location strong{color:#fff}.exx-hero .exx-kicker{color:#e2c991}.exx-hero h1{margin:28px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(3rem,4.05vw,4.95rem);font-weight:950;letter-spacing:-.05em;line-height:.93}.exx-hero h1 em{color:#d98a55;font-style:normal}.exx-hero-copy>p{max-width:760px;color:rgba(255,255,255,.72);line-height:1.75}.exx-actions{display:flex;gap:12px;margin-top:28px}.exx-actions a,.exx-close>a{padding:18px 22px;background:#a55c32;transition:transform .3s,background .3s,color .3s,box-shadow .3s;color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase}.exx-actions a:last-child{background:transparent;border:1px solid rgba(255,255,255,.35)}.exx-actions a:first-child:hover{background:#d2a84b;color:#172125;transform:translateY(-4px);box-shadow:0 10px 0 rgba(0,0,0,.22)}.exx-actions a:last-child:hover{background:#fff;color:#172125;transform:translateY(-4px)}.exx-grade-line{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center;padding:28px 5vw;background:#d7c49e;color:#352b22;font-size:.62rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.exx-grade-line i{height:3px;background:repeating-linear-gradient(90deg,#5a3d28 0 18px,transparent 18px 28px);animation:exx-grade 8s linear infinite}
.exx-overview{padding:clamp(100px,10vw,165px) 0;background:#e6e1d7}.exx-overview .exx-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:9vw}.exx-overview header{padding-top:30px;border-top:8px solid #a55c32}.exx-overview h2,.exx-heading h2,.exx-process h2,.exx-follow h2,.exx-close h2{margin:25px 0 0;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.5rem,3.7vw,4.5rem);font-weight:950;letter-spacing:-.06em;line-height:.94}.exx-overview-copy{padding-left:5vw;border-left:1px solid #b8afa0}.exx-overview-copy p{color:#59615f;line-height:1.8}.exx-overview-copy .exx-lead{margin-top:0;color:#1c292d;font-size:clamp(1.45rem,2vw,2.05rem);font-weight:850;line-height:1.5}
.exx-services{padding:clamp(95px,9vw,145px) 0;background:#f3efe7}.exx-heading{display:grid;grid-template-columns:.4fr 1fr;gap:60px;align-items:end;margin-bottom:65px}.exx-heading h2{margin:0}.exx-strata{box-shadow:0 20px 60px rgba(55,41,28,.12)}.exx-strata article,.exx-strata span,.exx-strata h3,.exx-strata p{hyphens:none;word-break:normal;overflow-wrap:normal}.exx-strata article{display:grid;grid-template-columns:170px minmax(280px,.7fr) 1.3fr;gap:40px;padding:42px 38px;color:#fff;background:#4d392c;border-bottom:1px solid rgba(255,255,255,.13);transition:transform .35s,filter .35s}.exx-strata article:nth-child(2){background:#6a4932}.exx-strata article:nth-child(3){background:#315664}.exx-strata article:nth-child(4){background:#8b6544}.exx-strata article:nth-child(5){background:#3e5547}.exx-strata article:hover{transform:translateX(10px);filter:brightness(1.12)}.exx-strata span{white-space:nowrap;color:#edd39c;font-size:.6rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.exx-strata h3{margin:0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.7rem}.exx-strata p{margin:0;color:rgba(255,255,255,.7);line-height:1.72}
.exx-process{position:relative;padding:clamp(85px,8vw,125px) 0;background:#1d2b30;color:#fff;overflow:hidden}.exx-process:before{content:"";position:absolute;inset:0;opacity:.1;background:repeating-radial-gradient(ellipse at center,transparent 0 70px,#fff 71px 72px)}.exx-process header{position:relative;display:grid;grid-template-columns:.4fr 1fr;gap:60px}.exx-process h2{margin:0;color:#fff}.exx-process .exx-kicker{color:#e1c78d}.exx-orbit{display:none;position:relative;width:190px;height:120px;margin:35px auto -15px;border:2px solid rgba(255,255,255,.16);border-radius:50%}.exx-orbit i{position:absolute;left:10px;top:50%;width:18px;height:18px;background:#d2a84b;border-radius:50%;animation:exx-orbit 7s ease-in-out infinite}.exx-orbit b{position:absolute;right:10px;top:50%;width:18px;height:18px;background:#4d8395;border-radius:50%;animation:exx-orbit 7s ease-in-out infinite reverse}.exx-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:70px;padding-top:38px;border-top:4px solid rgba(255,255,255,.16)}.exx-steps article,.exx-steps span,.exx-steps h3,.exx-steps p{hyphens:none;word-break:normal;overflow-wrap:normal}.exx-steps:before{content:"";position:absolute;left:0;top:-4px;width:100%;height:4px;background:linear-gradient(90deg,#d2a84b,#a55c32,#4d8395,#64826b);transform-origin:left;animation:exx-process-line 8s ease-in-out infinite}.exx-steps article{position:relative;min-height:310px;animation:exx-step-focus 8s ease-in-out infinite;padding:38px 30px;background:rgba(255,255,255,.055);border-bottom:7px solid #d2a84b;transition:transform .35s,background .35s}.exx-steps article:before{content:"";position:absolute;left:28px;top:-51px;width:18px;height:18px;border:4px solid #1d2b30;background:#d2a84b;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.35)}.exx-steps article:nth-child(2){border-color:#a55c32;animation-delay:2s}.exx-steps article:nth-child(2):before{background:#a55c32}.exx-steps article:nth-child(3){border-color:#4d8395;animation-delay:4s}.exx-steps article:nth-child(3):before{background:#4d8395}.exx-steps article:nth-child(4){border-color:#64826b;animation-delay:6s}.exx-steps article:nth-child(4):before{background:#64826b}.exx-steps article:hover{transform:translateY(-12px);background:rgba(255,255,255,.1)}.exx-steps span{color:#e4ca91;font-size:.6rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.exx-steps h3{margin:20px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.45rem;white-space:nowrap}.exx-steps p{color:rgba(255,255,255,.64);line-height:1.72}
.exx-follow{display:grid;grid-template-columns:.9fr 1.1fr;min-height:610px;background:#d8c8aa}.exx-follow figure{position:relative;min-height:610px;margin:0;overflow:hidden}.exx-follow img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.08)}.exx-follow figcaption{position:absolute;left:30px;bottom:30px;padding:14px 18px;background:#1d2b30;color:#fff;font-size:.62rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.exx-follow-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,6vw,95px)}.exx-follow-copy p{color:#4f5a56;line-height:1.8}.exx-sectors{padding:clamp(95px,9vw,145px) 0;background:#e6e1d7}.exx-sector-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:45px;border-top:1px solid #a79d8d}.exx-sector-grid article,.exx-sector-grid h3,.exx-sector-grid p{hyphens:none;word-break:normal;overflow-wrap:normal}.exx-sector-grid article{padding:40px 28px;border-right:1px solid #b8afa0;transition:background .3s}.exx-sector-grid article:hover{background:#f4f0e8}.exx-sector-grid h3{margin:0;color:#8e4827;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.7rem}.exx-sector-grid p{color:#58615d;line-height:1.72}
.exx-close{display:grid;grid-template-columns:1fr;gap:60px;align-items:center;padding:clamp(75px,8vw,130px) max(5vw,30px);background:linear-gradient(105deg,#4d392c,#22353b);color:#fff;border-top:8px solid #d2a84b}.exx-close h2{color:#fff}.exx-close p{max-width:900px;color:rgba(255,255,255,.68);line-height:1.75;hyphens:none;word-break:normal;overflow-wrap:normal;text-wrap:pretty}.exx-close .exx-kicker{color:#e7ce99}.exx-close>a{display:flex;gap:50px;align-items:center}.exx-close>a:hover{background:#d2a84b;color:#172125}.exx-close>a i{font-style:normal}
@keyframes exx-process-line{0%,10%{transform:scaleX(.02)}85%,100%{transform:scaleX(1)}}@keyframes exx-step-focus{0%,18%,100%{background:rgba(255,255,255,.055);transform:none}8%{background:rgba(255,255,255,.14);transform:translateY(-8px)}}@keyframes exx-drift{to{transform:scale(1.04) translateX(-1%)}}@keyframes exx-grade{to{background-position:280px 0}}@keyframes exx-orbit{50%{transform:translate(150px,-30px)}}
@media(max-width:1180px){.exx-overview .exx-wrap,.exx-follow{grid-template-columns:1fr}.exx-hero-copy{width:76vw}.exx-steps,.exx-sector-grid{grid-template-columns:1fr 1fr}.exx-steps{padding-top:0;border-top:0}.exx-steps:before,.exx-steps article:before{display:none}.exx-steps article{animation:none}.exx-follow figure{min-height:520px}.exx-close{grid-template-columns:1fr}}
@media(max-width:700px){.exx-wrap{width:calc(100% - 30px)}.exx-hero{min-height:1050px}.exx-hero-copy{width:100%;min-height:930px;padding:105px 24px 170px}.exx-hero h1{font-size:clamp(2.6rem,11.5vw,3.5rem)}.exx-actions{display:grid}.exx-grade-line{grid-template-columns:1fr}.exx-grade-line i{display:none}.exx-overview .exx-wrap{display:block}.exx-overview-copy{margin-top:55px;padding-left:0;border:0}.exx-heading,.exx-process header{grid-template-columns:1fr}.exx-strata article{display:block;padding:35px 20px}.exx-strata h3{margin:12px 0}.exx-steps,.exx-sector-grid{grid-template-columns:1fr}.exx-steps article{min-height:0}.exx-follow-copy{padding:65px 24px}.exx-sector-grid article{border-right:0;border-bottom:1px solid #b8afa0}.exx-close{padding:65px 24px}.exx-close>a{justify-content:space-between;width:100%}}
/* Node 11 exclusive excavation footer. */
.exx-footer{--footer-soil:#4d392c;--footer-clay:#a55c32;--footer-sand:#d2a84b;--footer-water:#4d8395;position:relative;overflow:hidden;background:#142126;color:#fff;font-family:Arial,Helvetica,sans-serif}.exx-footer,.exx-footer *,.exx-footer *:before,.exx-footer *:after{box-sizing:border-box}.exx-footer-grade{position:relative;height:58px;background:#d7c49e;overflow:hidden}.exx-footer-grade:before{content:"EXISTING GRADE";position:absolute;left:5vw;top:18px;color:#49382b;font-size:.56rem;font-weight:950;letter-spacing:.16em}.exx-footer-grade:after{content:"CONSTRUCTION DATUM";position:absolute;right:5vw;top:18px;color:#49382b;font-size:.56rem;font-weight:950;letter-spacing:.16em}.exx-footer-grade span{position:absolute;left:17vw;right:21vw;top:28px;height:3px;background:repeating-linear-gradient(90deg,#5a3d28 0 20px,transparent 20px 31px);animation:exx-footer-survey 8s linear infinite}.exx-footer-grade i,.exx-footer-grade b{position:absolute;top:18px;width:20px;height:20px;border:4px solid #a55c32;border-radius:50%;animation:exx-footer-marker 3s ease-in-out infinite}.exx-footer-grade i{left:15vw}.exx-footer-grade b{right:19vw;background:#4d8395;border-color:#4d8395;animation-delay:1.5s}
.exx-footer-main{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);min-height:690px;background:linear-gradient(118deg,#17262b 0 58%,#27424a 58%)}.exx-footer-main:before{content:"";position:absolute;inset:0;opacity:.1;background:repeating-radial-gradient(ellipse at 73% 22%,transparent 0 68px,#fff 69px 70px);animation:exx-footer-contours 16s ease-in-out infinite alternate}.exx-footer-invitation,.exx-footer-action{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center}.exx-footer-invitation{padding:clamp(70px,8vw,135px);border-right:1px solid rgba(255,255,255,.13)}.exx-footer-kicker,.exx-footer-action small,.exx-footer-contact>span{color:#dcc58f;font-size:.61rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.exx-footer-invitation h2{max-width:930px;margin:25px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.8rem,4.4vw,5.3rem);font-weight:950;letter-spacing:-.065em;line-height:.9}.exx-footer-invitation>p{max-width:720px;color:rgba(255,255,255,.67);line-height:1.78}.exx-footer-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.exx-footer-meta span{padding:10px 13px;border:1px solid rgba(255,255,255,.2);color:#e7ece9;font-size:.58rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.exx-footer-action{padding:clamp(60px,6vw,105px);background:rgba(11,27,33,.58);clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 12%)}.exx-footer-action:before{content:"";position:absolute;left:0;top:0;width:86px;height:7px;background:linear-gradient(90deg,#a55c32,#d2a84b)}.exx-footer-action>strong{display:block;margin:20px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2rem,2.8vw,3.3rem);font-weight:950;letter-spacing:-.05em;line-height:.95}.exx-footer-action>p{max-width:520px;color:rgba(255,255,255,.66);line-height:1.72}.exx-footer-action>a{display:flex;align-items:center;justify-content:space-between;width:min(100%,360px);margin-top:25px;padding:20px 22px;background:#a55c32;color:#fff;font-size:.7rem;font-weight:950;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;transition:transform .35s,background .35s,color .35s,box-shadow .35s}.exx-footer-action>a:hover{transform:translateY(-6px);background:#d2a84b;color:#142126;box-shadow:0 12px 0 rgba(0,0,0,.28)}.exx-footer-action>a i{font-size:1.1rem;font-style:normal;transition:transform .35s}.exx-footer-action>a:hover i{transform:translate(4px,-4px)}.exx-footer-action>em{margin-top:18px;color:#8faaa9;font-size:.56rem;font-style:normal;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.exx-footer-directory{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(#4d392c,#3e3027);border-top:8px solid #a55c32}.exx-footer-brand,.exx-footer-contact{padding:clamp(50px,6vw,95px);min-height:390px}.exx-footer-brand{border-right:1px solid rgba(255,255,255,.13)}.exx-footer-contact{background:#17262b;color:#fff}.exx-footer .exx-footer-contact h3,.exx-footer .exx-footer-contact a,.exx-footer .exx-footer-contact strong{color:#fff}.exx-footer .exx-footer-contact small,.exx-footer .exx-footer-contact>span{color:#e2c98f}.exx-footer-brand>div{display:flex;align-items:center;gap:16px}.exx-footer-brand>div b{display:grid;place-items:center;width:52px;height:52px;border:3px solid #d2a84b;border-radius:50%;color:#d2a84b}.exx-footer-brand>div span{color:#d8c79f;font-size:.6rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.exx-footer-brand h3,.exx-footer-contact h3{margin:24px 0 15px;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2rem,2.8vw,3.2rem);font-weight:950;letter-spacing:-.045em}.exx-footer-brand>p{max-width:650px;color:rgba(255,255,255,.62);line-height:1.75}.exx-footer-contact>a,.exx-footer-contact>div{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none}.exx-footer-contact small{color:#d8c79f;font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.exx-footer-contact strong{font-size:.86rem;overflow-wrap:anywhere}.exx-footer-contact i{font-style:normal;transition:transform .3s}.exx-footer-contact>a:hover i{transform:translate(4px,-4px)}.exx-footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:24px 5vw;background:#101a1e;color:rgba(255,255,255,.42);font-size:.61rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.exx-footer-bottom p{margin:0}.exx-footer-bottom span{color:#c9ad73}
@keyframes exx-footer-survey{to{background-position:310px 0}}@keyframes exx-footer-marker{50%{transform:scale(1.3);box-shadow:0 0 0 12px rgba(165,92,50,.12)}}@keyframes exx-footer-contours{to{transform:translate(25px,15px) scale(1.05)}}
@media(max-width:950px){.exx-footer-main,.exx-footer-directory{grid-template-columns:1fr}.exx-footer-action{clip-path:none}.exx-footer-brand{border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}}
@media(max-width:600px){.exx-footer-grade:before,.exx-footer-grade:after{display:none}.exx-footer-grade span{left:20px;right:20px}.exx-footer-grade i{left:18px}.exx-footer-grade b{right:18px}.exx-footer-invitation,.exx-footer-action,.exx-footer-brand,.exx-footer-contact{padding:58px 24px}.exx-footer-invitation h2{font-size:clamp(2.6rem,12vw,3.5rem)}.exx-footer-contact>a,.exx-footer-contact>div{grid-template-columns:1fr}.exx-footer-bottom{display:block;padding:23px 24px}.exx-footer-bottom span{display:block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.exx-page *,.exx-footer *{animation:none!important;transition:none!important}}
@media(max-width:700px){
  .exv-disciplines{grid-template-columns:1fr!important;width:100%!important}
  .exv-disciplines span{width:100%;min-width:0;justify-content:flex-start!important;white-space:normal!important}
}

/* Keep the editorial card mosaic proportional when neighbouring copy wraps. */
.exv-service-card.exv-card-wide{
  grid-template-rows:minmax(420px,1fr);
}
.exv-service-card.exv-card-wide figure,
.exv-service-card.exv-card-wide > div{
  min-height:0;
}

/* Prevent tight process headings from appearing crowded at intermediate widths. */
.exv-step-grid h3{
  line-height:1.08;
  text-wrap:balance;
  overflow-wrap:normal;
}

@media(max-width:1050px){
  .exv-service-card.exv-card-wide{
    grid-template-rows:280px 1fr;
  }
}

@media(max-width:700px){
  .exv-service-card.exv-card-wide{
    grid-template-rows:250px 1fr;
  }
}

/* Keep the editable excavation phone prominent within the service-area panel. */
.exv-handoff-contact .exv-handoff-area a{
  width:max-content;
  margin-top:3px;
  color:#d7a955;
  font-size:.88rem;
  font-weight:950;
  letter-spacing:.035em;
  text-decoration:none;
}
.exv-handoff-contact .exv-handoff-area a:hover{
  color:#fff;
}
.exv-handoff-contact .exv-handoff-area .exv-handoff-email{
  max-width:100%;
  color:#fff;
  font-size:.8rem;
  overflow-wrap:anywhere!important;
}
.exv-handoff-contact .exv-handoff-area .exv-handoff-phone{
  margin-top:0;
}

/* Preserve the complete 4:3 photographs in the panoramic feature sections. */
.exv-hero-media{
  display:flex;
  justify-content:flex-end;
  background:#07110f;
}
.exv-hero-media img{
  width:min(68%,980px);
  height:100%;
  margin-left:auto;
  object-fit:contain;
  object-position:right center;
  animation:none;
}
.exv-hero-media:after{
  background:linear-gradient(90deg,#07110f 0%,rgba(7,17,15,.98) 31%,rgba(7,17,15,.78) 51%,rgba(7,17,15,.16) 100%);
}

.exv-close-media{
  display:flex;
  justify-content:flex-end;
  background:#07110f;
}
.exv-close-media img{
  position:relative;
  inset:auto;
  width:min(68%,980px);
  height:100%;
  max-height:none;
  margin-left:auto;
  object-fit:contain;
  object-position:right center;
}
.exv-close-media:after{
  background:linear-gradient(90deg,#07110f 0%,rgba(7,17,15,.97) 34%,rgba(7,17,15,.7) 58%,rgba(7,17,15,.12) 100%);
}

.exv-service-card.exv-card-full figure{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#17211f;
}
.exv-service-card.exv-card-full figure img{
  object-fit:contain;
  object-position:center;
}

@media(max-width:900px){
  .exv-hero-media img,
  .exv-close-media img{
    width:82%;
  }
}

@media(max-width:600px){
  .exv-hero-media,
  .exv-close-media{
    align-items:center;
  }
  .exv-hero-media img,
  .exv-close-media img{
    width:100%;
    height:auto;
    max-height:100%;
    object-position:center;
  }
  .exv-hero-media:after,
  .exv-close-media:after{
    background:rgba(7,17,15,.7);
  }
}


/* ============================================================
   MERGED SOURCE: node8-concrete.css
   ============================================================ */
.cnx-page{--ink:#171b1d;--graphite:#252b2e;--cement:#e4e3df;--rust:#b65332;--amber:#d6a72f;--blue:#557f91;color:var(--ink);overflow:hidden;background:#e4e3df;font-family:Arial,Helvetica,sans-serif}.cnx-page,.cnx-page *,.cnx-page *:before,.cnx-page *:after{box-sizing:border-box}.cnx-page h1,.cnx-page h2,.cnx-page h3,.cnx-page p,.cnx-page span{hyphens:none;word-break:normal;overflow-wrap:normal}.cnx-page h1,.cnx-page h2,.cnx-page h3{text-wrap:balance}.cnx-page p{text-wrap:pretty}.cnx-wrap{width:min(1480px,calc(100% - 7vw));margin:auto}.cnx-kicker{color:#934426;font-size:.65rem;font-weight:950;letter-spacing:.17em;text-transform:uppercase}.cnx-kicker:before{content:"";display:inline-block;width:32px;height:4px;margin:0 12px 2px 0;background:#d6a72f}
.cnx-hero{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;min-height:900px;background:#171c1f;color:#fff;overflow:hidden}.cnx-hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:110px clamp(45px,7vw,125px);background:linear-gradient(135deg,#1b2023,#2b3337)}.cnx-location{position:absolute;top:35px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.58);font-size:.58rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.cnx-location i{width:8px;height:8px;background:#d6a72f;transform:rotate(45deg)}.cnx-location strong{color:#fff}.cnx-hero .cnx-kicker{color:#e5c888}.cnx-hero h1{margin:28px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(3.1rem,4.5vw,5.5rem);font-weight:950;letter-spacing:-.06em;line-height:.9}.cnx-hero h1 em{color:#d87751;font-style:normal}.cnx-hero-copy>p{max-width:760px;color:rgba(255,255,255,.7);line-height:1.72}.cnx-actions{display:flex;gap:12px;margin-top:28px}.cnx-actions a,.cnx-close>a{padding:18px 22px;background:#b65332;color:#fff;font-size:.68rem;font-weight:950;letter-spacing:.11em;text-decoration:none;text-transform:uppercase;transition:transform .3s,background .3s,color .3s,box-shadow .3s}.cnx-actions a:last-child{background:transparent;border:1px solid rgba(255,255,255,.35)}.cnx-actions a:first-child:hover,.cnx-close>a:hover{background:#d6a72f;color:#171b1d;transform:translateY(-5px);box-shadow:0 11px 0 rgba(0,0,0,.25)}.cnx-actions a:last-child:hover{background:#fff;color:#171b1d;transform:translateY(-5px)}.cnx-hero-image{position:relative;margin:0;overflow:hidden}.cnx-hero-image img{width:100%;height:100%;object-fit:cover;filter:grayscale(.2) contrast(1.1);animation:cnx-image 1.4s ease-out both}.cnx-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,28,31,.35),transparent 45%)}.cnx-rebar-grid{position:absolute;left:48%;right:0;top:0;bottom:0;opacity:.15;background:linear-gradient(rgba(255,255,255,.4) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.4) 2px,transparent 2px);background-size:62px 62px;pointer-events:none;animation:cnx-grid 15s linear infinite}
.cnx-overview{padding:clamp(100px,10vw,165px) 0;background:#e4e3df}.cnx-overview .cnx-wrap{display:grid;grid-template-columns:.78fr 1.22fr;gap:9vw}.cnx-overview header{padding-top:30px;border-top:9px solid #b65332}.cnx-overview h2,.cnx-heading h2,.cnx-preparation h2,.cnx-process h2,.cnx-follow h2,.cnx-close h2{margin:25px 0 0;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(2.5rem,3.7vw,4.5rem);font-weight:950;letter-spacing:-.06em;line-height:.94}.cnx-overview-copy{padding-left:5vw;border-left:1px solid #b7b7b2}.cnx-overview-copy p{color:#596164;line-height:1.8}.cnx-lead{color:#1a2225!important;font-size:clamp(1.35rem,1.9vw,1.95rem);font-weight:850;line-height:1.5!important}
.cnx-services{padding:clamp(95px,9vw,145px) 0;background:#f3f2ee}.cnx-heading{display:grid;grid-template-columns:.42fr 1fr;gap:60px;align-items:end;margin-bottom:65px}.cnx-heading h2{margin:0}.cnx-slab-list{border-top:2px solid #202629}.cnx-slab-list article{display:grid;grid-template-columns:minmax(310px,.7fr) 1.3fr;gap:7vw;padding:45px 38px;border-bottom:1px solid #b9bbba;box-shadow:inset 0 -7px 0 rgba(40,46,49,.06);transition:background .35s,transform .35s}.cnx-slab-list article:hover{background:#e3e4e1;transform:translateX(10px)}.cnx-slab-list h3{margin:0;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.75rem}.cnx-slab-list p{margin:0;color:#566064;line-height:1.73}
.cnx-preparation{display:grid;grid-template-columns:1fr 1fr;min-height:760px;background:#d0d2d0}.cnx-prep-image{position:relative;overflow:hidden}.cnx-prep-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.3) contrast(1.12)}.cnx-prep-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,135px)}.cnx-prep-copy p{color:#515d61;line-height:1.8}
.cnx-process{position:relative;padding:clamp(100px,10vw,160px) 0;background:#252b2e;color:#fff;overflow:hidden}.cnx-process:before{content:"";position:absolute;inset:0;opacity:.08;background:linear-gradient(rgba(255,255,255,.4) 2px,transparent 2px),linear-gradient(90deg,rgba(255,255,255,.4) 2px,transparent 2px);background-size:80px 80px}.cnx-process header{position:relative;display:grid;grid-template-columns:.42fr 1fr;gap:60px}.cnx-process h2{margin:0;color:#fff}.cnx-process .cnx-kicker{color:#e4c987}.cnx-pour-line{position:relative;height:12px;margin-top:70px;border:1px solid rgba(255,255,255,.14);background:#111719;overflow:visible}.cnx-pour-line i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#c3a45c 0 25%,#9a5a3c 25% 50%,#668796 50% 75%,#8a928b 75%);transform-origin:left;animation:cnx-pour 9.6s cubic-bezier(.65,0,.35,1) infinite}.cnx-pour-line b{position:absolute;z-index:2;left:0;top:50%;width:25px;height:25px;border:5px solid #fff;background:#b65332;box-shadow:0 0 0 7px rgba(255,255,255,.12),0 10px 25px rgba(0,0,0,.5);transform:translate(-50%,-50%) rotate(45deg);animation:cnx-pour-marker 9.6s cubic-bezier(.65,0,.35,1) infinite}.cnx-process-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr)}.cnx-process-steps article{position:relative;min-height:300px;padding:45px 30px;border-right:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);overflow:hidden;animation:cnx-stage 9.6s linear infinite}.cnx-process-steps article:after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:#c3a45c;transform:scaleX(0);transform-origin:left;animation:cnx-stage-line 9.6s linear infinite}.cnx-process-steps article:nth-child(2),.cnx-process-steps article:nth-child(2):after{animation-delay:2.4s}.cnx-process-steps article:nth-child(3),.cnx-process-steps article:nth-child(3):after{animation-delay:4.8s}.cnx-process-steps article:nth-child(4),.cnx-process-steps article:nth-child(4):after{animation-delay:7.2s}.cnx-process-steps article:nth-child(2):after{background:#b65332}.cnx-process-steps article:nth-child(3):after{background:#557f91}.cnx-process-steps article:nth-child(4):after{background:#8a928b}.cnx-process-steps span{display:block;color:#e0c47f;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.6rem;font-weight:950}.cnx-process-steps p{color:rgba(255,255,255,.63);line-height:1.74}
.cnx-sectors{padding:clamp(95px,9vw,145px) 0;background:#e4e3df}.cnx-sector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:45px;border-top:1px solid #a9aaa7;border-left:1px solid #b9bab7}.cnx-sector-grid article{min-width:0;padding:48px clamp(30px,4vw,58px);border-right:1px solid #b9bab7;border-bottom:1px solid #b9bab7;transition:background .3s,transform .3s}.cnx-sector-grid article:hover{z-index:1;background:#f4f3ef;transform:translateY(-5px)}.cnx-sector-grid h3{margin:0;color:#9a4729;font-family:'Arial Narrow',Arial,sans-serif;font-size:1.7rem}.cnx-sector-grid p{max-width:610px;color:#586164;line-height:1.72;hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
.cnx-follow{display:grid;grid-template-columns:1.05fr .95fr;min-height:680px;background:#cfd2d1}.cnx-follow-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(60px,8vw,135px)}.cnx-follow-copy p{color:#515d61;line-height:1.8}.cnx-follow figure{position:relative;min-height:680px;margin:0;overflow:hidden}.cnx-follow figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.1)}.cnx-close{display:block;padding:clamp(75px,8vw,130px) max(5vw,30px);background:linear-gradient(105deg,#1c2225,#39454a);color:#fff;border-top:8px solid #d6a72f}.cnx-close h2{color:#fff}.cnx-close p{max-width:900px;color:rgba(255,255,255,.68);line-height:1.76}.cnx-close .cnx-kicker{color:#e5ca89}
.cnx-footer{--cf-ink:#151a1c;--cf-panel:#22292c;--cf-cement:#d7d6d1;--cf-rust:#b65332;--cf-amber:#d6a72f;position:relative;background:var(--cf-ink);color:#fff;overflow:hidden;font-family:Arial,Helvetica,sans-serif}.cnx-footer,.cnx-footer *,.cnx-footer *:before,.cnx-footer *:after{box-sizing:border-box}.cnx-footer h2,.cnx-footer p,.cnx-footer span,.cnx-footer strong,.cnx-footer a{hyphens:none;word-break:normal;overflow-wrap:normal}.cnx-footer-pour{height:10px;background:#090c0d}.cnx-footer-pour i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#8d918d,#b65332 55%,#d6a72f);transform-origin:left;animation:cnx-footer-pour 7s cubic-bezier(.65,0,.35,1) infinite}.cnx-footer-cta{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);min-height:680px;border-bottom:1px solid rgba(255,255,255,.12)}.cnx-footer-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,8vw,130px)}.cnx-footer-copy>span,.cnx-footer-contact>span{color:#d9bd74;font-size:.63rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.cnx-footer-copy>span:before{content:"";display:inline-block;width:38px;height:3px;margin:0 13px 2px 0;background:var(--cf-rust)}.cnx-footer-copy h2{max-width:850px;margin:24px 0;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(3rem,5.4vw,6.3rem);font-weight:950;letter-spacing:-.065em;line-height:.86}.cnx-footer-copy h2 em{color:#d0714e;font-style:normal}.cnx-footer-copy p{max-width:680px;color:rgba(255,255,255,.63);font-size:1rem;line-height:1.78}.cnx-footer-copy>a{display:flex;align-items:center;justify-content:space-between;width:min(100%,430px);margin-top:30px;padding:21px 23px;background:var(--cf-amber);color:#151a1c;font-size:.66rem;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;box-shadow:0 18px 50px rgba(214,167,47,.15);transition:transform .35s,background .35s,box-shadow .35s}.cnx-footer-copy>a:hover{background:#fff;transform:translateY(-6px);box-shadow:0 26px 60px rgba(0,0,0,.35)}.cnx-footer-copy>a i{font-size:1.1rem;font-style:normal;transition:transform .3s}.cnx-footer-copy>a:hover i{transform:translate(4px,-4px)}.cnx-footer-visual{position:relative;display:flex;align-items:flex-end;justify-content:center;padding:8vw 5vw;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.08)),linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:auto,62px 62px,62px 62px;overflow:hidden}.cnx-rebar-cage{position:absolute;inset:9% 12% 18%;border:6px solid #7e6a4a;transform:perspective(800px) rotateY(-12deg);opacity:.64}.cnx-rebar-cage:before,.cnx-rebar-cage:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 15%,#7e6a4a 15% 16%,transparent 16% 31%)}.cnx-rebar-cage:after{transform:rotate(90deg)}.cnx-rebar-cage i{position:absolute;width:20px;height:20px;border:4px solid #d6a72f;border-radius:50%;animation:cnx-tie-pulse 3.2s ease-in-out infinite}.cnx-rebar-cage i:nth-child(1){left:15%;top:18%}.cnx-rebar-cage i:nth-child(2){right:15%;top:34%;animation-delay:.8s}.cnx-rebar-cage i:nth-child(3){left:47%;bottom:19%;animation-delay:1.6s}.cnx-rebar-cage i:nth-child(4){right:8%;bottom:8%;animation-delay:2.4s}.cnx-cast-form{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);width:100%;border:1px solid rgba(255,255,255,.2);background:rgba(14,19,21,.9);box-shadow:0 35px 80px rgba(0,0,0,.45)}.cnx-cast-form span{position:relative;padding:27px 12px;border-right:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.65);font-size:.56rem;font-weight:900;letter-spacing:.11em;text-align:center;text-transform:uppercase;animation:cnx-cast-stage 8s linear infinite}.cnx-cast-form span:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--cf-amber);transform:scaleX(0);transform-origin:left;animation:cnx-cast-line 8s linear infinite}.cnx-cast-form span:nth-child(2),.cnx-cast-form span:nth-child(2):before{animation-delay:2s}.cnx-cast-form span:nth-child(3),.cnx-cast-form span:nth-child(3):before{animation-delay:4s}.cnx-cast-form span:nth-child(4),.cnx-cast-form span:nth-child(4):before{animation-delay:6s}.cnx-cast-form span:nth-child(2):before{background:var(--cf-rust)}.cnx-cast-form span:nth-child(3):before{background:#668796}.cnx-cast-form span:nth-child(4):before{background:#9ca39c}.cnx-footer-base{display:grid;grid-template-columns:1fr 1fr;width:min(1480px,calc(100% - 7vw));margin:auto;border-right:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}.cnx-footer-brand,.cnx-footer-contact{min-width:0;padding:clamp(38px,5vw,70px);border-right:1px solid rgba(255,255,255,.12)}.cnx-footer-brand{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:start}.cnx-footer-brand>span{display:grid;width:58px;height:58px;place-items:center;border:2px solid var(--cf-amber);color:var(--cf-amber);font-weight:950}.cnx-footer-brand strong{display:block;color:#fff;font-family:'Arial Narrow',Arial,sans-serif;font-size:clamp(1.7rem,2.6vw,2.8rem)}.cnx-footer-brand p{max-width:500px;color:rgba(255,255,255,.52);line-height:1.7}.cnx-footer-contact{border-right:0}.cnx-footer-contact a{display:flex;justify-content:space-between;gap:20px;margin-top:22px;padding:20px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-weight:800;text-decoration:none;overflow-wrap:anywhere}.cnx-footer-contact a i{color:var(--cf-amber);font-style:normal}.cnx-footer-contact small{display:block;margin-top:20px;color:rgba(255,255,255,.47)}.cnx-footer-bottom{display:flex;justify-content:space-between;gap:25px;padding:25px max(3.5vw,25px);background:#0d1113;color:rgba(255,255,255,.38);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.cnx-footer-bottom p{margin:0}.cnx-footer-bottom span{color:#bca76e}
@keyframes cnx-image{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes cnx-grid{to{background-position:62px 62px}}@keyframes cnx-pour{0%,5%{transform:scaleX(.01)}90%,100%{transform:scaleX(1)}}@keyframes cnx-pour-marker{0%,5%{left:0}90%,100%{left:100%}}@keyframes cnx-stage{0%,23%,100%{background:rgba(255,255,255,.035);transform:none}4%,18%{background:rgba(255,255,255,.13);transform:translateY(-8px)}}@keyframes cnx-stage-line{0%,24%,100%{transform:scaleX(0)}5%,19%{transform:scaleX(1)}}@keyframes cnx-footer-pour{0%,8%{transform:scaleX(.03)}82%,100%{transform:scaleX(1)}}@keyframes cnx-tie-pulse{0%,100%{opacity:.25;transform:scale(.75)}45%{opacity:1;transform:scale(1.25)}}@keyframes cnx-cast-stage{0%,25%,100%{background:transparent;color:rgba(255,255,255,.65)}5%,20%{background:rgba(255,255,255,.1);color:#fff}}@keyframes cnx-cast-line{0%,25%,100%{transform:scaleX(0)}5%,20%{transform:scaleX(1)}}
@media(max-width:1100px){.cnx-hero,.cnx-overview .cnx-wrap,.cnx-preparation,.cnx-follow{grid-template-columns:1fr}.cnx-hero-copy{min-height:700px}.cnx-hero-image{min-height:620px}.cnx-rebar-grid{left:0;top:700px}.cnx-process-steps,.cnx-sector-grid{grid-template-columns:1fr 1fr}.cnx-prep-image,.cnx-follow figure{min-height:520px}.cnx-close{grid-template-columns:1fr}.cnx-footer-cta{grid-template-columns:1fr;min-height:0}.cnx-footer-visual{min-height:480px}.cnx-footer-copy{padding-top:90px;padding-bottom:90px}}
@media(max-width:700px){.cnx-wrap{width:calc(100% - 30px)}.cnx-hero-copy{min-height:760px;padding:105px 24px 100px}.cnx-hero h1{font-size:clamp(2.7rem,11.5vw,3.6rem)}.cnx-actions{display:grid}.cnx-overview .cnx-wrap{display:block}.cnx-overview-copy{margin-top:55px;padding-left:0;border:0}.cnx-heading,.cnx-process header{grid-template-columns:1fr}.cnx-slab-list article{display:block;padding:36px 20px}.cnx-slab-list p{margin-top:20px}.cnx-prep-copy,.cnx-follow-copy{padding:65px 24px}.cnx-process-steps,.cnx-sector-grid{grid-template-columns:1fr}.cnx-process-steps article{min-height:0;animation:none}.cnx-process-steps article:after{animation:none;transform:scaleX(1)}.cnx-sector-grid article{border-right:0;border-bottom:1px solid #b9bab7}.cnx-close{padding:65px 24px}.cnx-close>a{justify-content:space-between;width:100%}.cnx-footer-copy{padding:70px 24px}.cnx-footer-copy h2{font-size:clamp(3rem,14vw,4.4rem)}.cnx-footer-visual{min-height:370px;padding:60px 18px}.cnx-rebar-cage{inset:8% 7% 23%}.cnx-cast-form{grid-template-columns:1fr 1fr}.cnx-cast-form span{padding:18px 8px}.cnx-footer-base{grid-template-columns:1fr;width:calc(100% - 30px)}.cnx-footer-brand,.cnx-footer-contact{padding:38px 22px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.cnx-footer-brand{grid-template-columns:1fr}.cnx-footer-contact a{display:block;overflow-wrap:anywhere}.cnx-footer-contact a i{float:right}.cnx-footer-bottom{display:block}.cnx-footer-bottom span{display:block;margin-top:10px}}
.cnx-overview{isolation:isolate}.cnx-overview:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 8% 18%,rgba(182,83,50,.1),transparent 23%),radial-gradient(circle at 88% 78%,rgba(85,127,145,.12),transparent 25%),repeating-radial-gradient(circle at 30% 40%,rgba(20,25,27,.035) 0 1px,transparent 1px 7px);pointer-events:none}.cnx-overview:after{content:"";position:absolute;right:4vw;bottom:0;width:min(38vw,560px);height:36px;border:1px solid rgba(23,27,29,.18);border-bottom:0;background:repeating-linear-gradient(90deg,transparent 0 64px,rgba(23,27,29,.18) 64px 66px);clip-path:polygon(0 70%,100% 0,100% 100%,0 100%)}.cnx-services{position:relative;isolation:isolate}.cnx-services:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(120deg,transparent 0 68%,rgba(182,83,50,.055) 68% 69%,transparent 69%),repeating-linear-gradient(135deg,transparent 0 72px,rgba(23,27,29,.028) 72px 74px)}.cnx-slab-list article{position:relative;overflow:hidden}.cnx-slab-list article:before{content:"";position:absolute;left:0;top:0;bottom:0;width:7px;background:#b65332;transform:scaleY(.18);transform-origin:top;transition:transform .45s ease}.cnx-slab-list article:nth-child(2):before,.cnx-slab-list article:nth-child(5):before{background:#d6a72f}.cnx-slab-list article:nth-child(3):before,.cnx-slab-list article:nth-child(6):before{background:#557f91}.cnx-slab-list article:hover:before{transform:scaleY(1)}.cnx-slab-list article:after{content:"";position:absolute;right:24px;top:50%;width:34px;height:34px;border:2px solid rgba(23,27,29,.13);transform:translateY(-50%) rotate(45deg);transition:transform .5s,border-color .5s}.cnx-slab-list article:hover:after{border-color:#b65332;transform:translateY(-50%) rotate(135deg) scale(1.12)}.cnx-prep-image:after,.cnx-follow figure:after{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.58);box-shadow:0 0 0 8px rgba(18,24,27,.13);pointer-events:none}.cnx-prep-image:before,.cnx-follow figure:before{content:"";position:absolute;z-index:2;right:22px;top:22px;width:82px;height:82px;border-top:8px solid #d6a72f;border-right:8px solid #d6a72f;animation:cnx-corner-pulse 4s ease-in-out infinite}.cnx-sector-grid article{position:relative;isolation:isolate;overflow:hidden}.cnx-sector-grid article:before{content:"";position:absolute;z-index:-1;right:-65px;bottom:-65px;width:180px;height:180px;border:30px solid rgba(182,83,50,.07);border-radius:50%;transition:transform .55s,border-color .55s}.cnx-sector-grid article:nth-child(2):before{border-color:rgba(214,167,47,.1)}.cnx-sector-grid article:nth-child(3):before{border-color:rgba(85,127,145,.12)}.cnx-sector-grid article:nth-child(4):before{border-color:rgba(92,125,92,.11)}.cnx-sector-grid article:hover:before{transform:scale(1.35) rotate(35deg)}.cnx-sector-grid article:after{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:#b65332}.cnx-sector-grid article:nth-child(2):after{background:#d6a72f}.cnx-sector-grid article:nth-child(3):after{background:#557f91}.cnx-sector-grid article:nth-child(4):after{background:#5c7d5c}@keyframes cnx-corner-pulse{0%,100%{opacity:.45;transform:translate(0)}50%{opacity:1;transform:translate(-8px,8px)}}
.cnx-overview{position:relative}@media(max-width:700px){.cnx-overview:after{width:72vw;height:22px}.cnx-slab-list article:after{right:14px;top:28px;width:22px;height:22px}.cnx-prep-image:after,.cnx-follow figure:after{inset:12px}.cnx-prep-image:before,.cnx-follow figure:before{right:12px;top:12px;width:52px;height:52px;border-width:5px}.cnx-sector-grid article:before{opacity:.8}}
.cnx-follow-copy h2+p{margin-top:clamp(28px,3vw,42px)}.cnx-follow-copy p+p{margin-top:18px}.cnx-pour-chute{position:absolute;z-index:5;right:8%;top:-20px;width:130px;height:245px;border:10px solid #8b9292;border-top:0;background:linear-gradient(90deg,#50595c,#aeb4b3 48%,#5a6264);clip-path:polygon(27% 0,100% 0,72% 100%,0 100%);transform:rotate(8deg);filter:drop-shadow(0 20px 18px rgba(0,0,0,.38))}.cnx-pour-chute:after{content:"";position:absolute;left:24%;right:19%;bottom:-145px;height:158px;background:linear-gradient(90deg,#8d9390,#c4c6c2 45%,#777e7d);clip-path:polygon(15% 0,88% 0,100% 100%,0 100%);transform-origin:top;animation:cnx-stream 2.4s ease-in-out infinite}.cnx-pour-chute i{position:absolute;left:24%;right:19%;bottom:0;height:34%;background:linear-gradient(90deg,#858b88,#c1c4c0,#747b79);animation:cnx-chute-flow 1.4s linear infinite}.cnx-form-edge{position:absolute;z-index:2;top:7%;bottom:17%;width:38px;border:3px solid #8f724a;background:repeating-linear-gradient(0deg,#6e5436 0 23px,#97754a 23px 46px);box-shadow:0 0 0 7px rgba(10,14,15,.25),inset 0 0 0 3px rgba(255,255,255,.08)}.cnx-form-edge-left{left:7%}.cnx-form-edge-right{right:7%}.cnx-level-gauge{position:absolute;z-index:4;left:3%;top:12%;bottom:24%;width:18px;border:1px solid rgba(255,255,255,.3);background:repeating-linear-gradient(0deg,rgba(255,255,255,.65) 0 2px,transparent 2px 28px)}.cnx-level-gauge i{position:absolute;left:-6px;bottom:6%;width:28px;height:5px;background:#d6a72f;box-shadow:0 0 18px rgba(214,167,47,.7);animation:cnx-gauge-rise 8s cubic-bezier(.65,0,.35,1) infinite}@keyframes cnx-stream{0%,100%{transform:scaleY(.82);opacity:.72}50%{transform:scaleY(1.08);opacity:1}}@keyframes cnx-chute-flow{to{background-position:0 50px}}@keyframes cnx-gauge-rise{0%,8%{bottom:6%}72%,88%{bottom:91%}100%{bottom:6%}}@media(max-width:700px){.cnx-follow-copy h2+p{margin-top:26px}.cnx-pour-chute{right:3%;width:88px;height:160px}.cnx-pour-chute:after{bottom:-95px;height:105px}.cnx-form-edge{width:24px}.cnx-form-edge-left{left:3%}.cnx-form-edge-right{right:3%}.cnx-level-gauge{left:1%}}
.cnx-build-sequence{display:grid;grid-template-columns:1fr 1fr;gap:1px;width:100%;min-height:500px;margin-bottom:74px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.1);box-shadow:0 35px 90px rgba(0,0,0,.38)}.cnx-build-stage{position:relative;display:grid;min-width:0;place-items:center;padding:46px 20px 24px;background:linear-gradient(145deg,rgba(11,16,18,.96),rgba(30,37,39,.96));overflow:hidden;animation:cnx-stage-panel 12s linear infinite}.cnx-build-stage>span{position:absolute;z-index:5;left:22px;top:20px;color:#fff;font-size:.63rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.cnx-build-stage>span:after{content:"";display:block;width:62px;height:2px;margin-top:8px;background:#d6a72f}.cnx-build-stage:nth-child(2){animation-delay:3s}.cnx-build-stage:nth-child(3){animation-delay:6s}.cnx-build-stage:nth-child(4){animation-delay:9s}.cnx-build-stage:after{content:"";position:absolute;inset:0;border:1px solid transparent;box-shadow:inset 0 0 45px transparent;pointer-events:none;animation:cnx-stage-frame 12s linear infinite}.cnx-build-stage:nth-child(2):after{animation-delay:3s}.cnx-build-stage:nth-child(3):after{animation-delay:6s}.cnx-build-stage:nth-child(4):after{animation-delay:9s}.cnx-iso-slab{position:relative;display:block;width:min(76%,220px);aspect-ratio:1.38;transform:perspective(700px) rotateX(58deg) rotateZ(-34deg);transform-style:preserve-3d;filter:drop-shadow(22px 28px 16px rgba(0,0,0,.48));animation:cnx-slab-breathe 6s ease-in-out infinite}.cnx-iso-slab i,.cnx-iso-slab b{position:absolute;display:block;inset:0}.cnx-base{background:radial-gradient(circle,#5c5d57 0 2px,transparent 2.5px) 0 0/12px 12px,#393b38;border:8px solid #4a3724;box-shadow:0 14px 0 #251b12}.cnx-forms{z-index:3;border:10px solid #99713d;box-shadow:inset 0 0 0 3px #3d2a17,0 0 0 3px #d09b4d}.cnx-forms:before,.cnx-forms:after{content:"";position:absolute;left:-16px;right:-16px;height:6px;background:repeating-linear-gradient(90deg,#bd8b49 0 8px,#3b2918 8px 25px)}.cnx-forms:before{top:-17px}.cnx-forms:after{bottom:-17px}.cnx-steel{z-index:2;inset:14%!important;background:repeating-linear-gradient(90deg,transparent 0 16px,#9ca3a2 16px 18px),repeating-linear-gradient(0deg,transparent 0 16px,#9ca3a2 16px 18px);box-shadow:inset 0 0 0 2px #c7cdca}.cnx-wet-pour{z-index:4;inset:18%!important;border-radius:45% 55% 52% 48%;background:radial-gradient(circle at 55% 35%,#d4d5d0,#7d8380 66%,#555b59);box-shadow:0 0 30px rgba(210,213,208,.38);transform:scale(.06);animation:cnx-wet-spread 12s cubic-bezier(.65,0,.35,1) infinite}.cnx-hose{z-index:6;left:58%!important;right:auto!important;top:-45%!important;bottom:48%!important;width:18px;border-radius:12px;background:linear-gradient(90deg,#111,#4d5353,#111);transform:rotate(16deg);transform-origin:top;box-shadow:0 0 0 3px #080a0a;animation:cnx-hose-swing 2.8s ease-in-out infinite}.cnx-hose:after{content:"";position:absolute;left:4px;bottom:-28px;width:10px;height:34px;background:linear-gradient(#aeb2ae,#777d79);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);animation:cnx-stream-flicker 1.1s ease-in-out infinite}.cnx-finished-slab{z-index:4;inset:10%!important;background:linear-gradient(135deg,#b8bab5,#7d817e);box-shadow:inset 0 0 0 2px rgba(255,255,255,.38),0 8px 0 #555a57}.cnx-finished-slab:before,.cnx-finished-slab:after{content:"";position:absolute;background:rgba(63,68,66,.52)}.cnx-finished-slab:before{left:50%;top:0;bottom:0;width:2px}.cnx-finished-slab:after{left:0;right:0;top:50%;height:2px}.cnx-sequence-track{position:absolute;z-index:7;left:8%;right:8%;bottom:5%;display:grid;grid-template-columns:repeat(4,1fr);padding-top:22px;border-top:2px solid rgba(214,167,47,.38)}.cnx-sequence-track>i{position:absolute;left:0;top:-2px;width:100%;height:2px;background:#d6a72f;transform:scaleX(.02);transform-origin:left;animation:cnx-track-progress 12s cubic-bezier(.65,0,.35,1) infinite}.cnx-sequence-track span{position:relative;color:rgba(255,255,255,.62);font-size:.52rem;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}.cnx-sequence-track span:before{content:"";position:absolute;left:50%;top:-30px;width:13px;height:13px;border:2px solid #d6a72f;border-radius:50%;background:#151a1c;transform:translateX(-50%);animation:cnx-track-node 12s linear infinite}.cnx-sequence-track span:nth-of-type(2):before{animation-delay:3s}.cnx-sequence-track span:nth-of-type(3):before{animation-delay:6s}.cnx-sequence-track span:nth-of-type(4):before{animation-delay:9s}@keyframes cnx-stage-panel{0%,24%,100%{background:linear-gradient(145deg,rgba(11,16,18,.96),rgba(30,37,39,.96))}5%,19%{background:linear-gradient(145deg,rgba(32,30,22,.98),rgba(43,39,27,.98))}}@keyframes cnx-stage-frame{0%,24%,100%{border-color:transparent;box-shadow:inset 0 0 45px transparent}5%,19%{border-color:rgba(214,167,47,.5);box-shadow:inset 0 0 45px rgba(214,167,47,.08)}}@keyframes cnx-slab-breathe{50%{transform:perspective(700px) rotateX(58deg) rotateZ(-34deg) translateZ(8px)}}@keyframes cnx-wet-spread{0%,48%{transform:scale(.06);opacity:.25}66%,92%{transform:scale(1);opacity:1}100%{transform:scale(.06);opacity:.25}}@keyframes cnx-hose-swing{0%,100%{transform:rotate(10deg)}50%{transform:rotate(21deg)}}@keyframes cnx-stream-flicker{50%{transform:scaleY(.75);opacity:.62}}@keyframes cnx-track-progress{0%,5%{transform:scaleX(.02)}90%,100%{transform:scaleX(1)}}@keyframes cnx-track-node{0%,24%,100%{background:#151a1c;box-shadow:none}5%,19%{background:#d6a72f;box-shadow:0 0 0 6px rgba(214,167,47,.15)}}@media(max-width:700px){.cnx-build-sequence{grid-template-columns:1fr;min-height:0;margin-bottom:82px}.cnx-build-stage{min-height:235px}.cnx-iso-slab{width:min(68%,210px)}.cnx-sequence-track{left:7%;right:7%;bottom:3%}.cnx-sequence-track span{font-size:.42rem}.cnx-sequence-track span:before{width:10px;height:10px}}
.cnx-stage-photo{position:absolute;z-index:1;inset:0;background-image:linear-gradient(180deg,rgba(5,8,9,.22),rgba(5,8,9,.06) 58%,rgba(5,8,9,.48)),url('../images/gallery/Gallery%20Page%20Used/concrete-stage-sequence-v2.png');background-repeat:no-repeat;background-size:200% 200%;filter:saturate(.82) contrast(1.06);transform:scale(1.015);animation:cnx-photo-drift 12s ease-in-out infinite}.cnx-build-prepare .cnx-stage-photo{background-position:left top}.cnx-build-reinforce .cnx-stage-photo{background-position:right top;animation-delay:-3s}.cnx-build-place .cnx-stage-photo{background-position:left bottom;animation-delay:-6s}.cnx-build-finish .cnx-stage-photo{background-position:right bottom;animation-delay:-9s}.cnx-build-stage>span{padding:8px 11px;background:rgba(7,11,12,.78);box-shadow:0 8px 24px rgba(0,0,0,.3);backdrop-filter:blur(7px)}.cnx-build-stage:before{content:"";position:absolute;z-index:4;inset:0;background:linear-gradient(135deg,rgba(214,167,47,.15),transparent 42%);opacity:0;animation:cnx-photo-light 12s linear infinite;pointer-events:none}.cnx-build-stage:nth-child(2):before{animation-delay:3s}.cnx-build-stage:nth-child(3):before{animation-delay:6s}.cnx-build-stage:nth-child(4):before{animation-delay:9s}@keyframes cnx-photo-drift{0%,100%{transform:scale(1.015)}50%{transform:scale(1.065)}}@keyframes cnx-photo-light{0%,24%,100%{opacity:0}5%,19%{opacity:1}}@media(max-width:700px){.cnx-stage-photo{background-size:200% 200%}.cnx-build-stage{min-height:225px}}
.cnx-footer-cta-sequence{grid-template-columns:minmax(410px,.7fr) minmax(680px,1.3fr)}.cnx-photo-sequence-visual{min-height:760px;padding:clamp(32px,3.3vw,58px)!important}.cnx-photo-sequence-visual .cnx-build-sequence{min-height:610px;margin-bottom:68px}.cnx-photo-sequence-visual .cnx-build-stage{padding:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.cnx-photo-sequence-visual .cnx-stage-photo{filter:saturate(.52) brightness(.6) contrast(1.12);transform:scale(1.02);animation:cnx-photo-focus 12s cubic-bezier(.65,0,.35,1) infinite}.cnx-photo-sequence-visual .cnx-build-reinforce .cnx-stage-photo{animation-delay:3s}.cnx-photo-sequence-visual .cnx-build-place .cnx-stage-photo{animation-delay:6s}.cnx-photo-sequence-visual .cnx-build-finish .cnx-stage-photo{animation-delay:9s}.cnx-photo-sequence-visual .cnx-build-stage>span{top:18px;left:18px}.cnx-photo-sequence-visual .cnx-build-stage>span:before{content:"";position:absolute;left:-10px;top:50%;width:5px;height:5px;border-radius:50%;background:#d6a72f;box-shadow:0 0 0 5px rgba(214,167,47,.13)}.cnx-photo-sequence-visual .cnx-build-stage:after{z-index:6;border-width:3px}.cnx-photo-sequence-visual .cnx-sequence-track{bottom:4%}@keyframes cnx-photo-focus{0%,24%,100%{filter:saturate(.52) brightness(.6) contrast(1.12);transform:scale(1.02)}5%,19%{filter:saturate(.98) brightness(1.02) contrast(1.06);transform:scale(1.075)}}@media(max-width:1100px){.cnx-footer-cta-sequence{grid-template-columns:1fr}.cnx-photo-sequence-visual{min-height:690px}.cnx-photo-sequence-visual .cnx-build-sequence{min-height:540px}}@media(max-width:700px){.cnx-photo-sequence-visual{min-height:650px;padding:22px 14px!important}.cnx-photo-sequence-visual .cnx-build-sequence{grid-template-columns:1fr 1fr;min-height:505px;margin-bottom:72px}.cnx-photo-sequence-visual .cnx-build-stage{min-height:250px}.cnx-photo-sequence-visual .cnx-build-stage>span{top:10px;left:10px;font-size:.5rem}.cnx-photo-sequence-visual .cnx-sequence-track{left:8%;right:8%}}
.cnx-photo-sequence-visual .cnx-stage-photo{background-image:linear-gradient(180deg,rgba(5,8,9,.1),rgba(5,8,9,.03) 58%,rgba(5,8,9,.48)),var(--cnx-photo);background-size:cover;background-position:center}.cnx-photo-sequence-visual .cnx-build-prepare .cnx-stage-photo{background-position:center 63%}.cnx-photo-sequence-visual .cnx-build-reinforce .cnx-stage-photo{background-position:center 54%}.cnx-photo-sequence-visual .cnx-build-place .cnx-stage-photo{background-position:center 48%}.cnx-photo-sequence-visual .cnx-build-finish .cnx-stage-photo{background-position:center 44%}
.cnx-reference-panel{width:100%;background:#080c0e;overflow:auto}.cnx-reference-canvas{position:relative;width:100%}.cnx-reference-canvas>img{display:block;width:100%;height:auto}.cnx-reference-panel a{position:absolute;z-index:5;display:block;border-radius:2px}.cnx-reference-panel a:focus-visible{outline:3px solid #f0b72f;outline-offset:3px}.cnx-reference-quote{left:2.2%;top:66.2%;width:19.4%;height:6.2%}.cnx-reference-services{left:2.2%;top:74.6%;width:14.5%;height:3.8%}.cnx-hero-process{position:absolute;z-index:3;left:27%;top:17.1%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:64%;height:51.2%;gap:4px;padding:4px;background:#111719;box-shadow:0 18px 48px rgba(0,0,0,.58);overflow:hidden}.cnx-hero-process>div{position:relative;min-width:0;background-image:linear-gradient(180deg,rgba(5,8,9,.02) 54%,rgba(5,8,9,.68)),var(--cnx-stage-photo);background-position:center;background-size:cover;filter:saturate(.58) brightness(.72) contrast(1.08);animation:cnx-hero-stage 16s linear infinite;transition:filter .35s ease,transform .35s ease}.cnx-hero-process>div:nth-child(2){animation-delay:4s}.cnx-hero-process>div:nth-child(3){animation-delay:8s}.cnx-hero-process>div:nth-child(4){animation-delay:12s}.cnx-hero-process>div:hover{z-index:2;filter:saturate(1) brightness(1) contrast(1.02);transform:scale(1.025)}.cnx-hero-process>div:nth-child(1){background-position:center 48%}.cnx-hero-process>div:nth-child(2){background-position:center 50%}.cnx-hero-process>div:nth-child(3){background-position:center 44%}.cnx-hero-process>div:nth-child(4){background-position:center 38%}.cnx-hero-process span{position:absolute;right:10px;bottom:10px;left:10px;color:#fff;font-size:clamp(8px,.72vw,12px);font-weight:900;letter-spacing:.11em;text-transform:uppercase;text-shadow:0 2px 9px #000}.cnx-hero-process span:before{content:"";display:block;width:30px;height:2px;margin-bottom:7px;background:#e4ad2b}.cnx-live-track{position:absolute;z-index:4;left:36%;top:68.5%;display:grid;grid-template-columns:repeat(4,1fr);width:48%;height:9.7%;padding-top:4.4%;background:#0a0e10}.cnx-live-track:before{content:"";position:absolute;left:12.5%;right:12.5%;top:31%;height:2px;background:#697073}.cnx-live-track>i{position:absolute;left:12.5%;top:31%;width:75%;height:2px;background:#e4ad2b;transform:scaleX(0);transform-origin:left;animation:cnx-live-progress 16s linear infinite}.cnx-live-track span{position:relative;color:#aeb3b5;font-size:clamp(7px,.72vw,12px);font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase;animation:cnx-live-label 16s linear infinite}.cnx-live-track span:before{content:"";position:absolute;left:50%;top:-2.25vw;width:clamp(10px,1.25vw,20px);height:clamp(10px,1.25vw,20px);border:2px solid #b5b9ba;border-radius:50%;background:#0a0e10;transform:translateX(-50%);animation:cnx-live-node 16s linear infinite}.cnx-live-track span:nth-of-type(2),.cnx-live-track span:nth-of-type(2):before{animation-delay:4s}.cnx-live-track span:nth-of-type(3),.cnx-live-track span:nth-of-type(3):before{animation-delay:8s}.cnx-live-track span:nth-of-type(4),.cnx-live-track span:nth-of-type(4):before{animation-delay:12s}@keyframes cnx-hero-stage{0%,24%,100%{filter:saturate(.58) brightness(.72) contrast(1.08)}3%,21%{filter:saturate(1) brightness(1) contrast(1.02)}}@keyframes cnx-live-progress{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}@keyframes cnx-live-label{0%,24%,100%{color:#aeb3b5}3%,21%{color:#e4ad2b}}@keyframes cnx-live-node{0%,24%,100%{border-color:#b5b9ba;background:#0a0e10;box-shadow:none}3%,21%{border-color:#e4ad2b;background:#e4ad2b;box-shadow:0 0 0 5px rgba(228,173,43,.16),0 0 18px rgba(228,173,43,.5)}}@media(max-width:700px){.cnx-reference-canvas{width:760px}.cnx-reference-quote{left:16.7px;top:502px;width:147px;height:47px}.cnx-reference-services{left:16.7px;top:567px;width:110px;height:29px}.cnx-hero-process{gap:2px;padding:2px}.cnx-hero-process span{right:5px;bottom:6px;left:5px;font-size:7px}.cnx-live-track span:before{top:-17px}}
.cnx-photo-sequence-visual .cnx-cinematic-sequence{position:relative;display:block;isolation:isolate;background:#080c0e;overflow:hidden}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage{position:absolute;inset:0;min-height:0;opacity:0;animation:cnx-documentary-stage 16s cubic-bezier(.65,0,.35,1) infinite}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:nth-child(2){animation-delay:4s}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:nth-child(3){animation-delay:8s}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:nth-child(4){animation-delay:12s}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-stage-photo{filter:saturate(.85) brightness(.86) contrast(1.08);animation:cnx-documentary-camera 16s ease-in-out infinite}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:nth-child(2) .cnx-stage-photo{animation-delay:4s}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:nth-child(3) .cnx-stage-photo{animation-delay:8s}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:nth-child(4) .cnx-stage-photo{animation-delay:12s}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage>span{top:auto;left:28px;bottom:28px;padding:12px 16px;background:rgba(7,11,12,.86);font-size:.68rem}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage>span:after{width:95px}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:before{z-index:3;opacity:1;background:linear-gradient(180deg,transparent 45%,rgba(4,7,8,.72))}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:after{z-index:5;animation:none;border:1px solid rgba(255,255,255,.17);box-shadow:inset 0 0 80px rgba(0,0,0,.16)}@keyframes cnx-documentary-stage{0%{opacity:0;z-index:1}4%,23%{opacity:1;z-index:2}27%,100%{opacity:0;z-index:1}}@keyframes cnx-documentary-camera{0%{transform:scale(1.03)}24%{transform:scale(1.105)}100%{transform:scale(1.105)}}@media(max-width:700px){.cnx-photo-sequence-visual .cnx-cinematic-sequence{min-height:500px}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage{min-height:0}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage>span{left:16px;bottom:16px;top:auto;font-size:.58rem}}
@keyframes cnx-documentary-stage{0%,23%{opacity:1;z-index:2}27%,100%{opacity:0;z-index:1}}.cnx-photo-sequence-visual .cnx-sequence-track>i{animation-duration:16s}.cnx-photo-sequence-visual .cnx-sequence-track span:before{animation-duration:16s}.cnx-photo-sequence-visual .cnx-sequence-track span:nth-of-type(2):before{animation-delay:4s}.cnx-photo-sequence-visual .cnx-sequence-track span:nth-of-type(3):before{animation-delay:8s}.cnx-photo-sequence-visual .cnx-sequence-track span:nth-of-type(4):before{animation-delay:12s}
.cnx-footer-cta-sequence .cnx-footer-copy h2{margin:26px 0 0;line-height:1.01;text-wrap:balance}.cnx-footer-cta-sequence .cnx-footer-copy h2+p{margin-top:clamp(28px,3vw,42px)}.cnx-footer-cta-sequence .cnx-footer-copy p+a{margin-top:32px}.cnx-footer-cta-sequence .cnx-footer-copy>*{position:relative;z-index:2}@media(max-width:700px){.cnx-footer-cta-sequence .cnx-footer-copy h2{font-size:clamp(2.75rem,13vw,4rem);line-height:1.03}.cnx-footer-cta-sequence .cnx-footer-copy h2+p{margin-top:26px}}
@media(prefers-reduced-motion:reduce){.cnx-page *,.cnx-footer *{animation:none!important;transition:none!important}.cnx-photo-sequence-visual .cnx-cinematic-sequence .cnx-build-stage:first-child{opacity:1}}
.cnx-process-steps article:after{transform:scaleX(.22);opacity:.45}.cnx-cast-form{z-index:3}.cnx-concrete-fill{position:absolute;left:12%;right:12%;bottom:18%;height:64%;border-top:3px solid rgba(255,255,255,.42);background:linear-gradient(180deg,rgba(196,199,196,.58),rgba(91,99,101,.8));transform:scaleY(.08);transform-origin:bottom;animation:cnx-concrete-rise 8s cubic-bezier(.65,0,.35,1) infinite}.cnx-concrete-fill:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px;background:repeating-linear-gradient(135deg,rgba(220,222,219,.75) 0 16px,rgba(150,155,153,.75) 16px 32px);animation:cnx-concrete-wave 2s linear infinite}.cnx-rebar-cage{z-index:1;transform:none;opacity:.82;background:repeating-linear-gradient(90deg,transparent 0 15%,#8a744d 15% 16.5%,transparent 16.5% 31%),repeating-linear-gradient(0deg,transparent 0 15%,#8a744d 15% 16.5%,transparent 16.5% 31%);box-shadow:inset 0 0 0 2px rgba(214,167,47,.22)}.cnx-rebar-cage:before,.cnx-rebar-cage:after{display:none}.cnx-cast-form span:before{transform:scaleX(.3);opacity:.5}@keyframes cnx-concrete-rise{0%,8%{transform:scaleY(.08)}72%,88%{transform:scaleY(1)}100%{transform:scaleY(.08)}}@keyframes cnx-concrete-wave{to{background-position:32px 0}}
.cnx-mobile-inquiry{display:none}@media(max-width:980px){.cnx-reference-panel{overflow:hidden}.cnx-reference-canvas{display:none}.cnx-mobile-inquiry{display:block;padding:clamp(34px,6vw,64px);color:#fff;background:radial-gradient(circle at 88% 8%,rgba(228,173,43,.1),transparent 32%),#090d0f}.cnx-mobile-inquiry header{max-width:690px;margin-bottom:34px}.cnx-mobile-inquiry header>span{display:block;margin-bottom:16px;color:#e4ad2b;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.cnx-mobile-inquiry h2{margin:0 0 20px;color:#fff;font-size:clamp(2.15rem,7vw,4.6rem);line-height:.98;letter-spacing:-.045em}.cnx-mobile-inquiry h2 em{color:#fff;font-style:normal}.cnx-mobile-inquiry header p{max-width:640px;margin:0;color:rgba(255,255,255,.68);font-size:clamp(.96rem,2vw,1.08rem);line-height:1.72;overflow-wrap:normal;word-break:normal}.cnx-mobile-stages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cnx-mobile-stages article{position:relative;min-height:clamp(260px,42vw,390px);background-image:linear-gradient(180deg,transparent 42%,rgba(4,7,8,.92)),var(--cnx-stage-photo);background-position:center;background-size:cover;overflow:hidden;animation:cnx-mobile-stage 16s linear infinite}.cnx-mobile-stages article:nth-child(2){animation-delay:4s}.cnx-mobile-stages article:nth-child(3){animation-delay:8s}.cnx-mobile-stages article:nth-child(4){animation-delay:12s}.cnx-mobile-stages article:after{content:"";position:absolute;inset:0;border:2px solid transparent;animation:cnx-mobile-frame 16s linear infinite;pointer-events:none}.cnx-mobile-stages article:nth-child(2):after{animation-delay:4s}.cnx-mobile-stages article:nth-child(3):after{animation-delay:8s}.cnx-mobile-stages article:nth-child(4):after{animation-delay:12s}.cnx-mobile-stages article>div{position:absolute;right:20px;bottom:18px;left:20px}.cnx-mobile-stages strong{display:block;margin-bottom:5px;color:#fff;font-size:clamp(1.05rem,3vw,1.35rem);letter-spacing:.02em}.cnx-mobile-stages p{margin:0;color:rgba(255,255,255,.68);font-size:.88rem;line-height:1.45;overflow-wrap:normal;word-break:normal}.cnx-mobile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.cnx-mobile-actions a{display:inline-flex;min-height:52px;align-items:center;justify-content:space-between;gap:24px;padding:0 22px;border:1px solid #e4ad2b;color:#e4ad2b;font-size:.78rem;font-weight:900;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.cnx-mobile-actions a:last-child{border-color:rgba(255,255,255,.24);color:rgba(255,255,255,.75)}.cnx-mobile-assurances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:34px;background:rgba(255,255,255,.12)}.cnx-mobile-assurances span{padding:20px;background:#111719;color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}@keyframes cnx-mobile-stage{0%,24%,100%{filter:saturate(.58) brightness(.68)}3%,21%{filter:saturate(1) brightness(1)}}@keyframes cnx-mobile-frame{0%,24%,100%{border-color:transparent}3%,21%{border-color:#e4ad2b}}}@media(max-width:540px){.cnx-mobile-inquiry{padding:34px 18px}.cnx-mobile-inquiry h2{font-size:clamp(2.1rem,12vw,3.35rem)}.cnx-mobile-stages{grid-template-columns:1fr}.cnx-mobile-stages article{min-height:320px}.cnx-mobile-actions{display:grid}.cnx-mobile-actions a{width:100%}.cnx-mobile-assurances{grid-template-columns:1fr 1fr}.cnx-mobile-assurances span{padding:16px 12px;font-size:.65rem}}
.cnx-number-masks{position:absolute;z-index:4;inset:0;pointer-events:none}.cnx-number-masks i{position:absolute;top:7.6%;width:2.2%;height:3.6%;background:#0d1113}.cnx-number-masks i:nth-child(1){left:29.8%}.cnx-number-masks i:nth-child(2){left:47%}.cnx-number-masks i:nth-child(3){left:65%}.cnx-number-masks i:nth-child(4){left:82.1%}

/* Node 8 responsive CTA and footer correction. */
@media(max-width:980px){
  .cnx-mobile-inquiry{padding:clamp(42px,7vw,70px);overflow:hidden}
  .cnx-mobile-inquiry header{margin-bottom:38px;padding:0 0 0 24px;border-left:4px solid #e4ad2b}
  .cnx-mobile-actions{position:relative;z-index:6;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0 0;padding:0}
  .cnx-reference-panel .cnx-mobile-actions a{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:58px;padding:15px 20px;border:1px solid #e4ad2b;border-radius:0;background:#e4ad2b;color:#101516;box-shadow:0 14px 32px rgba(0,0,0,.24);line-height:1.3}
  .cnx-reference-panel .cnx-mobile-actions a:last-child{border-color:rgba(255,255,255,.28);background:#141c1f;color:#fff;box-shadow:none}
  .cnx-reference-panel .cnx-mobile-actions a:hover{background:#fff;color:#101516;transform:translateY(-3px)}
  .cnx-mobile-assurances{position:relative;z-index:2;margin-top:24px;border:1px solid rgba(255,255,255,.12)}
  .cnx-mobile-assurances span{display:flex;align-items:center;min-height:58px;padding:18px 20px;line-height:1.35}
  .cnx-footer-base{grid-template-columns:1fr;width:min(100% - 34px,900px);border-top:1px solid rgba(255,255,255,.12)}
  .cnx-footer-brand,.cnx-footer-contact{padding:42px clamp(24px,6vw,54px);border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .cnx-footer-brand{grid-template-columns:58px minmax(0,1fr)}
  .cnx-footer-contact a{overflow-wrap:anywhere;word-break:break-word}
  .cnx-footer-bottom{display:grid;grid-template-columns:1fr;justify-items:center;gap:12px;padding:26px 24px;text-align:center;line-height:1.5}
}

@media(max-width:540px){
  .cnx-mobile-inquiry{padding:38px 16px 44px}
  .cnx-mobile-inquiry header{padding-left:18px}
  .cnx-mobile-actions{grid-template-columns:1fr;margin-top:24px}
  .cnx-reference-panel .cnx-mobile-actions a{min-height:56px;padding-inline:18px;font-size:.7rem}
  .cnx-mobile-assurances{grid-template-columns:1fr}
  .cnx-mobile-assurances span{min-height:52px;padding:15px 17px}
  .cnx-footer-base{width:calc(100% - 24px)}
  .cnx-footer-brand{grid-template-columns:1fr;gap:18px}
  .cnx-footer-brand strong{font-size:1.7rem}
}


/* ============================================================
   MERGED SOURCE: careers.css
   ============================================================ */
.career-page{--cr-ink:#07161b;--cr-panel:#10262d;--cr-paper:#f1efe8;--cr-yellow:#f6c515;--cr-orange:#c96f4d;--cr-cyan:#65c7d3;color:#142329;background:var(--cr-paper);overflow:hidden}.career-page,.career-page *{box-sizing:border-box}.career-wrap{width:min(1440px,calc(100% - 8vw));margin-inline:auto}.career-label,.career-eyebrow{display:block;color:#a44e32;font-size:.63rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.career-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:740px;padding:125px 0 110px;color:#fff;background:var(--cr-ink)}.career-hero-media{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(4,15,19,.97),rgba(4,15,19,.82) 52%,rgba(4,15,19,.35)),url('../images/Careers/careers-team-hero.png') center/cover}.career-grid{position:absolute;z-index:-2;inset:0;background:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:72px 72px}.career-hero:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:7px;background:linear-gradient(90deg,var(--cr-orange),var(--cr-yellow),var(--cr-cyan))}.career-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);gap:clamp(55px,8vw,130px);align-items:end}.career-eyebrow{color:#ffe370}.career-hero h1{max-width:920px;margin:24px 0;color:#fff;font-size:clamp(3.5rem,5.5vw,6.35rem);font-weight:800;letter-spacing:-.065em;line-height:.95}.career-hero h1 em{display:block;color:var(--cr-cyan);font-style:normal}.career-hero-copy>p{max-width:720px;color:rgba(255,255,255,.73);font-size:1.05rem;line-height:1.76}.career-button,.career-close a,.career-trades a{display:flex;align-items:center;justify-content:space-between;width:min(100%,300px);margin-top:30px;padding:19px 21px;background:var(--cr-yellow);color:#0b171b;font-size:.67rem;font-weight:950;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:.35s}.career-button{justify-content:center;gap:22px}.career-button:hover,.career-close a:hover,.career-trades a:hover{background:#fff;transform:translateY(-5px)}.career-hero-note{padding:32px;border-top:5px solid var(--cr-cyan);background:rgba(8,28,34,.8);backdrop-filter:blur(10px)}.career-hero-note span{color:#81dce6;font-size:.58rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.career-hero-note strong{display:block;margin-top:18px;color:#fff;font-size:1.7rem;line-height:1.05}.career-hero-note p{color:rgba(255,255,255,.6);line-height:1.65}.career-hero-scope{position:absolute;right:0;bottom:7px;left:0;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(5,18,23,.94)}.career-hero-scope span{padding:20px;border-right:1px solid rgba(255,255,255,.12);font-size:.59rem;font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase}.career-intro,.career-people,.career-opportunities,.career-standards,.career-apply,.career-trades,.career-close{padding:clamp(84px,8vw,128px) 0}.career-intro-grid,.career-section-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,.7fr);gap:clamp(50px,8vw,120px);align-items:end}.career-page h2{margin:17px 0 0;font-size:clamp(3rem,5vw,6rem);letter-spacing:-.07em;line-height:1}.career-intro h2{display:flex;flex-direction:column;gap:.04em;line-height:1}.career-intro h2>span{display:block}.career-page h2 em{color:var(--cr-orange);font-style:normal}.career-intro-copy p,.career-section-head>p{color:#59676b;line-height:1.8}.career-value-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border:1px solid #ccd5d5}.career-value-grid article{min-height:250px;padding:31px;border-right:1px solid #ccd5d5;background:#fff}.career-value-grid article:last-child{border-right:0}.career-value-grid span,.career-role-list>article>span{color:#ad5738;font-size:.6rem;font-weight:950;letter-spacing:.15em}.career-value-grid h3{margin:8px 0 14px;font-size:1.35rem}.career-value-grid p,.career-trait-grid p,.career-role-list p{color:#617075;font-size:.9rem;line-height:1.7}.career-people{background:#0c1c21;color:#fff}.career-people .career-label{color:#79dce7}.career-people h2{color:#fff}.career-people h2 em{color:var(--cr-yellow)}.career-people .career-section-head>p{color:rgba(255,255,255,.62)}.career-trait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:65px;background:rgba(255,255,255,.14)}.career-trait-grid article{min-height:230px;padding:35px;background:#10262d}.career-trait-grid h3{margin:42px 0 14px;color:#fff;font-size:1.45rem}.career-trait-grid p{color:rgba(255,255,255,.58)}.career-opportunities{background:#e4dfd5}.career-role-list{margin-top:60px;border-top:1px solid #abb8ba}.career-role-list article{display:grid;grid-template-columns:1fr;gap:0;padding:28px 0;border-bottom:1px solid #abb8ba}.career-role-list h3{margin:0;font-size:1.65rem}.career-role-list p{margin:8px 0 0}.career-standards{background:var(--cr-panel);color:#fff}.career-standards-grid{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:clamp(55px,8vw,120px);align-items:center}.career-standards h2{color:#fff}.career-standards h2 em{color:var(--cr-cyan)}.career-standards header>p{color:rgba(255,255,255,.6);line-height:1.75}.career-standards-grid>div{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.career-standards article{min-height:165px;padding:26px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}.career-standards article span{color:#ffe174;font-size:.62rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.career-standards article p{color:rgba(255,255,255,.56);font-size:.85rem;line-height:1.65}.career-apply{background:#f5f3ed}.career-application-form{display:grid;grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr);column-gap:clamp(50px,8vw,120px);row-gap:24px;align-items:start;padding:clamp(35px,5vw,70px);border-top:6px solid var(--cr-yellow);background:#fff;box-shadow:0 30px 85px rgba(17,36,43,.12)}.career-form-intro span{color:#a44e32;font-size:.62rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.career-form-intro h2{font-size:clamp(2.6rem,4vw,4.7rem)}.career-form-intro p,.career-form-notice{color:#657277;line-height:1.7}.career-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.career-form-fields .form-item{margin:0}.career-form-fields .form-item-introduction,.career-form-fields .form-item-resume{grid-column:1/-1}.career-form-fields label{display:block;margin-bottom:9px;color:#31464c;font-size:.62rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.career-form-fields input,.career-form-fields select,.career-form-fields textarea{width:100%;padding:15px;border:1px solid #bdcbce;background:#f8faf9;color:#142329}.career-form-fields textarea{resize:vertical}.career-honeypot{position:absolute!important;left:-10000px!important}.career-application-form>.form-item-company-website{position:absolute;left:-10000px}.career-form-notice,.career-application-form .form-actions{grid-column:2;margin:0}.career-submit{padding:18px 24px;border:0;background:var(--cr-yellow);color:#10191d;font-size:.67rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.career-trades{background:#d7d2c8}.career-trades>.career-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px 60px;align-items:center}.career-trades h2{max-width:900px}.career-trades p{max-width:720px;color:#59676b;line-height:1.75}.career-trades small{display:block;grid-column:1/-1;max-width:none;white-space:nowrap;color:#8e4c36;font-size:.6rem;font-weight:850;letter-spacing:.07em;line-height:1.7;text-transform:uppercase}.career-close{text-align:center;background:var(--cr-orange);color:#fff}.career-close .career-label{color:#fff0c6}.career-close h2{max-width:1000px;margin-inline:auto;color:#fff}.career-close h2 em{color:#142329}.career-close p{max-width:680px;margin:25px auto;color:rgba(255,255,255,.78);line-height:1.75}.career-close a{justify-content:center;gap:22px;margin-inline:auto}.career-page .messages{width:min(1440px,calc(100% - 8vw));margin:30px auto 0}.career-page .form-managed-file{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.career-page .description{margin-top:7px;color:#718085;font-size:.75rem}@media(max-width:1300px) and (min-width:1001px){.career-trades small{font-size:.48rem;letter-spacing:.025em}}@media(max-width:1000px){.career-hero-inner,.career-intro-grid,.career-section-head,.career-standards-grid,.career-application-form{grid-template-columns:1fr}.career-value-grid{grid-template-columns:1fr 1fr}.career-trait-grid{grid-template-columns:1fr 1fr}.career-form-notice,.career-application-form .form-actions{grid-column:1}.career-trades>.career-wrap{grid-template-columns:1fr}.career-trades small{white-space:normal}.career-trades a{margin-top:0}}@media(max-width:650px){.career-wrap{width:calc(100% - 30px)}.career-hero{min-height:auto;padding:125px 0 145px}.career-hero h1{font-size:clamp(3.2rem,15vw,4.8rem)}.career-hero-note{display:none}.career-hero-scope{grid-template-columns:1fr 1fr}.career-hero-scope span{padding:13px 5px;font-size:.47rem}.career-page h2{font-size:clamp(2.7rem,12vw,4rem)}.career-value-grid,.career-trait-grid,.career-standards-grid>div,.career-form-fields{grid-template-columns:1fr}.career-value-grid article{min-height:210px;border-right:0;border-bottom:1px solid #ccd5d5}.career-role-list article{grid-template-columns:1fr;gap:0}.career-application-form{padding:30px 21px}.career-form-fields .form-item-introduction,.career-form-fields .form-item-resume{grid-column:1/-1}}
.career-form-confirmation{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center;margin-bottom:18px;padding:clamp(25px,3vw,38px);border-left:6px solid var(--cr-yellow);background:var(--cr-panel);color:#fff;box-shadow:0 18px 45px rgba(7,22,27,.16)}.career-confirmation-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(101,199,211,.5);background:rgba(101,199,211,.12);color:var(--cr-cyan);font-size:1.9rem;font-weight:800}.career-confirmation-label{display:block;color:#ffe370;font-size:.62rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.career-form-confirmation h2{margin:8px 0 7px!important;color:#fff!important;font-size:clamp(1.75rem,3vw,2.8rem)!important;letter-spacing:-.04em!important;line-height:1.05!important}.career-form-confirmation p{max-width:760px;margin:0;color:rgba(255,255,255,.7);line-height:1.65}@media(max-width:650px){.career-form-confirmation{grid-template-columns:1fr;gap:17px}.career-confirmation-mark{width:52px;height:52px}}
.career-contact-email{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px;padding:24px clamp(25px,4vw,52px);border-left:6px solid var(--cr-cyan);background:var(--cr-panel);color:#fff}.career-contact-email span{color:var(--cr-cyan);font-size:.62rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase}.career-contact-email p{margin:7px 0 0;color:rgba(255,255,255,.65);line-height:1.55}.career-contact-email a{flex:none;color:#fff;font-size:clamp(1rem,1.5vw,1.3rem);font-weight:800;text-decoration:none}.career-contact-email a:hover,.career-contact-email a:focus{color:var(--cr-yellow);text-decoration:underline;text-underline-offset:5px}@media(max-width:650px){.career-contact-email{align-items:flex-start;flex-direction:column;gap:18px}.career-contact-email a{overflow-wrap:anywhere}}

/* Final site-wide responsive baseline. Keep every public template fluid down to
   narrow phones without changing any page content or form behavior. */
html,
body{
  min-width:0;
  max-width:100%;
  overflow-x:clip;
}

img,
picture,
svg,
video,
canvas,
iframe{
  display:block;
  max-width:100%;
}

input,
select,
textarea,
button{
  max-width:100%;
}

@media(max-width:700px){
  /* Prevent iOS form zoom and keep controls comfortably usable by touch. */
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea{
    min-height:48px;
    font-size:16px!important;
  }

  textarea{
    min-height:140px;
  }

  button,
  input[type="button"],
  input[type="submit"],
  .button,
  .mobile-menu-toggle{
    min-height:44px;
  }

  /* Business addresses remain readable without forcing horizontal scrolling. */
  a[href^="mailto:"]{
    max-width:100%;
    overflow-wrap:anywhere;
    word-break:normal;
  }
}

@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}

/* Shared company logo — uses the supplied master artwork on every public page. */
.sticky-nav .logo a,
.sticky-nav .logo a:hover{
  display:flex;
  gap:16px;
  align-items:center;
  width:370px;
  height:76px;
  overflow:visible;
  background:none;
  color:#fff;
  font-size:0;
  line-height:0;
  text-decoration:none;
}

.sticky-nav .logo a::before{
  content:"";
  display:block;
  width:62px;
  height:72px;
  background:transparent url('../images/Logo/caldrin-mark-header.png') center/contain no-repeat;
  filter:drop-shadow(0 7px 14px rgba(0,0,0,.24));
}

.sticky-nav .logo a::after{
  content:"CALDRIN\A CONSTRUCTION INC.";
  display:block;
  color:#f4f4f2;
  font-family:Arial,Helvetica,sans-serif;
  font-size:1.08rem;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.38;
  white-space:pre;
}

.sticky-nav .nav-container{
  min-height:96px;
}

@media(max-width:900px){
  .sticky-nav .logo a,
  .sticky-nav .logo a:hover{
    gap:11px;
    width:250px;
    height:62px;
  }

  .sticky-nav .logo a::before{
    width:48px;
    height:56px;
  }

  .sticky-nav .logo a::after{
    font-size:.73rem;
    letter-spacing:.12em;
    line-height:1.35;
  }

  .sticky-nav .nav-container{
    min-height:78px;
  }
}

@media(max-width:360px){
  .sticky-nav .logo a,
  .sticky-nav .logo a:hover{
    gap:8px;
    width:210px;
    height:56px;
  }

  .sticky-nav .logo a::before{
    width:42px;
    height:50px;
  }

  .sticky-nav .logo a::after{
    font-size:.72rem;
    letter-spacing:.08em;
  }
}

/* Keep every public email hover clean: motion and emphasis, never a fill. */
a[href^="mailto:"],
a[href^="mailto:"]:hover,
a[href^="mailto:"]:focus-visible{
  background-color:transparent!important;
  background-image:none!important;
}
/* Full Caldrin logo replacements for legacy CC footer marks. The image URL remains
   block-editable in Twig, while these rules preserve each footer's layout. */
.rtx-interior-footer .rtx-footer-mark--logo{
  width:clamp(150px,15vw,220px);
  aspect-ratio:auto;
  overflow:hidden;
  background:transparent;
  clip-path:none;
}
.rtx-interior-footer .rtx-footer-mark--logo:after{display:none}
.rtx-interior-footer .rtx-footer-mark--logo img,
.prx-footer-logo,
.ss13-yard-brand--logo img,
.exx-footer-brand-logo img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.rtx-interior-footer .rtx-footer-brand{grid-template-columns:clamp(150px,15vw,220px) minmax(0,1fr)}
.prx-footer-brand{grid-template-columns:clamp(150px,15vw,220px) minmax(0,1fr)}
.prx-footer-logo{align-self:start;background:transparent}
.ss13-yard-brand--logo{width:clamp(145px,13vw,205px);background:transparent}
.exx-footer-brand-logo{align-items:center!important;gap:18px!important}
.exx-footer-brand-logo img{width:clamp(145px,14vw,210px);background:transparent}
.exv-handoff-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  align-self:center;
  gap:20px;
  padding:24px;
  border:1px solid rgba(255,255,255,.14);
  border-top:3px solid #d7a955;
  border-right:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.025);
}
.exv-handoff-mark--logo{
  display:block;
  width:100%;
  height:auto!important;
  aspect-ratio:1613/975;
  overflow:hidden;
  background:transparent;
  clip-path:none;
}
.exv-handoff-mark--logo img{display:block;width:100%;height:100%;object-fit:contain}
.exv-handoff-brand>div:last-child{
  display:grid;
  width:100%;
  gap:10px;
  padding-top:18px;
  border-top:1px solid rgba(215,169,85,.45);
}
.exv-handoff-brand>div:last-child>span{display:none}
.exv-handoff-brand strong{display:block;width:100%;max-width:100%;font-size:clamp(.78rem,1vw,1rem);letter-spacing:-.025em;line-height:1.15;white-space:nowrap}
.exv-handoff-brand small{color:#9baca4;font-size:.64rem;line-height:1.5}
.exv-footer>.exv-handoff-main{
  grid-template-columns:minmax(245px,.62fr) minmax(390px,1.08fr) minmax(300px,.8fr);
  gap:clamp(28px,3.7vw,58px);
  align-items:center;
}
@media(max-width:1250px){
  .exv-footer>.exv-handoff-main{grid-template-columns:300px minmax(0,1fr)}
  .exv-handoff-contact{grid-column:1/-1}
}
.cnx-footer-brand--logo{grid-template-columns:clamp(145px,14vw,205px) minmax(0,1fr);align-items:center}
.cnx-footer-brand--logo>img,
.cmx-site-footer-brand--logo>img{display:block;width:100%;height:auto;object-fit:contain;background:transparent}
.cnx-footer-brand--logo strong{font-size:clamp(1.05rem,1.35vw,1.5rem);letter-spacing:-.025em;white-space:nowrap}
.cmx-site-footer-brand--logo{grid-template-columns:clamp(145px,14vw,205px) minmax(0,1fr)}
.cmx-site-footer-brand--logo .cmx-company-name{display:block;width:100%;max-width:100%;line-height:1.1;white-space:nowrap}
.cx7-contact-strip>.cx7-wrap{grid-template-columns:minmax(320px,1.15fr) minmax(390px,1.5fr) minmax(225px,.85fr) minmax(360px,1.3fr)}
.cx7-contact-strip-service strong{display:block;font-size:clamp(.8rem,1vw,.92rem);letter-spacing:-.012em;white-space:nowrap}
.cx7-contact-strip>.cx7-wrap>.cx7-contact-strip-service{padding-inline:24px}
.cx7-contact-strip-phone a,.cx7-contact-strip-phone strong{white-space:nowrap}
.cx7-contact-strip-phone a b{flex:0 0 auto}
.ss13-yard-footer .ss13-yard-grid{
  grid-template-columns:minmax(180px,220px) minmax(0,1fr) minmax(430px,.82fr);
  gap:clamp(35px,4.5vw,72px);
}
.ss13-project-logo{
  display:block;
  align-self:center;
  margin-top:0;
  overflow:hidden;
  background:transparent;
  color:inherit;
  text-decoration:none;
}
.ss13-project-logo img{display:block;width:100%;height:auto;object-fit:contain}
.cmx-hero-bg{background-image:linear-gradient(90deg,rgba(5,8,10,.97) 0%,rgba(5,8,10,.84) 46%,rgba(5,8,10,.2) 82%),var(--cmx-hero-image,url('../images/services/CM/construction%20management.jpg'))}
.cmx-cta-bg{background-image:var(--cmx-cta-image,url('../images/services/CM/team%20work.jpg'))}
.roof-hero-bg{background-image:linear-gradient(90deg,rgba(5,15,23,.98) 0%,rgba(5,15,23,.86) 42%,rgba(5,15,23,.18) 77%),var(--roof-hero-image,url('../images/services/Roofing/Metal%20Roofing%20.jpg?v=20260823-2'))}
.roof-cta-photo{background-image:var(--roof-cta-image,url('../images/services/Roofing/roofing.jpg'))}
.mechanical-cta-bg{background-image:var(--mechanical-cta-image,url('../images/services/Plumbing%20and%20electrical/Electrical/plans.jpg'))}
.exterior-systems{background-image:linear-gradient(90deg,rgba(8,13,15,.98),rgba(8,13,15,.88)),var(--exterior-systems-image,url('../images/projects/featured/exterior-envelope-project.jpg'))}
.exterior-cta{background-image:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.68)),var(--exterior-cta-image,url('../images/projects/Commercial/envelope-exterior.jpeg'))}
.career-hero-media{background-image:linear-gradient(90deg,rgba(4,15,19,.97),rgba(4,15,19,.82) 52%,rgba(4,15,19,.35)),var(--career-hero-image,url('../images/Careers/careers-team-hero.png'))}
.career-form-intro h2 .career-apply-accent{display:inline;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none}
.career-form-logo{width:min(100%,700px);margin-top:clamp(38px,5vw,76px);overflow:hidden;border:1px solid #26383d;background:#07161b;box-shadow:0 26px 65px rgba(7,22,27,.17)}
.career-form-logo img{display:block;width:100%;height:auto;object-fit:contain}
@media(min-width:1300px){
  .career-application-form{grid-template-columns:minmax(700px,1.1fr) minmax(0,.9fr);column-gap:clamp(42px,4vw,62px)}
  .career-form-intro h2{font-size:clamp(2.7rem,3.35vw,3.2rem)!important;line-height:1!important}
  .career-form-intro h2 .career-apply-accent{display:block;white-space:nowrap}
}
@media(max-width:480px){
  .services-v2-card-title-interior span,.services-v2-nowrap{white-space:normal}
}

/* Keep the featured Site Excavation card image above its editable description. */
.exv-service-card.exv-card-wide{
  grid-template-columns:1fr;
  grid-template-rows:360px auto;
}
.exv-service-card.exv-card-wide>div{
  border-top:4px solid var(--soil);
  border-left:0;
}
/* Keep the excavation and footing work visible in this portrait source photo. */
.exv-service-card.exv-card-foundation img{
  object-position:center 76%;
}
@media(max-width:1050px){
  .exv-service-card.exv-card-wide{grid-template-rows:280px auto}
}
@media(max-width:700px){
  .exv-service-card.exv-card-wide{grid-template-rows:250px auto}
}
.ss13-yard-base{display:flex;justify-content:flex-end}
@media(max-width:1300px){
  .ss13-yard-footer .ss13-yard-grid{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}
  .ss13-yard-board{grid-column:1/-1;width:100%;max-width:none}
}
@media(max-width:700px){
  .ss13-yard-footer .ss13-yard-grid{grid-template-columns:1fr;gap:34px}
  .ss13-project-logo{width:min(220px,72vw)}
  .ss13-yard-board{grid-column:auto}
}
@media(max-width:1360px){
  .cx7-contact-strip>.cx7-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .cx7-contact-strip>.cx7-wrap{grid-template-columns:1fr}
  .cx7-contact-strip>.cx7-wrap>.cx7-contact-strip-service{padding-inline:0}
  .cx7-contact-strip-service strong{font-size:clamp(.76rem,3.7vw,.9rem)}
}

/* Keep the homepage hero introduction readable on one line when space permits. */
@media(min-width:1400px){
  body:has(.hero-slider) .hero-intro{
    max-width:none!important;
    white-space:nowrap;
  }
}
.site-premium-footer--homepage .footer-brand-card h3{
  max-width:100%;
  font-size:clamp(1.65rem,2.4vw,2.35rem);
  letter-spacing:-.045em;
  white-space:nowrap;
}
.site-premium-footer--homepage .footer-brand-card h3>span{display:inline}
@media(max-width:650px){
  .site-premium-footer--homepage .footer-brand-card h3{font-size:clamp(1.2rem,4.5vw,1.55rem)}
}
@media(max-width:700px){
  .rtx-interior-footer .rtx-footer-brand{grid-template-columns:1fr}
  .rtx-interior-footer .rtx-footer-mark--logo{width:min(220px,72vw)}
  .exv-handoff-brand{width:min(100%,320px);padding:20px}
  .exv-handoff-mark--logo{width:min(205px,72vw)}
  .cnx-footer-brand--logo{grid-template-columns:1fr}
  .cnx-footer-brand--logo>img{width:min(205px,72vw)}
}
/* Excavation handoff: the later desktop grid above must collapse again on phones. */
@media(max-width:700px){
  .exv-footer>.exv-handoff-main{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    width:min(100% - 30px,1440px);
    gap:34px;
    padding-block:48px;
  }
  .exv-handoff-brand,
  .exv-handoff-message,
  .exv-handoff-contact{
    grid-column:auto;
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .exv-handoff-brand{justify-self:center;align-items:center;text-align:center}
  .exv-handoff-mark--logo{margin-inline:auto}
  .exv-handoff-brand>div:last-child{justify-items:center;text-align:center}
  .exv-handoff-brand strong{white-space:normal;overflow-wrap:anywhere!important}
  .exv-handoff-message h2,
  .exv-handoff-message p{max-width:100%;overflow-wrap:anywhere!important}
}
@media(max-width:420px){
  .site-premium-footer--homepage .footer-brand-card h3{font-size:clamp(1.08rem,5.8vw,1.35rem)}
}
@media(max-width:620px){
  .prx-footer-brand{grid-template-columns:1fr}
  .prx-footer-logo{width:min(220px,72vw)}
  .ss13-yard-brand--logo{width:145px}
  .cmx-site-footer-brand--logo{grid-template-columns:1fr}
  .cmx-site-footer-brand--logo>img{width:min(205px,72vw)}
}
