/* 2026-08 visual refinements */
.page-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 108px 0 88px;
    background: url("../images/cta.jpg") center 58% / cover no-repeat;
    color: #fff;
}

.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(115deg, rgba(5, 45, 67, .92), rgba(8, 104, 119, .72) 55%, rgba(8, 167, 163, .5));
}

.page-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: radial-gradient(circle at 80% 20%, rgba(142, 244, 231, .25), transparent 27%);
}

.page-hero span { color: #6de3d9; }
.page-hero h1 { color: #fff; text-shadow: 0 3px 20px rgba(0, 26, 40, .25); }
.page-hero p { color: #e4f8f6; }

.hero-proof {
    border: 1px solid rgba(255, 255, 255, .42);
    border-bottom: 0;
    background: linear-gradient(115deg, rgba(5, 59, 77, .95), rgba(8, 150, 151, .9));
    color: #eaffff;
    box-shadow: 0 -12px 40px rgba(3, 35, 50, .2);
    backdrop-filter: blur(14px);
}

.hero-proof b {
    display: grid;
    place-items: center;
    min-width: 62px;
    height: 62px;
    border-radius: 18px;
    background: rgba(255, 255, 255, .13);
    font-size: 31px;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .15);
}

.hero-proof span {
    font-weight: 800;
    letter-spacing: .04em;
}

.hero-proof span:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, .24);
    padding-right: 20px;
}

.float-actions a {
    background: linear-gradient(145deg, #0abbb6, #087d92);
    box-shadow: 0 12px 28px rgba(5, 56, 72, .28);
    font-size: 0;
    transition: transform .25s;
}

.float-actions a:hover { transform: translateY(-3px) scale(1.04); }
.float-actions a:last-child { background: #27b843; }
.float-actions svg { display: block; width: 27px; height: 27px; fill: currentColor; }
.float-actions .line-icon { width: 31px; height: 31px; }
.float-actions .line-dot { fill: #27b843; }

@media (max-width: 600px) {
    .home-hero { min-height: 720px; }
    .hero-content { padding: 62px 0 188px; }
    .hero-content > span { font-size: 11px; letter-spacing: .1em; }
    .hero-content h1 {
        max-width: 100%;
        margin: 14px 0;
        font-size: clamp(29px, 8.2vw, 34px);
        line-height: 1.28;
        letter-spacing: -.025em;
        text-wrap: balance;
    }
    .hero-content p { font-size: 16px; line-height: 1.75; }
    .hero-proof { padding: 16px 18px; gap: 10px; }
    .hero-proof b { min-width: 52px; height: 52px; font-size: 25px; }
    .hero-proof span { font-size: 14px; }
    .hero-proof span:not(:last-child) { padding-right: 10px; }
    .page-hero { padding: 70px 0 62px; background-position: center; }
    .page-hero h1 {
        font-size: clamp(28px, 8vw, 34px);
        line-height: 1.35;
        text-wrap: balance;
    }
    .page-hero p { font-size: 16px; }

    /* Desktop columns become stacked on mobile; reset their desktop gaps. */
    .trust-grid {
        gap: 20px;
    }

    .trust-grid > div:first-child h2 {
        margin-bottom: 0;
    }

    .detail-grid,
    .split,
    .contact-grid {
        gap: 28px;
    }

    .footer-grid {
        gap: 30px;
    }

    .section-head {
        margin-bottom: 28px;
    }

    .trust h2,
    .section-head h2,
    .process h2,
    .areas h2,
    article h2,
    .split h2,
    .contact h2,
    .case-note h2 {
        font-size: clamp(25px, 7vw, 29px);
        line-height: 1.4;
        letter-spacing: -.02em;
        text-wrap: balance;
    }

    .areas h2 {
        font-size: clamp(21px, 6.1vw, 24px);
        letter-spacing: -.04em;
        white-space: nowrap;
    }

    .cta h2 {
        font-size: clamp(18px, 5.75vw, 22px);
        line-height: 1.45;
        letter-spacing: -.025em;
        white-space: nowrap;
    }

    .card-body h3,
    .value h3,
    .faq-item button {
        text-wrap: balance;
    }
}

@media (max-width: 340px) {
    .hero-content h1 { font-size: 28px; }
    .areas h2 { font-size: 20px; }
    .cta h2 { font-size: 17px; }
}
