:root { --au-navy:#052942; --au-deep:#03243a; --au-ink:#0b2b44; --au-red:#dd1f2c; --au-paper:#f8f7f3; --au-copy:#354d60; --au-line:#d6d2ca; }
.au-page { width:100%; overflow:hidden; color:var(--au-ink); background:var(--au-paper); font-family:Inter,Arial,sans-serif; }
.au-page *,.au-page *::before,.au-page *::after { box-sizing:border-box; }
.au-page img { display:block; max-width:none; }
.au-page svg { fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:round; stroke-linejoin:round; }
.au-symbols { position:absolute; width:0; height:0; overflow:hidden; }

/* Hero */
.au-hero {
  position: relative;
  min-height: clamp(560px, calc(100vh - 76px), 880px);
  height: calc(100vh - 76px);
  overflow: hidden;
  isolation: isolate;
  color: #ffffff;
  background: var(--au-deep);
  display: flex;
  align-items: center;
}

.au-hero-photo {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(1.02);
  filter: contrast(1.05) saturate(1.05);
}

.au-hero-shade {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(1, 29, 47, 0.95) 0%, rgba(1, 31, 51, 0.85) 36%, rgba(1, 32, 51, 0.4) 66%, rgba(1, 31, 50, 0.1) 100%),
    linear-gradient(180deg, rgba(0, 20, 34, 0.25) 0%, transparent 40%, rgba(0, 25, 40, 0.2) 100%);
}

.au-hero-copy {
  position: relative;
  z-index: 2;
  width: min(92%, 1440px);
  max-width: 720px;
  margin-left: max(32px, calc((100% - 1440px) / 2));
  margin-top: 10px;
}

.au-hero h1 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(40px, 4.4vw, 70px);
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.06;
  text-transform: none;
}

.au-hero-lead {
  margin: 0 0 28px;
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.55;
  max-width: 580px;
}

.au-outline-button {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  height: 50px;
  padding: 0 28px;
  border: 2px solid var(--au-red);
  background: rgba(1, 31, 49, 0.35);
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.25s ease;
}

.au-outline-button:hover {
  background: var(--au-red);
  color: #ffffff;
}

.au-outline-button span {
  font-size: 20px;
  font-weight: 300;
  transition: transform 0.25s ease;
}

.au-outline-button:hover span {
  transform: translateX(4px);
}

/* Process */
.au-process {
  min-height: 80px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #fbfaf7;
  border-bottom: 1px solid var(--au-line);
}

.au-process > div {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 20px 12px;
  color: var(--au-ink);
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.au-process svg {
  width: 32px;
  height: 32px;
  stroke: var(--au-ink);
  stroke-width: 1.6;
  fill: none;
}

.au-process > div:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 20%;
  right: 0;
  width: 1px;
  height: 60%;
  background: var(--au-line);
}

/* Intro and tab row */
.au-intro { min-height:160px; height:auto; display:grid; grid-template-columns:36% 64%; align-items:center; padding:44px clamp(24px,4vw,64px); background:linear-gradient(90deg,#faf9f6,#f7f6f2 55%,#faf9f7); }
.au-intro-copy h2 { margin:0 0 10px; color:var(--au-ink); font-size:clamp(26px,2.4vw,38px); font-weight:900; line-height:1.1; text-transform:none; }
.au-intro-copy p { margin:0; color:var(--au-copy); font-size:15px; line-height:1.6; }
.au-tabs { height:auto; display:grid; grid-template-columns:repeat(4,1fr); align-items:stretch; }
.au-tabs a { position:relative; display:flex; flex-direction:column; justify-content:center; padding:18px 24px; color:var(--au-ink); border-left:1px solid var(--au-line); cursor:pointer; text-decoration:none; transition:background-color .25s ease; }
.au-tabs a:hover { background:rgba(220,32,45,0.04); }
.au-tabs b { margin-bottom:8px; color:var(--au-ink); font-size:15px; font-weight:800; transition:color .25s ease; }
.au-tabs span { font-size:13px; font-weight:800; text-transform:none; color:var(--au-ink); transition:color .25s ease; }
.au-tabs a::after { content:''; position:absolute; left:20px; right:20px; bottom:0; height:3px; background:var(--au-red); opacity:0; transform:scaleX(0); transform-origin:center; transition:transform .25s ease, opacity .25s ease; }
.au-tabs a:hover b, .au-tabs a:hover span { color:var(--au-red); }
.au-tabs a:hover::after { opacity:1; transform:scaleX(1); }

/* Water and drainage */
.au-drainage { min-height:auto; height:auto; padding:48px clamp(24px,4vw,64px); background:var(--au-paper); }
.au-drainage > h2,.au-structures > h2,.au-utility > h2 { margin:0 0 24px; color:var(--au-red); font-size:clamp(22px,1.8vw,30px); font-weight:900; text-transform:none; letter-spacing:-.01em; }
.au-drainage-visual { position:relative; width:100%; aspect-ratio:8000 / 2798; height:auto; overflow:hidden; border:1px solid var(--au-line); border-bottom:0; border-radius:10px 10px 0 0; background:transparent; }
.au-drainage-visual > img { width:100%; height:100%; display:block; object-fit:contain; }
.au-callouts-layer { display:none !important; position:absolute; inset:0; pointer-events:none; }

.au-drainage-items { min-height:auto; height:auto; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:#ffffff; border:1px solid var(--au-line); border-radius:0 0 10px 10px; padding:32px 16px; box-shadow:0 4px 16px rgba(0,0,0,0.03); }
.au-drainage-items article { min-width:0; padding:0 18px; }
.au-drain-head { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.au-drain-num { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; flex-shrink:0; border:1.8px solid #005a9c; border-radius:50%; color:#005a9c; font-size:12.5px; font-weight:800; }
.au-drain-head h3 { margin:0; color:#001b32; font-size:clamp(13px, 0.98vw, 15px); font-weight:800; line-height:1.25; }
.au-drainage-items p { margin:0; color:#526677; font-size:clamp(11px, 0.82vw, 13px); line-height:1.5; }
.au-drainage-flow { min-height:68px; height:auto; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; margin-top:24px; padding:12px 24px; border:1px solid #9fa4a4; border-radius:10px; background:#fbfaf7; }
.au-drainage-flow article { display:flex; align-items:center; justify-content:center; gap:14px; }
.au-drainage-flow svg { width:34px; height:34px; color:var(--au-ink); stroke-width:1.45; }
.au-drainage-flow h3 { margin:0; color:var(--au-ink); font-size:14px; font-weight:900; text-transform:uppercase; }

.au-hero-kicker { margin:0 0 16px; color:var(--au-red); font-size:13px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.au-section-kicker { margin:0 0 20px; color:var(--au-red); font-size:13px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.au-kicker-white { color:#fff; }

/* Bridges, viaducts and tunnels */
.au-structures { min-height:auto; height:auto; padding:40px clamp(24px,4vw,64px); background:linear-gradient(90deg,#faf9f6,#f7f6f2 55%,#faf9f7); border-top:1px solid var(--au-line); }
.au-structures-top { height:auto; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:14px; align-items:stretch; overflow:hidden; }
.au-structures-left { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.au-viaduct-pano-wrap { width:100%; height:clamp(120px,9vw,150px); overflow:hidden; border:1px solid var(--au-line); border-radius:8px; }
.au-viaduct-pano { width:100%; height:100%; object-fit:cover; display:block; }
.au-bridge-draw-wrap { width:100%; height:clamp(120px,9vw,150px); overflow:hidden; border:1px solid var(--au-line); border-radius:8px; background:#fdfbf5; padding:0; display:flex; align-items:center; justify-content:center; }
.au-bridge-draw { width:100%; height:100%; object-fit:cover; object-position:center; filter:contrast(1.05); display:block; }
.au-structures-side { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:12px; min-width:0; }
.au-art-card { display:grid; grid-template-columns:42% 58%; height:clamp(120px,9vw,150px); overflow:hidden; border:1px solid var(--au-line); border-radius:8px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.03); transition:transform .2s ease, box-shadow .2s ease; }
.au-art-card:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.06); }
.au-art-card > img { width:100%; height:100%; object-fit:cover; display:block; }
.au-art-info { padding:14px 18px; display:flex; flex-direction:column; justify-content:center; }
.au-art-info p { margin:6px 0 0; color:var(--au-copy); font-size:13px; line-height:1.45; }
.au-card-head { display:flex; align-items:center; gap:8px; }
.au-card-head b { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; flex-shrink:0; border:1.5px solid #758a99; border-radius:50%; color:var(--au-ink); font-size:12px; font-weight:800; }
.au-card-head h3 { margin:0; color:var(--au-ink); font-size:16px; font-weight:800; line-height:1.2; }

/* Bottom 3 Cards */
.au-structures-bottom { min-height:auto; height:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px; overflow:hidden; }
.au-bottom-card { width:100%; height:clamp(100px,7.5vw,120px); min-width:0; min-height:0; display:grid; grid-template-columns:1fr 120px; align-items:stretch; overflow:hidden; border:1px solid var(--au-line); border-radius:8px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.03); transition:transform .2s ease, box-shadow .2s ease; }
.au-bottom-card:hover { transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,.06); }
.au-card-text { padding:12px 16px; display:flex; flex-direction:column; justify-content:center; }
.au-card-text p { margin:5px 0 0; color:var(--au-copy); font-size:12px; line-height:1.4; }
.au-bottom-card img { width:100%; height:100%; object-fit:cover; display:block; }

/* Utility relocation */
.au-utility { position:relative; min-height:auto; height:auto; overflow:hidden; padding:48px clamp(24px,4vw,64px); color:#fff; background:#001f3e; }
.au-utility .au-section-kicker { margin:0 0 28px; display:block; }
.au-utility-grid { display:grid; grid-template-columns:minmax(310px, 370px) 1fr; gap:clamp(20px, 3vw, 44px); align-items:center; }
.au-utility-list { display:grid; gap:12px; }
.au-utility-list article { min-height:64px; display:grid; grid-template-columns:36px 1fr; align-items:center; gap:14px; padding:10px 16px; border:1px solid rgba(255,255,255,.14); border-left:4px solid currentColor; border-radius:6px; background:rgba(2,35,57,.82); }
.au-utility-list svg { width:28px; height:28px; stroke-width:1.45; }
.au-utility-list h3 { margin:0 0 4px; color:#fff; font-size:15px; font-weight:800; }
.au-utility-list p { margin:0; color:rgba(255,255,255,.84); font-size:12.5px; line-height:1.4; }
.au-utility-list .water { color:#05d6ff; }.au-utility-list .electric { color:#ffd21a; }.au-utility-list .internet { color:#16e2dd; }.au-utility-list .gas { color:#ff6a16; }.au-utility-list .rain { color:#35aaff; }
.au-utility-visual { display:flex; align-items:center; justify-content:center; width:100%; }
.au-utility-visual img { width:100%; height:auto; max-height:540px; object-fit:contain; display:block; }

/* CTA */
.au-cta { min-height:auto; height:auto; display:grid; grid-template-columns:47% 53%; overflow:hidden; background:#f5f3ee; }
.au-cta > div { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:48px clamp(24px,4vw,64px); }
.au-cta h2 { margin:0 0 14px; color:var(--au-ink); font-size:clamp(24px,2.2vw,36px); font-weight:900; line-height:1.15; text-transform:uppercase; }
.au-cta p { margin:0 0 24px; color:var(--au-copy); font-size:15px; line-height:1.6; }
.au-cta a { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-width:220px; height:50px; padding:0 24px; color:#fff; background:var(--au-red); font-size:14px; font-weight:800; text-transform:uppercase; transition:background-color .25s ease; }
.au-cta a:hover { color:#fff; background:#b71924; }
.au-cta a span { font-size:22px; font-weight:300; }
.au-cta > img { width:100%; height:100%; min-height:340px; object-fit:cover; object-position:center 53%; }

/* Delivery strip */
.au-delivery { min-height:auto; height:auto; display:grid; grid-template-columns:repeat(5,1fr); padding:24px clamp(24px,4vw,64px); background:#faf9f6; border-top:1px solid var(--au-line); border-bottom:1px solid var(--au-line); }
.au-delivery article { min-width:0; display:grid; grid-template-columns:36px 1fr; align-items:center; gap:14px; padding:0 16px; border-right:1px solid var(--au-line); }
.au-delivery article:last-child { grid-template-columns:1fr 24px; border-right:0; }
.au-delivery svg { width:36px; height:36px; color:var(--au-ink); stroke-width:1.35; }
.au-delivery h3 { margin:0 0 4px; color:var(--au-ink); font-size:14px; font-weight:900; line-height:1.25; text-transform:uppercase; }
.au-delivery p { margin:0; color:var(--au-copy); font-size:12px; line-height:1.45; }
.au-delivery article:last-child > span { color:var(--au-red); font-size:24px; }

/* Footer */
.au-footer { min-height:calc(17.055 * var(--vln-activity-vw)); height:auto; padding:calc(1.2 * var(--vln-activity-vw)) calc(2.15 * var(--vln-activity-vw)) calc(.7 * var(--vln-activity-vw)); color:#fff; background:radial-gradient(circle at 55% 10%,#063858,#022943 46%,#02263d); }
.au-footer-grid { display:grid; grid-template-columns:19% 13% 19% 15% 15% 11%; gap:1.55%; min-height:calc(13.25 * var(--vln-activity-vw)); height:auto; }
.au-footer-brand img { width:calc(11.9 * var(--vln-activity-vw)); height:auto; margin:0 0 calc(.45 * var(--vln-activity-vw)) calc(.5 * var(--vln-activity-vw)); }
.au-footer ul { list-style:none; margin:0; padding:0; }
.au-footer li { display:flex; align-items:flex-start; gap:calc(.55 * var(--vln-activity-vw)); margin-bottom:calc(.43 * var(--vln-activity-vw)); color:rgba(255,255,255,.83); font-size:calc(.71 * var(--vln-activity-type-vw)); line-height:1.35; }
.au-footer li svg { width:calc(1.18 * var(--vln-activity-vw)); height:calc(1.18 * var(--vln-activity-vw)); flex:0 0 calc(1.18 * var(--vln-activity-vw)); }
.au-footer-grid > div:not(.au-footer-brand) { display:flex; flex-direction:column; padding-top:calc(.55 * var(--vln-activity-vw)); }
.au-footer h2 { margin:0 0 calc(.75 * var(--vln-activity-vw)); color:#fff; font-size:calc(.83 * var(--vln-activity-type-vw)); font-weight:800; text-transform:uppercase; }
.au-footer-grid a { margin-bottom:calc(.53 * var(--vln-activity-vw)); color:rgba(255,255,255,.73); font-size:calc(.74 * var(--vln-activity-type-vw)); line-height:1.2; }
.au-footer-grid a:hover { color:#fff; }
.au-copyright { margin:calc(.1 * var(--vln-activity-vw)) 0 0; color:rgba(255,255,255,.65); font-size:calc(.72 * var(--vln-activity-type-vw)); text-align:center; }

/* Tablet */
@media (max-width: 900px) {
  .au-desktop-only { display:none; }
  .au-hero { height:auto; min-height:600px; padding:120px 0 60px; display:flex; align-items:center; }
  .au-header { height:82px; grid-template-columns:auto 1fr auto; align-items:center; padding:0 28px; font-size:10px; }
  .au-nav { display:none; }.au-brand { justify-content:flex-start; }.au-brand img { width:125px; }
  .au-menu-toggle { display:inline-flex; align-items:center; justify-self:end; gap:9px; padding:10px 0; color:#fff; border:0; background:transparent; font:inherit; font-size:10px; font-weight:800; text-transform:uppercase; cursor:pointer; }
  .au-menu-bars { width:23px; display:grid; gap:5px; }.au-menu-bars b { width:100%; height:1px; background:currentColor; transition:.2s ease; }
  .au-menu-toggle[aria-expanded='true'] .au-menu-bars b:first-child { transform:translateY(6px) rotate(45deg); }.au-menu-toggle[aria-expanded='true'] .au-menu-bars b:nth-child(2) { opacity:0; }.au-menu-toggle[aria-expanded='true'] .au-menu-bars b:last-child { transform:translateY(-6px) rotate(-45deg); }
  .au-mobile-nav { position:absolute; top:75px; left:28px; right:28px; display:grid; grid-template-columns:repeat(2,1fr); visibility:hidden; opacity:0; transform:translateY(-8px); border:1px solid rgba(255,255,255,.24); transition:.2s ease; }
  .au-mobile-nav.is-open { visibility:visible; opacity:1; transform:none; }.au-mobile-nav a { padding:15px 17px; color:#fff; background:rgba(3,39,61,.98); border:1px solid rgba(255,255,255,.07); font-size:11px; font-weight:700; }
  .au-hero-photo { object-position:62% center; }.au-hero-shade { background:linear-gradient(90deg,rgba(1,31,50,.98),rgba(1,32,52,.8) 67%,rgba(1,32,52,.24)); }
  .au-hero-copy { left:auto; top:auto; margin-left:28px; margin-top:0; width:min(calc(100% - 56px),590px); }.au-hero h1 { margin-bottom:17px; font-size:clamp(38px,6.8vw,56px); }.au-hero-lead { margin-bottom:28px; font-size:15px; line-height:1.6; }
  .au-outline-button { height:47px; gap:14px; padding:0 18px; border-width:2px; font-size:11px; }.au-outline-button span { font-size:22px; }
  .au-process { height:auto; grid-template-columns:repeat(2,1fr); }.au-process > div { min-height:76px; gap:14px; font-size:11px; }.au-process svg { width:31px; height:31px; }.au-process > div:nth-child(2)::after { display:none; }.au-process > div:nth-child(-n+2) { border-bottom:1px solid var(--au-line); }
  .au-intro { height:auto; grid-template-columns:1fr; gap:30px; padding:48px 28px 34px; }.au-intro-copy h2 { margin-bottom:12px; font-size:34px; }.au-intro-copy p { font-size:12px; }.au-tabs { height:auto; grid-template-columns:repeat(2,1fr); }.au-tabs a { min-height:100px; padding:15px 22px; border-bottom:1px solid var(--au-line); }.au-tabs b { margin-bottom:9px; font-size:14px; }.au-tabs span { font-size:11px; }.au-tabs .is-active::after { left:22px; right:22px; height:3px; }
  .au-drainage { height:auto; padding:38px 28px 44px; }.au-drainage > h2,.au-structures > h2,.au-utility > h2 { margin-bottom:18px; font-size:14px; }.au-drainage-visual { height:auto; aspect-ratio:8000/2798; border-radius:7px; }.au-markers i { width:18px; height:18px; font-size:9px; }.au-markers i::before { height:36px; }.au-drainage-items { height:auto; grid-template-columns:repeat(2,1fr); gap:22px; padding:25px 12px; }.au-drainage-items article { min-height:90px; padding-left:30px; }.au-drainage-items b { width:22px; height:22px; font-size:10px; }.au-drainage-items h3 { margin-bottom:6px; font-size:13px; }.au-drainage-items p { font-size:10px; }.au-drainage-flow { height:auto; grid-template-columns:repeat(2,1fr); gap:18px; margin:10px 0 0; padding:24px; }.au-drainage-flow > span { display:none; }.au-drainage-flow article { justify-content:flex-start; min-height:55px; gap:14px; }.au-drainage-flow svg { width:39px; height:39px; }.au-drainage-flow h3 { font-size:11px; }
  .au-structures { height:auto; padding:40px 28px 46px; }
  .au-structures-top { height:auto; grid-template-columns:1fr; }
  .au-bridge-stack { height:340px; min-height:0; }
  .au-structures-side { min-height:0; }
  .au-structures-bottom { grid-template-columns:1fr; gap:14px; }
  .au-utility { height:auto; padding:42px 28px; }.au-utility-grid { grid-template-columns:1fr; gap:24px; }.au-utility-list { width:100%; grid-template-columns:repeat(2,1fr); gap:12px; }.au-utility-list article { min-height:90px; grid-template-columns:44px 1fr; gap:10px; padding:10px; border-left-width:4px; }.au-utility-list svg { width:36px; height:36px; }.au-utility-list h3 { margin-bottom:4px; font-size:14px; }.au-utility-list p { font-size:9px; }.au-utility-visual img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
  .au-cta { height:auto; min-height:350px; grid-template-columns:46% 54%; }.au-cta > div { padding:38px 28px; }.au-cta h2 { margin-bottom:13px; font-size:27px; }.au-cta p { margin-bottom:20px; font-size:11px; }.au-cta a { min-width:190px; height:45px; gap:13px; padding:0 17px; font-size:10px; }.au-cta a span { font-size:21px; }
  .au-delivery { height:auto; grid-template-columns:repeat(2,1fr); padding:20px 28px; }.au-delivery article { min-height:100px; grid-template-columns:46px 1fr; gap:9px; padding:12px; border-bottom:1px solid var(--au-line); }.au-delivery svg { width:40px; height:40px; }.au-delivery h3 { margin-bottom:5px; font-size:10px; }.au-delivery p { font-size:8px; }
  .au-footer { height:auto; padding:36px 28px 25px; }.au-footer-grid { height:auto; grid-template-columns:repeat(3,1fr); gap:28px 22px; }.au-footer-brand { grid-row:span 2; }.au-footer-brand img { width:130px; margin:0 0 14px; }.au-footer li { gap:7px; margin-bottom:8px; font-size:9px; }.au-footer li svg { width:14px; height:14px; flex-basis:14px; }.au-footer-grid > div:not(.do-footer-brand) { padding-top:6px; }.au-footer h2 { margin-bottom:11px; font-size:10px; }.au-footer-grid a { margin-bottom:8px; font-size:9px; }.au-copyright { margin-top:28px; font-size:9px; }
}

/* Phone */
@media (max-width:640px) {
  .au-header { height:74px; padding:0 20px; }.au-brand img { width:108px; }.au-menu-toggle span:last-child { display:none; }.au-mobile-nav { top:68px; left:20px; right:20px; grid-template-columns:1fr; }
  .au-hero { min-height:560px; padding:100px 0 50px; }.au-hero-photo { object-position:68% center; }.au-hero-copy { left:auto; right:auto; top:auto; bottom:auto; margin-left:20px; width:calc(100% - 40px); }.au-hero h1 { font-size:clamp(36px,calc(10 * var(--vln-activity-type-vw)),50px); }.au-hero-lead { font-size:14px; }
  .au-intro { padding-inline:20px; }.au-tabs { grid-template-columns:1fr; }.au-tabs a { border-right:1px solid var(--au-line); }
  .au-drainage { padding:34px 15px 40px; }.au-drainage-visual { aspect-ratio:8000/2798; }.au-drainage-items { grid-template-columns:1fr; }.au-drainage-flow { grid-template-columns:1fr; }
  .au-structures { padding:36px 15px 42px; }
  .au-bridge-stack { height:260px; }
  .au-structures-bottom article { grid-template-columns:1fr; }
  .au-structures-bottom img { height:160px; }
  .au-utility { padding-inline:20px; }.au-utility-list { grid-template-columns:1fr; }.au-utility > img { width:calc(100% + 40px); margin-inline:-20px; }
  .au-cta { grid-template-columns:1fr; }.au-cta > div { min-height:310px; padding:40px 24px; }.au-cta > img { height:auto; aspect-ratio:4/3; }
  .au-delivery { grid-template-columns:1fr; padding-inline:15px; }
  .au-footer { padding-inline:22px; }.au-footer-grid { grid-template-columns:repeat(2,1fr); }.au-footer-brand { grid-column:1/-1; grid-row:auto; }
}

@media (max-width:420px) {
  .au-process > div { min-height:68px; padding:7px; font-size:9px; }.au-process svg { width:27px; height:27px; }
  .au-footer-grid { grid-template-columns:1fr; }.au-footer-brand { grid-column:auto; }
}
