@import url('https://use.typekit.net/lne5icq.css');

.bg-white,
.bg-white h2,
.bg-white h3,
.bg-white h4,
.bg-white p,
.bg-white small {
    font-family: "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    font-feature-settings: "kern" on, "liga" on;
    color: inherit;
}

/* SMALL TEXT (Formerly known as...) */
.bg-white small {
    font-size: clamp(0.9rem, 1.5vw, 1rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

/* MAIN H2 HEADLINE */
.bg-white h2 {
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* BIG STAT H3 (Over 10,500 Structures) */
.bg-white h3 {
    font-size: clamp(3.8rem, 12vw, 9rem);
    font-weight: 800;
    line-height: 0.9;
    letter-spacing: -0.02em;
}

/* SUB STAT H4 (built with integrity...) */
.bg-white h4 {
    font-size: clamp(2.9rem, 10vw, 7rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.01em;
}

/* BOTTOM PARAGRAPH (lead) */
.bg-white .lead {
    font-size: clamp(1.2rem, 2.5vw, 1.8rem);
    line-height: 1.6;
    font-weight: 400;
    max-width: 900px;
    margin: 0 auto;
}

#fabrication,
#fabrication h2,
#fabrication p {
    font-family: "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    font-feature-settings: "kern" on, "liga" on;
    color: #212529;
}

/* BIG HEADLINE (h2 with display-5) */
#fabrication .display-4 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
}

/* BODY TEXT (lead paragraph) */
#fabrication .lead {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    line-height: 1.75;
    font-weight: 400;
}

#installation,
#installation h2,
#installation p {
    font-family: "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    font-feature-settings: "kern" on, "liga" on;
    color: #212529;
}

/* BIG HEADLINE (h2 with display-5) */
#installation .display-4 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
}

/* BODY TEXT (lead paragraph) */
#installation .lead {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    line-height: 1.75;
    font-weight: 400;
}

#digitalconversions,
#digitalconversions h2,
#digitalconversions p {
    font-family: "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    font-feature-settings: "kern" on, "liga" on;
    color: #212529;
}

/* BIG HEADLINE (h2 with display-5) */
#digitalconversions .display-4 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
}

/* BODY TEXT (lead paragraph) */
#digitalconversions .lead {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    line-height: 1.75;
    font-weight: 400;
}

#removal,
#removal h2,
#removal p {
    font-family: "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    font-feature-settings: "kern" on, "liga" on;
    color: #212529;
}

/* BIG HEADLINE (h2 with display-5) */
#removal .display-4 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
}

/* BODY TEXT (lead paragraph) */
#removal .lead {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    line-height: 1.75;
    font-weight: 400;
}

#highrisemonopoles,
#highrisemonopoles h2,
#highrisemonopoles p {
    font-family: "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;
    font-feature-settings: "kern" on, "liga" on;
    color: #212529;
}

/* BIG HEADLINE (h2 with display-5) */
#highrisemonopoles .display-4 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    margin-bottom: 1.5rem;
}

/* BODY TEXT (lead paragraph) */
#highrisemonopoles .lead {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    line-height: 1.75;
    font-weight: 400;
}


/* Apply the font globally to the entire #about section */
#about,
#about p,
#about .display-6 {
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.02em;

    color: white;
}

/* BIG HEADLINE (left column) */
#about .display-6 {
    font-size: clamp(2.8rem, 2vw, 6rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.04em;
    margin-bottom: 0;
}

/* BODY TEXT (right column paragraphs) */
#about p:not(.display-6) {
    font-size: clamp(1.15rem, 2.3vw, 1.6rem);
    line-height: 1.78;
    font-weight: 400;
    margin-bottom: 1.5rem;
}

/* Extra spacing between paragraphs */
#about p + p {
    margin-top: 2rem;
}

/* Optional: even tighter headline on very large screens */
@media (min-width: 1400px) {
    #about .display-6 {
        line-height: 1.04;
        letter-spacing: -0.05em;
    }
}

#contactus,
#contactus h2,
#contactus .fs-4,
#contactus div,
#contactus label,
#contactus input,
#contactus textarea,
#contactus button,
#contactus small,
#contactus span {
    font-family: "Neue Haas Grotesk Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: -0.01em;
    font-feature-settings: "kern" on, "liga" on;
    color: white;
}

/* NAME H2 */
#contactus h2 {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
}

/* PHONE (fs-4) */
#contactus .fs-4 {
    font-size: clamp(1.2rem, 3vw, 1.5rem);
    font-weight: 500;
    line-height: 1.2;
}

/* ADDRESS & HOURS TEXT */
#contactus div:not(.mb-3, .d-grid, .form-label) {
    font-size: clamp(1rem, 2vw, 1.2rem);
    line-height: 1.6;
    font-weight: 400;
}

/* HOURS BOLD LABEL */
#contactus .fw-bold.mb-2 {
    font-size: clamp(1.1rem, 2.2vw, 1.3rem);
    font-weight: 600;
    letter-spacing: -0.01em;
}

/* FORM LABELS */
#contactus .form-label {
    font-size: clamp(1rem, 2vw, 1.1rem);
    font-weight: 500;
    letter-spacing: -0.005em;
}

/* INPUTS & TEXTAREA */
#contactus input.form-control,
#contactus textarea.form-control {
    color: black;
    font-size: clamp(1rem, 2vw, 1.1rem);
    line-height: 1.5;
    font-weight: 400;
}

#contactus input.form-control::placeholder,
#contactus textarea.form-control::placeholder {
    color: rgb(76, 134, 125);;
}

/* TEXTAREA COUNTER */
#contactus .form-label.small {
    font-size: 0.85rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.8);
}

/* SUBMIT BUTTON */
#contactus .btn-primary {
    background-color: rgb(76, 134, 125);
    border: none;
    font-size: clamp(1rem, 2vw, 1.1rem);
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    transition: background-color 0.3s ease;
}

#contactus .btn-primary:hover {
    background-color: rgb(60, 110, 100);
}

/* Responsive adjustments */
@media (max-width: 991px) {
    #contactus h2 {
        text-align: center !important;
    }
    #contactus .text-md-start {
        text-align: center !important;
    }
}

/* NEW: Copyright footer styling (small text at bottom) */
#contactus .small.opacity-75 {
    font-size: clamp(0.8rem, 1.5vw, 0.9rem);
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -0.005em;
}

/* Optional: tighter spacing on large screens */
@media (min-width: 1400px) {
    #contactus h2 {
        line-height: 1.05;
        letter-spacing: -0.03em;
    }
}
