.ibw-site .ibw-page-hero {
    position: relative;
    min-height: min(43rem, 78vh);
    overflow: clip;
    padding-block: clamp(5.75rem, 9vw, 7.75rem) clamp(4.5rem, 7vw, 6.5rem);
    background:
        radial-gradient(circle at 79% 34%, rgba(22, 131, 255, .22), transparent 26rem),
        linear-gradient(180deg, rgba(2, 6, 12, .1), rgba(2, 6, 12, .7));
}

.ibw-site .ibw-page-hero__brand-signature {
    position: absolute;
    z-index: 5;
    top: 1rem;
    left: max(var(--ibw-gutter), calc((100% - var(--ibw-container)) / 2));
    display: block;
    width: clamp(7rem, 9vw, 8.25rem);
    filter: drop-shadow(0 0 .55rem rgba(22, 131, 255, .28));
    animation: ibw-page-brand-pulse 2.8s ease-in-out infinite;
}

.ibw-site .ibw-page-hero__brand-signature img { display: block; width: 100%; height: auto; }

@keyframes ibw-page-brand-pulse { 50% { transform: scale(1.035); } }

.ibw-site .ibw-page-hero::before {
    position: absolute;
    inset: 0;
    content: '';
    pointer-events: none;
    opacity: .3;
    background-image:
        linear-gradient(rgba(84, 181, 255, .08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(84, 181, 255, .08) 1px, transparent 1px);
    background-size: 4.5rem 4.5rem;
    mask-image: linear-gradient(90deg, transparent, #000 58%, transparent);
}

.ibw-site .ibw-page-hero__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .76fr) minmax(30rem, 1.24fr);
    align-items: center;
    gap: clamp(2.5rem, 4.5vw, 4.75rem);
}

.ibw-site .ibw-page-hero__content {
    position: relative;
    z-index: 4;
}

.ibw-site .ibw-page-hero__nationwide {
    display: inline-flex;
    max-width: 39rem;
    align-items: center;
    gap: .72rem;
    margin: 0 0 1rem;
    padding: .48rem .72rem .48rem .5rem;
    border: 1px solid rgba(84, 181, 255, .18);
    border-radius: .85rem;
    background: linear-gradient(110deg, rgba(16, 60, 106, .34), rgba(4, 14, 27, .18));
    font-size: .76rem;
    line-height: 1.45;
}

.ibw-site .ibw-page-hero__nationwide > p { min-width: 0; margin: 0; color: var(--ibw-muted); }
.ibw-site .ibw-page-hero__nationwide strong { display: block; color: var(--ibw-text); font-size: .82rem; font-weight: 720; }
.ibw-site .ibw-page-hero__nationwide span { display: block; }

.ibw-site .ibw-page-hero .ibw-hero-truck {
    --truck-asphalt: #343c45;
    --truck-shoulder: #58616a;
    --truck-marking: #f5f0dc;
    position: relative;
    display: block;
    flex: 0 0 7rem;
    height: 4rem;
    overflow: hidden;
    isolation: isolate;
    mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}

.ibw-site .ibw-page-hero .ibw-hero-truck__road {
    position: absolute;
    inset: auto -1rem .2rem;
    height: 1.5rem;
    border-block: 2px solid var(--truck-shoulder);
    background: var(--truck-asphalt);
    transform: perspective(120px) rotateX(48deg) rotateZ(5deg);
}

.ibw-site .ibw-page-hero .ibw-hero-truck__road::after {
    position: absolute;
    inset: 50% 0 auto;
    height: 2px;
    content: '';
    background: repeating-linear-gradient(90deg, var(--truck-marking) 0 12px, transparent 12px 23px);
}

.ibw-site .ibw-page-hero .ibw-hero-truck__travel { position: absolute; inset: 0; display: grid; align-items: end; justify-items: center; }
.ibw-site .ibw-page-hero .ibw-hero-truck__vehicle { position: relative; bottom: .18rem; display: block; width: 5.3rem; height: auto; }
.ibw-site[data-ibw-motion='ready'] .ibw-page-hero .ibw-hero-truck__travel { animation: ibw-page-truck-pass 3s linear .4s infinite both; }

@keyframes ibw-page-truck-pass {
    from { transform: translate3d(-105%, 0, 0); }
    to { transform: translate3d(105%, 0, 0); }
}

.ibw-site .ibw-page-hero__label {
    display: inline-flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.5rem;
    color: var(--ibw-blue-bright);
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.ibw-site .ibw-page-hero__label::before {
    display: none;
    content: none;
}

.ibw-site .ibw-page-hero h1 {
    max-width: 19ch;
    margin-bottom: .85rem;
    font-size: clamp(2.35rem, 3.8vw, 3.7rem);
    font-weight: 690;
    letter-spacing: -.064em;
    line-height: .97;
}

.ibw-site .ibw-page-hero__tagline {
    max-width: 34rem;
    margin: 0 0 .8rem;
    color: #7ac9ff;
    font-size: clamp(.78rem, .95vw, .88rem);
    font-weight: 760;
    letter-spacing: .075em;
    line-height: 1.5;
    text-transform: uppercase;
}

.ibw-site .ibw-page-hero__description {
    max-width: 39rem;
    margin-bottom: 2rem;
    font-size: clamp(1rem, 1.45vw, 1.18rem);
    line-height: 1.7;
}

.ibw-site .ibw-page-hero__visual {
    position: relative;
    min-height: clamp(27rem, 42vw, 38rem);
}

.ibw-site .ibw-page-hero__photo {
    position: absolute;
    inset: 0 calc(50% - 50vw) 0 0;
    margin: 0;
    overflow: hidden;
    border-radius: 1.35rem 0 0 1.35rem;
    background: #07111e;
    box-shadow: 0 2.5rem 7rem rgba(0, 0, 0, .38);
}

.ibw-site .ibw-page-hero__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(.88) contrast(1.06) brightness(.8);
}

.ibw-site .ibw-page-hero[data-ibw-page-hero-ready='true'] [data-ibw-page-hero-copy],
.ibw-site .ibw-page-hero[data-ibw-page-hero-ready='true'] [data-ibw-page-hero-visual] {
    opacity: 0;
    transform: translateY(1.25rem);
}

.ibw-site .ibw-page-hero[data-ibw-page-hero-ready='true'] .is-visible {
    opacity: 1;
    transform: none;
    transition: opacity 760ms var(--ibw-ease-out), transform 760ms var(--ibw-ease-out);
}

.ibw-site .ibw-page-hero[data-ibw-page-hero-ready='true'] [data-ibw-page-hero-visual].is-visible { transition-delay: 90ms; }

@media (max-width: 960px) {
    .ibw-site .ibw-page-hero { min-height: auto; padding-top: clamp(5.75rem, 13vw, 7rem); }
    .ibw-site .ibw-page-hero__layout { grid-template-columns: 1fr; gap: 2.5rem; }
    .ibw-site .ibw-page-hero h1 { max-width: 19ch; }
    .ibw-site .ibw-page-hero__visual { min-height: clamp(25rem, 72vw, 35rem); }
    .ibw-site .ibw-page-hero__photo { inset: 0; border-radius: 1.2rem; }
}

@media (max-width: 560px) {
    .ibw-site .ibw-page-hero { padding-top: 5.4rem; }
    .ibw-site .ibw-page-hero__brand-signature { top: .75rem; width: 6.5rem; }
    .ibw-site .ibw-page-hero__nationwide { width: 100%; font-size: .7rem; }
    .ibw-site .ibw-page-hero__nationwide strong { font-size: .76rem; }
    .ibw-site .ibw-page-hero .ibw-hero-truck { flex-basis: 5.2rem; height: 3.6rem; }
    .ibw-site .ibw-page-hero .ibw-hero-truck__vehicle { width: 4.5rem; }
    .ibw-site .ibw-page-hero h1 { max-width: none; font-size: clamp(2.05rem, 9.8vw, 3.1rem); }
    .ibw-site .ibw-page-hero__tagline { font-size: .72rem; }
    .ibw-site .ibw-page-hero__visual { min-height: 23rem; }
    .ibw-site .ibw-page-hero__photo { inset: 0; border-radius: .95rem; }
}

.ibw-site:is([data-ibw-page-key='about'], [data-ibw-page-key='services'], [data-ibw-page-key='courses'], [data-ibw-page-key='contact']) .ibw-eyebrow::before,
.ibw-site:is([data-ibw-page-key='about'], [data-ibw-page-key='services'], [data-ibw-page-key='courses'], [data-ibw-page-key='contact']) .ibw-services__heading::after {
    display: none;
    content: none;
}

.ibw-site:is([data-ibw-page-key='about'], [data-ibw-page-key='services'], [data-ibw-page-key='courses'], [data-ibw-page-key='contact']) .ibw-section-title {
    font-size: clamp(1.9rem, 3.7vw, 3.25rem);
    line-height: 1.02;
}

.ibw-site[data-ibw-page-key='services'] .ibw-services__heading h2 {
    font-size: clamp(2.25rem, 4vw, 3.65rem);
}

.ibw-site:is([data-ibw-page-key='about'], [data-ibw-page-key='services'], [data-ibw-page-key='courses'], [data-ibw-page-key='contact']) .ibw-service-reviews__heading h2,
.ibw-site:is([data-ibw-page-key='about'], [data-ibw-page-key='services'], [data-ibw-page-key='courses'], [data-ibw-page-key='contact']) .ibw-cta__copy h2 {
    font-size: clamp(1.95rem, 3.8vw, 3.35rem);
}

.ibw-site[data-ibw-page-key='about'] .ibw-about-story__principles h3,
.ibw-site[data-ibw-page-key='contact'] .ibw-contact-panel__channels h3,
.ibw-site[data-ibw-page-key='contact'] .ibw-contact-panel__paths h3 {
    font-size: clamp(1.3rem, 2.2vw, 1.9rem);
}

@media (hover: none), (prefers-reduced-motion: reduce) {
    .ibw-site .ibw-page-hero__brand-signature,
    .ibw-site[data-ibw-motion='ready'] .ibw-page-hero .ibw-hero-truck__travel { animation: none; }
    .ibw-site .ibw-page-hero[data-ibw-page-hero-ready='true'] [data-ibw-page-hero-copy],
    .ibw-site .ibw-page-hero[data-ibw-page-hero-ready='true'] [data-ibw-page-hero-visual] { opacity: 1; transform: none; transition: none; }
}
