/* Shared atmosphere is visible through the media alpha, including the left edge. */
.ibw-site .ibw-hero { position: relative; background: transparent; }
.ibw-site .ibw-hero__brand-signature {
    position: absolute; z-index: 4; top: 1rem;
    left: max(var(--ibw-gutter), calc((100% - var(--ibw-container)) / 2));
    display: block; width: clamp(7rem, 9vw, 8.25rem); color: var(--ibw-text); text-decoration: none;
    filter: drop-shadow(0 0 .55rem rgba(22, 131, 255, .28));
    animation: ibw-brand-pulse 2.8s ease-in-out infinite;
}
.ibw-site .ibw-hero__brand-signature img { display: block; width: 100%; height: auto; }
@keyframes ibw-brand-pulse {
    50% { transform: scale(1.035); }
}
.ibw-site .ibw-hero__inner {
    position: relative; display: grid; grid-template-columns: 47% 53%; align-items: center;
    min-height: clamp(480px, calc(100svh - 170px), 660px);
}
.ibw-site .ibw-hero__media {
    --ibw-hero-mask: linear-gradient(90deg, transparent 2%, var(--ibw-mask) 34%, var(--ibw-mask) 83%, transparent),
        linear-gradient(180deg, transparent, var(--ibw-mask) 17%, var(--ibw-mask) 62%, transparent 97%),
        radial-gradient(ellipse 14% 25% at 91% 84%, transparent 38%, var(--ibw-mask) 100%);
    position: absolute; width: 60%; aspect-ratio: 16 / 9; top: 50%; right: -1%; transform: translateY(-50%); pointer-events: none;
    -webkit-mask-image: var(--ibw-hero-mask); mask-image: var(--ibw-hero-mask);
    -webkit-mask-composite: source-in; mask-composite: intersect;
}
.ibw-site .ibw-hero__poster, .ibw-site .ibw-hero__video { position: absolute; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.ibw-site .ibw-hero__video { display: block; opacity: 0; transition: opacity 1.2s ease; }
.ibw-site .ibw-hero[data-video-playing='true'] .ibw-hero__video { opacity: 1; }
.ibw-site .ibw-hero__content { position: relative; z-index: 2; padding-block: 4.65rem 2rem; }
.ibw-site .ibw-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-hero__nationwide-copy { min-width: 0; }
.ibw-site .ibw-hero__nationwide strong { display: block; color: var(--ibw-text); font-size: .82rem; font-weight: 720; }
.ibw-site .ibw-hero__nationwide-copy > span { display: block; color: var(--ibw-muted); }
.ibw-site .ibw-hero__tagline { margin: 0 0 .7rem; color: #7ac9ff; font-size: .78rem; font-weight: 760; letter-spacing: .09em; line-height: 1.45; text-transform: uppercase; }
.ibw-site .ibw-hero h1 { max-width: 18ch; margin: 0 0 1.15rem; font-size: clamp(2.55rem, 3.55vw, 3.45rem); font-weight: 720; line-height: 1.02; letter-spacing: -.052em; text-wrap: balance; }
.ibw-site .ibw-hero__description { max-width: 56ch; margin: 0 0 1.5rem; font-size: .96rem; line-height: 1.68; text-wrap: pretty; }
.ibw-site .ibw-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.ibw-site .ibw-hero__actions .ibw-button { padding-inline: 1rem; min-height: 3.25rem; font-size: .72rem; letter-spacing: .035em; }
.ibw-site .ibw-hero__primary { position: relative; isolation: isolate; animation: ibw-whatsapp-lift 2.2s var(--ibw-ease-out) infinite; }
.ibw-site .ibw-hero__primary::after {
    position: absolute; z-index: -1; inset: -2px; content: ''; pointer-events: none;
    border: 1px solid rgba(37, 211, 102, .72); border-radius: inherit;
    animation: ibw-whatsapp-ring 2.2s ease-out infinite;
}
.ibw-site .ibw-hero__primary:hover { color: var(--ibw-ink); background: var(--ibw-whatsapp); }
@keyframes ibw-whatsapp-ring { 0% { opacity: .55; transform: scale(1); } 75%, 100% { opacity: 0; transform: scale(1.1, 1.18); } }
@keyframes ibw-whatsapp-lift { 0%, 64%, 100% { transform: translateY(0); } 72% { transform: translateY(-4px); } 82% { transform: translateY(0); } 89% { transform: translateY(-2px); } }
.ibw-site .ibw-hero__primary:hover { animation-play-state: paused; transform: translateY(-2px); }
.ibw-site .ibw-hero__secondary { background: var(--ibw-surface-soft); }
.ibw-site .ibw-hero__note { margin: 1.1rem 0 0; font-size: .73rem; color: var(--ibw-muted); }
.ibw-site .ibw-hero__scene { position: relative; align-self: stretch; min-width: 0; }
@media (max-width: 900px) {
    .ibw-site .ibw-hero__inner { grid-template-columns: 1fr; min-height: auto; }
    .ibw-site .ibw-hero__content { max-width: 38rem; padding: 6rem 0 0; }
    .ibw-site .ibw-hero__scene { height: 200px; }
    .ibw-site .ibw-hero__media { width: 100%; height: auto; top: auto; right: 0; bottom: -1rem; transform: none; }
}
@media (max-width: 560px) {
    .ibw-site .ibw-hero__brand-signature { top: .75rem; }
    .ibw-site .ibw-hero__brand-signature { width: 6.5rem; }
    .ibw-site .ibw-hero__content { padding-top: 5.4rem; }
    .ibw-site .ibw-hero__nationwide { width: 100%; margin-bottom: .9rem; font-size: .7rem; }
    .ibw-site .ibw-hero__nationwide strong { font-size: .76rem; }
    .ibw-site .ibw-hero__tagline { font-size: .7rem; }
    .ibw-site .ibw-hero h1 { max-width: none; font-size: clamp(2.15rem, 9.4vw, 3rem); }
    .ibw-site .ibw-hero__description { font-size: .94rem; line-height: 1.65; margin-bottom: 1.2rem; }
    .ibw-site .ibw-hero__actions { gap: .4rem; }
    .ibw-site .ibw-hero__actions .ibw-button { min-height: 3rem; }
    .ibw-site .ibw-hero__secondary { border-color: transparent; background: transparent; }
    .ibw-site .ibw-hero__note { max-width: 35ch; font-size: .69rem; margin-top: .5rem; }
    .ibw-site .ibw-hero__scene { height: 140px; }
}
@media (prefers-reduced-motion: reduce) {
    .ibw-site .ibw-hero__video { display: none; }
    .ibw-site .ibw-hero__brand-signature,
    .ibw-site .ibw-hero__primary,
    .ibw-site .ibw-hero__primary::after { animation: none; }
}

/* Optional shipping truck vignette. Remove by setting $show_shipping_truck=false. */
.ibw-site .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-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-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-hero-truck__travel {
    position: absolute; inset: 0; display: grid; align-items: end; justify-items: center;
}
.ibw-site .ibw-hero-truck__vehicle { display: block; width: 5.3rem; height: auto; position: relative; bottom: .18rem; }
.ibw-site[data-ibw-motion='ready'] .ibw-hero-truck__travel {
    animation: ibw-hero-truck-pass 3s linear .4s infinite both;
}
@keyframes ibw-hero-truck-pass {
    from { transform: translate3d(-105%, 0, 0); }
    to { transform: translate3d(105%, 0, 0); }
}
@media (max-width: 560px) {
    .ibw-site .ibw-hero-truck { flex-basis: 5.2rem; height: 3.6rem; }
    .ibw-site .ibw-hero-truck__vehicle { width: 4.5rem; }
    .ibw-site .ibw-hero__content { padding-top: 4.5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .ibw-site[data-ibw-motion='ready'] .ibw-hero-truck__travel { animation: none; }
}
