/* Opt-in marketing primitives. Never apply to inputs, hit targets or app panels. */
.stitch-piece{--piece-colour:var(--teal);--piece-tilt:var(--brand-tilt-left);position:relative;isolation:isolate;color:var(--aubergine);transform:rotate(var(--piece-tilt));background:transparent;border:0;border-radius:0;box-shadow:none}
.stitch-piece::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--piece-colour);clip-path:var(--brand-cut);filter:drop-shadow(var(--brand-shadow));pointer-events:none}
.stitch-piece::after{content:"";position:absolute;inset:var(--brand-stitch-inset);background:url('assets/stitch-outline.svg') center/100% 100% no-repeat;border:0;border-radius:0;opacity:1;pointer-events:none}
.stitch-piece.coral{--piece-colour:var(--coral);--piece-tilt:var(--brand-tilt-right)}
.stitch-piece.yellow{--piece-colour:var(--marigold);--piece-tilt:var(--brand-tilt-soft)}
.stitch-piece.blush{--piece-colour:var(--blush);--piece-tilt:var(--brand-tilt-right)}
.stitch-piece.coral::before{clip-path:var(--brand-cut-alt)}
.stitch-thread{fill:none;stroke:var(--aubergine);stroke-width:var(--brand-thread-width);stroke-dasharray:var(--brand-thread-dash);stroke-linecap:round;pointer-events:none;overflow:visible}
.brand-underline{position:relative;display:inline-block;isolation:isolate}
.brand-underline::after{content:"";position:absolute;width:42%;height:var(--brand-mark-width);right:-3%;bottom:-.22em;border-radius:var(--brand-mark-radius);background:var(--underline-colour,var(--teal));transform:rotate(var(--brand-tilt-left));pointer-events:none}
.brand-annotation{font-family:var(--brand-annotation-font);font-style:italic;font-weight:600;font-size:var(--brand-annotation-size);letter-spacing:-.025em;color:var(--aubergine);line-height:1.35}
.brand-burst{position:absolute;width:50px;height:64px;pointer-events:none}
.brand-burst i{position:absolute;display:block;width:9px;height:26px;background:var(--teal);border-radius:3px;transform:rotate(33deg)}
.brand-burst i:nth-child(2){background:var(--coral);left:22px;top:23px;transform:rotate(65deg)}
.brand-burst i:nth-child(3){background:var(--marigold);left:19px;top:49px;height:17px;transform:rotate(105deg)}
.brand-stack{position:relative;isolation:isolate}
.brand-stack>i{display:block;position:absolute;width:80%;height:30%;pointer-events:none}
.brand-stack>i:nth-child(1){top:5%;left:-7%;--piece-tilt:var(--brand-tilt-left)}
.brand-stack>i:nth-child(2){top:4%;right:-5%;width:46%;height:55%;--piece-tilt:var(--brand-tilt-right)}
.brand-stack>i:nth-child(3){left:-5%;bottom:-3%;width:75%;height:39%;--piece-tilt:var(--brand-tilt-left)}
.brand-settle{animation:brand-settle var(--brand-motion-duration) ease-out both}
@keyframes brand-settle{from{opacity:0;translate:0 var(--brand-motion-distance)}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.brand-settle{animation:none}html{scroll-behavior:auto}}
