/* Approved curves. Exact user-supplied path and transforms.
   Masks inherit the existing footer colour; no external assets or scripts. */
[data-machi-curve]{--machi-curve-depth:60px;position:relative}
[data-machi-curve="headings"]{border-bottom-color:transparent}
[data-machi-curve="headings"]::after,[data-machi-curve="footers"]::before{
 content:"";position:absolute;left:0;width:100%;height:var(--machi-curve-depth);
 pointer-events:none;display:block;mask-size:100% 100%;mask-repeat:no-repeat;
 -webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;
}
[data-machi-curve="headings"]::after{bottom:-1px;background:#fff;
 mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201500%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20transform%3D%22translate%28200%2C100%29%20scale%281%2C-1%29%22%20d%3D%22M1500%2C0h-91.583c-133.73%2C0-211.788%2C23.822-287.848%2C59.593-57.814%2C27.19-120.418%2C40.407-191.387%2C40.407s-133.572-13.217-191.387-40.407C661.736%2C23.822%2C583.678%2C0%2C449.948%2C0H0h1500Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201500%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20transform%3D%22translate%28200%2C100%29%20scale%281%2C-1%29%22%20d%3D%22M1500%2C0h-91.583c-133.73%2C0-211.788%2C23.822-287.848%2C59.593-57.814%2C27.19-120.418%2C40.407-191.387%2C40.407s-133.572-13.217-191.387-40.407C661.736%2C23.822%2C583.678%2C0%2C449.948%2C0H0h1500Z%22%2F%3E%3C%2Fsvg%3E")}
[data-machi-curve="headings"].hero>.hero-in{padding-bottom:95px}
[data-machi-curve="headings"].article-hero{padding-bottom:99px}
[data-machi-curve="footers"]::before{bottom:calc(100% - 1px);background-color:inherit;
 mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201500%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20transform%3D%22translate%281300%2C100%29%20scale%28-1%2C-1%29%22%20d%3D%22M1500%2C0h-91.583c-133.73%2C0-211.788%2C23.822-287.848%2C59.593-57.814%2C27.19-120.418%2C40.407-191.387%2C40.407s-133.572-13.217-191.387-40.407C661.736%2C23.822%2C583.678%2C0%2C449.948%2C0H0h1500Z%22%2F%3E%3C%2Fsvg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201500%20100%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20transform%3D%22translate%281300%2C100%29%20scale%28-1%2C-1%29%22%20d%3D%22M1500%2C0h-91.583c-133.73%2C0-211.788%2C23.822-287.848%2C59.593-57.814%2C27.19-120.418%2C40.407-191.387%2C40.407s-133.572-13.217-191.387-40.407C661.736%2C23.822%2C583.678%2C0%2C449.948%2C0H0h1500Z%22%2F%3E%3C%2Fsvg%3E")}
/* Reserve the 60px decoration above the footer without covering preceding content. */
[data-machi-curve="footers"].foot{margin-top:110px}
[data-machi-curve="footers"].footer{margin-top:130px}
@media(max-width:700px){[data-machi-curve="footers"].footer{margin-top:105px}}
@media(max-width:630px){[data-machi-curve="headings"].hero>.hero-in{padding-bottom:87px}}
/* Only the curve depth changes at the approved mobile breakpoint.
   Existing padding, margins, typography and component layouts stay fixed. */
@media(max-width:767px){
 [data-machi-curve="headings"]{--machi-curve-depth:35px}
 [data-machi-curve="footers"]{--machi-curve-depth:30px}
}
