/* Wall-top louvered fence service: real photographs and clear product information. */
.hero-service-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0 6px;color:#fff;border-top:1px solid #44515a;margin-top:12px}
.hero-service-link strong{display:block;font-size:20px;font-weight:600;line-height:1.3}.hero-service-link small{display:block;font-size:14px;color:#c4cdd3;margin-top:6px}.hero-service-link>svg{width:24px;height:24px;flex-shrink:0;transform:rotate(-45deg)}
.hero-service-text{display:inline-block;margin-top:24px;font-size:16px;color:#fff;text-decoration:underline;text-underline-offset:5px}.hero-refined .hero-foot{margin-top:20px}
.hero-service-link:hover strong{text-decoration:underline;text-underline-offset:5px}.hero-refined .hero-fence-image img{object-position:50% 50%}
.fence-hero{padding-top:32px;background:#fff}.fence-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}.fence-hero h1{font-family:'Source Sans 3',Arial,sans-serif;font-size:clamp(40px,4.5vw,64px);line-height:1.08;letter-spacing:-1.8px;font-weight:600;margin:0 0 24px}.fence-lead{font-size:20px;line-height:1.6;color:#53616b;max-width:560px}.fence-hero figure,.fence-gallery figure{margin:0}.fence-hero figure img{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;display:block}.fence-hero figcaption,.fence-gallery figcaption{font-size:14px;line-height:1.6;color:#63707a;margin-top:12px}.fence-hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:28px}.fence-hero-actions .button{font-size:16px;min-height:52px}.fence-stock{display:flex;align-items:center;gap:8px;font-size:15px;color:#45525c;margin-top:24px}.fence-stock span{height:8px;width:8px;background:#8a9297;display:block;border-radius:50%;flex-shrink:0}
.fence-specs{background:#f6f6f3}.fence-spec-grid,.fence-gate-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,7vw,100px)}.fence-spec-grid h2,.fence-gate-grid h2,.fence-discovery h2{font-size:clamp(30px,3.2vw,44px);line-height:1.15;letter-spacing:-.7px;font-weight:600;margin:0 0 24px}.fence-spec-grid p,.fence-gate-grid p{font-size:18px;line-height:1.75;color:#53616b}.fence-spec-table{border-collapse:collapse;width:100%;font-size:17px;text-align:left}.fence-spec-table th,.fence-spec-table td{padding:18px 0;border-bottom:1px solid #d3d7d8;vertical-align:top;line-height:1.5}.fence-spec-table tr:first-child th,.fence-spec-table tr:first-child td{border-top:1px solid #d3d7d8}.fence-spec-table th{width:44%;padding-right:24px;font-weight:600}.fence-spec-table td{color:#45525c}
.fence-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fence-gallery img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 72%;display:block}.fence-gallery a{display:block}.fence-gallery a:hover{opacity:.94}.fence-gates{border-top:1px solid #dde0e1}.fence-gate-note{font-weight:600;color:#1b2630!important;border-left:3px solid #cc202b;padding-left:18px}.fence-discovery{background:#f6f6f3}.fence-discovery .section-heading{align-items:center}.fence-process{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;margin:24px 0 0;counter-reset:discovery}.fence-process li{border-top:1px solid #cbd0d2;padding-top:24px;counter-increment:discovery}.fence-process li:before{content:counter(discovery,decimal-leading-zero);font-size:14px;color:#63707a}.fence-process h3{font-size:23px;line-height:1.25;margin:16px 0 12px;font-weight:600}.fence-process p{font-size:17px;line-height:1.7;color:#53616b;margin:0}.fence-hero a:focus-visible,.fence-gallery a:focus-visible,.hero-service-link:focus-visible,.hero-service-text:focus-visible{outline:2px solid #cf202c;outline-offset:5px}
@media(max-width:800px){.fence-hero-grid,.fence-spec-grid,.fence-gate-grid{grid-template-columns:1fr;gap:32px}.fence-hero h1{font-size:44px;letter-spacing:-1px}.fence-hero figure img{aspect-ratio:16/10}.fence-process{grid-template-columns:1fr;gap:28px}.fence-discovery .section-heading{align-items:flex-start}.fence-spec-table{font-size:16px}.fence-spec-table th{width:43%;padding-right:16px}}
@media(max-width:600px){.fence-hero{padding-top:24px}.fence-hero h1{font-size:39px}.fence-lead{font-size:18px}.fence-gallery-grid{grid-template-columns:1fr;gap:28px}.fence-gallery img{aspect-ratio:4/5}.hero-service-link strong{font-size:18px}.hero-service-link small{font-size:13px}.hero-service-text{font-size:15px;line-height:1.5}.fence-hero-actions{gap:18px}.fence-spec-grid h2,.fence-gate-grid h2,.fence-discovery h2{font-size:32px}.fence-spec-table th,.fence-spec-table td{padding-block:16px}.fence-spec-grid p,.fence-gate-grid p{font-size:17px}}
@media(prefers-reduced-motion:reduce){.fence-gallery a{transition:none}}

.hero-inline-service{color:#fff;text-decoration:underline;text-underline-offset:5px;display:inline-block;margin-top:8px}.hero-inline-service:focus-visible{outline:2px solid #fff;outline-offset:5px}

.hero-editorial {
  --hero-paper: #f5f3ef;
  --hero-ink: #19232b;
  --hero-muted: #48545d;
  --hero-rule: #cbc7bf;
  --hero-accent: #a91922;
  background: var(--hero-paper);
  color: var(--hero-ink);
}
.hero-business {
  padding-block: clamp(32px, 4vw, 64px);
}
.hero-business-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.hero-business-kicker::before {
  content: '';
  width: 26px;
  height: 2px;
  margin-right: 4px;
  background: var(--hero-accent);
}
.hero-business-header {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr);
  align-items: end;
  gap: clamp(20px, 4vw, 56px);
  margin-bottom: 28px;
}
.hero-refined .hero-business h1 {
  font-family: 'Source Sans 3', Arial, sans-serif;
  font-size: clamp(34px, 4.1vw, 58px);
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -.04em;
  color: var(--hero-ink);
  margin: 0;
  text-wrap: balance;
}
.hero-business-intro {
  max-width: 38ch;
  margin: 0;
  color: var(--hero-muted);
  font-size: clamp(16px, 1.5vw, 19px);
  line-height: 1.55;
}
.hero-business-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 40px);
}
.hero-business-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: var(--hero-ink);
}
.hero-business-card > img {
  display: block;
  width: 100%;
  height: clamp(185px, 20vw, 300px);
  border-radius: 6px;
  object-fit: cover;
}
.hero-business-caption {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 8px;
  padding-top: 18px;
}
.hero-business-caption p {
  margin: 0;
  color: var(--hero-muted);
  font-size: 16px;
  line-height: 1.5;
}
.hero-business-caption .hero-business-label {
  color: var(--hero-accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.hero-business-caption h2 {
  margin: 0;
  font-size: clamp(24px, 2.5vw, 34px);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.02em;
}
.hero-business-card:first-child { border-top: 3px solid var(--hero-accent); }
.hero-business-card > img { position: static; }
.hero-business-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: auto;
}
.hero-business-action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  min-height: 48px;
  margin-top: auto;
  color: var(--hero-accent);
  font-size: 15px;
  font-weight: 700;
}
.hero-business-action svg { width: 18px; height: 18px; }
.hero-business-download { position: relative; z-index: 1; color: var(--hero-ink); }
.hero-business-primary::after { position: absolute; inset: 0; content: ''; }
.hero-business-card:is(:hover, :focus-visible) .hero-business-action,
.hero-business-action:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 4px; }
.hero-business-card:focus-visible { outline: 2px solid var(--hero-accent); outline-offset: 5px; }
@media (max-width: 700px) {
  .hero-business-header, .hero-business-grid { grid-template-columns: 1fr; }
  .hero-business-header { gap: 14px; }
  .hero-business-grid { gap: 28px; }
  .hero-business-card {
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--hero-rule);
    background: #fff;
  }
  .hero-business-card:first-child { border-top: 3px solid var(--hero-accent); }
  .hero-business-card > img { width: 100%; height: auto; aspect-ratio: 16/9; border-radius: 0; }
  .hero-business-caption { padding: 14px 14px 8px; gap: 6px; }
  .hero-business-caption h2 { font-size: clamp(21px, 5.2vw, 27px); }
  .hero-business-caption p { font-size: 15px; }
  .hero-business-actions { gap: 0 12px; }
}
