/* ===== DFD CONSTRUCT — NIGHT CONSTRUCTION SITE THEME ===== */
/* crane-dusk #232630 · site-office #2B2F3A · pit-shadow #14161D
   laser-red #D84545 · hardhat-white #EDEEF0 · gale-grey #8F939E
   worklamp-white #F1F2F5  — DARK theme, no semi-transparent anything. */

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  background-color: #232630;
  color: #8F939E;
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

a { color: #EDEEF0; text-decoration: none; }
a:hover { color: #D84545; }
img { max-width: 100%; display: block; }

h1, h2, h3, h4 {
  color: #F1F2F5;
  font-family: "Georgia", "Palatino Linotype", "Book Antiqua", Palatino, serif;
  font-weight: 700;
  line-height: 1.15;
}

.wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* =========================================================
   SCAFFOLD-BAY NAV
   ========================================================= */
.scaffold-bay-nav { position: sticky; top: 0; z-index: 50; background-color: #2B2F3A; width: 100%; }

.scaffold-bay-nav .rail-band {
  height: 20px;
  background-color: #2B2F3A;
  border-bottom: 1px solid #14161D;
  position: relative;
  overflow: hidden;
}
.rail-band .scaffold-elev {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  height: 16px;
  width: 720px;
  border-left: 2px solid #8F939E;
  border-right: 2px solid #8F939E;
}
.rail-band .ledger-a,
.rail-band .ledger-b,
.rail-band .ledger-c {
  position: absolute;
  height: 2px;
  background-color: #8F939E;
  left: 0; right: 0;
}
.rail-band .ledger-a { top: 3px; }
.rail-band .ledger-b { top: 8px; }
.rail-band .ledger-c { top: 13px; }
.rail-band .brace-1 { position: absolute; left: 24%; top: 3px; width: 2px; height: 12px; background-color: #8F939E; transform: rotate(28deg); transform-origin: top; }
.rail-band .brace-2 { position: absolute; right: 24%; top: 3px; width: 2px; height: 12px; background-color: #8F939E; transform: rotate(-28deg); transform-origin: top; }
.rail-band .lamp-post { position: absolute; right: 9%; top: 0; width: 2px; height: 7px; background-color: #D84545; }
.rail-band .lamp-cone { position: absolute; right: 9%; top: 7px; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 6px solid #EDEEF0; }

.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 14px 0; }

.nav-brand { display: flex; align-items: center; gap: 12px; }

.crane-hook-glyph {
  width: 40px; height: 40px;
  border-radius: 6px;
  background-color: #D84545;
  position: relative;
  flex: 0 0 auto;
}
.crane-hook-glyph .hook-block { position: absolute; left: 11px; top: 6px; width: 18px; height: 14px; background-color: #2B2F3A; border-radius: 3px; }
.crane-hook-glyph .hook-curve { position: absolute; left: 19px; top: 18px; width: 8px; height: 15px; border: 3px solid #2B2F3A; border-top: none; border-radius: 0 0 11px 11px; }
.crane-hook-glyph .sheave-a, .crane-hook-glyph .sheave-b { position: absolute; top: 9px; width: 4px; height: 4px; border-radius: 50%; background-color: #2B2F3A; }
.crane-hook-glyph .sheave-a { left: 13px; }
.crane-hook-glyph .sheave-b { left: 24px; }

.brand-text { line-height: 1.05; }
.brand-text .wordmark { font-size: 19px; letter-spacing: 3px; color: #F1F2F5; font-weight: 700; text-transform: uppercase; font-family: Georgia, serif; }
.brand-text .brand-sub { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #8F939E; margin-top: 4px; font-weight: 600; }

.nav-links { display: flex; align-items: center; list-style: none; }
.nav-links li { display: flex; align-items: center; }
.nav-links a { display: inline-block; padding: 8px 10px; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; color: #8F939E; font-weight: 600; }
.nav-links a.active { color: #D84545; }
.nav-links a:hover { color: #D84545; }
.nav-dot { width: 4px; height: 4px; border-radius: 50%; background-color: #D84545; margin: 0 2px; flex: 0 0 auto; }

.nav-toggle { display: none; background: none; border: 1px solid #D84545; color: #EDEEF0; font-size: 22px; padding: 4px 12px; cursor: pointer; border-radius: 4px; line-height: 1; }

@media (max-width: 860px) {
  .nav-toggle { display: block; }
  .nav-links {
    position: absolute; top: 100%; left: 0; right: 0;
    background-color: #2B2F3A;
    flex-direction: column;
    align-items: stretch;
    display: none;
    border-top: 1px solid #14161D;
    border-bottom: 2px solid #D84545;
  }
  .nav-links.open { display: flex; }
  .nav-links li { border-top: 1px solid #1A1D24; }
  .nav-links li:first-child { border-top: none; }
  .nav-links a { display: block; padding: 14px 24px; }
  .nav-dot { display: none; }
}

/* =========================================================
   EXCAVATION-PIT HERO
   ========================================================= */
.excavation-pit-hero { background-color: #232630; }

.hero-upper { text-align: center; padding: 84px 0 56px; max-width: 1240px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }

.eyebrow { display: inline-block; background-color: #D84545; color: #14161D; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; padding: 8px 18px; border-radius: 30px; }

.hero-title { font-size: 62px; line-height: 1.04; margin: 28px auto 22px; max-width: 950px; }
.hero-title .yr { color: #D84545; }

.hero-sub { max-width: 780px; margin: 0 auto 34px; font-size: 19px; color: #8F939E; }

.hero-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

.btn { display: inline-block; padding: 15px 32px; border-radius: 6px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; font-size: 14px; border: 2px solid transparent; cursor: pointer; }
.btn-red { background-color: #D84545; color: #14161D; }
.btn-red:hover { background-color: #E05A5A; color: #14161D; }
.btn-outline { background-color: transparent; color: #EDEEF0; border-color: #EDEEF0; }
.btn-outline:hover { border-color: #D84545; color: #D84545; }

.night-site-band { border-top: 2px solid #D84545; border-bottom: 2px solid #D84545; background-color: #2B2F3A; position: relative; overflow: hidden; }
.site-silhouette { height: 150px; position: relative; max-width: 1240px; margin: 0 auto; }

/* laser sweep */
.site-laser-line { position: absolute; left: 0; right: 0; bottom: 52px; height: 2px; background-color: #D84545; z-index: 3; box-shadow: 0 0 8px #D84545; }

/* tower crane */
.tower-crane { position: absolute; left: 2%; bottom: 4px; width: 170px; height: 138px; }
.tc-mast { position: absolute; left: 60px; top: 0; bottom: 0; width: 14px; background: repeating-linear-gradient(180deg, #8F939E 0 2px, #14161D 2px 12px); }
.tc-jib { position: absolute; left: 60px; top: 6px; width: 92px; height: 6px; background-color: #8F939E; }
.tc-jib-tip { position: absolute; left: 148px; top: 8px; width: 4px; height: 8px; background-color: #EDEEF0; }
.tc-pend { position: absolute; color: transparent; }
.tc-counter { position: absolute; right: 6px; top: 0; width: 26px; height: 18px; background-color: #14161D; border: 2px solid #8F939E; }
.tc-mast-cap { position: absolute; left: 58px; top: 0; width: 20px; height: 5px; background-color: #8F939E; }
.tc-trolley { position: absolute; left: 120px; top: 12px; width: 12px; height: 6px; background-color: #EDEEF0; }
.tc-line { position: absolute; left: 124px; top: 18px; width: 2px; height: 34px; background-color: #8F939E; }
.tc-hook { position: absolute; left: 121px; top: 52px; width: 8px; height: 12px; background-color: #D84545; border-radius: 0 0 5px 5px; }
.tc-load-fg { position: absolute; left: 50px; right: 40px; bottom: 0; height: 12px; background-color: #EDEEF0; }

/* pit excavation */
.pit-zone { position: absolute; left: 24%; bottom: 2px; width: 320px; height: 120px; }
.ground-line { position: absolute; left: -60px; right: -60px; bottom: 30px; height: 4px; background-color: #EDEEF0; border-radius: 3px; }
.pit-hole { position: absolute; left: 30px; bottom: 0; width: 250px; height: 46px; background-color: #14161D; }
.pit-open-trap { position: absolute; left: 20px; bottom: 30px; width: 270px; border-top: 34px solid #14161D; border-left: 10px solid transparent; border-right: 10px solid transparent; }
.pit-bench-1 { position: absolute; left: 0; bottom: 30px; width: 26px; height: 12px; background-color: #2B2F3A; border-top: 2px solid #8F939E; }
.pit-bench-2 { position: absolute; left: -14px; bottom: 42px; width: 20px; height: 12px; background-color: #2B2F3A; border-top: 2px solid #8F939E; }
.pit-shore { position: absolute; left: 34px; bottom: 12px; width: 110px; height: 30px; border: 2px solid #8F939E; }
.pit-shore::before { content: ""; position: absolute; top: 13px; left: 4px; right: 4px; height: 2px; background-color: #8F939E; }
.pit-foot-seal { position: absolute; left: 36px; bottom: 2px; width: 26px; height: 6px; background-color: #D84545; }

/* laser rig level on tripod at pit edge */
.laser-rig { position: absolute; left: 47%; bottom: 30px; width: 120px; height: 60px; }
.lt-stand { position: absolute; left: 50px; bottom: 0; width: 18px; height: 20px; background-color: #14161D; border: 2px solid #8F939E; }
.lt-stand-a, .lt-stand-b, .lt-stand-c { position: absolute; width: 3px; height: 34px; background-color: #8F939E; bottom: 4px; }
.lt-stand-a { left: 30px; transform: rotate(-20deg); transform-origin: bottom; }
.lt-stand-b { left: 78px; transform: rotate(20deg); transform-origin: bottom; }
.lt-stand-c { left: 54px; }
.laser-level { position: absolute; left: 42px; bottom: 34px; width: 52px; height: 14px; background-color: #D84545; border-radius: 3px; }
.laser-level .lk { position: absolute; top: -6px; left: 50%; transform: translateX(-50%); width: 8px; height: 6px; background-color: #8F939E; }
.laser-source { position: absolute; right: 4px; top: 2px; width: 6px; height: 10px; background-color: #F1C9C9; }

/* rebar cage standing near pit */
.rebar-cage { position: absolute; left: 63%; bottom: 4px; width: 46px; height: 74px; }
.rc-bar { position: absolute; top: 0; bottom: 0; width: 4px; background-color: #8F939E; }
.rc-bar-a { left: 4px; }
.rc-bar-b { left: 16px; }
.rc-bar-c { left: 28px; }
.rc-bar-d { left: 40px; height: 46px; top: 8px; }
.rc-tie { position: absolute; left: 0; width: 46px; height: 3px; background-color: #8F939E; border-radius: 2px; }
.rc-tie-1 { top: 12px; }
.rc-tie-2 { top: 30px; }
.rc-tie-3 { top: 46px; background-color: #D84545; }
.rc-tie-4 { top: 62px; background-color: #D84545; }

/* concrete mixer on right */
.mixer-zone { position: absolute; right: 20%; bottom: 4px; width: 130px; height: 90px; }
.md-wheel-base { position: absolute; left: 6px; bottom: 4px; width: 100px; height: 22px; border: 2px solid #8F939E; background-color: transparent; border-top: none; }
.md-body { position: absolute; left: 0; top: 16px; width: 78px; height: 52px; border-radius: 40% 40% 22% 22%; background-color: #14161D; border: 2px solid #8F939E; }
.md-fin { position: absolute; height: 3px; background: #8F939E; border-radius: 4px; transform: rotate(28deg); }
.md-fin-1 { left: 8px; right: 26px; top: 26px; }
.md-fin-2 { left: 4px; right: 22px; top: 38px; }
.md-fin-3 { left: 14px; right: 30px; top: 14px; }
.md-chute { position: absolute; right: -26px; top: 40px; width: 56px; height: 14px; background-color: #8F939E; transform: rotate(30deg); border-radius: 4px; }

/* formwork panel near discharge */
.formwork-panel { position: absolute; right: 8%; bottom: 6px; width: 100px; height: 66px; }
.fw-frame { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-color: #14161D; border: 2px solid #8F939E; border-radius: 3px; }
.fw-snap { position: absolute; width: 5px; height: 3px; background-color: #D84545; }
.fw-snap-1 { left: 8px; top: 6px; }
.fw-snap-2 { left: 46px; top: 6px; }
.fw-snap-3 { right: 8px; top: 6px; }
.fw-snap-4 { left: 8px; bottom: 6px; }
.fw-snap-5 { left: 46px; bottom: 6px; }
.fw-snap-6 { right: 8px; bottom: 6px; }
.fw-prop { position: absolute; left: 12px; bottom: -2px; width: 4px; height: 18px; background-color: #8F939E; }
.fw-line { position: absolute; left: 1px; top: 33px; right: 1px; height: 2px; background-color: #8F939E; }

/* light tower far right */
.light-tower { position: absolute; right: 1.5%; bottom: 4px; width: 60px; height: 146px; }
.ltt-mast { position: absolute; left: 28px; top: 0; bottom: 0; width: 5px; background: repeating-linear-gradient(180deg, #8F939E 0 2px, #14161D 2px 10px); }
.ltt-guide { position: absolute; left: 10px; right: 10px; top: 10px; width: 0; }
.ltt-lamp-top { position: absolute; left: 26px; top: 12px; width: 9px; height: 16px; background-color: #EDEEF0; }
.ltt-lamp-sec { position: absolute; left: 26px; top: 40px; width: 9px; height: 16px; background-color: #EDEEF0; }
.ltt-beam-t { position: absolute; left: 18px; top: 16px; width: 0; height: 0; border-top: 3px solid transparent; border-right: 42px solid #EDEEF0; border-bottom: 3px solid transparent; }
.ltt-beam-s { position: absolute; left: 18px; top: 42px; width: 0; height: 0; border-top: 3px solid transparent; border-right: 34px solid #EDEEF0; border-bottom: 3px solid transparent; }
.ltt-base-guard { position: absolute; left: 23px; bottom: 16px; width: 2px; height: 2px; background-color: transparent; }

/* =========================================================
   SECTION HEADERS
   ========================================================= */
.section-head { text-align: center; max-width: 760px; margin: 0 auto 56px; }
.section-kicker { color: #D84545; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; font-weight: 700; }
.section-title { font-size: 42px; margin: 14px 0 16px; }
.section-lead { color: #8F939E; font-size: 18px; }

/* =========================================================
   REBAR-CAGE ROWS
   ========================================================= */
.rebar-cage-rows { background-color: #232630; padding: 84px 0; }
.cage-list { display: flex; flex-direction: column; gap: 11px; }
.cage-row { display: flex; align-items: stretch; background-color: #2B2F3A; border: 1px solid #D84545; border-radius: 8px; overflow: hidden; }
.cage-col { flex: 0 0 92px; background-color: #14161D; position: relative; min-height: 150px; }
.cage-col .bar-a, .cage-col .bar-b, .cage-col .bar-c { position: absolute; top: 12px; width: 4px; background-color: #8F939E; }
.cage-col .bar-a { left: 18px; bottom: 40px; }
.cage-col .bar-b { left: 44px; bottom: 40px; }
.cage-col .bar-c { left: 70px; bottom: 40px; }
.cage-col .cb-tie, .cage-col .cb-tie2, .cage-col .cb-tie3 { position: absolute; left: 16px; right: 16px; height: 3px; background-color: #8F939E; border-radius: 2px; }
.cage-col .cb-tie { top: 34px; }
.cage-col .cb-tie2 { top: 66px; }
.cage-col .cb-tie3 { top: 98px; }
.cage-col .cb-tie-special { background-color: #D84545; }
.cage-col .cover-block { position: absolute; left: 24px; bottom: 12px; width: 44px; height: 14px; background-color: #D84545; border-radius: 2px; }
.cage-col .cover-block::after { content: ""; position: absolute; top: 4px; left: 5px; right: 5px; height: 3px; background-color: #14161D; border-radius: 2px; }
.cage-body { padding: 32px 28px; flex: 1 1 auto; }
.cage-body h3 { font-size: 25px; margin-bottom: 14px; }
.cage-body p { color: #8F939E; }
.cage-tag { flex: 0 0 168px; padding: 28px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-left: 1px solid #1A1D24; }
.tag-plate { background-color: #14161D; border: 1px solid #2B2F3A; border-radius: 8px; padding: 12px 14px; text-align: center; width: 100%; }
.tag-pour { font-family: Consolas, Menlo, monospace; color: #F1F2F5; font-size: 17px; display: inline-flex; align-items: center; gap: 7px; }
.tag-pour::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background-color: #D84545; flex: 0 0 auto; }
.tag-psi { color: #EDEEF0; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; margin-top: 9px; font-weight: 700; }

@media (max-width: 760px) {
  .cage-row { flex-direction: column; }
  .cage-col { flex: 0 0 54px; min-height: 54px; }
  .cage-col .bar-a, .cage-col .bar-b, .cage-col .bar-c,
  .cage-col .cb-tie, .cage-col .cb-tie2, .cage-col .cb-tie3, .cage-col .cb-tie-special { display: none; }
  .cage-tag { border-left: none; flex: 0 0 auto; width: 100%; flex-direction: row; gap: 12px; border-top: 1px solid #1A1D24; order: 3; }
  .cage-col { display: none; }
}

/* =========================================================
   METRIC BAND
   ========================================================= */
.metric-band { background-color: #14161D; padding: 64px 0; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.metric-cell { text-align: center; padding: 8px 20px; position: relative; }
.metric-cell + .metric-cell::before { content: ""; position: absolute; left: 0; top: 10%; bottom: 10%; width: 1px; background-color: #D84545; }
.metric-num { font-size: 54px; font-weight: 700; color: #F1F2F5; font-family: Georgia, serif; line-height: 1.05; }
.metric-label { color: #D84545; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; margin-top: 12px; font-weight: 700; }
@media (max-width: 900px) {
  .metric-grid { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .metric-cell:nth-child(3)::before, .metric-cell:nth-child(5)::before, .metric-cell:nth-child(4)::before { left: 0; }
  .metric-cell:nth-of-type(1)::before, .metric-cell:nth-of-type(3)::before { display: none; }
}

/* =========================================================
   STATEMENT BAND
   ========================================================= */
.statement-band { background-color: #2B2F3A; padding: 80px 0; }
.statement-block { max-width: 880px; margin: 0 auto; padding-left: 34px; border-left: 4px solid #D84545; }
.statement-text { font-size: 23px; line-height: 1.7; color: #F1F2F5; font-family: Georgia, serif; }
.statement-attr { color: #8F939E; font-size: 14px; letter-spacing: 2px; text-transform: uppercase; margin-top: 22px; font-weight: 600; }

/* =========================================================
   CTA BAND
   ========================================================= */
.cta-band { background-color: #232630; padding: 92px 0; text-align: center; }
.cta-title { font-size: 46px; color: #D84545; margin-bottom: 18px; }
.cta-sub { max-width: 640px; margin: 0 auto 34px; color: #8F939E; font-size: 18px; }

/* =========================================================
   GENERIC PAGE HERO (secondary pages)
   ========================================================= */
.page-hero { background-color: #232630; padding: 84px 0 40px; text-align: center; max-width: 1240px; margin: 0 auto; }
.page-kicker { color: #D84545; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; font-weight: 700; }
.page-title { font-size: 52px; margin: 20px 0 18px; }
.page-title .yr { color: #D84545; }
.page-intro { color: #8F939E; max-width: 800px; margin: 0 auto; font-size: 19px; }

/* =========================================================
   SERVICES PAGE SECTIONS
   ========================================================= */
.service-sections { background-color: #232630; padding: 60px 0 80px; }
.service-section { padding: 38px 0; }
.service-section + .service-section { border-top: 1px solid #1A1D24; }
.service-section h2 { font-size: 31px; color: #F1F2F5; margin-bottom: 18px; }
.service-section h2 .svc-num { color: #D84545; font-family: Consolas, Menlo, monospace; }
.service-section h3 { color: #EDEEF0; font-size: 20px; margin: 24px 0 10px; }
.service-section p { color: #8F939E; max-width: 1000px; }
.service-section ul { margin: 14px 0 14px 24px; color: #8F939E; }
.service-section li { margin-bottom: 8px; }
.service-section li::marker { color: #D84545; }
.lead-paragraph { font-size: 19px; color: #EDEEF0; }
.cta-sub .split-red { color: #D84545; font-weight: 700; }

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.contact-section { background-color: #232630; padding: 70px 0 90px; }
.contact-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 34px; align-items: start; }
.contact-card, .info-card, .hours-card, .faq-card { background-color: #2B2F3A; border: 1px solid #1A1D24; border-radius: 10px; padding: 36px; }
.contact-card form-label { }
.info-card, .hours-card { margin-bottom: 22px; }
.card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 24px; }
.card-head .card-diamond { width: 10px; height: 10px; background-color: #D84545; transform: rotate(45deg); flex: 0 0 auto; }
.card-head h2 { font-size: 24px; }

.info-list { list-style: none; }
.info-list li { margin-bottom: 18px; }
.info-label { color: #D84545; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; display: block; margin-bottom: 4px; }
.info-value { color: #F1F2F5; font-weight: 600; }
.info-value a { color: #F1F2F5; }
.info-value a:hover { color: #D84545; }

.hours-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid #1A1D24; color: #8F939E; }
.hours-row:last-child { border-bottom: none; }
.hours-row .day { color: #EDEEF0; font-weight: 600; }
.hours-row.closed .day { color: #D84545; }

.faq-item { border-bottom: 1px solid #1A1D24; }
.faq-item:last-child { border-bottom: none; }
.faq-q { width: 100%; background: none; border: none; text-align: left; cursor: pointer; padding: 18px 0; color: #EDEEF0; font-size: 17px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; gap: 14px; letter-spacing: 0; text-transform: none; }
.faq-q .faq-caret { color: #D84545; font-size: 22px; flex: 0 0 auto; transition: transform 0.2s ease; }
.faq-item.open .faq-q .faq-caret { transform: rotate(180deg); }
.faq-a { display: none; color: #8F939E; padding: 0 0 20px; }
.faq-item.open .faq-a { display: block; }

.form-group { margin-bottom: 22px; }
.form-group label { display: block; color: #EDEEF0; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; font-weight: 700; margin-bottom: 8px; cursor: pointer; }
.form-control { width: 100%; padding: 13px 14px; border-radius: 6px; border: 1px solid #14161D; background-color: #14161D; color: #F1F2F5; font-size: 16px; }
.form-control:focus { outline: none; border-color: #D84545; }
textarea.form-control { min-height: 150px; resize: vertical; }
.btn-block { width: 100%; }
.form-note { color: #8F939E; font-size: 14px; margin-top: 16px; }
.form-note a { color: #EDEEF0; }
.form-note a:hover { color: #D84545; }
.form-status { padding: 14px 16px; border-radius: 6px; margin-top: 16px; display: none; font-weight: 700; }
.form-status.ok, .form-status.err { display: block; }
.form-status.ok { background-color: #14161D; color: #EDEEF0; border: 1px solid #8F939E; }
.form-status.err { background-color: #14161D; color: #D84545; border: 1px solid #D84545; }

@media (max-width: 940px) {
  .contact-grid { grid-template-columns: 1fr; }
  .site-silhouette { height: 120px; overflow-x: auto; }
}

/* =========================================================
   MIXER-DRUM FOOTER
   ========================================================= */
.mixer-drum-footer { background-color: #101218; color: #8F939E; }
.footer-drum-strip { height: 16px; background-color: #14161D; border-bottom: 1px solid #2B2F3A; position: relative; overflow: hidden; }
.foot-drum-sil { position: absolute; top: 3px; left: 0; right: 0; height: 10px; }
.foot-fin { position: absolute; top: 5px; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #8F939E 0 12px, #14161D 12px 16px, #8F939E 16px 28px, #14161D 28px 32px, #8F939E 32px 44px); }
.foot-chute { position: absolute; right: 0; top: 2px; width: 34px; height: 10px; background-color: #8F939E; transform: rotate(24deg); }

.footer-inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1.2fr 1.5fr; gap: 44px; padding: 52px 24px 40px; }
.footer-brand .crane-hook-glyph, .footer-body-glyph { width: 36px; height: 36px; margin-bottom: 16px; }
.footer-brand .wordmark { font-size: 22px; letter-spacing: 3px; color: #F1F2F5; font-family: Georgia, serif; font-weight: 700; text-transform: uppercase; }
.footer-desc { color: #8F939E; font-size: 15px; margin-top: 14px; max-width: 320px; }

.footer-col-title { color: #D84545; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 700; margin-bottom: 20px; }
.footer-links-wrap { display: flex; gap: 48px; flex-wrap: wrap; }
.footer-links { list-style: none; }
.footer-links li { margin-bottom: 13px; }
.footer-links a { color: #8F939E; font-size: 15px; }
.footer-links a:hover { color: #EDEEF0; }

.footer-contact { list-style: none; }
.footer-contact li { margin-bottom: 14px; color: #8F939E; font-size: 15px; }
.footer-contact a { color: #EDEEF0; }
.footer-contact a:hover { color: #D84545; }

.footer-legal-line { border-top: 1px solid #2B2F3A; padding: 22px 0; text-align: center; color: #8F939E; font-size: 14px; letter-spacing: 1px; background-color: #101218; }
.footer-legal-line a { color: #8F939E; }
.footer-legal-line a:hover { color: #D84545; }
.footer-surface { font-size: 15px; line-height: 1.8; position: relative; z-index: 1; }
.footer-legal-line { position: relative; z-index: 1; }

@media (max-width: 900px) {
  .footer-inner { grid-template-columns: 1fr; gap: 34px; }
  .footer-links-wrap { gap: 32px; }
  .nav-inner { padding-left: 16px; padding-right: 16px; }
}
