/* Corporation Template 4 - professional services / trades company layout
   Fonts: Oswald (headings), Montserrat (body)
   Colors: --t4-dark and --t4-accent, set by the page from the company's t4_page colors
   (Williams & Williams: #393939 dark gray, #A4B6C2 steel blue), white, black */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Montserrat:wght@300;400;500;600;700&display=swap');

/* ============ Base ============ */
.t4-page {
    font-family: 'Montserrat', sans-serif;
    line-height: 1.6;
    overflow-x: hidden;
    color: var(--t4-dark);
    margin: 0;
    padding: 0;
}
.t4-page h1, .t4-page h2, .t4-page h3, .t4-page h4, .t4-page h5 {
    font-family: 'Oswald', sans-serif;
}

/* ============ Header / Nav ============ */
.t4-page { margin: 0 !important; padding: 0 !important; }
.t4-header .container { padding-top: 0 !important; padding-bottom: 0 !important; }
@media (max-width: 991px) {
    header.t4-header .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    header.t4-header .container > .row {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    header.t4-header .container > .row > .col-6,
    header.t4-header .container > .row > .col-lg-2 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    header.t4-header .t4-auth-row {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}
.t4-header .row { align-items: center; }
.t4-header .t4-mobile-toggle { margin-top: 0; padding: 0 8px; }
.t4-header {
    background: transparent;
    padding: 0;
    z-index: 1000;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}
.t4-header-logo {
    max-height: 55px;
    width: auto;
    margin: 0 !important;
    display: inline-block !important;
}
header.t4-header img {
    display: inline-block !important;
    margin: 0 !important;
}
@media (max-width: 991px) {
    header.t4-header .container > .row > .col-6:first-child,
    header.t4-header .container > .row > .col-lg-2:first-child {
        text-align: left !important;
    }
    header.t4-header .t4-header-logo {
        max-height: 50px;
    }
}
.t4-header .row { padding: 10px 0; margin: 0; }
.t4-header .col-lg-2,
.t4-header .col-lg-8,
.t4-header .col-6 { padding-top: 0; padding-bottom: 0; }

/* Auth row */
.t4-auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0;
    margin: 0;
    line-height: 1;
}
.t4-header a.t4-auth-link,
.t4-header a.t4-auth-link:visited,
.t4-header a.t4-auth-link:active {
    color: #fff !important;
    text-decoration: none !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
    padding: 2px 8px;
    transition: color 0.3s ease;
}
.t4-header a.t4-auth-link:hover {
    color: var(--t4-accent) !important;
    text-decoration: none !important;
}
.t4-auth-name {
    color: rgba(255,255,255,0.7);
    font-family: 'Montserrat', sans-serif;
    font-size: 0.8rem;
    padding: 0 8px;
}

/* Center nav links */
.t4-nav {
    display: flex;
    align-items: center;
    gap: 0;
}
.t4-nav > a,
.t4-nav-dropdown > a {
    color: #fff;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.9rem;
    letter-spacing: 0.03em;
    padding: 8px 14px;
    transition: color 0.3s ease;
    white-space: nowrap;
}
.t4-nav > a:hover,
.t4-nav-dropdown > a:hover {
    color: var(--t4-accent);
}

/* Dropdown */
.t4-nav-dropdown {
    position: relative;
}
.t4-nav-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 4px;
    min-width: 200px;
    padding: 8px 0;
    z-index: 1001;
}
.t4-nav-dropdown:hover .t4-nav-dropdown-menu {
    display: block;
}
.t4-nav-dropdown-menu a {
    display: block;
    color: #fff;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.85rem;
    padding: 8px 16px;
    transition: background 0.2s ease;
}
.t4-nav-dropdown-menu a:hover {
    background: #333;
    color: var(--t4-accent);
}

/* Call Us button — pill shape */
.t4-header .t4-call-btn {
    color: #fff;
    text-decoration: none;
    border: 2px solid #fff;
    border-radius: 30px;
    padding: 6px 16px;
    margin-right: 30px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    transition: all 0.3s ease;
    white-space: nowrap;
}
.t4-header .t4-call-btn:hover {
    background: #fff;
    color: #000;
}

/* Mobile menu */
.t4-mobile-toggle {
    background: none;
    border: none;
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 4px 8px;
}
.t4-mobile-nav {
    display: none;
    flex-direction: column;
    background: #1a1a1a;
    padding: 1rem;
    border-radius: 4px;
    margin-top: 0.5rem;
}
.t4-mobile-nav.show {
    display: flex;
}
.t4-mobile-nav a {
    color: #fff;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
    padding: 10px 16px;
    border-bottom: 1px solid #333;
    transition: color 0.2s ease;
}
.t4-mobile-nav a:last-child {
    border-bottom: none;
}
.t4-mobile-nav a:hover {
    color: var(--t4-accent);
}

/* ============ Hero Section ============ */
.t4-hero {
    position: relative;
    min-height: 85vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 120px 20px 80px;
    transition: background-image 1.5s ease-in-out;
}
.t4-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}
.t4-hero .container {
    position: relative;
    z-index: 2;
}
.t4-hero h1 {
    font-size: 3.5rem;
    font-weight: 700;
    text-shadow: 3px 3px 15px rgba(0,0,0,0.4);
    margin-bottom: 1rem;
    line-height: 1.2;
}
.t4-hero .t4-subtitle {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-shadow: 0 0 15px rgba(0,0,0,0.4);
    margin-bottom: 2rem;
}
.t4-hero .btn {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 14px 36px;
    font-size: 1rem;
    border-radius: 4px;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
}
.t4-hero .btn-primary {
    background: var(--t4-dark);
    border: 2px solid #fff;
    color: #fff;
}
.t4-hero .btn-primary:hover {
    background: #fff;
    color: var(--t4-dark);
}

/* ============ About Section ============ */
.t4-about {
    padding: 0 0 60px;
    background: #fff;
}
.t4-about h2 {
    font-size: 2rem;
    font-weight: 600;
    color: var(--t4-dark);
    margin-bottom: 1rem;
}
.t4-about p {
    color: #555;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.t4-about .btn-dark {
    background: var(--t4-dark);
    border: none;
    padding: 12px 32px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    letter-spacing: 0.05em;
    border-radius: 4px;
    transition: all 0.3s ease;
}
.t4-about .btn-dark:hover {
    background: #000;
    transform: translateY(-2px);
}

/* ============ Services Banner (parallax) ============ */
.t4-services-banner {
    position: relative;
    padding: 100px 20px;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    text-align: center;
    color: #fff;
}
.t4-services-banner::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1;
}
.t4-services-banner .container {
    position: relative;
    z-index: 2;
}
.t4-services-banner h2 {
    font-size: 2.5rem;
    font-weight: 700;
    text-shadow: 0 0 15px rgba(0,0,0,0.4);
    margin-bottom: 1rem;
}
.t4-services-banner .t4-icons-row {
    margin: 2rem 0;
}
.t4-services-banner .t4-icon-item {
    padding: 1rem;
}
.t4-services-banner .t4-icon-item i {
    font-size: 3rem;
    margin-bottom: 0.5rem;
    display: block;
    color: var(--t4-accent);
}
.t4-services-banner p {
    font-size: 1rem;
    line-height: 1.8;
    max-width: 800px;
    margin: 0 auto 2rem;
    text-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.t4-services-banner .btn-outline-light {
    border: 2px solid #fff;
    color: #fff;
    padding: 12px 32px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border-radius: 4px;
    transition: all 0.3s ease;
}
.t4-services-banner .btn-outline-light:hover {
    background: #fff;
    color: var(--t4-dark);
}

/* ============ Services Detail (alternating) ============ */
.t4-services {
    padding: 0;
}
.t4-service-row {
    padding: 80px 0;
}
.t4-service-row:nth-child(odd) {
    background: #f8f8f8;
}
.t4-service-row:nth-child(even) {
    background: #fff;
}
.t4-service-row h3 {
    font-size: 2rem;
    font-weight: 600;
    color: var(--t4-dark);
    margin-bottom: 1rem;
}
.t4-service-row p {
    color: #555;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.t4-service-row .btn {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    padding: 10px 28px;
    border-radius: 4px;
    letter-spacing: 0.03em;
}
.t4-service-row .btn-dark {
    background: var(--t4-dark);
    border: none;
}
.t4-service-row .btn-dark:hover {
    background: #000;
}
.t4-service-row .btn-outline-dark {
    border: 2px solid var(--t4-dark);
    color: var(--t4-dark);
}
.t4-service-row .btn-outline-dark:hover {
    background: var(--t4-dark);
    color: #fff;
}
.t4-service-img {
    min-height: 300px;
    background-size: cover;
    background-position: center;
    border-radius: 8px;
}

/* ============ Community Section ============ */
.t4-community {
    padding: 100px 0;
    background: #f8f8f8;
}
.t4-community h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--t4-dark);
    margin-bottom: 1rem;
}
.t4-community > .container > p {
    color: #555;
    max-width: 800px;
    margin: 0 auto 3rem;
    font-size: 1rem;
    line-height: 1.8;
}
.t4-community-card {
    background: #fff;
    border-radius: 8px;
    padding: 2rem;
    height: 100%;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.t4-community-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}
.t4-community-card h4 {
    font-size: 1.3rem;
    font-weight: 600;
    color: var(--t4-dark);
    margin-bottom: 1rem;
}
.t4-community-card p {
    color: #666;
    font-size: 0.95rem;
    line-height: 1.7;
}

/* ============ Feasibility Section ============ */
.t4-feasibility {
    padding: 100px 0;
    background: #fff;
}
.t4-feasibility h3 {
    font-size: 2rem;
    font-weight: 600;
    color: var(--t4-dark);
    margin-bottom: 1rem;
}
.t4-feasibility p {
    color: #555;
    font-size: 1rem;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.t4-feasibility .btn-dark {
    background: var(--t4-dark);
    border: none;
    padding: 12px 32px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border-radius: 4px;
}
.t4-feasibility .btn-dark:hover {
    background: #000;
}

/* ============ FAQ Section ============ */
.t4-faq {
    position: relative;
    padding: 100px 0;
    background: #f8f8f8;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.t4-faq::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(242, 244, 247, 0.88);
    z-index: 0;
}
.t4-faq > .container {
    position: relative;
    z-index: 1;
}
.t4-faq h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--t4-dark);
    margin-bottom: 0.5rem;
}
.t4-faq .t4-faq-subtitle {
    color: #666;
    margin-bottom: 3rem;
}
.t4-faq .accordion-item {
    border: none;
    margin-bottom: 1rem;
    border-radius: 8px !important;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.t4-faq .accordion-button {
    font-family: 'Oswald', sans-serif;
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--t4-dark);
    background: #fff;
    padding: 1.2rem 1.5rem;
}
.t4-faq .accordion-button:not(.collapsed) {
    background: var(--t4-dark);
    color: #fff;
    box-shadow: none;
}
.t4-faq .accordion-button:focus {
    box-shadow: none;
}
.t4-faq .accordion-body {
    font-size: 0.95rem;
    line-height: 1.8;
    color: #555;
    padding: 1.5rem;
}

/* ============ Contact Section ============ */
.t4-contact {
    position: relative;
    padding: 100px 0;
    background: #fff;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}
.t4-contact::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 0;
}
.t4-contact > .container {
    position: relative;
    z-index: 1;
}
.t4-contact h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--t4-dark);
    margin-bottom: 0.5rem;
}
.t4-contact .t4-contact-subtitle {
    color: #666;
    margin-bottom: 3rem;
}
.t4-contact .t4-contact-form .form-control {
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 12px 16px;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.95rem;
    margin-bottom: 1rem;
}
.t4-contact .t4-contact-form .form-control:focus {
    border-color: var(--t4-dark);
    box-shadow: 0 0 0 2px rgba(57,57,57,0.1);
}
.t4-contact .t4-contact-form .btn-dark {
    background: var(--t4-dark);
    border: none;
    padding: 14px 40px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    border-radius: 4px;
    width: 100%;
}
.t4-contact .t4-contact-form .btn-dark:hover {
    background: #000;
}
.t4-contact-info h4 {
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--t4-dark);
    margin-bottom: 1.5rem;
}
.t4-contact-info p {
    color: #555;
    margin-bottom: 0.5rem;
}
.t4-contact-info a {
    color: var(--t4-dark);
    text-decoration: none;
    font-weight: 500;
}
.t4-contact-info a:hover {
    color: #000;
    text-decoration: underline;
}
.t4-contact-info i {
    width: 24px;
    color: var(--t4-accent);
    margin-right: 8px;
}

/* ============ Footer ============ */
.t4-footer {
    /* The page's own dark colour under white text (t4_page colors), the footer's only colour source. */
    background: var(--t4-dark);
    color: #fff;
    padding: 60px 0 30px;
}
.t4-footer a { color: #fff; }
.t4-footer h5 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    letter-spacing: 0.05em;
}
.t4-footer p {
    font-size: 0.9rem;
    margin-bottom: 0.3rem;
}
.t4-footer a {
    text-decoration: none;
    font-size: 0.9rem;
    transition: opacity 0.2s ease;
}
.t4-footer a:hover {
    opacity: 0.75;
}
.t4-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.t4-footer ul li {
    margin-bottom: 0.4rem;
}
.t4-footer .t4-footer-bottom {
    border-top: 1px solid #333;
    margin-top: 2rem;
    padding-top: 1.5rem;
    text-align: center;
    font-size: 0.85rem;
    color: #888;
}

/* ============ Responsive ============ */
@media (max-width: 991px) {
    /* iOS Safari / Android can't paint background-attachment:fixed with cover —
       it drops the image entirely, leaving only the dark ::before overlay (gray box).
       Force scroll attachment on touch devices. !important beats the inline fixed
       on .t4-faq / .t4-contact set in Corporation_functions.php. */
    .t4-hero, .t4-services-banner, .t4-faq, .t4-contact { background-attachment: scroll !important; }
    /* On mobile the about-section image just adds a tall block + gap under the
       hero — drop it so the "Experienced…" text sits straight under the hero. */
    .t4-about .row > div:first-child { display: none; }
    .t4-hero h1 { font-size: 2.5rem; }
    .t4-hero .t4-subtitle { font-size: 0.9rem; }
    .t4-about h2,
    .t4-services-banner h2,
    .t4-community h2,
    .t4-faq h2,
    .t4-contact h2 { font-size: 2rem; }
    .t4-service-row h3,
    .t4-feasibility h3 { font-size: 1.6rem; }
}
@media (max-width: 767px) {
    .t4-hero { min-height: 60vh; padding: 80px 15px 60px; }
    .t4-hero h1 { font-size: 2rem; }
    .t4-community, .t4-feasibility, .t4-faq, .t4-contact { padding: 60px 0; }
    /* About sits just under the hero on mobile — small 5px top breather. */
    .t4-about { padding: 5px 0 0; }
    .t4-service-row { padding: 50px 0; }
    .t4-services-banner { padding: 60px 15px; }
}

/* ============ Blocks for a trades company (services grid, features, gallery, quote form) ============ */
.t4-header-name {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #fff;
}
.t4-svc { padding: 80px 0; background: #f8f8f8; }
.t4-svc h2, .t4-gal h2 { font-size: 2.2rem; font-weight: 600; text-align: center; margin-bottom: 1rem; color: var(--t4-dark); }
.t4-svc-lead { text-align: center; max-width: 760px; margin: 0 auto 2.5rem; color: #555; }
.t4-svc-card {
    height: 100%;
    background: #fff;
    border-radius: 8px;
    border-top: 4px solid var(--t4-accent);
    padding: 1.25rem 1rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.t4-svc-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,0.12); }
.t4-svc-card h4 { font-size: 1.1rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; margin: 0; color: var(--t4-dark); }
.t4-svc-card p { font-size: 0.9rem; color: #555; margin: 0.5rem 0 0; }
.t4-feat { padding: 90px 0; background: linear-gradient(135deg, var(--t4-dark), #000); color: #fff; }
.t4-feat h2 { font-size: 2.4rem; font-weight: 700; margin-bottom: 1rem; }
.t4-feat p { color: rgba(255,255,255,0.85); line-height: 1.8; }
.t4-feat h3 { font-size: 1.6rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--t4-accent); margin-bottom: 1.25rem; }
.t4-feat-list { list-style: none; padding: 0; margin: 0; }
.t4-feat-list li { display: flex; gap: 0.75rem; align-items: baseline; padding: 0.6rem 0; border-bottom: 1px solid rgba(255,255,255,0.12); font-weight: 500; }
.t4-feat-list li:last-child { border-bottom: 0; }
.t4-feat-list i { color: var(--t4-accent); flex: 0 0 auto; }
.t4-gal { padding: 80px 0; background: #fff; }
.t4-gal h2 { margin-bottom: 2rem; }
.t4-gal-item { margin: 0; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.1); background: #fff; }
.t4-gal-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.t4-gal-item figcaption { padding: 0.8rem 1rem; font-family: 'Oswald', sans-serif; font-size: 1.15rem; text-transform: uppercase; letter-spacing: 0.04em; text-align: center; color: var(--t4-dark); }
.t4-quote { position: relative; padding: 90px 0; background-color: var(--t4-dark); background-size: cover; background-position: center; }
.t4-quote::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.6); }
.t4-quote .container { position: relative; }
.t4-quote-form, .t4-quote-info { background: rgba(255,255,255,0.96); border-radius: 8px; padding: 2rem; }
.t4-quote-form h2 { font-size: 2rem; font-weight: 700; color: var(--t4-dark); margin-bottom: 0.5rem; text-align: center; }
.t4-quote-form p { color: #555; text-align: center; }
.t4-quote-form .form-control, .t4-quote-form .form-select { padding: 0.7rem 0.9rem; }
.t4-quote-hp { position: absolute; left: -9999px; top: -9999px; }
.t4-quote-foot { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 1rem; }
.t4-quote-foot .btn { background: var(--t4-dark); border-color: var(--t4-dark); padding: 12px 32px; font-weight: 600; letter-spacing: 0.05em; }
.t4-quote-status { font-weight: 600; color: #1e7b34; }
.t4-quote-status.bad { color: #b02a37; }
.t4-quote-info h4 { font-size: 1.4rem; color: var(--t4-dark); margin-bottom: 1rem; }
.t4-quote-info p { margin-bottom: 0.6rem; }
.t4-quote-info i { width: 22px; color: var(--t4-dark); }
.t4-quote-info a { color: var(--t4-dark); font-weight: 600; text-decoration: none; }
@media (max-width: 767px) {
    .t4-svc, .t4-feat, .t4-gal, .t4-quote { padding: 60px 0; }
    .t4-feat h2, .t4-svc h2, .t4-gal h2, .t4-quote-form h2 { font-size: 1.8rem; }
    .t4-quote-form, .t4-quote-info { padding: 1.25rem; }
}
/* combined.css boxes every "section h2" (inline-block, 2px border); these blocks' headings are plain. */
.t4-svc h2, .t4-feat h2, .t4-gal h2, .t4-quote-form h2 { display: block; border: 0; padding: 0; }
.t4-svc .container, .t4-feat .container, .t4-gal .container, .t4-quote .container { padding-left: 16px; padding-right: 16px; }
.t4-preview-note { margin-top: 0.75rem; padding: 0.6rem 0.9rem; border-radius: 6px; background: #fff3cd; color: #664d03; font-weight: 600; font-size: 0.9rem; }
/* An about block without a picture: its text column is the first child, which the phone rule above would hide. */
.t4-about .row.t4-noimg > div:first-child { display: block; }
.t4-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; pointer-events: none; }
/* The hero button: combined.css gives every .btn-primary a fixed 30px height and line-height 1, and on phones 1px 2px
   padding (both !important there), so the label spilled out of the bottom of its box. Its text sits centred in the box,
   both ways, at every width, with no link underline (operator via WebBoss, 2026-10-23). */
.t4-page .t4-hero .btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    height: auto !important;
    line-height: 1.2 !important;
    padding: 14px 36px !important;
    font-size: 1rem !important;
    text-decoration: none;
}
.t4-page .t4-hero .btn i { margin: 0 !important; }
@media (max-width: 767px) {
    .t4-page .t4-hero .btn { padding: 12px 24px !important; font-size: 0.9rem !important; }
}
/* The quote form's send button sits centred under the form, like its heading. */
.t4-quote-foot { justify-content: center; }
.t4-quote-status:empty { display: none; }
