/* https://grabient.com/_gIogJNgJ2gIPgGugF7gEfgCcgCsg3AhXvgWS?style=angularGradient&steps=5&angle=90 */
background: conic-gradient(from 90deg, #07444a 0.000deg, #1c5842 90.000deg, #477040 180.000deg, #808a46 270.000deg, #bca552 360.000deg);
<svg width="800" height="400" viewBox="0 0 800 400" fill="none" xmlns="http://www.w3.org/2000/svg">
<!-- https://grabient.com/_gIogJNgJ2gIPgGugF7gEfgCcgCsg3AhXvgWS?style=angularGradient&steps=5&angle=90 -->
<g clip-path="url(#paint0_angular_clip_path)" data-figma-skip-parse="true"><g transform="matrix(0.197533 0.000000 0.000000 0.197533 400.000000 200.000000)"><foreignObject x="-2264" y="-2264" width="4528" height="4528"><div xmlns="http://www.w3.org/1999/xhtml" style="background:conic-gradient(from 90deg,rgba(7, 68, 74, 1) 0.000000deg,rgba(28, 88, 66, 1) 90.000000deg,rgba(71, 112, 64, 1) 180.000000deg,rgba(128, 138, 70, 1) 270.000000deg,rgba(188, 165, 82, 1) 360.000000deg);height:100%;width:100%;opacity:1"></div></foreignObject></g></g><rect width="800" height="400" data-figma-gradient-fill="{"type":"GRADIENT_ANGULAR","stops":[{"color":{"r":0.027450980392156862,"g":0.26666666666666666,"b":0.2901960784313726,"a":1},"position":0},{"color":{"r":0.10980392156862745,"g":0.34509803921568627,"b":0.25882352941176473,"a":1},"position":0.25},{"color":{"r":0.2784313725490196,"g":0.4392156862745098,"b":0.25098039215686274,"a":1},"position":0.5},{"color":{"r":0.5019607843137255,"g":0.5411764705882353,"b":0.27450980392156865,"a":1},"position":0.75},{"color":{"r":0.7372549019607844,"g":0.6470588235294118,"b":0.3215686274509804,"a":1},"position":1}],"stopsVar":[{"color":{"r":0.027450980392156862,"g":0.26666666666666666,"b":0.2901960784313726,"a":1},"position":0},{"color":{"r":0.10980392156862745,"g":0.34509803921568627,"b":0.25882352941176473,"a":1},"position":0.25},{"color":{"r":0.2784313725490196,"g":0.4392156862745098,"b":0.25098039215686274,"a":1},"position":0.5},{"color":{"r":0.5019607843137255,"g":0.5411764705882353,"b":0.27450980392156865,"a":1},"position":0.75},{"color":{"r":0.7372549019607844,"g":0.6470588235294118,"b":0.3215686274509804,"a":1},"position":1}],"transform":{"m00":800.000000,"m01":0.000000,"m02":0.000000,"m10":0.000000,"m11":800.000000,"m12":-200.000000},"opacity":1.0,"blendMode":"NORMAL","visible":true}"/>
<defs>
<clipPath id="paint0_angular_clip_path"><rect width="800" height="400"/></clipPath>
</defs>
</svg>
["#07444a", "#1c5842", "#477040", "#808a46", "#bca552"]
// https://grabient.com/_gIogJNgJ2gIPgGugF7gEfgCcgCsg3AhXvgWS?style=angularGradient&steps=5&angle=90
// cosine gradient palette — https://iquilezles.org/articles/palettes/
const float STEPS = 5.0;
const float ANGLE = 90.0;
vec3 palette(float t) {
vec3 a = vec3(0.552, 0.589, 0.630);
vec3 b = vec3(0.527, 0.430, 0.379);
vec3 c = vec3(0.287, 0.156, 0.172);
vec3 d = vec3(3.520, 5.615, 1.426);
return a + b * cos(6.283185 * (c * t + d));
}
// N stops sampled from the palette, blended like the CSS gradient
vec3 stops(float t) {
float n = STEPS - 1.0;
float x = clamp(t, 0.0, 1.0) * n;
return mix(palette(floor(x) / n), palette(min(floor(x) + 1.0, n) / n), fract(x));
}
void mainImage(out vec4 fragColor, in vec2 fragCoord) {
vec2 p = fragCoord - 0.5 * iResolution.xy;
// conic from ANGLE, clockwise from top (CSS convention)
float t = fract((atan(p.x, p.y) - radians(ANGLE)) / 6.283185);
fragColor = vec4(stops(t), 1.0);
}
[
[0.552, 0.589, 0.630],
[0.527, 0.430, 0.379],
[0.287, 0.156, 0.172],
[3.520, 5.615, 1.426]
]