/* PluginPip 2027 | Stepped Contour + a subtle travelling light.
 * A small, intermittent pulse traces the existing architectural edge.
 * SVG path geometry stays identical to the non-animated version.
 * No JavaScript or external dependencies.
 */
.hero__contour {
    position:absolute;
    z-index:5;
    left:0;
    bottom:-1px;
    display:block;
    width:100%;
    height:122px;
    max-width:none;
    overflow:visible;
    color:var(--lavender);
    pointer-events:none;
}
/* A blurred, dark-violet trace on the lavender side gives the steps depth.
 * Applied to a second path instead of the filled shape, so the shadow
 * follows only the contour and cannot create a dark block at the SVG base.
 */
.hero__contour-fill { fill:currentColor; }
.hero__contour-shadow {
    fill:none;
    stroke:#24123d;
    stroke-opacity:.25;
    stroke-width:6;
    stroke-linecap:round;
    stroke-linejoin:round;
    vector-effect:non-scaling-stroke;
    transform:translateY(5px);
    filter:blur(6px);
}
.hero__contour-edge {
    fill:none;
    stroke:rgba(255,255,255,.4);
    stroke-width:1.25;
    vector-effect:non-scaling-stroke;
}
/* One 62-unit highlight moves along a 1000-unit normalised contour.
 * The 1200-unit gap keeps the travelling pulse hidden between passes.
 */
.hero__contour-glint {
    fill:none;
    stroke:var(--lime);
    stroke-width:2.8;
    stroke-linecap:round;
    vector-effect:non-scaling-stroke;
    stroke-dasharray:62 1200;
    stroke-dashoffset:62;
    opacity:0;
    filter:drop-shadow(0 0 4px rgba(201,245,61,.55));
    animation:pp2027-contour-sweep 11s linear infinite;
}
@keyframes pp2027-contour-sweep {
    0%,15% { stroke-dashoffset:62; opacity:0; }
    20% { opacity:.85; }
    82% { stroke-dashoffset:-1000; opacity:.85; }
    87%,100% { stroke-dashoffset:-1000; opacity:0; }
}
.hero__contour-mobile { display:none; }
@media (max-width:760px) {
    .hero__contour { height:78px; }
    .hero__contour-shadow { stroke-width:5; stroke-opacity:.2; transform:translateY(4px); filter:blur(5px); }
    .hero__contour-desktop { display:none; }
    .hero__contour-mobile { display:block; }
    /* Keep the light slightly softer on small screens. */
    .hero__contour-glint { stroke-width:2; filter:none; animation-duration:13s; }
}
@media (max-width:420px) {
    .hero__contour { height:65px; }
}
@media (prefers-reduced-motion:reduce) {
    .hero__contour-glint { animation:none; opacity:0; }
}
