/* The SVG and original image use the same square canvas and responsive geometry. */
.aw-project-invite .aw-invite-rim-lights {
    position: absolute;
    inset: 0 0 auto auto;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    aspect-ratio: 1;
    pointer-events: none;
    opacity: 0;
    -webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 8%,#000 100%);
    mask-image: linear-gradient(90deg,transparent 0%,#000 8%,#000 100%);
}
.aw-project-invite.aw-invite-light-ready .aw-invite-rim-lights { opacity: 1; }
.aw-project-invite .aw-invite-rim { --aw-rim-duration: 13s; --aw-rim-delay: -2.8s; }
.aw-project-invite .aw-invite-rim--rear { --aw-rim-duration: 10.5s; --aw-rim-delay: -6.2s; }
.aw-project-invite .aw-invite-rim--middle { --aw-rim-duration: 11.8s; --aw-rim-delay: -4.1s; }
.aw-project-invite .aw-invite-rim--front { --aw-rim-duration: 9.4s; --aw-rim-delay: -1.2s; }
.aw-project-invite .aw-invite-rim > use {
    animation: aw-invite-edge-circuit var(--aw-rim-duration) linear var(--aw-rim-delay) infinite;
    animation-play-state: paused;
    stroke-dasharray: 48 952;
    stroke-dashoffset: 0;
}
.aw-project-invite.aw-invite-light-running .aw-invite-rim > use { animation-play-state: running; }
/* Three thin concentric strokes supply the halo without a full-frame blur pass. */
.aw-project-invite .aw-invite-rim-halo { stroke-width: 10; opacity: .14; }
.aw-project-invite .aw-invite-rim-colour { stroke-width: 4.6; opacity: .52; }
.aw-project-invite .aw-invite-rim-core { stroke-width: 1.8; opacity: .95; }
@keyframes aw-invite-edge-circuit {
    from { stroke-dashoffset: 0; }
    to { stroke-dashoffset: -1000; }
}
/* Paint the complete final glyph even with the heading's negative tracking. */
.aw-project-invite h2 .aw-gradient-text {
    padding-inline: .035em .14em;
    margin-inline: -.035em -.14em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
@media (max-width: 700px) {
    .aw-project-invite .aw-invite-rim-lights { inset: -5px 0 auto auto; width: min(84vw,380px); }
}
@media (prefers-reduced-motion: reduce) {
    .aw-project-invite .aw-invite-rim-lights { display: none; }
    .aw-project-invite .aw-invite-rim > use { animation: none; }
}
@media (forced-colors: active) {
    .aw-project-invite .aw-invite-rim-lights { display: none; }
}
