{"id":58687,"date":"2026-10-18T12:00:26","date_gmt":"2026-10-18T12:00:26","guid":{"rendered":"https:\/\/carmelcosmeticslabs.com\/?page_id=58687"},"modified":"2026-11-09T09:48:42","modified_gmt":"2026-11-09T09:48:42","slug":"garbanzo","status":"publish","type":"page","link":"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/garbanzo\/","title":{"rendered":"Garbanzo"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"58687\" class=\"elementor elementor-58687 elementor-53799 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-79418ae e-flex e-con-full e-con e-parent\" data-id=\"79418ae\" data-element_type=\"container\" data-e-type=\"container\" id=\"cm-cat\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fc8f44d elementor-widget elementor-widget-html\" data-id=\"fc8f44d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>body .cm-cat{--bg:#fbfdfc;--paper:#ffffff;--mint:#edf5f2;--mint-2:#dcebe6;--ink:#10292a;--muted:#51686a;--line:#d6e4e0;--teal:#2f7266;--teal-ink:#ffffff;--deep:#0f3a35;--deep-ink:#e9f4f1;--deep-muted:#a9c9c2;--logo-filter:none;--note:#fff4cf;--note-ink:#5f4a0c;--shade:16 58 53;--f-display:\"Proxima Nova\",system-ui,sans-serif;--f-body:\"Lato\",system-ui,sans-serif;--f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--ease-out:cubic-bezier(.23,1,.32,1);--ease-io:cubic-bezier(.77,0,.175,1);--r-lg:28px;--r-md:18px;--r-sm:10px}body .cm-cat *{box-sizing:border-box}body .cm-cat{background:var(--bg);color:var(--ink);font:400 16.5px\/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:clip}body .cm-cat ::selection{background:var(--teal);color:var(--teal-ink)}body .cm-cat .wrap{max-width:1280px;margin-inline:auto;padding-inline:clamp(16px,4vw,48px)}body .cm-cat h1,body .cm-cat h2,body .cm-cat h3{font-family:var(--f-display);text-wrap:balance;margin:0;color:var(--ink);font-optical-sizing:auto}body .cm-cat p{margin:0}body .cm-cat a{color:inherit;text-underline-offset:.2em}body .cm-cat .ico{width:1em;height:1em;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}body .cm-cat .mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.02em;color:var(--muted);font-variant-numeric:tabular-nums}body .cm-cat .h2{font-size:clamp(32px,4.4vw,60px);line-height:1;letter-spacing:-.035em;font-weight:650}body .cm-cat .sub{color:var(--muted);font-size:17px;max-width:44ch}body .cm-cat .btn{--bg-b:var(--teal);--fg-b:var(--teal-ink);position:relative;display:inline-flex;align-items:center;gap:12px;font:600 15.5px\/1 var(--f-body);text-decoration:none;padding:17px 22px 17px 26px;border-radius:99px;background:var(--bg-b);color:var(--fg-b);border:0;cursor:pointer;transition:transform .16s var(--ease-out),box-shadow .25s ease,background-color .2s ease}body .cm-cat .btn .knob{display:grid;place-items:center;width:28px;height:28px;margin:-6px -8px -6px 0;border-radius:50%;background:var(--fg-b);color:var(--bg-b);overflow:hidden}body .cm-cat .btn .knob .ico{font-size:15px;transition:transform .35s var(--ease-out)}body .cm-cat .btn:active{transform:scale(.97)}body .cm-cat .btn-primary{box-shadow:0 10px 24px -12px rgb(var(--shade)\/.55)}@media (hover:hover) and (pointer:fine){body .cm-cat .btn-primary:hover{box-shadow:0 16px 32px -14px rgb(var(--shade)\/.6)}body .cm-cat .btn:hover .knob .ico{transform:translateX(3px) rotate(-45deg)}}body .cm-cat .btn-ghost{--bg-b:transparent;--fg-b:var(--ink);padding:10px 2px;border-radius:0;gap:8px;background:linear-gradient(currentColor,currentColor)0 100%\/100% 1.5px no-repeat}body .cm-cat .btn-ghost .ico{transition:transform .3s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .btn-ghost:hover{color:var(--teal)}body .cm-cat .btn-ghost:hover .ico{transform:translateX(4px)}}body .cm-cat .hero{padding-block:clamp(32px,4.5vw,64px) clamp(48px,6vw,88px);position:relative;overflow-x:clip}body .cm-cat .hero::before{content:\"\";position:absolute;inset:-12% -12%auto auto;width:min(70vw,900px);aspect-ratio:1;background:radial-gradient(closest-side,var(--mint),transparent 70%);z-index:-1;pointer-events:none}body .cm-cat .hero h1{font-size:clamp(40px,5vw,72px);line-height:.98;letter-spacing:-.042em;font-weight:680;margin-top:14px}@media (prefers-reduced-motion:no-preference){body .cm-cat .hero h1{animation-delay:.08s}}@keyframes rise{0%{opacity:.25;transform:translateY(18px);filter:blur(6px)}}body .cm-cat .section{padding-block:clamp(64px,8vw,120px)}body .cm-cat .ranges{background:var(--mint);border-radius:clamp(28px,4vw,48px) clamp(28px,4vw,48px)0 0}body .cm-cat .add{position:absolute;z-index:2;top:14px;right:14px;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 11px;border-radius:99px;border:0;cursor:pointer;background:rgb(255 255 255\/.9);color:#10292a;font:600 13px var(--f-body);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px -8px rgb(16 58 53\/.45);transition:transform .16s var(--ease-out),background-color .2s ease,color .2s ease}body .cm-cat .add:active{transform:scale(.95)}body .cm-cat .add .ico{font-size:16px;transition:transform .3s var(--ease-out)}body .cm-cat .add[aria-pressed=true]{background:var(--teal);color:var(--teal-ink)}body .cm-cat .add[aria-pressed=true] .i-p{display:none}body .cm-cat .add[aria-pressed=true] .i-c{display:block}@media (prefers-reduced-motion:no-preference){body .cm-cat .add[aria-pressed=true] .i-c{animation:pop .3s var(--ease-out)}}@keyframes pop{0%{transform:scale(.6);opacity:.4}}body .cm-cat .all{grid-column:span 6;border-radius:var(--r-lg);background:var(--deep);color:var(--deep-ink);padding:clamp(26px,3.4vw,44px);display:flex;flex-direction:column;justify-content:space-between;gap:28px;text-decoration:none;position:relative;overflow:hidden;min-height:300px}body .cm-cat .all h3{color:var(--deep-ink);font-size:clamp(28px,3vw,42px);line-height:1;letter-spacing:-.035em;font-weight:650;max-width:14ch}body .cm-cat .all p{color:var(--deep-muted);max-width:40ch}body .cm-cat .all .btn{--bg-b:var(--deep-ink);--fg-b:var(--deep);align-self:flex-start}body .cm-cat .all .rings{position:absolute;right:-90px;bottom:-90px;width:320px;aspect-ratio:1;border-radius:50%;border:1px solid rgb(255 255 255\/.12);box-shadow:0 0 0 40px rgb(255 255 255\/.03),0 0 0 80px rgb(255 255 255\/.025);pointer-events:none;transition:transform 1.2s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .all:hover .rings{transform:scale(1.12)}}body .cm-cat .box{border-radius:var(--r-lg);padding:clamp(26px,3.5vw,48px);display:flex;flex-direction:column;gap:18px;position:relative;overflow:hidden}body .cm-cat .box h2{font-size:clamp(28px,3vw,40px);line-height:1.02;letter-spacing:-.03em;font-weight:650}body .cm-cat .box p{color:var(--muted);max-width:46ch}@media (prefers-reduced-motion:reduce){body .cm-cat .marquee ul[aria-hidden]{display:none}}body .cm-cat .faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 64px;align-items:start}body .cm-cat .faq-grid .sticky{position:sticky;top:32px}body .cm-cat .qa{padding-block:14px;border-top:1px solid var(--line)}body .cm-cat .qa:last-child{border-bottom:1px solid var(--line)}body .cm-cat .qa h3{font-size:19px;font-weight:600;letter-spacing:-.01em;line-height:1.3}body .cm-cat .qa p{color:var(--muted);font-size:15.5px;margin-top:8px;max-width:60ch}body .cm-cat .final{background:var(--deep);color:var(--deep-ink);border-radius:clamp(28px,4vw,48px);padding:clamp(36px,6vw,88px);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:36px 56px;align-items:end;position:relative;overflow:hidden}body .cm-cat .final::before{content:\"\";position:absolute;inset:auto -20% -60%auto;width:70%;aspect-ratio:1;background:radial-gradient(closest-side,rgb(99 184 167\/.28),transparent);pointer-events:none}body .cm-cat .final h2{color:var(--deep-ink);font-size:clamp(36px,5.4vw,76px);line-height:.95;letter-spacing:-.045em;font-weight:680}body .cm-cat .final p{color:var(--deep-muted);margin-top:18px;max-width:46ch}body .cm-cat .final .actions{display:flex;flex-direction:column;gap:18px;align-items:flex-start;position:relative}body .cm-cat .final .btn{--bg-b:var(--deep-ink);--fg-b:var(--deep)}body .cm-cat .final .btn-wa{--bg-b:rgb(255 255 255\/.1);--fg-b:var(--deep-ink);box-shadow:inset 0 0 0 1px rgb(255 255 255\/.2)}body .cm-cat .final .btn-wa .knob{background:var(--deep-ink);color:var(--deep)}body .cm-cat .wa{display:flex;align-items:center;gap:12px;flex-wrap:wrap}body .cm-cat .wa .num{font:500 16px var(--f-mono);color:var(--deep-ink);user-select:all;letter-spacing:.02em}body .cm-cat .final .mono{color:var(--deep-muted)}body .cm-cat .tray{position:fixed;left:50%;bottom:0;z-index:20;width:min(640px,calc(100% - 24px));margin-bottom:calc(14px + env(safe-area-inset-bottom,0));display:flex;align-items:center;gap:14px;padding:10px 10px 10px 18px;border-radius:99px;background:var(--deep);color:var(--deep-ink);box-shadow:0 24px 50px -20px rgb(0 0 0\/.5);transform:translate(-50%,calc(100% + 40px));opacity:0;transition:transform .45s var(--ease-out),opacity .3s ease;pointer-events:none}body .cm-cat .tray.open{transform:translate(-50%,0);opacity:1;pointer-events:auto}body .cm-cat .tray .count{display:grid;place-items:center;min-width:30px;height:30px;border-radius:99px;background:var(--teal);color:var(--teal-ink);font:600 14px var(--f-mono);font-variant-numeric:tabular-nums}body .cm-cat .tray .names{flex:1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--deep-muted)}body .cm-cat .tray .names b{color:var(--deep-ink);font-weight:600}body .cm-cat .tray .btn{--bg-b:var(--deep-ink);--fg-b:var(--deep);padding:13px 16px 13px 20px;font-size:14.5px;white-space:nowrap}body .cm-cat .tray .clear{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:0;background:0 0;color:var(--deep-muted);cursor:pointer;transition:background-color .2s ease}body .cm-cat .tray .clear:hover{background:rgb(255 255 255\/.1);color:var(--deep-ink)}@media (max-width:1020px){body .cm-cat .all{grid-column:span 6}body .cm-cat .final,body .cm-cat .faq-grid{grid-template-columns:1fr}body .cm-cat .faq-grid .sticky{position:static}}@media (max-width:640px){body .cm-cat .all{grid-column:auto}body .cm-cat .tray{border-radius:22px}body .cm-cat .tray .names{display:none}body .cm-cat .tray .btn{flex:1;justify-content:space-between}}@media (prefers-reduced-motion:reduce){body .cm-cat *,body .cm-cat ::before,body .cm-cat ::after{transition-duration:.01ms!important}}body .cm-cat .qa summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:44px}body .cm-cat .qa summary::-webkit-details-marker{display:none}body .cm-cat .qa .pm{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:var(--mint);transition:background-color .2s ease,transform .3s var(--ease-out)}body .cm-cat .qa .pm::before,body .cm-cat .qa .pm::after{content:\"\";position:absolute;left:50%;top:50%;width:12px;height:1.8px;border-radius:2px;background:var(--ink);transform:translate(-50%,-50%)}body .cm-cat .qa .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .3s var(--ease-out)}body .cm-cat .qa[open] .pm{background:var(--teal)}body .cm-cat .qa[open] .pm::before,body .cm-cat .qa[open] .pm::after{background:var(--teal-ink)}body .cm-cat .qa[open] .pm::after{transform:translate(-50%,-50%) rotate(0deg)}body .cm-cat .qa summary:active .pm{transform:scale(.92)}body .cm-cat .qa .ans{overflow:hidden}@media (prefers-reduced-motion:no-preference){body .cm-cat .qa[open] .ans{animation:ans .35s var(--ease-out)}}@keyframes ans{0%{opacity:0;transform:translateY(-6px)}}body .cm-cat .wa-dock{display:none}body .cm-cat .tray[data-mode=default] .count,body .cm-cat .tray[data-mode=default] .names,body .cm-cat .tray[data-mode=default] .clear{display:none}body .cm-cat{-webkit-tap-highlight-color:transparent}@media (max-width:640px){body .cm-cat{font-size:16px;padding-bottom:calc(92px + env(safe-area-inset-bottom,0))}body .cm-cat .mono{font-size:12.5px}body .cm-cat .section{padding-block:56px}body .cm-cat .h2{font-size:30px;line-height:1.05;letter-spacing:-.03em}body .cm-cat .sub{font-size:16px}body .cm-cat .hero{padding-block:14px 40px}body .cm-cat .hero::before{display:none}body .cm-cat .hero h1{order:3;font-size:36px;line-height:1.02;letter-spacing:-.04em;margin-top:6px}body .cm-cat .ranges{border-radius:28px 28px 0 0}body .cm-cat .all{grid-column:1\/-1}body .cm-cat .add{top:8px;right:8px;width:46px;height:46px;padding:0;justify-content:center;border-radius:50%}body .cm-cat .add span{display:none}body .cm-cat .add .ico{font-size:18px}body .cm-cat .all{min-height:0;padding:24px;gap:20px;border-radius:18px}body .cm-cat .all h3{font-size:26px}body .cm-cat .all .rings{width:220px;right:-70px;bottom:-70px}body .cm-cat .all .btn{align-self:stretch;justify-content:space-between}body .cm-cat .btn-ghost{min-height:44px}body .cm-cat .box{padding:24px;border-radius:22px;gap:14px}body .cm-cat .box h2{font-size:26px}body .cm-cat .marquee ul[aria-hidden]{display:none}body .cm-cat .faq-grid{gap:18px}body .cm-cat .qa{padding-block:6px}body .cm-cat .qa summary{min-height:64px;padding-block:8px}body .cm-cat .qa h3{font-size:16.5px;line-height:1.3;text-wrap:pretty}body .cm-cat .qa p{font-size:15.5px;margin:0 0 14px;padding-right:44px}body .cm-cat .final{padding:28px 22px;border-radius:24px;gap:22px}body .cm-cat .final h2{font-size:34px}body .cm-cat .final .actions{align-items:stretch}body .cm-cat .final .btn{justify-content:space-between;min-height:54px}body .cm-cat .wa-final{display:flex}body .cm-cat .tray{width:calc(100% - 20px);margin-bottom:calc(10px + env(safe-area-inset-bottom,0));border-radius:22px;padding:8px;gap:8px}body .cm-cat .tray .names{display:none}body .cm-cat .tray .wa-dock{display:inline-flex}body .cm-cat .tray[data-mode=sel] .wa-dock{display:none}body .cm-cat .tray .btn{flex:1;min-width:0;justify-content:space-between;min-height:50px;padding:0 10px 0 18px;font-size:15px;white-space:nowrap}body .cm-cat .tray #tray-label{overflow:hidden;text-overflow:ellipsis}body .cm-cat .tray .count{min-width:36px;height:36px;margin-left:4px}body .cm-cat .tray .clear{width:44px;height:44px}body .cm-cat .wa-dock{align-items:center;justify-content:center;gap:8px;height:50px;padding:0 16px;border-radius:16px;background:rgb(255 255 255\/.1);color:var(--deep-ink);text-decoration:none;font:600 14.5px var(--f-body);flex:none;transition:transform .16s var(--ease-out)}body .cm-cat .wa-dock:active{transform:scale(.96)}body .cm-cat .wa-dock .ico{font-size:19px}}body .cm-cat .fmt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}body .cm-cat .fmt-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;gap:10px}body .cm-cat .fmt-card>.ico{font-size:30px;color:var(--teal)}body .cm-cat .fmt-card h3{font-size:clamp(20px,1.8vw,24px);font-weight:620;letter-spacing:-.015em;line-height:1.15}body .cm-cat .fmt-card p{font-size:15px;color:var(--muted);line-height:1.55}@media (max-width:1020px){body .cm-cat .fmt{grid-template-columns:1fr}}@media (max-width:640px){body .cm-cat .fmt-card{padding:18px}}body .cm-cat .tile{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;color:#fff;text-decoration:none;background:var(--deep);isolation:isolate}body .cm-cat .tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out);z-index:-2}body .cm-cat .tile::after{content:\"\";position:absolute;inset:0;background:linear-gradient(to top,rgb(8 26 24\/.9),rgb(8 26 24\/.55) 40%,rgb(8 26 24\/.08) 75%);z-index:-1}body .cm-cat .tile-body{position:absolute;left:0;right:0;bottom:0;padding:22px 24px;display:flex;flex-direction:column;gap:6px}body .cm-cat .tile .mono{color:rgb(255 255 255\/.75)}body .cm-cat .tile h3{color:#fff;font-size:clamp(22px,2vw,28px);font-weight:650;letter-spacing:-.02em;line-height:1.1}body .cm-cat .tile p{color:rgb(255 255 255\/.85);font-size:14.5px;max-width:40ch;line-height:1.45}body .cm-cat .tile .more{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;margin-top:6px;color:#fff}body .cm-cat .tile .more .ico{transition:transform .3s var(--ease-out)}body .cm-cat .tile:active{transform:scale(.99)}@media (hover:hover) and (pointer:fine){body .cm-cat .tile:hover img{transform:scale(1.05)}body .cm-cat .tile:hover .more .ico{transform:translateX(4px)}}body .cm-cat .rail-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px 28px;margin-bottom:clamp(24px,3vw,40px)}body .cm-cat .rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(16px,calc((100vw - 1280px)\/2 + 48px)) 8px;scrollbar-width:none;scroll-padding-inline:max(16px,calc((100vw - 1280px)\/2 + 48px))}body .cm-cat .rail::-webkit-scrollbar{display:none}body .cm-cat .rcard{flex:0 0 clamp(220px,22vw,300px);scroll-snap-align:start;position:relative;aspect-ratio:3\/4;border-radius:var(--r-md);overflow:hidden;color:#fff;text-decoration:none;background:var(--mint-2);isolation:isolate}body .cm-cat .rcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s var(--ease-out)}body .cm-cat .rcard::after{content:\"\";position:absolute;inset:0;background:linear-gradient(to top,rgb(8 26 24\/.75),transparent 55%);z-index:-1}body .cm-cat .rcard>span{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-direction:column;gap:2px}body .cm-cat .rcard .mono{color:rgb(255 255 255\/.8)}body .cm-cat .rcard b{font-family:var(--f-display);font-size:21px;font-weight:620;letter-spacing:-.01em;color:#fff}@media (hover:hover) and (pointer:fine){body .cm-cat .rcard:hover img{transform:scale(1.05)}}body .cm-cat .rcard:active{transform:scale(.98)}@media (max-width:640px){body .cm-cat .rail{padding-inline:16px;scroll-padding-inline:16px;gap:10px}body .cm-cat .rcard{flex-basis:62vw}}body .cm-cat .hx-pause[aria-pressed=true] .i-pause{display:none}body .cm-cat .hx-pause[aria-pressed=true] .i-play2{display:block}body .cm-cat .faq-help{margin-top:28px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:22px;border-radius:var(--r-md);background:var(--mint);max-width:360px}body .cm-cat .faq-help b{font-family:var(--f-display);font-size:18px;font-weight:640}body .cm-cat .faq-help span{color:var(--muted);font-size:14.5px}body .cm-cat .btn-wa-s{margin-top:10px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:99px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:14px;text-decoration:none}body .cm-cat .btn-wa-s .ico{font-size:18px}@media (max-width:640px){body .cm-cat .faq-help{display:none}}body .cm-cat .rq-stars{display:inline-flex;gap:3px}body .cm-cat .rq-stars i{width:18px;height:18px;background:#f5b301;clip-path:polygon(50%0,61.8% 35.3%,100% 35.3%,69.1% 57.1%,80.9% 92.7%,50% 70.6%,19.1% 92.7%,30.9% 57.1%,0 35.3%,38.2% 35.3%)}body .cm-cat .rq{margin:0;position:relative;display:flex;flex-direction:column;gap:22px;padding:clamp(24px,2.6vw,36px);border-radius:26px;background:var(--paper);border:1px solid var(--line)}body .cm-cat .rq-mark{width:34px;height:auto;fill:var(--teal);opacity:.9}body .cm-cat .rq blockquote{margin:0;font-family:var(--f-display);font-weight:520;font-size:clamp(17px,1.35vw,19px);line-height:1.42;letter-spacing:-.01em;color:var(--ink);text-wrap:pretty}body .cm-cat .rq figcaption{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:18px;border-top:1px solid var(--line)}body .cm-cat .rq-stars i{width:14px;height:14px}body .cm-cat .rq-who{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}body .cm-cat .rq-who b{font-size:14.5px;font-weight:600}body .cm-cat .rq-who .mono{font-size:11.5px;color:var(--muted)}body .cm-cat .rq-lead{background:#0f3a35;border-color:#0f3a35;overflow:hidden;isolation:isolate}body .cm-cat .rq-lead::before{content:\"\";position:absolute;right:-30%;bottom:-50%;width:90%;aspect-ratio:1;background:radial-gradient(closest-side,rgb(47 114 102\/.6),transparent);z-index:-1}body .cm-cat .rq-lead .rq-mark{fill:#8fd1c3}body .cm-cat .rq-lead blockquote{color:#fff;font-size:clamp(22px,2vw,30px);line-height:1.22;letter-spacing:-.02em;font-weight:560}body .cm-cat .rq-lead figcaption{border-top-color:rgb(255 255 255\/.14)}body .cm-cat .rq-lead .rq-who b{color:#fff}body .cm-cat .rq-lead .rq-who .mono{color:rgb(255 255 255\/.65)}@media (max-width:1020px){body .cm-cat .rq-lead{grid-column:1\/-1}}@media (max-width:640px){body .cm-cat .rq{flex:0 0 86%;scroll-snap-align:start;border-radius:22px;padding:22px}body .cm-cat .rq-lead blockquote{font-size:21px}}body .cm-cat .sv-ic[aria-pressed=true] .mx{display:inline}body .cm-cat .sv-ic[aria-pressed=true] .w1,body .cm-cat .sv-ic[aria-pressed=true] .w2{display:none}body .cm-cat .bl{padding:0 clamp(8px,1.2vw,16px)}body .cm-cat .cx{padding-block:clamp(64px,8vw,120px) clamp(24px,3vw,40px)}@media (max-width:640px){body .cm-cat .cx{padding-block:56px 16px}}body .cm-cat .ob-tab[aria-selected=false]{opacity:.62}@media (hover:hover) and (pointer:fine){body .cm-cat .ob-tab[aria-selected=false]:hover{opacity:1}}body .cm-cat .fm-head{display:flex;flex-direction:column;gap:12px;max-width:640px;margin-bottom:clamp(28px,4vw,48px)}body .cm-cat .fm-duo{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}body .cm-cat .fm-card{display:flex;flex-direction:column;border-radius:30px;overflow:hidden;background:var(--paper);border:1px solid var(--line)}body .cm-cat .fm-tech{background:#0f2a27;border-color:#0f2a27;color:#fff}body .cm-cat .fm-media{margin:0;aspect-ratio:16\/10;overflow:hidden;background:var(--mint-2)}body .cm-cat .fm-media img{width:100%;height:100%!important;object-fit:cover;display:block;transition:transform 1.2s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .fm-card:hover .fm-media img{transform:scale(1.04)}}body .cm-cat .fm-body{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.6vw,34px);flex:1}body .cm-cat .fm-body h3{font-size:clamp(22px,2vw,28px);font-weight:650;letter-spacing:-.025em;line-height:1.1}body .cm-cat .fm-body>p{margin:0;font-size:15.5px;line-height:1.6;color:var(--muted);max-width:46ch}body .cm-cat .fm-tech h3{color:#fff}body .cm-cat .fm-tech .fm-body>p{color:rgb(255 255 255\/.75)}body .cm-cat .fm-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 0}body .cm-cat .fm-stats div{display:flex;flex-direction:column-reverse;gap:4px}body .cm-cat .fm-stats dd{margin:0;font-family:var(--f-display);font-weight:660;font-size:clamp(30px,3vw,42px);line-height:1;letter-spacing:-.04em;color:var(--teal);font-variant-numeric:tabular-nums}body .cm-cat .fm-stats dt{font-size:12.5px;line-height:1.3;color:var(--muted)}body .cm-cat .fm-note{font-size:12px;color:var(--muted);margin-top:auto}body .cm-cat .fm-chips{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}body .cm-cat .fm-chips li{padding:8px 13px;border-radius:99px;font-size:13.5px;font-weight:500;color:#dff1ec;background:rgb(255 255 255\/.08);border:1px solid rgb(255 255 255\/.16);transition:background-color .2s ease,border-color .2s ease}@media (hover:hover) and (pointer:fine){body .cm-cat .fm-chips li:hover{background:rgb(143 209 195\/.18);border-color:rgb(143 209 195\/.5)}}body .cm-cat .fm-x{position:absolute;left:50%;top:calc(50% - 60px);transform:translate(-50%,-50%);z-index:2;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--bg);border:1px solid var(--line);font:500 24px\/1 var(--f-display);color:var(--teal);box-shadow:0 14px 30px -18px rgb(var(--shade)\/.5)}body .cm-cat .fm-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin:clamp(24px,3vw,36px)0 clamp(40px,5vw,64px)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){body .cm-cat .fm-nat{animation:fmL linear both;animation-timeline:view();animation-range:entry 0%entry 60%}body .cm-cat .fm-tech{animation:fmR linear both;animation-timeline:view();animation-range:entry 0%entry 60%}}}@keyframes fmL{0%{opacity:0;transform:translateX(-28px)}}@keyframes fmR{0%{opacity:0;transform:translateX(28px)}}@media (max-width:1020px){body .cm-cat .fm-duo{grid-template-columns:1fr}body .cm-cat .fm-x{top:auto;position:relative;left:auto;transform:none;margin:-34px auto;justify-self:center}}@media (max-width:640px){body .cm-cat .fm-card{border-radius:24px}body .cm-cat .fm-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}body .cm-cat .fm-stats dd{font-size:32px}body .cm-cat .fm-links .btn-primary{width:100%;justify-content:space-between}body .cm-cat .fm-x{width:48px;height:48px;font-size:20px}}@media (max-width:1020px){@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){body .cm-cat .fm-nat,body .cm-cat .fm-tech{animation-name:rise}}}}body .cm-cat .fm-rail-h{font-size:clamp(19px,1.6vw,22px);font-weight:640;letter-spacing:-.015em;margin:0 0 16px}body .cm-cat .tile,body .cm-cat .fm-card,body .cm-cat .rq,body .cm-cat .final{border-radius:28px}body .cm-cat .rcard,body .cm-cat .faq-help{border-radius:20px}@media (max-width:640px){body .cm-cat .tile,body .cm-cat .fm-card,body .cm-cat .rq,body .cm-cat .final{border-radius:22px}body .cm-cat .rcard{border-radius:18px}}body .cm-cat .fm-head{margin-bottom:clamp(28px,4vw,48px)}body .cm-cat .pb{display:flex;align-items:center;justify-content:center;gap:clamp(18px,3vw,40px);padding-block:clamp(18px,2.2vw,26px)0;color:var(--muted)}body .cm-cat .pb-rating{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);min-height:44px;transition:opacity .2s ease}body .cm-cat .pb-g{width:20px;height:20px;flex:none}body .cm-cat .pb-rating b{font-family:var(--f-display);font-weight:650;font-size:17px;letter-spacing:-.01em}body .cm-cat .pb-stars{display:inline-flex;gap:2px}body .cm-cat .pb-stars i{width:14px;height:14px;background:#f5b301;clip-path:polygon(50%0,61.8% 35.3%,100% 35.3%,69.1% 57.1%,80.9% 92.7%,50% 70.6%,19.1% 92.7%,30.9% 57.1%,0 35.3%,38.2% 35.3%)}body .cm-cat .pb-count{font-size:14px;color:var(--muted);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:text-decoration-color .2s ease}@media (hover:hover) and (pointer:fine){body .cm-cat .pb-rating:hover .pb-count{text-decoration-color:currentColor}}body .cm-cat .pb-sep{width:1px;height:24px;background:var(--line);flex:none}body .cm-cat .pb-press{display:flex;align-items:center;gap:clamp(14px,2vw,26px)}body .cm-cat .pb-label{font-size:13px;color:var(--muted);white-space:nowrap}body .cm-cat .pb-press ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(16px,2.2vw,28px);color:var(--ink)}body .cm-cat .pb-press li{display:flex;opacity:.55;filter:grayscale(1);transition:opacity .25s ease}@media (hover:hover) and (pointer:fine){body .cm-cat .pb-press li:hover{opacity:.9}}body .cm-cat .pb-press img{height:20px;width:auto}body .cm-cat .pb-press img.gci{height:28px}body .cm-cat .pb-press .cosmo{height:15px;width:auto;color:var(--ink)}body .cm-cat .pb-press .cosmo *{fill:currentColor}@media (max-width:640px){body .cm-cat .pb{flex-direction:column;gap:10px;padding-top:16px}body .cm-cat .pb-sep{display:none}body .cm-cat .pb-press{gap:14px}body .cm-cat .pb-label{font-size:12px}body .cm-cat .pb-press ul{gap:16px}body .cm-cat .pb-press img{height:16px}body .cm-cat .pb-press img.gci{height:22px}body .cm-cat .pb-press .cosmo{height:12px}}body .cm-cat .fm.section{padding-block:clamp(48px,6vw,88px)}body .cm-cat .fm-head{margin-bottom:clamp(20px,2.6vw,32px)}body .cm-cat .fm-duo{gap:12px}body .cm-cat .fm-card{flex-direction:row;align-items:stretch;border-radius:24px;min-height:0}body .cm-cat .fm-media{flex:0 0 38%;aspect-ratio:auto}body .cm-cat .fm-body{gap:8px;padding:clamp(18px,2vw,26px);justify-content:center}body .cm-cat .fm-body h3{font-size:clamp(18px,1.5vw,21px)}body .cm-cat .fm-body>p{font-size:14.5px;line-height:1.5}body .cm-cat .fm-x{top:50%;width:44px;height:44px;font-size:19px}body .cm-cat .fm-links{margin:clamp(18px,2.2vw,26px)0 clamp(28px,3.4vw,44px)}body .cm-cat .fm-rail-h{font-size:17px;margin-bottom:12px}body .cm-cat .fm .rcard{flex-basis:clamp(170px,15vw,210px);aspect-ratio:4\/5;border-radius:18px}body .cm-cat .fm .rcard b{font-size:17px}body .cm-cat .fm .rcard>span{left:12px;right:12px;bottom:12px}@media (max-width:1020px){body .cm-cat .fm-x{top:auto;margin:-26px auto}}@media (max-width:640px){body .cm-cat .fm-card{border-radius:20px}body .cm-cat .fm-media{flex-basis:34%}body .cm-cat .fm-body{padding:14px 16px}body .cm-cat .fm-body h3{font-size:17px}body .cm-cat .fm-body>p{font-size:13.5px}body .cm-cat .fm-x{width:38px;height:38px;font-size:16px;margin:-22px auto}body .cm-cat .fm .rcard{flex-basis:44vw}}body .cm-cat .fm .rcard{flex-basis:clamp(220px,21vw,290px);aspect-ratio:3\/4;border-radius:20px}body .cm-cat .fm .rcard b{font-size:20px}body .cm-cat .fm .rcard>span{left:16px;right:16px;bottom:16px}body .cm-cat .fm-head{align-items:flex-end}body .cm-cat .fm-ing{margin-top:clamp(40px,5vw,64px)}body .cm-cat .fm-ing-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:14px}body .cm-cat .fm-ing-head h3{font-size:clamp(17px,1.4vw,19px);font-weight:620;letter-spacing:-.01em;color:var(--ink)}body .cm-cat .fm-ing-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;font-size:14.5px;color:var(--teal);text-decoration:none}body .cm-cat .fm-ing-link .ico{transition:transform .25s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .fm-ing-link:hover .ico{transform:translateX(3px)}}body .cm-cat .fm-ing .fm-card{border-radius:20px}body .cm-cat .fm-ing .fm-media{flex-basis:26%}body .cm-cat .fm-ing .fm-body{padding:14px 18px;gap:4px}body .cm-cat .fm-ing .fm-body h3{font-size:16.5px}body .cm-cat .fm-ing .fm-body>p{font-size:13.5px}body .cm-cat .fm-ing .fm-x{width:36px;height:36px;font-size:15px}body .cm-cat .fm-links,body .cm-cat .fm-rail-h{display:none}@media (max-width:640px){body .cm-cat .fm-head .btn{width:100%;justify-content:space-between}body .cm-cat .fm .rcard{flex-basis:62vw}body .cm-cat .fm-ing .fm-media{flex-basis:30%}body .cm-cat .fm-ing .fm-x{margin:-20px auto}}body .cm-cat .fm-head.rail-head{flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;max-width:none;gap:16px 28px}body .cm-cat .fm-head.rail-head>div{display:flex;flex-direction:column;gap:12px;max-width:640px}body .cm-cat .wa .copy{min-height:44px;padding-inline:14px}body .cm-cat .h2{text-wrap:balance}body .cm-cat .dv{padding-block:clamp(18px,2.6vw,40px) clamp(40px,5vw,72px);position:relative;overflow-x:clip}body .cm-cat .dv::before{content:\"\";position:absolute;inset:-25% -10%auto auto;width:min(80vw,980px);aspect-ratio:1;background:radial-gradient(closest-side,var(--mint),transparent 72%);z-index:-1;pointer-events:none}body .cm-cat .dv-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(28px,5vw,84px);align-items:start}body .cm-cat .dv-crumbs{display:flex;gap:8px;align-items:center;margin-bottom:clamp(16px,2.2vw,28px);font-size:12.5px}body .cm-cat .dv-crumbs a{color:var(--muted);text-decoration:none}body .cm-cat .dv-crumbs [aria-current]{color:var(--ink)}body .cm-cat .dv-title{font-size:clamp(34px,4vw,58px);line-height:1.03;letter-spacing:-.045em;font-weight:680;max-width:16ch;text-wrap:balance}body .cm-cat .dv-title .tint{color:var(--teal)}body .cm-cat .dv-lede{margin-top:clamp(16px,1.8vw,24px);font-size:clamp(17px,1.3vw,19px);line-height:1.55;color:var(--muted);max-width:46ch}body .cm-cat .dv-get{list-style:none;margin:clamp(24px,2.8vw,36px)0 0;padding:0;display:grid;gap:16px}body .cm-cat .dv-get li{display:flex;gap:14px;align-items:flex-start}body .cm-cat .dv-get b{display:block;font:650 16.5px\/1.3 var(--f-display);letter-spacing:-.01em;color:var(--ink);margin-bottom:2px}body .cm-cat .dv-get li>span:last-child{color:var(--muted);font-size:15.5px;line-height:1.5}body .cm-cat .dv-ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--mint);color:var(--teal)}body .cm-cat .dv-ic .ico{width:21px;height:21px}body .cm-cat .dv-trust{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:clamp(26px,3vw,40px);padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--line)}body .cm-cat .dv-rating{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-size:14px}body .cm-cat .dv-rating b{font:700 17px\/1 var(--f-display)}body .cm-cat .dv-g{width:20px;height:20px}body .cm-cat .dv-stars{display:inline-flex;gap:2px}body .cm-cat .dv-stars i{width:13px;height:13px;background:#f5b301;clip-path:polygon(50%0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}body .cm-cat .dv-sep{width:1px;height:28px;background:var(--line)}body .cm-cat .dv-iso{display:inline-flex;align-items:center;gap:10px;font:600 13.5px\/1.25 var(--f-body);color:var(--ink)}body .cm-cat .dv-iso img{width:40px;height:40px;object-fit:contain;border-radius:10px;background:var(--paper);padding:4px;box-shadow:0 0 0 1px var(--line)}body .cm-cat .dv-iso small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}body .cm-cat .dv-card{position:sticky;top:96px;background:var(--paper);border-radius:var(--r-lg);padding:clamp(22px,2.4vw,34px);box-shadow:0 1px 0 rgb(var(--shade)\/.04),0 30px 70px -36px rgb(var(--shade)\/.45),0 0 0 1px var(--line)}body .cm-cat .dv-card-head{display:flex;gap:16px;align-items:center;margin-bottom:clamp(16px,1.8vw,22px)}body .cm-cat .dv-avatar{flex:none;width:64px;height:64px;border-radius:20px;object-fit:cover;object-position:30% 30%}body .cm-cat .dv-card-head h2{font:680 clamp(20px,1.7vw,24px)\/1.15 var(--f-display);letter-spacing:-.025em;color:var(--ink)}body .cm-cat .dv-card-head p{margin-top:4px;color:var(--muted);font-size:14.5px;line-height:1.45}body .cm-cat .dv-reassure{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13px;line-height:1.45;color:var(--muted)}body .cm-cat .dv-reassure .ico{flex:none;width:17px;height:17px;margin-top:1px;color:var(--teal)}body .cm-cat .dv-form .wpforms-container{margin:0!important;max-width:none!important}body .cm-cat .dv-form .wpforms-head-container,body .cm-cat .dv-form .wpforms-title{display:none}body .cm-cat .dv-form .wpforms-field-container{display:grid;gap:14px}body .cm-cat .dv-form .wpforms-field{padding:0!important;margin:0!important;float:none!important;width:auto!important}body .cm-cat .dv-form .wpforms-field-name .wpforms-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:none!important}body .cm-cat .dv-form .choices.wpforms-field-row{display:block!important}body .cm-cat .dv-form .wpforms-field-row-block{width:auto!important;padding:0!important;float:none!important}body .cm-cat .dv-form .wpforms-field-row::before,body .cm-cat .dv-form .wpforms-field-row::after{display:none!important}body .cm-cat .dv-form label.wpforms-field-label,body .cm-cat .dv-form legend.wpforms-field-label{display:block;font:600 13.5px\/1.3 var(--f-body)!important;color:var(--ink)!important;margin:0 0 7px!important;padding:0!important;text-transform:none!important;letter-spacing:normal!important}body .cm-cat .dv-form fieldset{border:0!important;padding:0!important;margin:0!important;min-width:0}body .cm-cat .dv-form .wpforms-label-hide{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip:auto!important}body .cm-cat .dv-form .wpforms-sublabel-hide{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}body .cm-cat .dv-form .wpforms-required-label{color:var(--teal)!important}body .cm-cat .dv-form input[type=text],body .cm-cat .dv-form input[type=email],body .cm-cat .dv-form input[type=tel],body .cm-cat .dv-form select,body .cm-cat .dv-form textarea{width:100%!important;max-width:none!important;box-sizing:border-box;font:400 15.5px\/1.4 var(--f-body)!important;color:var(--ink)!important;background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:13px 15px!important;height:auto!important;min-height:50px;box-shadow:none!important;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}body .cm-cat .dv-form textarea{min-height:120px;resize:vertical}body .cm-cat .dv-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%)!important;background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%!important;background-size:6px 6px!important;background-repeat:no-repeat!important;padding-right:40px!important}body .cm-cat .dv-form input:focus,body .cm-cat .dv-form select:focus,body .cm-cat .dv-form textarea:focus{outline:0!important;border-color:var(--teal)!important;background-color:var(--paper)!important;box-shadow:0 0 0 4px rgb(47 114 102\/.14)!important}body .cm-cat .dv-form ::placeholder{color:#8aa09d;opacity:1}body .cm-cat .dv-form .wpforms-submit-container{margin-top:6px!important;padding:0!important}body .cm-cat .dv-form button.wpforms-submit{width:100%!important;display:inline-flex!important;align-items:center;justify-content:center;gap:10px;font:650 16px\/1 var(--f-body)!important;color:#fff!important;background:var(--deep)!important;border:0!important;border-radius:99px!important;padding:19px 26px!important;min-height:58px;cursor:pointer;box-shadow:0 14px 30px -14px rgb(var(--shade)\/.7)!important;transition:transform .16s var(--ease-out),background-color .2s ease}body .cm-cat .dv-form button.wpforms-submit::after{content:\"\";width:18px;height:18px;background:currentColor;-webkit-mask:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'\/%3E%3C\/svg%3E\")center\/contain no-repeat;mask:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'\/%3E%3C\/svg%3E\")center\/contain no-repeat}@media (hover:hover) and (pointer:fine){body .cm-cat .dv-form button.wpforms-submit:hover{background:var(--teal)!important}}body .cm-cat .dv-form button.wpforms-submit:active{transform:scale(.98)}body .cm-cat .dv-form .wpforms-error,body .cm-cat .dv-form label.wpforms-error,body .cm-cat .dv-form em.wpforms-error{display:block;color:#b3261e!important;font-size:12.5px!important;margin-top:5px!important}body .cm-cat .dv-form input.wpforms-error,body .cm-cat .dv-form select.wpforms-error,body .cm-cat .dv-form textarea.wpforms-error{border-color:#d26a5f!important}body .cm-cat .dv-form .wpforms-confirmation-container-full{background:var(--mint)!important;border:0!important;border-radius:18px!important;color:var(--ink)!important;padding:22px!important}body .cm-cat .dv-form .wpforms-submit-spinner{margin-left:10px}body .cm-cat .dv-steps.section{padding-block:clamp(48px,6vw,96px) clamp(24px,3vw,40px)}body .cm-cat .dv-flow{list-style:none;margin:clamp(26px,3.4vw,44px)0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);counter-reset:s;position:relative}body .cm-cat .dv-flow li{position:relative;padding:clamp(22px,2.4vw,32px);border-radius:var(--r-lg);background:var(--paper);box-shadow:0 0 0 1px var(--line)}body .cm-cat .dv-flow .mono{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--deep);color:var(--deep-ink);font-size:13px}body .cm-cat .dv-flow h3{margin-top:18px;font:650 clamp(19px,1.6vw,22px)\/1.2 var(--f-display);letter-spacing:-.02em}body .cm-cat .dv-flow p{margin-top:8px;color:var(--muted);font-size:15.5px;line-height:1.55}body .cm-cat .dv-flow li:not(:last-child)::after{content:\"\";position:absolute;top:44px;right:calc(-1*clamp(14px,1.8vw,24px));width:clamp(14px,1.8vw,24px);height:1.5px;background:var(--line)}body .cm-cat .dv-obj.section{padding-block:clamp(40px,5vw,80px)}body .cm-cat .dv-obj .h2{max-width:20ch}body .cm-cat .dv-obj-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:auto auto;gap:clamp(14px,1.6vw,20px);margin-top:clamp(26px,3.4vw,44px)}body .cm-cat .dv-o{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,30px);border-radius:var(--r-lg);background:var(--mint)}body .cm-cat .dv-o h3{font:650 clamp(18px,1.5vw,21px)\/1.25 var(--f-display);letter-spacing:-.02em;color:var(--ink)}body .cm-cat .dv-o p{color:var(--muted);font-size:15.5px;line-height:1.55}body .cm-cat .dv-obj-grid>.dv-o:last-child{grid-column:span 2}body .cm-cat .dv-o-lead{grid-row:span 2;background:var(--deep);color:var(--deep-ink);justify-content:flex-end;min-height:320px;background-image:radial-gradient(120% 80%at 100%0,rgb(255 255 255\/.08),transparent 60%)}body .cm-cat .dv-o-lead h3{color:#fff;font-size:clamp(22px,2vw,28px)}body .cm-cat .dv-o-lead p{color:var(--deep-muted);font-size:16.5px}body .cm-cat .dv-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font:600 14.5px\/1.3 var(--f-body);color:var(--teal);text-decoration:none;padding-top:6px}body .cm-cat .dv-o-lead .dv-link{color:#bfe3da}body .cm-cat .dv-link .ico{width:16px;height:16px;transition:transform .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .dv-link:hover .ico{transform:translateX(4px)}}body .cm-cat .dv-proof.section{padding-block:clamp(40px,5vw,80px)}body .cm-cat .dv-proof-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px}body .cm-cat .dv-proof-head .h2{max-width:19ch}body .cm-cat .dv-score{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);padding:14px 20px;border-radius:20px;background:var(--paper);box-shadow:0 0 0 1px var(--line)}body .cm-cat .dv-score>b{font:700 44px\/1 var(--f-display);letter-spacing:-.04em}body .cm-cat .dv-score>span{display:grid;gap:4px;font-size:13.5px;color:var(--muted)}body .cm-cat .dv-quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,20px);margin-top:clamp(24px,3vw,40px)}body .cm-cat .dv-alt{padding-block:clamp(24px,4vw,56px) clamp(48px,7vw,104px)}body .cm-cat .dv-alt-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;background:var(--deep);color:var(--deep-ink);border-radius:clamp(28px,4vw,44px);padding:clamp(28px,5vw,72px)}body .cm-cat .dv-alt-copy h2{font:680 clamp(28px,3.2vw,44px)\/1.05 var(--f-display);letter-spacing:-.035em;color:#fff;max-width:14ch}body .cm-cat .dv-alt-copy p{margin-top:14px;color:var(--deep-muted);max-width:40ch}body .cm-cat .dv-alt-copy .btn{--bg-b:var(--deep-ink);--fg-b:var(--deep);margin-top:24px}body .cm-cat .dv-alt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}body .cm-cat .dv-alt-list a{display:flex;gap:14px;align-items:flex-start;height:100%;box-sizing:border-box;padding:18px;border-radius:20px;background:rgb(255 255 255\/.06);box-shadow:inset 0 0 0 1px rgb(255 255 255\/.1);color:var(--deep-ink);text-decoration:none;transition:background-color .2s ease}@media (hover:hover) and (pointer:fine){body .cm-cat .dv-alt-list a:hover{background:rgb(255 255 255\/.11)}}body .cm-cat .dv-alt-list .ico{flex:none;width:22px;height:22px;color:#bfe3da;margin-top:2px}body .cm-cat .dv-alt-list b{display:block;color:#fff;font:650 15px\/1.3 var(--f-body);margin-bottom:3px}body .cm-cat .dv-alt-list span{font-size:14px;line-height:1.45;color:var(--deep-muted);overflow-wrap:anywhere}@media (prefers-reduced-motion:no-preference){body .cm-cat .dv-title{animation:dvrise .9s var(--ease-out) both}body .cm-cat .dv-lede{animation:dvrise .9s var(--ease-out) .06s both}body .cm-cat .dv-get{animation:dvrise .9s var(--ease-out) .12s both}body .cm-cat .dv-card{animation:dvrise 1s var(--ease-out) .1s both}}@keyframes dvrise{0%{opacity:.001;transform:translateY(14px)}}@media (max-width:1020px){body .cm-cat .dv-grid{grid-template-columns:1fr;gap:0}body .cm-cat .dv-copy{display:contents}body .cm-cat .dv-crumbs,body .cm-cat .dv-title,body .cm-cat .dv-lede{order:1}body .cm-cat .dv-card{order:2;position:relative;top:auto;margin-top:clamp(22px,4vw,32px)}body .cm-cat .dv-get,body .cm-cat .dv-trust{order:3}body .cm-cat .dv-title{max-width:18ch}body .cm-cat .dv-obj-grid{grid-template-columns:1fr 1fr}body .cm-cat .dv-o-lead{grid-row:auto;grid-column:span 2;min-height:0}body .cm-cat .dv-alt-box{grid-template-columns:1fr}}@media (max-width:760px){body .cm-cat .dv-flow{grid-template-columns:1fr}body .cm-cat .dv-flow li:not(:last-child)::after{display:none}body .cm-cat .dv-quotes{grid-template-columns:1fr}}@media (max-width:640px){body .cm-cat .dv-title{font-size:clamp(32px,9vw,40px)}body .cm-cat .dv-get{gap:14px}body .cm-cat .dv-card{padding:20px;border-radius:24px;margin-inline:-4px}body .cm-cat .dv-form .wpforms-field-name .wpforms-field-row{grid-template-columns:1fr}body .cm-cat .dv-obj-grid{grid-template-columns:1fr}body .cm-cat .dv-o-lead{grid-column:auto}body .cm-cat .dv-obj-grid>.dv-o:last-child{grid-column:auto}body .cm-cat .dv-alt-list{grid-template-columns:1fr}body .cm-cat .dv-sep{display:none}}body .cm-cat .dv-form .iti{display:block!important;width:100%!important}body .cm-cat .dv-form .iti input[type=tel]{padding-left:58px!important}body .cm-cat .dv-form .iti__flag-container,body .cm-cat .dv-form .iti__country-container{padding:0 0 0 6px}body .cm-cat .dv-form .iti__selected-flag,body .cm-cat .dv-form .iti__selected-country{border-radius:12px 0 0 12px;padding:0 6px 0 10px;background:0 0!important}body .cm-cat .dv-form .choices{width:100%!important;max-width:none!important;margin:0!important;font:400 15.5px\/1.4 var(--f-body)}body .cm-cat .dv-form .choices__inner{box-sizing:border-box;width:100%!important;max-width:none!important;min-height:50px!important;display:flex!important;align-items:center;background:var(--bg)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:8px 40px 8px 15px!important;font-size:15.5px!important;color:var(--ink)!important}body .cm-cat .dv-form .choices.is-focused .choices__inner,body .cm-cat .dv-form .choices.is-open .choices__inner{border-color:var(--teal)!important;background:var(--paper)!important;box-shadow:0 0 0 4px rgb(47 114 102\/.14)!important}body .cm-cat .dv-form .choices__list--single{padding:0!important}body .cm-cat .dv-form .choices__list--dropdown,body .cm-cat .dv-form .choices__list[aria-expanded]{border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 18px 40px -18px rgb(var(--shade)\/.45)!important;margin-top:6px!important;overflow:hidden}body .cm-cat .dv-form .choices__list--dropdown .choices__item{font-size:15px!important;padding:12px 15px!important}body .cm-cat .dv-form .choices__list--dropdown .choices__item--selectable.is-highlighted{background:var(--mint)!important}body .cm-cat .dv-form .choices[data-type*=select-one]::after{border-color:var(--muted) transparent transparent!important;right:18px!important}body .cm-cat .dv-form .choices.wpforms-error .choices__inner,body .cm-cat .dv-form .choices.is-invalid .choices__inner{border-color:#d26a5f!important}body .cm-cat .dv-form ::placeholder{font-size:15px}body .cm-cat .fc-hero{padding-block:clamp(16px,2.4vw,36px) clamp(28px,3.5vw,48px);position:relative;overflow-x:clip}body .cm-cat .fc-hero::before{content:\"\";position:absolute;inset:-30%auto auto -18%;width:min(70vw,880px);aspect-ratio:1;background:radial-gradient(closest-side,var(--mint),transparent 70%);z-index:-1;pointer-events:none}body .cm-cat .fc-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,80px);align-items:center}body .cm-cat .fc-title{font-size:clamp(36px,4.3vw,62px);line-height:1.02;letter-spacing:-.045em;font-weight:680;max-width:15ch;text-wrap:balance}body .cm-cat .fc-title .tint{color:var(--teal)}body .cm-cat .fc-lede{margin-top:clamp(16px,1.8vw,24px);font-size:clamp(17px,1.35vw,19.5px);line-height:1.55;color:var(--muted);max-width:42ch}body .cm-cat .fc-cta{display:flex;flex-wrap:wrap;gap:12px 14px;margin-top:clamp(24px,2.8vw,34px)}body .cm-cat .btn.fc-ghost{--bg-b:transparent;--fg-b:var(--ink);background:0 0;box-shadow:inset 0 0 0 1.5px var(--line);padding:17px 24px}@media (hover:hover) and (pointer:fine){body .cm-cat .btn.fc-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--teal);color:var(--teal)}}body .cm-cat .fc-hero-media{margin:0;position:relative;justify-self:end;width:100%;max-width:520px}body .cm-cat .fc-hero-media img{display:block;width:100%;height:auto;aspect-ratio:4\/5;max-height:min(74vh,660px);object-fit:cover;object-position:50% 35%;border-radius:var(--r-lg);background:var(--mint-2);box-shadow:0 40px 80px -48px rgb(var(--shade)\/.6)}body .cm-cat .fc-seal{position:absolute;left:clamp(-28px,-2vw,-12px);bottom:9%;display:flex;align-items:center;gap:12px;background:var(--paper);color:var(--muted);padding:12px 18px 12px 12px;border-radius:18px;font-size:12.5px;box-shadow:0 18px 40px -20px rgb(var(--shade)\/.45)}body .cm-cat .fc-seal .ico{width:38px;height:38px;padding:8px;border-radius:12px;background:var(--teal);color:var(--teal-ink)}body .cm-cat .fc-seal b{display:block;color:var(--ink);font:650 14px\/1.2 var(--f-display)}body .cm-cat .fc-pb-fact{font-size:14px;color:var(--muted)}body .cm-cat .fc-pb-fact b{color:var(--ink);font:700 16px\/1 var(--f-display)}@media (prefers-reduced-motion:no-preference){body .cm-cat .fc-title{animation:fcrise .9s var(--ease-out) both}body .cm-cat .fc-lede{animation:fcrise .9s var(--ease-out) .06s both}body .cm-cat .fc-cta{animation:fcrise .9s var(--ease-out) .12s both}body .cm-cat .fc-hero-media img{animation:fcclip 1.1s var(--ease-io) .05s both}body .cm-cat .fc-seal{animation:fcrise .8s var(--ease-out) .6s both}}@keyframes fcrise{0%{opacity:.001;transform:translateY(14px)}}@keyframes fcclip{0%{clip-path:inset(8% 6% 8% 6%round 28px);opacity:.4}to{clip-path:inset(0 0 0 0 round 0)}}body .cm-cat .fc-roles.section{padding-block:clamp(56px,7vw,104px) clamp(28px,3.5vw,48px)}body .cm-cat .fc-answer{margin-top:clamp(16px,2vw,24px);font:500 clamp(19px,1.6vw,23px)\/1.45 var(--f-display);letter-spacing:-.012em;color:var(--ink);max-width:52ch}body .cm-cat .fc-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(14px,1.6vw,20px);margin-top:clamp(28px,3.4vw,44px)}body .cm-cat .fc-col{border-radius:var(--r-lg);padding:clamp(24px,2.6vw,36px)}body .cm-cat .fc-col h3{margin-top:16px;font:650 clamp(20px,1.7vw,24px)\/1.2 var(--f-display);letter-spacing:-.02em}body .cm-cat .fc-col ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}body .cm-cat .fc-col li{position:relative;padding-left:30px;font-size:16px;line-height:1.45}body .cm-cat .fc-col li::before{content:\"\";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:var(--mint-2)url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7266' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'\/%3E%3C\/svg%3E\")center\/12px no-repeat}body .cm-cat .fc-col-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px}body .cm-cat .fc-col-ic .ico{width:22px;height:22px}body .cm-cat .fc-you{background:var(--paper);box-shadow:0 0 0 1px var(--line)}body .cm-cat .fc-you .fc-col-ic{background:var(--mint);color:var(--teal)}body .cm-cat .fc-us{background:var(--deep);color:var(--deep-ink);background-image:radial-gradient(110% 80%at 100%0,rgb(255 255 255\/.08),transparent 60%)}body .cm-cat .fc-us h3{color:#fff}body .cm-cat .fc-us .fc-col-ic{background:rgb(255 255 255\/.1);color:#bfe3da}body .cm-cat .fc-us-list{grid-template-columns:1fr 1fr;column-gap:24px}body .cm-cat .fc-us li{color:var(--deep-ink)}body .cm-cat .fc-us li::before{background-color:rgb(255 255 255\/.12);background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%23bfe3da' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'\/%3E%3C\/svg%3E\")}body .cm-cat .fc-modes.section{padding-block:clamp(32px,4vw,64px)}body .cm-cat .fc-bento{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,minmax(230px,auto));gap:clamp(12px,1.4vw,18px);margin-top:clamp(26px,3.4vw,44px)}body .cm-cat .fc-m1{grid-row:span 2}body .cm-cat .fc-m2{grid-column:span 2}body .cm-cat .fc-bento .tile{min-height:0}body .cm-cat .fc-cap{padding-block:clamp(40px,5vw,80px)}body .cm-cat .fc-cap-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,4vw,64px);align-items:stretch;background:var(--mint);border-radius:clamp(28px,4vw,44px);padding:clamp(16px,2vw,24px)}body .cm-cat .fc-cap-media{margin:0;height:100%}body .cm-cat .fc-cap-media img{display:block;width:100%;height:100%;min-height:380px;object-fit:cover;border-radius:clamp(20px,3vw,32px)}body .cm-cat .fc-cap-copy{align-self:center;padding:clamp(8px,2vw,28px) clamp(8px,2vw,28px) clamp(8px,2vw,28px)0}body .cm-cat .fc-cap-copy>p{margin-top:14px;color:var(--muted);max-width:40ch}body .cm-cat .fc-chips{display:grid;gap:18px;margin-top:24px}body .cm-cat .fc-chips h3{font:600 12.5px\/1 var(--f-body);text-transform:uppercase;letter-spacing:.07em;color:var(--teal)}body .cm-cat .fc-chips ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}body .cm-cat .fc-chips li{padding:8px 14px;border-radius:99px;background:var(--paper);font-size:14.5px;color:var(--ink);box-shadow:0 0 0 1px var(--line)}body .cm-cat .fc-link{display:inline-flex;align-items:center;gap:8px;margin-top:24px;font:600 15px\/1.3 var(--f-body);color:var(--teal);text-decoration:none}body .cm-cat .fc-link .ico{width:16px;height:16px;transition:transform .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .fc-link:hover .ico{transform:translateX(4px)}}body .cm-cat .fc-why.section{padding-block:clamp(40px,5vw,80px)}body .cm-cat .fc-why .h2{max-width:18ch}body .cm-cat .fc-why-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:clamp(14px,1.6vw,20px);margin-top:clamp(26px,3.4vw,44px)}body .cm-cat .fc-w{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,30px);border-radius:var(--r-lg);background:var(--paper);box-shadow:0 0 0 1px var(--line)}body .cm-cat .fc-w .ico{width:26px;height:26px;color:var(--teal)}body .cm-cat .fc-w h3{font:650 clamp(18px,1.5vw,21px)\/1.25 var(--f-display);letter-spacing:-.02em}body .cm-cat .fc-w p{color:var(--muted);font-size:15.5px;line-height:1.55}body .cm-cat .fc-w-lead{grid-row:span 2;justify-content:flex-end;background:var(--deep);box-shadow:none;min-height:320px;background-image:radial-gradient(120% 80%at 100%0,rgb(255 255 255\/.08),transparent 60%)}body .cm-cat .fc-w-lead .ico{color:#bfe3da;width:32px;height:32px}body .cm-cat .fc-w-lead h3{color:#fff;font-size:clamp(22px,2vw,28px)}body .cm-cat .fc-w-lead p{color:var(--deep-muted);font-size:16.5px}body .cm-cat .fc-why-grid>.fc-w:last-child{grid-column:span 2}body .cm-cat .fc-rev.section{padding-block:clamp(40px,5vw,80px)}@media (max-width:1020px){body .cm-cat .fc-hero-grid{grid-template-columns:1fr}body .cm-cat .fc-hero-media{justify-self:start;max-width:560px}body .cm-cat .fc-split{grid-template-columns:1fr}body .cm-cat .fc-bento{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:minmax(240px,auto)}body .cm-cat .fc-m1{grid-row:auto;grid-column:span 2}body .cm-cat .fc-m2{grid-column:auto}body .cm-cat .fc-cap-grid{grid-template-columns:1fr}body .cm-cat .fc-cap-copy{align-self:center;padding:8px 12px 16px}body .cm-cat .fc-why-grid{grid-template-columns:1fr 1fr}body .cm-cat .fc-w-lead{grid-row:auto;grid-column:span 2;min-height:0}body .cm-cat .fc-why-grid>.fc-w:last-child{grid-column:span 2}}@media (max-width:640px){body .cm-cat .fc-title{font-size:clamp(32px,9vw,40px)}body .cm-cat .fc-hero-media img{aspect-ratio:1\/1;max-height:none}body .cm-cat .fc-seal{left:12px;bottom:12px}body .cm-cat .fc-us-list{grid-template-columns:1fr}body .cm-cat .fc-bento{grid-template-columns:1fr;grid-auto-rows:minmax(220px,auto)}body .cm-cat .fc-m1{grid-column:auto}body .cm-cat .fc-cap-media img{min-height:0;aspect-ratio:4\/3}body .cm-cat .fc-why-grid{grid-template-columns:1fr}body .cm-cat .fc-w-lead,body .cm-cat .fc-why-grid>.fc-w:last-child{grid-column:auto}}body .cm-cat .fc-eu{flex:none;border-radius:6px}body .cm-cat .fc-eu-lg{width:66px;height:44px;box-shadow:0 0 0 1px rgb(255 255 255\/.18)}body .cm-cat .fc-seal .fc-eu{width:54px;height:36px;box-shadow:0 0 0 1px rgb(0 51 153\/.15)}body .cm-cat .pk-hero-media img{object-position:58% 40%}body .cm-cat .pk-ex.section{padding-block:clamp(40px,5vw,80px)}body .cm-cat .pk-ex-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(16px,4vw,56px);align-items:end}body .cm-cat .pk-ex-sub{color:var(--muted);font-size:17px;line-height:1.55;max-width:44ch}body .cm-cat .pk-ex-ui{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(16px,2.4vw,32px);margin-top:clamp(26px,3.4vw,44px);align-items:start}body .cm-cat .pk-tabs{position:relative;display:flex;flex-direction:column;gap:4px;padding:6px;border-radius:22px;background:var(--mint)}body .cm-cat .pk-tab{position:relative;z-index:1;display:grid;gap:3px;text-align:left;padding:14px 16px;border:0;border-radius:16px;background:0 0;color:var(--ink);cursor:pointer;font:inherit;line-height:1.2;text-transform:none;letter-spacing:normal;box-shadow:none;min-height:0;transition:color .2s ease}body .cm-cat .pk-tab b{font:650 16px\/1.2 var(--f-display);letter-spacing:-.01em}body .cm-cat .pk-tab small{font-size:13.5px;color:var(--muted)}body .cm-cat .pk-tab:focus-visible{outline:2px solid var(--teal);outline-offset:2px}body .cm-cat .pk-tab[aria-selected=false]:hover{color:var(--teal)}body .cm-cat .pk-ind{position:absolute;left:0;top:0;z-index:0;border-radius:16px;background:var(--paper);box-shadow:0 1px 0 rgb(var(--shade)\/.04),0 10px 24px -14px rgb(var(--shade)\/.45);pointer-events:none}body .cm-cat .pk-tabs.ready .pk-ind{transition:transform .32s var(--ease-out),width .32s var(--ease-out),height .32s var(--ease-out)}body .cm-cat .pk-panels{min-width:0}body .cm-cat .pk-p{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);border-radius:var(--r-lg);overflow:hidden;background:var(--paper);box-shadow:0 0 0 1px var(--line)}body .cm-cat .pk-p[hidden]{display:none}body .cm-cat .pk-p img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}body .cm-cat .pk-p.on img{animation:pkin .45s var(--ease-out) both}body .cm-cat .pk-p.on .pk-fiche{animation:pkfade .4s var(--ease-out) .05s both}@keyframes pkin{0%{opacity:.4;transform:scale(1.03)}to{opacity:1;transform:none}}@keyframes pkfade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}body .cm-cat .pk-fiche{display:flex;flex-direction:column;gap:16px;padding:clamp(22px,2.6vw,34px)}body .cm-cat .pk-fiche h3{font:680 clamp(24px,2.2vw,30px)\/1.1 var(--f-display);letter-spacing:-.03em}body .cm-cat .pk-fiche dl{margin:0;display:grid;gap:12px}body .cm-cat .pk-fiche dl>div{display:grid;gap:3px;padding-bottom:12px;border-bottom:1px solid var(--line)}body .cm-cat .pk-fiche dt{font:500 11.5px\/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}body .cm-cat .pk-fiche dd{margin:0;font-size:15.5px;line-height:1.45;font-weight:500}body .cm-cat .pk-tip{margin-top:auto;padding:14px 16px;border-radius:14px;background:var(--mint);font-size:14.5px;line-height:1.5;color:var(--ink)}body .cm-cat .pk-tip b{display:block;margin-bottom:2px;color:var(--teal);font-size:13px}body .cm-cat .pk-layers.section{padding-block:clamp(40px,5vw,72px)}body .cm-cat .pk-layers .h2{max-width:22ch}body .cm-cat .pk-lay-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);margin-top:clamp(26px,3.4vw,44px);counter-reset:l}body .cm-cat .pk-l{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2vw,26px);border-radius:var(--r-lg);background:var(--paper);box-shadow:0 0 0 1px var(--line);overflow:hidden}body .cm-cat .pk-l::before{content:\"\";position:absolute;left:0;right:0;top:0;height:6px;background:var(--c,var(--teal))}body .cm-cat .pk-l1{--c:#cfe6df}body .cm-cat .pk-l2{--c:#9fcdbf}body .cm-cat .pk-l3{--c:#5ea595}body .cm-cat .pk-l4{--c:var(--teal)}body .cm-cat .pk-l .mono{font-size:12px;color:var(--teal)}body .cm-cat .pk-l h3{font:650 clamp(19px,1.6vw,22px)\/1.2 var(--f-display);letter-spacing:-.02em}body .cm-cat .pk-l p{color:var(--muted);font-size:15px;line-height:1.55}body .cm-cat .pk-label.section{padding-block:clamp(40px,5vw,80px)}body .cm-cat .pk-label-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}body .cm-cat .pk-label-copy>p{margin-top:16px;color:var(--muted);font-size:17px;line-height:1.6;max-width:50ch}body .cm-cat .pk-mentions{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}body .cm-cat .pk-mentions li{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:10px;font-size:14px;line-height:1.4;color:var(--muted)}body .cm-cat .pk-mentions li b{display:block;color:var(--ink);font-size:15px}body .cm-cat .pk-mentions span,body .cm-cat .pk-lbl i{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font:700 11.5px\/1 var(--f-body);font-style:normal;grid-row:span 2}body .cm-cat .pk-lbl{margin:0}body .cm-cat .pk-lbl-card{display:grid;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px var(--line),0 40px 70px -44px rgb(var(--shade)\/.55);background:var(--paper);transform:rotate(-1.2deg)}body .cm-cat .pk-lbl-front{display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:24px;background:linear-gradient(160deg,#eaf4f1,#d7eae4);min-height:300px}body .cm-cat .pk-lbl-brand{font:700 13px\/1 var(--f-mono);letter-spacing:.24em;color:var(--deep)}body .cm-cat .pk-lbl-name{font:680 26px\/1.05 var(--f-display);letter-spacing:-.03em;color:var(--deep)}body .cm-cat .pk-lbl-fn,body .cm-cat .pk-lbl-qty{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--deep)}body .cm-cat .pk-lbl-qty{font:700 18px\/1 var(--f-display)}body .cm-cat .pk-lbl-back{display:flex;flex-direction:column;gap:10px;padding:20px;font-size:11.5px;line-height:1.45;color:var(--muted)}body .cm-cat .pk-lbl-back p{margin:0}body .cm-cat .pk-lbl-back i{width:18px;height:18px;font-size:10px;vertical-align:middle;margin-left:4px}body .cm-cat .pk-lbl-inci b{color:var(--ink)}body .cm-cat .pk-lbl-row{display:flex;align-items:center;gap:6px;margin-top:auto}body .cm-cat .pk-pao{display:inline-grid;place-items:center;width:30px;height:26px;border:1.5px solid var(--ink);border-radius:4px 4px 7px 7px;font:700 9.5px\/1 var(--f-body);color:var(--ink)}body .cm-cat .pk-lbl-row .mono{margin-left:10px;font-size:11px;color:var(--ink)}body .cm-cat .pk-lbl-rp{padding-top:8px;border-top:1px dashed var(--line)}body .cm-cat .pk-lbl figcaption{margin-top:14px;font-size:12px;color:var(--muted);text-align:center}body .cm-cat .pk-why-list{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}body .cm-cat .pk-why-list li{display:grid;gap:3px;padding-left:16px;border-left:2px solid rgb(255 255 255\/.2)}body .cm-cat .pk-why-list b{color:#fff;font-size:16px}body .cm-cat .pk-why-list span{color:var(--deep-muted);font-size:14.5px;line-height:1.5}body .cm-cat .pk-why-media img{aspect-ratio:4\/3;object-position:40% 50%}body .cm-cat .pk-ppwr{padding-block:clamp(32px,4vw,56px)0}body .cm-cat .pk-ppwr-box{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(18px,3vw,40px);align-items:center;padding:clamp(24px,3vw,36px) clamp(24px,3vw,40px);border-radius:var(--r-lg);background:var(--mint);color:var(--ink);text-decoration:none;overflow:hidden;isolation:isolate}body .cm-cat .pk-ppwr-box::after{content:\"\";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(closest-side,rgb(47 114 102\/.18),transparent);z-index:-1}body .cm-cat .pk-ppwr-tx{display:grid;gap:8px}body .cm-cat .pk-ppwr-box img{display:block;width:100%;height:auto;aspect-ratio:16\/10;object-fit:cover;border-radius:18px}body .cm-cat .pk-ppwr-box .mono{font-size:12px;color:var(--teal)}body .cm-cat .pk-ppwr-box h2{font:680 clamp(22px,2.4vw,30px)\/1.15 var(--f-display);letter-spacing:-.03em;max-width:30ch}body .cm-cat .pk-ppwr-box p{color:var(--muted);max-width:60ch}body .cm-cat .pk-ppwr-cta{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-weight:700;color:var(--teal)}body .cm-cat .pk-ppwr-cta .ico{transition:transform .2s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .pk-ppwr-box:hover .pk-ppwr-cta .ico{transform:translateX(4px)}}@media (max-width:1020px){body .cm-cat .pk-ex-head,body .cm-cat .pk-label-grid{grid-template-columns:1fr}body .cm-cat .pk-ex-ui{grid-template-columns:1fr}body .cm-cat .pk-tabs{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1*clamp(16px,4vw,48px));border-radius:0;padding:6px clamp(16px,4vw,48px);background:0 0}body .cm-cat .pk-tabs::-webkit-scrollbar{display:none}body .cm-cat .pk-tab{flex:none;scroll-snap-align:center;background:var(--mint);padding:12px 16px}body .cm-cat .pk-tab[aria-selected=true]{background:0 0}body .cm-cat .pk-lay-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body .cm-cat .pk-why-media img{aspect-ratio:16\/9}body .cm-cat .pk-ppwr-box{grid-template-columns:1fr}}@media (max-width:640px){body .cm-cat .pk-p{grid-template-columns:1fr}body .cm-cat .pk-p img{min-height:0;aspect-ratio:4\/3;height:auto}body .cm-cat .pk-lay-grid,body .cm-cat .pk-mentions{grid-template-columns:1fr}body .cm-cat .pk-lbl-card{grid-template-columns:1fr;transform:none}body .cm-cat .pk-lbl-front{min-height:200px}}@media (prefers-reduced-motion:reduce){body .cm-cat .pk-p.on img,body .cm-cat .pk-p.on .pk-fiche{animation:none}body .cm-cat .pk-tabs.ready .pk-ind{transition:none}}body .cm-cat .ip{--ing:#c9902e;--ing2:#f3c46a;--glow:255 196 92}body .cm-cat .ip-em{font-family:var(--f-body);font-style:italic;font-weight:500;letter-spacing:-.03em}body .cm-cat .ip-hero{position:relative;height:420vh;padding:clamp(8px,1.4vw,16px) clamp(8px,1.4vw,16px)0}body .cm-cat .ip-stage{position:sticky;top:calc(var(--hdr,0px) + clamp(8px,1.4vw,16px));height:calc(100svh - var(--hdr,0px) - var(--bm,0px) - 2*clamp(8px,1.4vw,16px));min-height:520px;border-radius:clamp(22px,3vw,36px);overflow:hidden;background:radial-gradient(90% 70%at 60% 45%,#f7f7f5 0,#e6e8e5 60%,#d9dcd8 100%);isolation:isolate}body .cm-cat .ip-stage::after{content:\"\";position:absolute;left:18%;right:18%;bottom:-60px;height:120px;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--glow)\/.55),transparent);filter:blur(10px);z-index:-1}body .cm-cat .ip-canvas{position:absolute;inset:0;width:100%;height:100%}body .cm-cat .ip-ui{position:absolute;inset:0;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;padding:clamp(20px,3vw,40px);pointer-events:none}body .cm-cat .ip-ui a,body .cm-cat .ip-ui button{pointer-events:auto}body .cm-cat .ip-tl{display:flex;flex-direction:column;gap:12px}body .cm-cat .ip-crumbs{font:500 12.5px\/1 var(--f-mono);color:#59625f}body .cm-cat .ip-crumbs a{color:#59625f;text-decoration:none}body .cm-cat .ip-brand{font:600 14px\/1 var(--f-mono);letter-spacing:.04em;color:#1c2422}body .cm-cat .ip-tr{display:grid;gap:8px;justify-items:end;font:500 12.5px\/1.3 var(--f-mono);color:#3b4441;text-align:right}body .cm-cat .ip-tr b{color:#1c2422}body .cm-cat .ip-ma{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:99px;background:#c1272d;color:#fff;font:600 12px\/1 var(--f-body)}body .cm-cat .ip-ma svg{width:14px;height:14px}body .cm-cat .ip-chap{grid-column:1;grid-row:2;align-self:end;max-width:720px}body .cm-cat .ip-h1{margin:0;font:720 clamp(52px,8vw,128px)\/.9 var(--f-display);letter-spacing:-.055em;color:#141b19}body .cm-cat .ip-lines{position:relative;min-height:2.6em;margin-top:clamp(12px,1.6vw,20px);font-size:clamp(20px,2.2vw,32px);line-height:1.2;max-width:24ch}body .cm-cat .ip-ch{position:absolute;left:0;top:0;margin:0;opacity:0;transform:translateY(16px);filter:blur(6px);transition:opacity .5s var(--ease-out),transform .6s var(--ease-out),filter .5s ease}body .cm-cat .ip-ch.on{opacity:1;transform:none;filter:none}body .cm-cat .ip-ch b{font:700 1em\/1.2 var(--f-display);letter-spacing:-.03em;color:#141b19}body .cm-cat .ip-ch .ip-em{color:var(--ing)}body .cm-cat .ip-mark{grid-column:2;grid-row:2;align-self:center;font:500 15px\/1 var(--f-mono);color:#1c2422;letter-spacing:.2em}body .cm-cat .ip-bl{grid-column:1\/-1;grid-row:3;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-top:22px}body .cm-cat .ip-inci{font:600 13px\/1.3 var(--f-mono);letter-spacing:.08em;color:#3b4441}body .cm-cat .ip-scroll{display:inline-flex;align-items:center;gap:10px;font:500 12px\/1 var(--f-mono);color:#59625f}body .cm-cat .ip-scroll i{position:relative;width:1px;height:34px;background:#b9bfbb;overflow:hidden}body .cm-cat .ip-scroll i::after{content:\"\";position:absolute;left:0;top:-40%;width:1px;height:40%;background:#1c2422;animation:ipline 1.8s var(--ease-out) infinite}@keyframes ipline{to{top:100%}}body .cm-cat .ip-prog{position:absolute;left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);bottom:12px;height:2px;border-radius:2px;background:rgb(0 0 0\/.08);overflow:hidden}body .cm-cat .ip-prog i{position:absolute;inset:0;background:var(--ing);transform-origin:0 50%;transform:scaleX(0)}body .cm-cat .ip-id{padding-block:clamp(28px,4vw,56px)0}body .cm-cat .ip-id dl{margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-block:1px solid var(--line)}body .cm-cat .ip-id dl>div{display:grid;gap:8px;align-content:start;padding:clamp(16px,2vw,24px) clamp(10px,1.4vw,18px);border-left:1px solid var(--line)}body .cm-cat .ip-id dl>div:first-child{border-left:0;padding-left:0}body .cm-cat .ip-id dt{font:500 11.5px\/1 var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}body .cm-cat .ip-id dd{margin:0;font-size:15px;line-height:1.4;font-weight:600}body .cm-cat .ip-id dd.mono{font:600 13px\/1.4 var(--f-mono);color:var(--teal);word-break:break-word}body .cm-cat .ip-sec{padding-block:clamp(48px,6vw,96px)}body .cm-cat .ip-k{display:flex;align-items:center;gap:12px;font:500 13px\/1 var(--f-mono);letter-spacing:.14em;color:var(--muted)}body .cm-cat .ip-k b{color:var(--ing);font-weight:600}body .cm-cat .ip-k::after{content:\"\";flex:1;height:1px;background:var(--line);max-width:120px}body .cm-cat .ip-sec .h2{margin-top:14px;max-width:18ch}body .cm-cat .ip-what{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,80px);align-items:start}body .cm-cat .ip-what .fc-answer{max-width:none}body .cm-cat .ip-comp{margin-top:28px;display:grid;gap:14px}body .cm-cat .ip-bar{display:grid;grid-template-columns:minmax(0,170px) minmax(0,1fr) 52px;gap:14px;align-items:center}body .cm-cat .ip-bar span{font-size:14.5px;font-weight:600}body .cm-cat .ip-bar small{display:block;font:500 11.5px\/1.3 var(--f-mono);color:var(--muted)}body .cm-cat .ip-bar .t{position:relative;height:10px;border-radius:99px;background:var(--mint);overflow:hidden}body .cm-cat .ip-bar .t i{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--ing),var(--ing2));transform-origin:0 50%;transform:scaleX(var(--v));transition:transform 1.1s var(--ease-out)}body .cm-cat .ip-bar b{font:600 14px\/1 var(--f-mono);text-align:right}body .cm-cat .ip-note{margin-top:14px;font-size:12.5px;color:var(--muted);line-height:1.5}body .cm-cat .ip-photo{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 80px -48px rgb(var(--shade)\/.6)}body .cm-cat .ip-photo img{display:block;width:100%;height:auto;aspect-ratio:4\/5;object-fit:cover;object-position:62% 50%}body .cm-cat .ip-photo figcaption{position:absolute;left:14px;bottom:14px;padding:8px 12px;border-radius:99px;background:rgb(255 255 255\/.92);font:500 12px\/1 var(--f-mono);color:var(--ink)}body .cm-cat .ip-ben{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);margin-top:clamp(26px,3.4vw,44px)}body .cm-cat .ip-b{position:relative;display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.4vw,30px);border-radius:var(--r-lg);background:var(--paper);box-shadow:0 0 0 1px var(--line);overflow:hidden}body .cm-cat .ip-b::before{content:\"\";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--glow)\/.35),transparent)}body .cm-cat .ip-b .mono{font-size:12px;color:var(--ing)}body .cm-cat .ip-b h3{font:680 clamp(20px,1.8vw,24px)\/1.15 var(--f-display);letter-spacing:-.025em}body .cm-cat .ip-b p{color:var(--muted);font-size:15.5px;line-height:1.55}body .cm-cat .ip-prods{background:#141b19;color:#e9efec;border-radius:clamp(28px,4vw,44px);margin-inline:clamp(8px,1.4vw,16px);padding-block:clamp(48px,6vw,88px)}body .cm-cat .ip-prods .ip-k{color:rgb(233 239 236\/.6)}body .cm-cat .ip-prods .ip-k::after{background:rgb(255 255 255\/.15)}body .cm-cat .ip-prods .h2{color:#fff}body .cm-cat .ip-prods-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px}body .cm-cat .ip-prods-head p{max-width:42ch;color:rgb(233 239 236\/.7)}body .cm-cat .ip-pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,18px);margin-top:clamp(26px,3.4vw,40px)}body .cm-cat .ip-p{position:relative;display:block;aspect-ratio:4\/3;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}body .cm-cat .ip-p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s var(--ease-out)}body .cm-cat .ip-p::after{content:\"\";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(10 16 14\/0) 40%,rgb(10 16 14\/.82))}body .cm-cat .ip-p span{position:absolute;left:18px;right:18px;bottom:16px;display:flex;justify-content:space-between;align-items:center;gap:10px;font:650 19px\/1.2 var(--f-display);letter-spacing:-.015em}body .cm-cat .ip-p .ico{flex:none;width:36px;height:36px;padding:10px;border-radius:50%;background:rgb(255 255 255\/.16);backdrop-filter:blur(6px);transition:background-color .2s ease,transform .25s var(--ease-out)}@media (hover:hover) and (pointer:fine){body .cm-cat .ip-p:hover img{transform:scale(1.05)}body .cm-cat .ip-p:hover .ico{background:var(--ing);transform:translateX(3px)}}body .cm-cat .ip-notes{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:start}body .cm-cat .ip-nl{list-style:none;margin:0;padding:0;display:grid}body .cm-cat .ip-nl li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 14px;padding:20px 0;border-top:1px solid var(--line)}body .cm-cat .ip-nl li:last-child{border-bottom:1px solid var(--line)}body .cm-cat .ip-nl .mono{grid-row:span 2;font:600 14px\/1.5 var(--f-mono);color:var(--ing)}body .cm-cat .ip-nl b{font:650 18px\/1.3 var(--f-display);letter-spacing:-.015em}body .cm-cat .ip-nl p{color:var(--muted);font-size:15.5px;line-height:1.55}body .cm-cat .ip-pairs{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}body .cm-cat .ip-pair{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:99px;background:var(--paper);box-shadow:0 0 0 1px var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:14.5px;transition:box-shadow .2s ease}body .cm-cat .ip-pair i{width:10px;height:10px;border-radius:50%;background:var(--ing)}@media (hover:hover) and (pointer:fine){body .cm-cat a.ip-pair:hover{box-shadow:0 0 0 1.5px var(--ing)}body .cm-cat span.ip-pair{cursor:default}}@media (max-width:1020px){body .cm-cat .ip-id dl{grid-template-columns:repeat(3,minmax(0,1fr))}body .cm-cat .ip-id dl>div:nth-child(4){border-left:0;padding-left:0}body .cm-cat .ip-id dl>div:nth-child(n+4){border-top:1px solid var(--line)}body .cm-cat .ip-what,body .cm-cat .ip-notes{grid-template-columns:1fr}body .cm-cat .ip-ben,body .cm-cat .ip-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}body .cm-cat .ip-photo img{aspect-ratio:16\/10}}@media (max-width:640px){body .cm-cat .ip-hero{height:340vh}body .cm-cat .ip-ui{grid-template-columns:1fr}body .cm-cat .ip-tr,body .cm-cat .ip-mark{display:none}body .cm-cat .ip-id dl{grid-template-columns:1fr 1fr}body .cm-cat .ip-id dl>div{border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)}body .cm-cat .ip-ben,body .cm-cat .ip-pgrid{grid-template-columns:1fr}body .cm-cat .ip-bar{grid-template-columns:1fr 44px;gap:6px 10px}body .cm-cat .ip-bar .t{grid-column:1\/-1;grid-row:2}}@media (prefers-reduced-motion:reduce){body .cm-cat .ip-hero{height:auto}body .cm-cat .ip-stage{position:relative;height:88svh}body .cm-cat .ip-scroll i::after{animation:none}body .cm-cat .ip-ch{transition:none}}body .cm-cat .ip-hcta{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:99px;background:#141b19;color:#fff!important;font:600 14px\/1 var(--f-body);text-decoration:none;transition:background-color .2s ease,transform .16s var(--ease-out)}body .cm-cat .ip-hcta .ico{width:16px;height:16px}@media (hover:hover) and (pointer:fine){body .cm-cat .ip-hcta:hover{background:var(--ing)}}body .cm-cat .ip-hcta:active{transform:scale(.97)}body .cm-cat .ip-bl{align-items:center}body .cm-cat .ip-bl .ip-scroll{margin-left:auto}body .cm-cat .ip-tldr{padding-top:clamp(24px,3vw,40px)}body .cm-cat .ip-tldr-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,56px);padding:clamp(24px,3vw,40px);border-radius:var(--r-lg);background:var(--paper);box-shadow:0 0 0 1px var(--line);border-left:4px solid var(--ing)}body .cm-cat .ip-tldr-box h2{margin-top:10px;font:680 clamp(24px,2.4vw,32px)\/1.1 var(--f-display);letter-spacing:-.03em}body .cm-cat .ip-by{margin-top:12px;font-size:12px;color:var(--muted)}body .cm-cat .ip-tldr-box ul{list-style:none;margin:0;padding:0;display:grid}body .cm-cat .ip-tldr-box li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:15.5px}body .cm-cat .ip-tldr-box li:first-child{border-top:0;padding-top:0}body .cm-cat .ip-tldr-box li b{font-weight:650}body .cm-cat .ip-h3{margin-top:30px;font:680 clamp(19px,1.6vw,22px)\/1.2 var(--f-display);letter-spacing:-.02em}body .cm-cat .ip-vsg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}body .cm-cat .ip-vs{padding:16px;border-radius:16px;background:var(--mint);font-size:14.5px}body .cm-cat .ip-vs.on{background:color-mix(in srgb,var(--ing) 9%,#fff);box-shadow:inset 0 0 0 1.5px var(--ing)}body .cm-cat .ip-vs b{display:block;margin-bottom:6px}body .cm-cat .ip-vs p{color:var(--muted);line-height:1.5}body .cm-cat .ip-use ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}body .cm-cat .ip-use li{padding:18px;border-radius:18px;background:var(--mint)}body .cm-cat .ip-use .mono{font-size:12px;color:var(--ing);letter-spacing:.06em;text-transform:uppercase}body .cm-cat .ip-use p{margin-top:6px;font-size:15px;line-height:1.5}body .cm-cat .ip-know{padding-block:0 clamp(40px,5vw,72px)}body .cm-cat .ip-know-box{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(26px,3.4vw,46px);border-radius:clamp(28px,4vw,44px);background:linear-gradient(135deg,color-mix(in srgb,var(--ing) 8%,#fff),color-mix(in srgb,var(--ing) 16%,#fff))}body .cm-cat .ip-know-box h2{margin-top:10px;font:680 clamp(24px,2.6vw,34px)\/1.1 var(--f-display);letter-spacing:-.03em}body .cm-cat .ip-know-box ol{list-style:none;margin:0;padding:0;display:grid;gap:14px}body .cm-cat .ip-know-box li{display:grid;gap:6px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--ing) 22%,transparent)}body .cm-cat .ip-know-box li:first-child{padding-top:0;border-top:0}body .cm-cat .ip-know-box li b{font:720 clamp(22px,2.2vw,28px)\/1.1 var(--f-display);overflow-wrap:anywhere;letter-spacing:-.04em;color:var(--ing)}body .cm-cat .ip-know-box li p{font-size:15.5px;line-height:1.5}body .cm-cat .ip-src{padding-bottom:clamp(28px,3vw,40px)}body .cm-cat .ip-src h2{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}body .cm-cat .ip-src ol{margin:10px 0 0;padding-left:18px;display:grid;gap:6px;font-size:13.5px;color:var(--muted)}body .cm-cat .ip-src a{color:var(--muted);text-underline-offset:3px}@media (max-width:1020px){body .cm-cat .ip-tldr-box,body .cm-cat .ip-know-box{grid-template-columns:1fr}body .cm-cat .ip-use ul{grid-template-columns:1fr}}@media (max-width:640px){body .cm-cat .ip-vsg{grid-template-columns:1fr}body .cm-cat .ip-tldr-box li{grid-template-columns:1fr;gap:2px}body .cm-cat .ip-hcta{display:none}}body .cm-cat .ip-vsg3{grid-template-columns:repeat(3,1fr)}body .cm-cat .ip-vs.warn{background:#fff;box-shadow:inset 0 0 0 1.5px #c1272d33}body .cm-cat .ip-vs.warn b{color:#a4232a}@media (max-width:1180px){body .cm-cat .ip-vsg3{grid-template-columns:1fr}}@media (min-width:1021px){body .cm-cat .ip-pgrid[data-n=\"4\"]{grid-template-columns:repeat(4,minmax(0,1fr))}body .cm-cat .ip-pgrid[data-n=\"5\"]{grid-template-columns:repeat(6,minmax(0,1fr))}body .cm-cat .ip-pgrid[data-n=\"5\"] .ip-p{grid-column:span 2}body .cm-cat .ip-pgrid[data-n=\"5\"] .ip-p:nth-child(n+4){grid-column:span 3;aspect-ratio:2\/1}}@media (min-width:641px) and (max-width:1020px){body .cm-cat .ip-pgrid[data-n=\"5\"] .ip-p:last-child{grid-column:span 2;aspect-ratio:2\/1}}body .cm-cat button{text-transform:none;letter-spacing:normal;line-height:1.2;box-shadow:none;min-height:0}body .cm-cat .copy:focus,body .cm-cat .copy:hover{background:rgb(255 255 255\/.1);color:var(--deep-ink)}body .cm-cat blockquote{border:0;padding:0;margin:0;font-style:normal;background:none;quotes:none}body .cm-cat blockquote::before,body .cm-cat blockquote::after{content:none}body .cm-cat img{max-width:100%}body .cm-cat a:hover{text-decoration:none}body .cm-cat{font-size:16.5px;line-height:1.6}body .cm-cat h1,body .cm-cat h2,body .cm-cat h3{text-transform:none}body .cm-cat .rv-reel:hover,body .cm-cat .rv-reel:focus,body .cm-cat .ob-tab:hover,body .cm-cat .ob-tab:focus,body .cm-cat .sv-ic:hover,body .cm-cat .rv-btn:hover,body .cm-cat .pod-btn:hover,body .cm-cat .hx-pause:hover{background-color:inherit}body .cm-cat .rv-reel{background:#10292a}body .cm-cat .ob-tab{background:transparent}body .cm-cat .rv-btn{background:var(--paper)}body .cm-cat .sv-ic{background:rgb(0 0 0\/.28)}body .cm-cat .bl-pod-btn{background:#0f3a35}body .cm-cat .hx-pause{background:rgb(255 255 255\/.55)}@media (max-width:640px){body .cm-cat .tray{margin-bottom:calc(var(--bm,0px) + 10px + env(safe-area-inset-bottom,0px))}body .cm-cat .toast{bottom:calc(var(--bm,0px) + 92px)}}<\/style><style>body .cm-cat .ip-ch .ip-em,body .cm-cat .ip-k b,body .cm-cat .ip-b .mono,body .cm-cat .ip-nl .mono,body .cm-cat .ip-use .mono,body .cm-cat .ip-know-box li b{color:var(--ingt,var(--ing))}body .cm-cat .ip-pairs-h{margin:26px 0 0;font:600 14px\/1.3 var(--f-body);color:var(--muted)}body .cm-cat .ip-pairs-h+.ip-pairs{margin-top:12px}body .cm-cat .ip-lite .ip-hero{height:auto}body .cm-cat .ip-lite .ip-stage{position:relative;top:auto;height:min(80svh,780px);min-height:540px}body .cm-cat .ip-lite .ip-stage{background:#f1f2ef}body .cm-cat .ip-lite .ip-hero-img{position:absolute;top:0;right:0;bottom:0;left:auto;width:62%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}body .cm-cat .ip-lite .ip-stage::before{content:\"\";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f1f2ef 0,#f1f2ef 38%,rgb(241 242 239\/0) 54%)}body .cm-cat .ip-lite .ip-stage::after{display:none}body .cm-cat .ip-lite .ip-lines{min-height:0}body .cm-cat .ip-lite .ip-ch{position:relative;opacity:1;transform:none;filter:none}body .cm-cat .ip-lite .ip-what{grid-template-columns:minmax(0,1fr);max-width:880px}body .cm-cat .ip-lite .ip-chap{max-width:min(560px,40%)}body .cm-cat .ip-lite .ip-h1{font-size:clamp(46px,5.4vw,84px);text-wrap:balance}body .cm-cat .ip-lite .ip-bl{justify-content:flex-start;flex-wrap:wrap;gap:14px 22px}body .cm-cat .ip-h1.ip-h1-long{font-size:clamp(42px,5.6vw,88px);max-width:12ch;text-wrap:balance}body .cm-cat .ip-chap{max-width:min(720px,48%)}@media (max-width:640px){body .cm-cat .ip-chap{max-width:none}}@media (max-width:640px){body .cm-cat .ip-lite .ip-stage{height:auto;min-height:0;aspect-ratio:auto}body .cm-cat .ip-lite .ip-ui{position:relative;padding-top:clamp(240px,62vw,320px)}body .cm-cat .ip-lite .ip-chap{max-width:none}body .cm-cat .ip-lite .ip-hero-img{width:100%;height:clamp(220px,60vw,300px);bottom:auto;object-position:50% 50%}body .cm-cat .ip-lite .ip-stage::before{background:linear-gradient(180deg,rgb(241 242 239\/0) 0,rgb(241 242 239\/0) clamp(170px,48vw,240px),#f1f2ef clamp(220px,60vw,300px))}}<\/style>\n<div class=\"cm-cat\"><div lang=\"es\"><svg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\"><symbol id=\"i-arrow\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/symbol><symbol id=\"i-chat\" viewBox=\"0 0 24 24\"><path d=\"M4 19.5l1.2-3.6A8 8 0 1 1 8.3 19z\"\/><path d=\"M9 10.5h6M9 13.5h4\"\/><\/symbol><\/svg>\n<div class=\"ip\" data-shape=\"poischiche\" style=\"--ing:#D8B67A;--ingt:#7d6a47;--ing2:#F0DDB4;--glow:216 182 122\">\n<section class=\"ip-hero\" aria-label=\"Garbanzo\"><div class=\"ip-stage\"><canvas class=\"ip-canvas\" aria-hidden=\"true\"><\/canvas><div class=\"ip-ui\"><div class=\"ip-tl\"><nav class=\"ip-crumbs\" aria-label=\"Ruta de navegaci\u00f3n\"><a href=\"https:\/\/carmelcosmeticslabs.com\/es\/inicio\/\">Inicio<\/a> \/ <a href=\"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/\">Glosario<\/a> \/ <span aria-current=\"page\">Garbanzo<\/span><\/nav><\/div><div class=\"ip-tr\"><span><b>Polvo vegetal<\/b><\/span><span class=\"ip-ma\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12.00 3.60 L17.29 19.88 L3.44 9.82 L20.56 9.82 L6.71 19.88 Z\" fill=\"none\" stroke=\"#fff\" stroke-width=\"4.2\" stroke-linejoin=\"round\"\/><path d=\"M12.00 3.60 L17.29 19.88 L3.44 9.82 L20.56 9.82 L6.71 19.88 Z\" fill=\"none\" stroke=\"#006233\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><\/svg>Herencia marroqu\u00ed<\/span><\/div><div class=\"ip-chap\"><h1 class=\"ip-h1\">Garbanzo<\/h1><div class=\"ip-lines\"><p class=\"ip-ch on\"><b>La planta<\/b> <span class=\"ip-em\">una leguminosa cultivada desde hace unos 7 500 a\u00f1os.<\/span><\/p><p class=\"ip-ch\"><b>La vaina<\/b> <span class=\"ip-em\">abultada, alberga las semillas.<\/span><\/p><p class=\"ip-ch\"><b>La semilla<\/b> <span class=\"ip-em\">el garbanzo seco, molido hasta obtener un polvo suave y dorado.<\/span><\/p><p class=\"ip-ch\"><b>La mascarilla<\/b> <span class=\"ip-em\">el polvo mezclado con agua de rosas o miel.<\/span><\/p><\/div><\/div><span class=\"ip-mark\" aria-hidden=\"true\">( A )<\/span><div class=\"ip-bl\"><span class=\"ip-inci\">INCI \u00b7 CICER ARIETINUM SEED POWDER<\/span><a class=\"ip-hcta\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/presupuesto-fabricacion-cosmeticos\/\">Consulta gratuita <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><span class=\"ip-scroll\" aria-hidden=\"true\"><i><\/i>Desplazarse<\/span><\/div><\/div><div class=\"ip-prog\" aria-hidden=\"true\"><i><\/i><\/div><\/div><\/section>\n<section class=\"ip-id wrap\" aria-label=\"Ficha de identificaci\u00f3n\"><dl><div><dt>Nombre INCI<\/dt><dd class=\"mono\">CICER ARIETINUM SEED POWDER<\/dd><\/div><div><dt>Otros nombres<\/dt><dd>Harina de garbanzo, lhemmes, garbanzo<\/dd><\/div><div><dt>Familia<\/dt><dd>Polvo vegetal (fab\u00e1ceas, leguminosas)<\/dd><\/div><div><dt>Origen<\/dt><dd>Leguminosa cultivada desde hace unos 7 500 a\u00f1os en Oriente Medio<\/dd><\/div><div><dt>Parte utilizada<\/dt><dd>Semillas secas y molidas<\/dd><\/div><div><dt>Zonas<\/dt><dd>Rostro, mascarillas, exfoliantes suaves<\/dd><\/div><\/dl><\/section>\n<section class=\"wrap ip-tldr\" aria-labelledby=\"ip-tl\"><div class=\"ip-tldr-box\"><div><span class=\"ip-k\"><b>En breve<\/b><\/span><h2 id=\"ip-tl\">El garbanzo en 30 segundos<\/h2><p class=\"ip-by mono\">Por el equipo de I+D de Carmel Cosmetics Labs \u00b7 actualizado el 18 de octubre de 2026<\/p><\/div><ul><li><b>Nombre INCI<\/b><span>CICER ARIETINUM SEED POWDER (polvo de semillas de garbanzo)<\/span><\/li><li><b>Qu\u00e9 es<\/b><span>la semilla de garbanzo seca y molida hasta obtener un polvo fino<\/span><\/li><li><b>Para el rostro<\/b><span>una base de mascarilla citada por los herbolarios marroqu\u00edes<\/span><\/li><li><b>Para la f\u00f3rmula<\/b><span>una funci\u00f3n abrasiva seg\u00fan CosIng: un grano muy suave<\/span><\/li><li><b>Origen<\/b><span>una leguminosa cultivada desde hace unos 7 500 a\u00f1os<\/span><\/li><\/ul><\/div><\/section>\n<section class=\"ip-sec\" aria-labelledby=\"ip-a\"><div class=\"wrap ip-what\"><div><span class=\"ip-k\"><b>( A )<\/b>QU\u00c9 ES<\/span><h2 class=\"h2\" id=\"ip-a\">\u00bfQu\u00e9 es el polvo de garbanzo en cosm\u00e9tica?<\/h2><p class=\"fc-answer\">El polvo de garbanzo se obtiene de la semilla de Cicer arietinum, una leguminosa, que se seca y se muele hasta obtener una harina fina. En cosm\u00e9tica se declara como CICER ARIETINUM SEED POWDER y la base CosIng le atribuye una funci\u00f3n abrasiva: un grano muy suave que ayuda a limpiar la piel. Rico en almid\u00f3n y prote\u00ednas, aporta consistencia a las pastas de mascarillas. En Marruecos, los herbolarios lo citan como un polvo que se aplica en mascarillas faciales.<\/p><h3 class=\"ip-h3\">Polvo de garbanzo o extracto de garbanzo: la diferencia<\/h3><div class=\"ip-vsg\"><div class=\"ip-vs on\"><b>Polvo de semillas<\/b><p>La semilla entera molida, declarada como CICER ARIETINUM SEED POWDER. Sirve como base de mascarilla y como grano suave en los exfoliantes faciales.<\/p><\/div><div class=\"ip-vs\"><b>Extracto de semillas<\/b><p>Un extracto de la semilla, declarado como CICER ARIETINUM SEED EXTRACT, que CosIng clasifica como agente acondicionador de la piel y el cabello. Se utiliza en cremas o champ\u00fas, no como polvo.<\/p><\/div><\/div><\/div><figure class=\"ip-photo\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/pois-chiche-ingredient-cosmetique-carmel.webp\" width=\"1200\" height=\"1241\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/pois-chiche-ingredient-cosmetique-carmel-441x456.webp 441w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/pois-chiche-ingredient-cosmetique-carmel-768x794.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/pois-chiche-ingredient-cosmetique-carmel-990x1024.webp 990w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/pois-chiche-ingredient-cosmetique-carmel.webp 1200w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/pois-chiche-ingredient-cosmetique-carmel.webp 1200w\" sizes=\"auto, (max-width:1020px) 92vw, 50vw\" alt=\"Harina de garbanzo para el rostro: polvo dorado y garbanzos secos en un cuenco de barro\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><figcaption>Garbanzo \u00b7 Marruecos<\/figcaption><\/figure><\/div><\/section>\n<section class=\"ip-sec\" aria-labelledby=\"ip-b\" style=\"padding-top:0\"><div class=\"wrap\"><span class=\"ip-k\"><b>( B )<\/b>SUS BENEFICIOS<\/span><h2 class=\"h2\" id=\"ip-b\">Los beneficios del garbanzo para el rostro<\/h2><div class=\"ip-ben\"><article class=\"ip-b\"><span class=\"mono\">01<\/span><h3>Para el rostro<\/h3><p>Mezclado hasta formar una pasta, el polvo limpia la piel con suavidad: su grano muy fino ayuda a eliminar las impurezas y deja la piel suave y limpia.<\/p><\/article><article class=\"ip-b\"><span class=\"mono\">02<\/span><h3>Para la textura<\/h3><p>Rico en almid\u00f3n y prote\u00ednas, espesa las mascarillas y les aporta una consistencia cremosa, f\u00e1cil de extender y enjuagar.<\/p><\/article><article class=\"ip-b\"><span class=\"mono\">03<\/span><h3>Para la f\u00f3rmula<\/h3><p>Un ingrediente sencillo, vegetal y conocido por todos, citado en las recetas de belleza marroqu\u00edes: conecta con las marcas que buscan una lista de ingredientes corta y f\u00e1cil de entender.<\/p><\/article><\/div><div class=\"ip-use\"><h3 class=\"ip-h3\">\u00bfC\u00f3mo usar la harina de garbanzo en el rostro?<\/h3><ul><li><span class=\"mono\">Mascarilla<\/span><p>Dos cucharadas de polvo mezcladas con agua de rosas o miel, aplicadas en una capa fina y enjuagadas con agua tibia tras unos minutos.<\/p><\/li><li><span class=\"mono\">Exfoliante<\/span><p>Con la pasta h\u00fameda, masajee suavemente con peque\u00f1os movimientos circulares antes de enjuagar, para una exfoliaci\u00f3n facial muy suave.<\/p><\/li><li><span class=\"mono\">Polvo<\/span><p>Se vende en polvo listo para mezclar y se prepara en el momento de uso, evitando el contorno de los ojos.<\/p><\/li><\/ul><\/div><\/div><\/section>\n<section class=\"ip-prods\" aria-labelledby=\"ip-c\"><div class=\"wrap\"><div class=\"ip-prods-head\"><div><span class=\"ip-k\"><b>( C )<\/b>EN NUESTROS PRODUCTOS<\/span><h2 class=\"h2\" id=\"ip-c\">Lance su l\u00ednea con garbanzo<\/h2><\/div><p>Lo incorporamos en mascarillas faciales, exfoliantes suaves y polvos para mezclar, listos para llevar su marca. Elija una categor\u00eda para ver nuestras f\u00f3rmulas.<\/p><\/div><div class=\"ip-pgrid\" data-n=\"3\"><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/mascarillas-faciales-marca-blanca\/\"><img src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/masques-visage-marque-blanche-carmel-cosmetics-labs.webp\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Mascarillas faciales<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/exfoliantes-faciales-marca-blanca\/\"><img src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/gommages-visage-marque-blanche-carmel-cosmetics-labs.webp\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Exfoliantes faciales<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/polvos-hidrolatos-aceites-esenciales-marca-blanca\/\"><img src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/texture-ghassoul-poudre-marque-blanche.webp\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Polvos e hidrolatos<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><\/div><\/div><\/section>\n<style>.ip-catprods{margin-top:clamp(2.2rem,4vw,3.2rem);padding-top:clamp(1.6rem,3vw,2.2rem);border-top:1px solid color-mix(in srgb,currentColor 16%,transparent);color:inherit}.ip-catprods .ip-cp-h{font-size:clamp(1.15rem,1.6vw,1.4rem);font-weight:600;letter-spacing:-.01em;margin:0 0 1.1rem;color:inherit}.ip-catprods ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}.ip-catprods a{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.05rem;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 26%,transparent);color:inherit;text-decoration:none;font-size:.95rem;line-height:1.2;transition:background .2s,border-color .2s}.ip-catprods a:hover,.ip-catprods a:focus-visible{background:color-mix(in srgb,currentColor 10%,transparent);border-color:color-mix(in srgb,currentColor 50%,transparent)}.ip-catprods a::after{content:\"\\2192\";opacity:.7}html[dir=rtl] .ip-catprods a::after{content:\"\\2190\"}<\/style>\n<section class=\"ip-sec\" aria-labelledby=\"ip-d\"><div class=\"wrap ip-notes\"><div><span class=\"ip-k\"><b>( D )<\/b>NOTAS DE FORMULACI\u00d3N<\/span><h2 class=\"h2\" id=\"ip-d\">C\u00f3mo lo incorporamos<\/h2><p class=\"pk-ex-sub\" style=\"margin-top:14px\">Lo que nuestros formuladores tienen en cuenta al incorporar garbanzo en su producto.<\/p><p class=\"ip-pairs-h\">Suele combinarse con<\/p><div class=\"ip-pairs\" aria-label=\"Ingredientes con los que suele combinarse\"><a class=\"ip-pair\" href=\"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/orange-blossom-honey\/\" title=\"Le miel d\u00e9laie la poudre en une p\u00e2te onctueuse et apporte une touche hydratante au masque.\"><i><\/i>Miel de azahar<\/a><a class=\"ip-pair\" href=\"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/carob\/\" title=\"Deux ingr\u00e9dients de la cuisine marocaine r\u00e9unis dans le m\u00eame masque, pour une formule courte et gourmande.\"><i><\/i>Algarroba<\/a><span class=\"ip-pair\" title=\"Un actif v\u00e9g\u00e9tal appr\u00e9ci\u00e9 pour apaiser l&#x27;inconfort des peaux sensibles, en compl\u00e9ment de la poudre.\"><i><\/i>Centella asiatica<\/span><span class=\"ip-pair\" title=\"La provitamine B5 aide \u00e0 garder la peau douce et hydrat\u00e9e apr\u00e8s le rin\u00e7age du masque.\"><i><\/i>Pantenol<\/span><span class=\"ip-pair\" title=\"Une \u00e9pice chaude qui parfume le masque ; nous la dosons avec soin, car elle apporte des allerg\u00e8nes \u00e0 \u00e9tiqueter.\"><i><\/i>Canela<\/span>cuidado porque aporta al\u00e9rgenos que deben declararse en el etiquetado.\"><i><\/i>Cannelle<\/span><\/div><\/div><ol class=\"ip-nl\"><li><span class=\"mono\">01<\/span><b>Una molienda fina<\/b><p>Elegimos un polvo finamente tamizado para obtener un grano suave y una pasta homog\u00e9nea, sin grumos.<\/p><\/li><li><span class=\"mono\">02<\/span><b>Calidad microbiol\u00f3gica<\/b><p>Como materia prima vegetal, se controla a su recepci\u00f3n. En seco, el polvo se conserva; la pasta se prepara mezcl\u00e1ndolo en el momento de uso.<\/p><\/li><li><span class=\"mono\">03<\/span><b>Una leguminosa<\/b><p>El garbanzo es una leguminosa: su presencia se indica claramente y aconsejamos realizar una prueba en una peque\u00f1a zona antes del primer uso.<\/p><\/li><li><span class=\"mono\">04<\/span><b>Sin alegaciones m\u00e9dicas<\/b><p>Los estudios etnobot\u00e1nicos tambi\u00e9n citan usos tradicionales sobre las imperfecciones: los presentamos como tradici\u00f3n y redactamos las alegaciones de su producto dentro del \u00e1mbito cosm\u00e9tico, limpiar y suavizar.<\/p><\/li><\/ol><\/div><\/section>\n<section class=\"ip-know\" aria-labelledby=\"ip-kn\"><div class=\"wrap\"><div class=\"ip-know-box\"><div><span class=\"ip-k\"><b>\u00bfLo sab\u00eda?<\/b><\/span><h2 id=\"ip-kn\">Lhemmes, el polvo de las mascarillas marroqu\u00edes<\/h2><\/div><ol><li><b>Lhemmes<\/b><p>En la regi\u00f3n de F\u00e8s-Mekn\u00e8s, los herbolarios llaman lhemmes al garbanzo y lo citan en forma de polvo aplicado como mascarilla.<\/p><\/li><li><b>7 500 ans<\/b><p>El garbanzo se cultiva desde hace unos 7 500 a\u00f1os en Oriente Medio.<\/p><\/li><li><b>Desi y kabuli<\/b><p>Se distinguen dos grandes tipos: el kabuli, de semilla clara y lisa, y el desi, de semilla m\u00e1s angulosa y de color m\u00e1s intenso, que ocupa entre el 80 y el 85 % de la superficie cultivada.<\/p><\/li><\/ol><\/div><\/div><\/section>\n<section class=\"section\" aria-labelledby=\"ip-faq\" style=\"padding-top:0\"><div class=\"wrap faq-grid\"><div class=\"sticky\"><h2 class=\"h2\" id=\"ip-faq\">Harina de garbanzo para la cara: sus preguntas<\/h2><div class=\"faq-help\"><b>\u00bfTiene un proyecto con este ingrediente?<\/b><span>Nuestro especialista en productos le responde por WhatsApp.<\/span><a class=\"btn btn-wa-s\" href=\"https:\/\/wa.me\/212761511711\" target=\"_blank\" rel=\"noopener\"><svg class=\"ico\"><use href=\"#i-chat\"\/><\/svg>Escribir por WhatsApp<\/a><\/div><\/div><div><details class=\"qa\" open><summary><h3>\u00bfEs buena la harina de garbanzo para el rostro?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>S\u00ed, como base de mascarilla: mezclada hasta formar una pasta, limpia la piel con suavidad gracias a su grano muy fino y la deja suave. La base CosIng le atribuye una funci\u00f3n abrasiva. No sustituye a un hidratante: aplique despu\u00e9s su crema habitual.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfC\u00f3mo hacer una mascarilla de harina de garbanzo?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Mezcle dos cucharadas de polvo con agua de rosas o miel hasta obtener una pasta lisa. Aplique una capa fina sobre el rostro limpio, evitando el contorno de los ojos, deje actuar unos minutos sin que la pasta llegue a secarse y enjuague con agua tibia.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfCon qu\u00e9 ingredientes se puede combinar el garbanzo en una mascarilla?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>La miel y el agua de rosas permiten mezclar el polvo hasta obtener una pasta untuosa. La algarroba y la canela aportan una nota golosa; la canela debe dosificarse con cuidado. El pantenol o la centella completan la f\u00f3rmula para una piel suave y con sensaci\u00f3n de confort despu\u00e9s del enjuague.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfEl polvo de garbanzo es un exfoliante?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Es un exfoliante muy suave: CosIng lo clasifica como abrasivo, al igual que otros polvos vegetales finos. Al masajearlo sobre la piel h\u00fameda, ayuda a eliminar las impurezas. Para una exfoliaci\u00f3n m\u00e1s intensa, se combina con un polvo de grano m\u00e1s marcado, como la c\u00e1scara de arg\u00e1n.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfSe utiliza el garbanzo en los cuidados de belleza en Marruecos?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>S\u00ed. Un estudio realizado entre 70 herbolarios de la regi\u00f3n de F\u00e8s-Mekn\u00e8s cita el garbanzo, llamado lhemmes, en forma de polvo aplicado como mascarilla facial. Los dem\u00e1s usos recogidos, sobre las imperfecciones o las manchas, pertenecen a la tradici\u00f3n y no constituyen una promesa cosm\u00e9tica.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfSe puede crear una gama con garbanzo con Carmel Cosmetics Labs?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>S\u00ed. Lo incorporamos en mascarillas faciales, exfoliantes suaves y polvos para mezclar en marca blanca, o en una f\u00f3rmula exclusiva para marca propia, fabricada en nuestra f\u00e1brica ISO 22716 de A\u00eft Melloul, en Marruecos. Le acompa\u00f1amos desde la elecci\u00f3n de la f\u00f3rmula hasta el envasado con su marca.<\/p><\/div><\/details><\/div><\/div><\/section>\n<section class=\"wrap ip-src\" aria-labelledby=\"ip-sr\"><h2 id=\"ip-sr\" class=\"mono\">Fuentes<\/h2><ol><li><a href=\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/86773\" target=\"_blank\" rel=\"noopener\">Comisi\u00f3n Europea, base CosIng: CICER ARIETINUM SEED POWDER (polvo de semillas de garbanzo)<\/a><\/li><li><a href=\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/55445\" target=\"_blank\" rel=\"noopener\">Comisi\u00f3n Europea, base CosIng: CICER ARIETINUM SEED EXTRACT (extracto de semillas de garbanzo)<\/a><\/li><li><a href=\"https:\/\/doi.org\/10.26538\/tjnpr\/v7i11.17\" target=\"_blank\" rel=\"noopener\">Salhi N. et al., Traditional Knowledge of Medicinal Plants Used for Cosmetic Purposes in the Fez-Meknes Region, Trop J Nat Prod Res 7(11) (2023)<\/a><\/li><li><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC10580981\/\" target=\"_blank\" rel=\"noopener\">Begum N. et al., Nutritional composition, health benefits and bio-active compounds of chickpea (Cicer arietinum L.), Frontiers in Nutrition 10 (2023)<\/a><\/li><\/ol><\/section>\n<section style=\"padding-bottom:clamp(40px,6vw,80px)\"><div class=\"wrap\"><div class=\"final\"><div><h2>Su l\u00ednea con garbanzo, fabricada en Marruecos<\/h2><p>Env\u00edenos su brief: formulamos y fabricamos sus mascarillas y polvos de garbanzo en nuestra f\u00e1brica ISO 22716 de A\u00eft Melloul. Consulta gratuita y selecci\u00f3n de f\u00f3rmulas, sin compromiso.<\/p><\/div><div class=\"actions\"><a class=\"btn\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/presupuesto-fabricacion-cosmeticos\/\">Consulta gratuita <span class=\"knob\"><svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"btn btn-wa\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/\"><span>Ver el cat\u00e1logo<\/span><span class=\"knob\"><svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><\/div><\/div><\/div><\/section>\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"DefinedTerm\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/chickpea\/#term\", \"name\": \"Garbanzo\", \"alternateName\": \"CICER ARIETINUM SEED POWDER\", \"termCode\": \"CICER ARIETINUM SEED POWDER\", \"description\": \"El polvo de garbanzo se obtiene de la semilla de Cicer arietinum, una leguminosa, que se seca y se muele hasta obtener una harina fina. En cosm\u00e9tica se declara como CICER ARIETINUM SEED POWDER y la base CosIng le atribuye una funci\u00f3n abrasiva: un grano muy suave que ayuda a limpiar la piel. Rico en almid\u00f3n y prote\u00ednas, aporta consistencia a las pastas de mascarillas. En Marruecos, los herbolarios lo citan como un polvo que se aplica en mascarillas faciales.\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/chickpea\/\", \"inDefinedTermSet\": \"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/#glossaire\"}, {\"@type\": \"WebPage\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/chickpea\/\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/chickpea\/\", \"name\": \"Harina de garbanzo facial: mascarilla y usos | Carmel\", \"description\": \"Polvo de garbanzo (CICER ARIETINUM SEED POWDER): mascarilla facial tradicional marroqu\u00ed, beneficios, usos y combinaciones. Fabricante de cosm\u00e9ticos.\", \"inLanguage\": \"es\", \"dateModified\": \"2026-10-18\", \"isPartOf\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/es\/inicio\/#website\"}, \"about\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/chickpea\/#term\"}, \"author\": {\"@type\": \"Organization\", \"name\": \"Equipo de I+D de Carmel Cosmetics Labs\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/es\/laboratorio-formulacion-cosmetica\/\"}, \"publisher\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/es\/inicio\/#organization\"}, \"citation\": [\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/86773\", \"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/55445\", \"https:\/\/doi.org\/10.26538\/tjnpr\/v7i11.17\", \"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC10580981\/\"]}, {\"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"\u00bfEs buena la harina de garbanzo para el rostro?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"S\u00ed, como base de mascarilla: mezclada hasta formar una pasta, limpia la piel con suavidad gracias a su grano muy fino y la deja suave. La base CosIng le atribuye una funci\u00f3n abrasiva. No sustituye a un hidratante: aplique despu\u00e9s su crema habitual.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfC\u00f3mo hacer una mascarilla de harina de garbanzo?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Mezcle dos cucharadas de polvo con agua de rosas o miel hasta obtener una pasta lisa. Aplique una capa fina sobre el rostro limpio, evitando el contorno de los ojos, deje actuar unos minutos sin que la pasta llegue a secarse y enjuague con agua tibia.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfCon qu\u00e9 ingredientes se puede combinar el garbanzo en una mascarilla?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"La miel y el agua de rosas permiten mezclar el polvo hasta obtener una pasta untuosa. La algarroba y la canela aportan una nota golosa; la canela debe dosificarse con cuidado. El pantenol o la centella completan la f\u00f3rmula para una piel suave y con sensaci\u00f3n de confort despu\u00e9s del enjuague.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfEl polvo de garbanzo es un exfoliante?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Es un exfoliante muy suave: CosIng lo clasifica como abrasivo, al igual que otros polvos vegetales finos. Al masajearlo sobre la piel h\u00fameda, ayuda a eliminar las impurezas. Para una exfoliaci\u00f3n m\u00e1s intensa, se combina con un polvo de grano m\u00e1s marcado, como la c\u00e1scara de arg\u00e1n.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfSe utiliza el garbanzo en los cuidados de belleza en Marruecos?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"S\u00ed. Un estudio realizado entre 70 herbolarios de la regi\u00f3n de F\u00e8s-Mekn\u00e8s cita el garbanzo, llamado lhemmes, en forma de polvo aplicado como mascarilla facial. Los dem\u00e1s usos recogidos, sobre las imperfecciones o las manchas, pertenecen a la tradici\u00f3n y no constituyen una promesa cosm\u00e9tica.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfSe puede crear una gama con garbanzo con Carmel Cosmetics Labs?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"S\u00ed. Lo incorporamos en mascarillas faciales, exfoliantes suaves y polvos para mezclar en marca blanca, o en una f\u00f3rmula exclusiva para marca propia, fabricada en nuestra f\u00e1brica ISO 22716 de A\u00eft Melloul, en Marruecos. Le acompa\u00f1amos desde la elecci\u00f3n de la f\u00f3rmula hasta el envasado con su marca.\"}}]}]}<\/script>\n<script>\n(function(){\n  document.documentElement.classList.add('ip-js');\n  [].forEach.call(document.querySelectorAll('details.qa'),function(d,i){d.open=i===0;});\n  var comp=document.querySelector('.ip-comp');\n  if(comp&&'IntersectionObserver' in window){new IntersectionObserver(function(es,o){es.forEach(function(e){if(e.isIntersecting){comp.classList.add('in');o.disconnect();}});},{threshold:.35}).observe(comp);}else if(comp){comp.classList.add('in');}\n  \/* ---------- HERO: particle story, one shape per chapter (ingredient-specific) ---------- *\/\n  var hero=document.querySelector('.ip-hero'),cv=document.querySelector('.ip-canvas');if(!hero||!cv)return;\n  var ipr=document.querySelector('.ip');function chrome(){var h=0,b=0,hd=document.querySelector('.elementor-location-header'),bm=document.querySelector('.wp-bottom-menu');if(hd&&\/sticky|fixed\/.test(getComputedStyle(hd).position))h=hd.getBoundingClientRect().height;if(bm){var cs=getComputedStyle(bm);if(cs.display!=='none'&&cs.visibility!=='hidden')b=bm.getBoundingClientRect().height;}ipr.style.setProperty('--hdr',h+'px');ipr.style.setProperty('--bm',b+'px');}\n  chrome();setTimeout(function(){chrome();build();},1200);\n  var ctx=cv.getContext('2d'),reduce=window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var chs=[].slice.call(document.querySelectorAll('.ip-ch')),mark=document.querySelector('.ip-mark'),bar=document.querySelector('.ip-prog i'),L='ABCD';\n  \/* Shape library: each draws in a 400x400 box with real colours (sampled as particle colours). *\/\n  function leaf(c,x,y,len,w,ang,col){c.save();c.translate(x,y);c.rotate(ang);c.fillStyle=col;c.beginPath();c.moveTo(0,0);c.quadraticCurveTo(len*.5,-w,len,0);c.quadraticCurveTo(len*.5,w,0,0);c.fill();c.restore();}\n  function almond(c,x,y,rx,ry,ang,col){c.save();c.translate(x,y);c.rotate(ang);c.fillStyle=col;c.beginPath();c.moveTo(0,-ry);c.bezierCurveTo(rx*1.1,-ry*.55,rx*1.1,ry*.55,0,ry);c.bezierCurveTo(-rx*1.1,ry*.55,-rx*1.1,-ry*.55,0,-ry);c.fill();c.restore();}\n  var SHAPES={argan:[\n    function tree(c){ \/\/ short wide canopy, gnarled twisted trunk, golden fruits\n      c.fillStyle='#6a4a2b';c.beginPath();c.moveTo(186,390);c.bezierCurveTo(176,330,206,300,180,250);c.lineTo(150,205);c.lineTo(162,198);c.lineTo(196,240);c.bezierCurveTo(200,220,214,212,226,196);c.lineTo(238,202);c.bezierCurveTo(224,226,216,262,232,300);c.bezierCurveTo(240,330,226,360,232,390);c.closePath();c.fill();\n      var g=['#4f6a2a','#6b8636','#8aa142','#5d7a30'];var blobs=[[200,150,120,62],[110,175,70,42],[292,170,78,44],[160,118,66,40],[250,112,72,42],[205,92,60,34],[70,196,40,24],[332,194,44,26]];\n      blobs.forEach(function(b,i){c.fillStyle=g[i%4];c.beginPath();c.ellipse(b[0],b[1],b[2],b[3],0,0,6.283);c.fill();});\n      c.fillStyle='#d9a43a';[[150,150],[240,140],[290,180],[120,190],[210,110],[180,180],[262,200]].forEach(function(p){c.beginPath();c.arc(p[0],p[1],6,0,6.283);c.fill();});\n    },\n    function fruit(c){ \/\/ olive-like argan fruit with stem and two leaves\n      leaf(c,206,92,120,24,-2.5,'#5d7a30');leaf(c,212,96,110,22,-.55,'#7b9638');\n      c.strokeStyle='#6a4a2b';c.lineWidth=7;c.beginPath();c.moveTo(208,96);c.lineTo(205,128);c.stroke();\n      var gr=c.createRadialGradient(178,190,10,200,230,120);gr.addColorStop(0,'#f3c46a');gr.addColorStop(.55,'#d79a32');gr.addColorStop(1,'#9c6a1f');\n      c.fillStyle=gr;c.beginPath();c.ellipse(204,240,92,112,.12,0,6.283);c.fill();\n      c.fillStyle='rgba(255,236,190,.95)';c.beginPath();c.ellipse(172,196,18,30,-.4,0,6.283);c.fill();\n    },\n    function nut(c){ \/\/ cracked nut: two shell halves apart, three kernels inside\n      c.fillStyle='#7a5432';\n      c.beginPath();c.ellipse(118,220,62,112,-.2,Math.PI*.5,Math.PI*1.5);c.fill();\n      c.beginPath();c.ellipse(290,214,62,112,.2,-Math.PI*.5,Math.PI*.5);c.fill();\n      c.fillStyle='#9a6c3e';c.beginPath();c.ellipse(126,220,40,94,-.2,Math.PI*.5,Math.PI*1.5);c.fill();c.beginPath();c.ellipse(282,214,40,94,.2,-Math.PI*.5,Math.PI*.5);c.fill();\n      almond(c,170,226,30,62,-.18,'#f2dfb4');almond(c,208,212,32,68,0,'#ead1a0');almond(c,246,226,30,62,.2,'#f2dfb4');\n    },\n    function drop(c){ \/\/ golden oil drop + ripple\n      var gr=c.createLinearGradient(140,60,260,330);gr.addColorStop(0,'#ffd27a');gr.addColorStop(.6,'#d99a2e');gr.addColorStop(1,'#a8701d');\n      c.fillStyle=gr;c.beginPath();c.moveTo(200,40);c.bezierCurveTo(232,110,292,170,292,236);c.bezierCurveTo(292,290,250,330,200,330);c.bezierCurveTo(150,330,108,290,108,236);c.bezierCurveTo(108,170,168,110,200,40);c.fill();\n      c.fillStyle='rgba(255,246,220,.95)';c.beginPath();c.ellipse(160,222,14,36,.28,0,6.283);c.fill();\n      c.strokeStyle='#d9a43a';c.lineWidth=5;[[110,22],[150,30],[188,38]].forEach(function(r,i){c.globalAlpha=1-i*.25;c.beginPath();c.ellipse(200,372,r[0],r[1]*.5,0,0,6.283);c.stroke();});c.globalAlpha=1;\n    }\n  ]};\n  var CP=CanvasRenderingContext2D.prototype;if(!CP.roundRect)CP.roundRect=function(x,y,w,h,r){r=Math.min(Array.isArray(r)?r[0]:r,w\/2,h\/2);this.moveTo(x+r,y);this.arcTo(x+w,y,x+w,y+h,r);this.arcTo(x+w,y+h,x,y+h,r);this.arcTo(x,y+h,x,y,r);this.arcTo(x,y,x+w,y,r);this.closePath();};\n  function drop(c,cx,top,bot,hw,c1,c2,c3,hl){var gr=c.createLinearGradient(cx-hw,top,cx+hw,bot);gr.addColorStop(0,c1);gr.addColorStop(.6,c2);gr.addColorStop(1,c3);c.fillStyle=gr;var mid=bot-hw;c.beginPath();c.moveTo(cx,top);c.bezierCurveTo(cx+hw*.35,top+(mid-top)*.45,cx+hw,mid-hw*.7,cx+hw,mid);c.bezierCurveTo(cx+hw,mid+hw*.6,cx+hw*.55,bot,cx,bot);c.bezierCurveTo(cx-hw*.55,bot,cx-hw,mid+hw*.6,cx-hw,mid);c.bezierCurveTo(cx-hw,mid-hw*.7,cx-hw*.35,top+(mid-top)*.45,cx,top);c.fill();c.fillStyle=hl;c.beginPath();c.ellipse(cx-hw*.45,mid-hw*.1,hw*.15,hw*.4,.28,0,6.283);c.fill();}\n  function ripple(c,cx,y,col){c.strokeStyle=col;c.lineWidth=5;[[110,22],[150,30],[188,38]].forEach(function(r,i){c.globalAlpha=1-i*.25;c.beginPath();c.ellipse(cx,y,r[0],r[1]*.5,0,0,6.283);c.stroke();});c.globalAlpha=1;}\n  function poly(c,pts,col){c.fillStyle=col;c.beginPath();c.moveTo(pts[0][0],pts[0][1]);for(var i=1;i<pts.length;i++)c.lineTo(pts[i][0],pts[i][1]);c.closePath();c.fill();}\n  function rr(c,x,y,w,h,r,col){c.fillStyle=col;c.beginPath();c.roundRect(x,y,w,h,r);c.fill();}\n  SHAPES.nigelle=[\n    function flower(c){ \/\/ Nigella sativa: 5 pale petals with blue tips, green ovary + horn styles, feathery leaves\n      c.strokeStyle='#6f8a3a';c.lineWidth=7;c.beginPath();c.moveTo(200,390);c.bezierCurveTo(196,330,206,280,200,232);c.stroke();\n      c.lineWidth=4;[[-1,330],[1,300],[-1,270]].forEach(function(f){var y=f[1];for(var k=0;k<3;k++){c.beginPath();c.moveTo(200,y);c.quadraticCurveTo(200+f[0]*(40+k*18),y-20-k*10,200+f[0]*(70+k*26),y-60+k*14);c.stroke();}});\n      for(var i=0;i<5;i++){var a=-Math.PI\/2+i*Math.PI*2\/5;c.save();c.translate(200,170);c.rotate(a);var g=c.createLinearGradient(0,0,108,0);g.addColorStop(0,'#eef2fa');g.addColorStop(.6,'#cbd7f0');g.addColorStop(1,'#6f8fd0');c.fillStyle=g;c.beginPath();c.moveTo(0,0);c.bezierCurveTo(30,-50,96,-46,110,0);c.bezierCurveTo(96,46,30,50,0,0);c.fill();c.strokeStyle='#9fb3e0';c.lineWidth=3;c.beginPath();c.moveTo(14,0);c.lineTo(92,0);c.stroke();c.restore();}\n      c.fillStyle='#3a3550';for(var j=0;j<22;j++){var b=j\/22*6.283;c.beginPath();c.arc(200+Math.cos(b)*30,170+Math.sin(b)*30,4.5,0,6.283);c.fill();}\n      c.fillStyle='#7f9b45';c.beginPath();c.arc(200,170,20,0,6.283);c.fill();\n      c.strokeStyle='#5d7a30';c.lineWidth=4;for(var h=0;h<5;h++){var t=-Math.PI\/2+h*1.2566;c.beginPath();c.moveTo(200,170);c.quadraticCurveTo(200+Math.cos(t)*30,170+Math.sin(t)*30,200+Math.cos(t+.5)*44,170+Math.sin(t+.5)*44);c.stroke();}\n    },\n    function capsule(c){ \/\/ inflated 5-chambered seed pod with horn-like styles\n      c.strokeStyle='#6f8a3a';c.lineWidth=8;c.beginPath();c.moveTo(200,392);c.quadraticCurveTo(190,350,200,312);c.stroke();\n      var g=c.createRadialGradient(170,200,10,200,220,130);g.addColorStop(0,'#d9dc9a');g.addColorStop(.6,'#a8b062');g.addColorStop(1,'#6f7a38');c.fillStyle=g;\n      c.beginPath();c.moveTo(200,312);c.bezierCurveTo(90,300,92,150,140,112);c.lineTo(260,112);c.bezierCurveTo(308,150,310,300,200,312);c.fill();\n      c.strokeStyle='#6a7434';c.lineWidth=4;[[150,110],[176,108],[200,106],[224,108],[250,110]].forEach(function(p,i){c.beginPath();c.moveTo(200,312);c.quadraticCurveTo(p[0]+(p[0]-200)*.9,220,p[0],p[1]);c.stroke();});\n      c.strokeStyle='#5d6a2c';c.lineWidth=6;[[140,112,-1],[170,110,-.5],[200,108,0],[230,110,.5],[260,112,1]].forEach(function(p){c.beginPath();c.moveTo(p[0],p[1]);c.quadraticCurveTo(p[0]+p[2]*20,p[1]-40,p[0]+p[2]*44,p[1]-62);c.stroke();});\n      c.fillStyle='#24222b';[[150,330],[168,348],[236,340],[252,326]].forEach(function(p,i){c.save();c.translate(p[0],p[1]);c.rotate(i);c.beginPath();c.moveTo(-6,5);c.lineTo(0,-7);c.lineTo(7,5);c.closePath();c.fill();c.restore();});\n    },\n    function seeds(c){ \/\/ heap of matte black angular seeds\n      var R=rng(5),cols=['#1c1b21','#2a2830','#34323c','#46434f'];\n      for(var n=0;n<520;n++){var u=R()*2-1,h=Math.pow(1-u*u,.8)*230,x=200+u*135,y=360-R()*h;if(R()<.07){x=70+R()*260;y=362+R()*24;}c.save();c.translate(x,y);c.rotate(R()*6.28);c.fillStyle=cols[(R()*4)|0];c.beginPath();c.moveTo(-6,5);c.lineTo(-1,-7);c.lineTo(7,4);c.closePath();c.fill();c.restore();}\n      c.fillStyle='#6a6676';for(var m=0;m<40;m++){c.beginPath();c.arc(120+R()*160,220+R()*120,1.6,0,6.283);c.fill();}\n    },\n    function oil(c){drop(c,200,40,330,92,'#f2c25e','#c98a22','#8a5410','rgba(255,240,205,.95)');ripple(c,200,372,'#c98a22');}\n  ];\n  SHAPES.henne=[\n    function shrub(c){ \/\/ multi-stem henna bush with cream flower clusters\n      c.strokeStyle='#6a4a2b';c.lineCap='round';[[200,392,200,250,9],[200,320,140,220,6],[200,300,262,214,6],[200,270,176,176,5],[200,262,236,170,5]].forEach(function(b){c.lineWidth=b[4];c.beginPath();c.moveTo(b[0],b[1]);c.quadraticCurveTo((b[0]+b[2])\/2+8,(b[1]+b[3])\/2,b[2],b[3]);c.stroke();});\n      var R=rng(9),g=['#4c6a26','#5f7f2e','#78963a','#8aa84a'];\n      for(var n=0;n<260;n++){var a=R()*6.283,r=Math.sqrt(R()),x=200+Math.cos(a)*r*150,y=180+Math.sin(a)*r*92;leaf(c,x,y,22,7,R()*6.28,g[(R()*4)|0]);}\n      c.fillStyle='#f3e6c8';[[130,140],[262,128],[200,104],[300,190],[100,196],[226,170]].forEach(function(p){for(var k=0;k<7;k++){c.beginPath();c.arc(p[0]+Math.cos(k)*9,p[1]+Math.sin(k*1.7)*7,4.5,0,6.283);c.fill();}});\n    },\n    function leaves(c){ \/\/ branch with opposite elliptic leaves\n      c.strokeStyle='#6a4a2b';c.lineWidth=6;c.lineCap='round';c.beginPath();c.moveTo(110,370);c.bezierCurveTo(170,290,220,170,290,40);c.stroke();\n      var g=['#4f6e28','#6b8a33','#86a442'];for(var i=0;i<8;i++){var t=i\/8,x=110+t*(180),y=370-t*330,s=1-t*.35;leaf(c,x,y,74*s,22*s,-1.07-.95,g[i%3]);leaf(c,x,y,74*s,22*s,-1.07+.95,g[(i+1)%3]);}\n      leaf(c,290,40,50,16,-1.1,'#86a442');\n    },\n    function powder(c){ \/\/ terracotta bowl with a mound of green henna powder\n      c.fillStyle='#7d8a3c';c.beginPath();c.moveTo(70,220);c.bezierCurveTo(110,120,290,120,330,220);c.closePath();c.fill();\n      var R=rng(3);c.fillStyle='#93a04c';for(var n=0;n<300;n++){var a=R()*3.14,r=R();c.beginPath();c.arc(200-Math.cos(a)*r*120,212-Math.sin(a)*r*76,2.2,0,6.283);c.fill();}\n      var g=c.createLinearGradient(0,220,0,350);g.addColorStop(0,'#c46a3a');g.addColorStop(1,'#8a3f1d');c.fillStyle=g;c.beginPath();c.moveTo(56,214);c.lineTo(344,214);c.bezierCurveTo(338,300,280,350,200,350);c.bezierCurveTo(120,350,62,300,56,214);c.fill();\n      c.fillStyle='#e0956a';c.fillRect(56,212,288,8);\n      c.fillStyle='#7d8a3c';for(var m=0;m<90;m++){c.beginPath();c.arc(90+R()*230,362+R()*22,2.2,0,6.283);c.fill();}\n    },\n    function hand(c){ \/\/ open hand with a festive henna motif\n      var sk='#e5b48a';rr(c,128,188,148,170,46,sk);[[132,72,34,150],[172,44,36,170],[214,52,36,160],[254,86,32,130]].forEach(function(f){rr(c,f[0],f[1],f[2],f[3],17,sk);});\n      c.save();c.translate(132,292);c.rotate(-.75);rr(c,-18,-96,36,110,17,sk);c.restore();rr(c,150,330,104,70,20,sk);\n      var hn='#8a3517';c.strokeStyle=hn;c.fillStyle=hn;c.lineCap='round';\n      for(var p=0;p<8;p++){c.save();c.translate(202,264);c.rotate(p*.785);c.beginPath();c.ellipse(0,-34,11,22,0,0,6.283);c.fill();c.restore();}\n      c.fillStyle=sk;c.beginPath();c.arc(202,264,20,0,6.283);c.fill();c.fillStyle=hn;c.beginPath();c.arc(202,264,11,0,6.283);c.fill();\n      c.lineWidth=7;c.beginPath();c.arc(202,264,72,Math.PI*1.1,Math.PI*1.9);c.stroke();\n      [[149,72],[190,44],[232,52],[270,86]].forEach(function(f){c.beginPath();c.roundRect(f[0]-17,f[1],34,34,[17,17,4,4]);c.fill();c.lineWidth=6;c.beginPath();c.moveTo(f[0],f[1]+48);c.lineTo(f[0],f[1]+112);c.stroke();for(var d=0;d<3;d++){c.beginPath();c.ellipse(f[0]+(d%2?9:-9),f[1]+58+d*20,6,9,d%2?.6:-.6,0,6.283);c.fill();}});\n      c.lineWidth=7;c.beginPath();for(var w=0;w<5;w++){c.moveTo(160+w*21+8,362);c.arc(160+w*21,362,8,0,Math.PI,true);}c.stroke();\n      c.beginPath();c.moveTo(150,384);c.lineTo(254,384);c.stroke();\n    }\n  ];\n  SHAPES.alun=[\n    function ore(c){ \/\/ rough grey rock bristling with pale octahedral crystal points\n      poly(c,[[50,330],[90,250],[160,226],[250,232],[330,262],[360,330],[300,372],[110,374]],'#8d8ba0');poly(c,[[90,250],[160,226],[200,300],[110,330]],'#a3a1b6');poly(c,[[250,232],[330,262],[300,330],[220,300]],'#77758c');\n      [[140,240,40,96,-.25],[200,236,52,136,0],[262,244,40,104,.3],[100,270,28,64,-.6],[312,272,26,60,.6]].forEach(function(k){c.save();c.translate(k[0],k[1]);c.rotate(k[4]);var w=k[2],h=k[3];poly(c,[[0,-h],[-w,0],[0,w*.3]],'#cfcce6');poly(c,[[0,-h],[w,0],[0,w*.3]],'#9f9cc9');c.strokeStyle='#6c69a0';c.lineWidth=3;c.beginPath();c.moveTo(0,-h);c.lineTo(0,w*.3);c.stroke();c.restore();});\n    },\n    function crystal(c){ \/\/ perfect octahedron, the natural habit of potassium alum\n      var T=[200,30],B=[200,370],L=[52,214],Rr=[348,186],F=[222,236],K=[178,166];\n      poly(c,[T,L,K],'#b9b6db');poly(c,[T,K,Rr],'#a09dcc');poly(c,[B,K,L],'#8f8cbf');poly(c,[B,Rr,K],'#7a77ad');\n      poly(c,[T,L,F],'#dcdaf0');poly(c,[T,F,Rr],'#b3b0d8');poly(c,[B,L,F],'#a7a4d2');poly(c,[B,F,Rr],'#8582b8');\n      c.strokeStyle='#5d5a92';c.lineWidth=3;[[T,F],[B,F],[L,F],[Rr,F],[T,L],[T,Rr],[B,L],[B,Rr]].forEach(function(e){c.beginPath();c.moveTo(e[0][0],e[0][1]);c.lineTo(e[1][0],e[1][1]);c.stroke();});\n    },\n    function stone(c){ \/\/ cut and polished alum stone: rounded block seen in 3\/4, flat polished top\n      var g=c.createLinearGradient(80,0,320,0);g.addColorStop(0,'#a9a6d2');g.addColorStop(.35,'#dcdaf0');g.addColorStop(1,'#7f7cb2');c.fillStyle=g;\n      c.beginPath();c.moveTo(84,150);c.lineTo(84,300);c.bezierCurveTo(84,350,316,350,316,300);c.lineTo(316,150);c.closePath();c.fill();\n      c.fillStyle='#ebeaf7';c.beginPath();c.ellipse(200,150,116,46,0,0,6.283);c.fill();\n      c.strokeStyle='#7f7cb2';c.lineWidth=4;c.beginPath();c.ellipse(200,150,116,46,0,0,6.283);c.stroke();\n      c.fillStyle='#fff';c.beginPath();c.ellipse(160,140,40,10,-.15,0,6.283);c.fill();c.fillRect(112,190,14,110);\n      c.strokeStyle='#9895c6';c.lineWidth=3;c.beginPath();c.moveTo(150,220);c.quadraticCurveTo(200,236,262,212);c.moveTo(170,270);c.quadraticCurveTo(220,282,280,262);c.stroke();\n    },\n    function stick(c){ \/\/ moistened alum stick in its holder, with a water drop\n      rr(c,148,226,104,150,16,'#7d7fa6');rr(c,140,214,120,26,8,'#666893');\n      var g=c.createLinearGradient(152,0,248,0);g.addColorStop(0,'#c9c7e2');g.addColorStop(.45,'#f3f2fa');g.addColorStop(1,'#a9a7cf');c.fillStyle=g;c.beginPath();c.moveTo(156,216);c.lineTo(156,130);c.bezierCurveTo(156,96,244,96,244,130);c.lineTo(244,216);c.fill();\n      c.fillStyle='rgba(255,255,255,.95)';c.fillRect(174,120,10,90);\n      drop(c,200,8,92,30,'#e2ecf8','#a9c2e6','#7d9cd0','rgba(255,255,255,.95)');\n    }\n  ];\n  SHAPES.aker=[\n    function poppy(c){ \/\/ corn poppies in a spring field: hairy stems, four crinkled scarlet petals, black blotch and stamens, a drooping bud\n      var R=rng(41),g=['#5f8a3a','#4f7a30','#76a048','#3f6b2c'];\n      for(var n=0;n<120;n++){var x=24+R()*352,h=40+R()*70;c.strokeStyle=g[(R()*4)|0];c.lineWidth=3+R()*2;c.lineCap='round';c.beginPath();c.moveTo(x,380);c.quadraticCurveTo(x+(R()-.5)*30,380-h*.6,x+(R()-.5)*40,380-h);c.stroke();}\n      function stem(x0,x1,y1){c.strokeStyle='#5f8a3a';c.lineWidth=6;c.beginPath();c.moveTo(x0,380);c.bezierCurveTo(x0+6,320,x1-12,y1+60,x1,y1);c.stroke();}\n      function flower(x,y,s,rot){c.save();c.translate(x,y);c.rotate(rot);\n        var p=[['#a8141f',-.78],['#a8141f',2.36],['#d8232f',.78],['#d8232f',-2.36]];\n        p.forEach(function(q){c.fillStyle=q[0];c.beginPath();c.ellipse(Math.cos(q[1])*s*.42,Math.sin(q[1])*s*.42,s*.62,s*.54,q[1],0,6.283);c.fill();});\n        c.fillStyle='#ef4a4f';c.beginPath();c.ellipse(-s*.18,-s*.28,s*.3,s*.14,-.5,0,6.283);c.fill();\n        c.fillStyle='#1c1416';c.beginPath();c.arc(0,0,s*.24,0,6.283);c.fill();\n        c.strokeStyle='#2a1e22';c.lineWidth=2;for(var k=0;k<14;k++){var a=k*.449;c.beginPath();c.moveTo(Math.cos(a)*s*.14,Math.sin(a)*s*.14);c.lineTo(Math.cos(a)*s*.34,Math.sin(a)*s*.34);c.stroke();}\n        c.fillStyle='#7d8f4a';c.beginPath();c.arc(0,0,s*.11,0,6.283);c.fill();c.restore();}\n      stem(120,110,170);stem(214,236,108);stem(300,310,200);stem(64,58,250);\n      flower(110,160,70,.2);flower(236,100,82,-.3);flower(312,192,60,.5);flower(58,244,40,.1);\n      c.strokeStyle='#5f8a3a';c.lineWidth=5;c.beginPath();c.moveTo(170,380);c.bezierCurveTo(176,300,196,270,180,246);c.stroke();\n      almond(c,176,236,11,18,.6,'#6f9a42');c.fillStyle='#c41e2a';c.beginPath();c.ellipse(170,232,4,9,.6,0,6.283);c.fill();\n    },\n    function grenade(c){ \/\/ whole pomegranate with its crown, a halved fruit full of ruby arils, curled strips of drying rind\n      var g=c.createRadialGradient(140,150,20,160,180,120);g.addColorStop(0,'#e0604a');g.addColorStop(.6,'#b8322a');g.addColorStop(1,'#7a1a1c');c.fillStyle=g;\n      c.beginPath();c.arc(160,180,108,0,6.283);c.fill();\n      poly(c,[[138,80],[146,52],[156,74],[166,48],[174,74],[186,54],[184,84]],'#8a2a22');\n      c.fillStyle='rgba(255,220,200,.75)';c.beginPath();c.ellipse(118,140,26,12,-.6,0,6.283);c.fill();\n      c.save();c.translate(282,270);\n      c.fillStyle='#9a2a24';c.beginPath();c.ellipse(0,0,92,80,0,0,6.283);c.fill();\n      c.fillStyle='#f3dcc0';c.beginPath();c.ellipse(0,-4,80,68,0,0,6.283);c.fill();\n      var R=rng(9),ar=['#c41e3a','#e0344f','#a01430','#f0607a'];\n      for(var n=0;n<150;n++){var a=R()*6.283,r=Math.sqrt(R());var x=Math.cos(a)*r*70,y=Math.sin(a)*r*58-4;if(Math.abs(x)<5||Math.abs(y+4)<4)continue;c.fillStyle=ar[(R()*4)|0];c.beginPath();c.ellipse(x,y,5.5,7,a,0,6.283);c.fill();}\n      c.strokeStyle='#f3dcc0';c.lineWidth=5;c.beginPath();c.moveTo(-78,-4);c.lineTo(78,-4);c.moveTo(0,-70);c.lineTo(0,62);c.stroke();\n      c.restore();\n      function strip(x,y,rot,col){c.save();c.translate(x,y);c.rotate(rot);c.fillStyle=col;c.beginPath();c.moveTo(-34,-6);c.quadraticCurveTo(0,-20,34,-6);c.lineTo(34,6);c.quadraticCurveTo(0,-6,-34,6);c.closePath();c.fill();c.restore();}\n      strip(70,330,.2,'#8a2a22');strip(130,356,-.3,'#a8452e');strip(60,372,.05,'#c2603a');strip(150,320,.6,'#7a1f1c');\n    },\n    function zlafa(c){ \/\/ small unglazed terracotta bowl coated inside with red aker fassi, a moistened fingertip, a heap of crimson powder\n      c.fillStyle='rgba(120,70,50,.25)';c.beginPath();c.ellipse(190,350,150,24,0,0,6.283);c.fill();\n      var g=c.createLinearGradient(50,0,330,0);g.addColorStop(0,'#9a4e2c');g.addColorStop(.45,'#d98a5a');g.addColorStop(1,'#8a4424');c.fillStyle=g;\n      c.beginPath();c.moveTo(48,226);c.lineTo(332,226);c.bezierCurveTo(324,300,262,346,190,346);c.bezierCurveTo(118,346,56,300,48,226);c.fill();\n      c.fillStyle='#e7a073';c.beginPath();c.ellipse(190,226,144,40,0,0,6.283);c.fill();\n      var r=c.createRadialGradient(170,226,10,190,232,130);r.addColorStop(0,'#e0303c');r.addColorStop(.7,'#b01e2a');r.addColorStop(1,'#7e1420');c.fillStyle=r;\n      c.beginPath();c.ellipse(190,230,128,32,0,0,6.283);c.fill();\n      c.fillStyle='rgba(255,170,160,.85)';c.beginPath();c.ellipse(152,224,34,6,-.05,0,6.283);c.fill();\n      c.strokeStyle='#b8693f';c.lineWidth=3;c.beginPath();c.moveTo(70,262);c.bezierCurveTo(130,292,250,292,310,262);c.stroke();\n      var R=rng(13);for(var n=0;n<160;n++){var u=R()*2-1,h=Math.pow(1-u*u,1.5)*36,x=330+u*44,y=360-R()*h;c.fillStyle=['#c41e2a','#9a1622','#e04450'][(R()*3)|0];c.beginPath();c.arc(x,y,2.2,0,6.283);c.fill();}\n      c.save();c.translate(250,150);c.rotate(.5);\n      rr(c,-30,-140,60,160,30,'#e9b896');c.fillStyle='#f4d0b4';c.beginPath();c.ellipse(-10,-70,9,50,0,0,6.283);c.fill();\n      c.strokeStyle='#c98f6c';c.lineWidth=3;[-104,-96,-54].forEach(function(y){c.beginPath();c.moveTo(-18,y);c.quadraticCurveTo(0,y+5,18,y);c.stroke();});\n      rr(c,-17,-26,34,36,14,'#f7dccb');c.fillStyle='rgba(255,255,255,.7)';c.beginPath();c.ellipse(-6,-12,4,10,0,0,6.283);c.fill();\n      c.fillStyle='#c41e2a';c.beginPath();c.ellipse(0,16,24,9,0,0,6.283);c.fill();c.restore();\n    },\n    function lips(c){ \/\/ the result: full lips tinted poppy red with a gloss highlight, a soft blush swatch and scattered petals\n      var g=c.createLinearGradient(0,150,0,290);g.addColorStop(0,'#d8232f');g.addColorStop(1,'#9a1622');c.fillStyle=g;\n      c.beginPath();c.moveTo(50,214);c.bezierCurveTo(90,170,140,140,176,164);c.bezierCurveTo(188,172,194,176,200,176);c.bezierCurveTo(206,176,212,172,224,164);c.bezierCurveTo(260,140,310,170,350,214);\n      c.bezierCurveTo(300,212,240,206,200,214);c.bezierCurveTo(160,206,100,212,50,214);c.closePath();c.fill();\n      c.fillStyle='#b81c28';c.beginPath();c.moveTo(50,218);c.bezierCurveTo(100,220,160,214,200,222);c.bezierCurveTo(240,214,300,220,350,218);c.bezierCurveTo(310,284,250,300,200,300);c.bezierCurveTo(150,300,90,284,50,218);c.closePath();c.fill();\n      c.strokeStyle='#6e0e18';c.lineWidth=9;c.beginPath();c.moveTo(56,216);c.bezierCurveTo(110,214,160,210,200,218);c.bezierCurveTo(240,210,290,214,344,216);c.stroke();\n      c.fillStyle='rgba(255,200,200,.9)';c.beginPath();c.ellipse(170,256,40,10,-.08,0,6.283);c.fill();c.beginPath();c.ellipse(244,190,20,6,-.3,0,6.283);c.fill();\n      var b=c.createRadialGradient(200,80,6,200,80,70);b.addColorStop(0,'rgba(232,96,106,.95)');b.addColorStop(1,'rgba(232,96,106,0)');c.fillStyle=b;c.beginPath();c.arc(200,80,70,0,6.283);c.fill();\n      almond(c,70,330,12,22,1.1,'#c41e2a');almond(c,320,340,11,20,-1,'#e04450');almond(c,200,352,10,18,.2,'#a8141f');\n    }\n  ];\n  SHAPES.cedre=[\n    function forest(c){ \/\/ Middle Atlas cedar forest: snow-capped ridges, stands of flat-tiered Atlas cedars on the slope\n      poly(c,[[20,230],[90,120],[140,170],[210,80],[280,160],[330,110],[380,190],[380,250],[20,250]],'#8fa3b4');\n      poly(c,[[90,120],[110,150],[98,146],[84,156],[74,146]],'#f4f8fb');poly(c,[[210,80],[236,118],[220,112],[204,124],[190,108]],'#f4f8fb');poly(c,[[330,110],[350,140],[334,134],[320,142]],'#f4f8fb');\n      c.fillStyle='#6f8a5a';c.beginPath();c.moveTo(20,250);c.bezierCurveTo(120,226,260,232,380,244);c.lineTo(380,380);c.lineTo(20,380);c.closePath();c.fill();\n      c.fillStyle='#5b7548';c.beginPath();c.moveTo(20,320);c.bezierCurveTo(140,300,260,310,380,300);c.lineTo(380,380);c.lineTo(20,380);c.closePath();c.fill();\n      function cedar(x,base,s){var R=rng((x*7+base)|0);c.fillStyle='#5a3d28';c.fillRect(x-4*s,base-60*s,8*s,60*s);\n        var w=[1,.92,.78,.6,.4],cols=['#2f5a52','#3d6b63','#2f5a52','#4a7a70','#3d6b63'];\n        for(var k=0;k<5;k++){var y=base-40*s-k*22*s,hw=58*s*w[k];c.fillStyle='#24463f';c.beginPath();c.ellipse(x,y+4*s,hw,8*s,0,0,6.283);c.fill();\n          c.fillStyle=cols[k];for(var j=0;j<6;j++){var bx=x-hw+(j+.5)*hw*2\/6;c.beginPath();c.ellipse(bx,y-R()*4*s,hw\/3.2,7*s,0,0,6.283);c.fill();}}}\n      [[70,300,.8],[160,290,1],[260,296,.9],[330,302,.7],[115,372,1.1],[225,376,1.2],[318,372,.95]].forEach(function(t){cedar(t[0],t[1],t[2]);});\n    },\n    function tree(c){ \/\/ one majestic Atlas cedar: thick trunk, horizontal branches, flat glaucous tiers, upright barrel cones\n      c.fillStyle='#5a3d28';c.beginPath();c.moveTo(184,380);c.bezierCurveTo(190,300,192,200,196,96);c.lineTo(206,96);c.bezierCurveTo(210,200,212,300,220,380);c.closePath();c.fill();\n      c.fillStyle='#7a5638';c.fillRect(196,150,6,220);\n      c.strokeStyle='#5a3d28';c.lineCap='round';[[200,300,60,286,9],[200,300,340,282,9],[200,246,82,232,7],[200,246,320,228,7],[200,192,110,180,6],[200,192,292,176,6],[200,142,140,130,5],[200,142,262,128,5]].forEach(function(b){c.lineWidth=b[4];c.beginPath();c.moveTo(b[0],b[1]);c.quadraticCurveTo((b[0]+b[2])\/2,b[1]-10,b[2],b[3]);c.stroke();});\n      var R=rng(53),tiers=[[200,290,160],[200,236,136],[200,182,110],[200,130,84],[200,86,52]],g=['#2f5a52','#3d6b63','#5b8a80','#7fa9a0'];\n      tiers.forEach(function(t){var cx=t[0],y=t[1],hw=t[2];c.fillStyle='#24463f';c.beginPath();c.ellipse(cx,y+8,hw,13,0,0,6.283);c.fill();\n        for(var n=0;n<70;n++){var u=R()*2-1,x=cx+u*hw*.96,yy=y-R()*14*(1-Math.abs(u)*.5);c.fillStyle=g[(R()*4)|0];c.beginPath();c.ellipse(x,yy,9+R()*8,5+R()*3,0,0,6.283);c.fill();}});\n      [[150,262],[262,208],[168,158],[230,112],[118,214]].forEach(function(p){var gr=c.createLinearGradient(p[0]-8,0,p[0]+8,0);gr.addColorStop(0,'#8a6236');gr.addColorStop(.5,'#c79a5c');gr.addColorStop(1,'#7a5430');c.fillStyle=gr;c.beginPath();c.ellipse(p[0],p[1]-14,9,15,0,0,6.283);c.fill();c.fillStyle='#6b4a2a';c.beginPath();c.ellipse(p[0],p[1]-28,5,3,0,0,6.283);c.fill();});\n    },\n    function wood(c){ \/\/ cedar log cut across: bark, sapwood, reddish heartwood and growth rings; curled shavings and a heap of sawdust\n      rr(c,150,96,210,128,20,'#6e4a30');c.fillStyle='#8a5e3c';for(var k=0;k<6;k++){c.fillRect(170+k*32,100,6,120);}\n      c.fillStyle='#5a3a24';c.beginPath();c.ellipse(150,160,72,66,0,0,6.283);c.fill();\n      c.fillStyle='#e2b47a';c.beginPath();c.ellipse(150,160,62,57,0,0,6.283);c.fill();\n      c.fillStyle='#c27a44';c.beginPath();c.ellipse(152,162,46,42,0,0,6.283);c.fill();\n      c.strokeStyle='#9a5a30';c.lineWidth=2.4;[38,30,22,14,7].forEach(function(r){c.beginPath();c.ellipse(153,163,r*1.08,r,0,0,6.283);c.stroke();});\n      c.strokeStyle='#8a4e28';c.lineWidth=2;c.beginPath();c.moveTo(153,163);c.lineTo(196,140);c.stroke();\n      var R=rng(61),cols=['#e8c08a','#d6a467','#c08a4e','#f0d3a2'];\n      c.fillStyle='#d6a467';c.beginPath();c.moveTo(150,374);c.bezierCurveTo(200,370,230,262,270,258);c.bezierCurveTo(310,262,336,366,376,374);c.closePath();c.fill();\n      for(var n=0;n<300;n++){var u=R()*2-1,h=Math.pow(1-u*u,1.3)*112,x=266+u*106,y=374-R()*h;c.fillStyle=cols[(R()*4)|0];c.beginPath();c.arc(x,y,1.6+R()*1.6,0,6.283);c.fill();}\n      c.lineCap='round';[[70,300,26,'#e2b47a'],[112,338,22,'#d6a467'],[60,352,18,'#f0d3a2'],[150,300,16,'#c08a4e']].forEach(function(s){c.strokeStyle=s[3];c.lineWidth=9;c.beginPath();c.arc(s[0],s[1],s[2],.3,4.6);c.stroke();c.lineWidth=5;c.beginPath();c.arc(s[0]+3,s[1]+2,s[2]*.5,.6,4.2);c.stroke();});\n    },\n    function oil(c){ \/\/ amber drop of cedarwood oil, a sprig of blue-green needle tufts and a cone beside its ripple\n      drop(c,200,40,320,92,'#f6dca0','#d9a14a','#9a5f22','rgba(255,246,220,.95)');\n      ripple(c,200,368,'#d9a14a');\n      function tuft(x,y,r,col){c.strokeStyle=col;c.lineWidth=3;c.lineCap='round';for(var i=0;i<16;i++){var a=-Math.PI*.95+i*Math.PI*.9\/15;c.beginPath();c.moveTo(x,y);c.lineTo(x+Math.cos(a)*r,y+Math.sin(a)*r);c.stroke();}}\n      c.strokeStyle='#6b4a2a';c.lineWidth=5;c.beginPath();c.moveTo(40,360);c.quadraticCurveTo(80,330,124,318);c.stroke();\n      tuft(66,346,24,'#3d6b63');tuft(96,330,22,'#5b8a80');tuft(124,318,20,'#3d6b63');\n      var gr=c.createLinearGradient(310,0,342,0);gr.addColorStop(0,'#8a6236');gr.addColorStop(.5,'#c79a5c');gr.addColorStop(1,'#7a5430');c.fillStyle=gr;c.beginPath();c.ellipse(326,334,15,24,0,0,6.283);c.fill();\n      c.strokeStyle='#6b4a2a';c.lineWidth=2;for(var k=0;k<4;k++){c.beginPath();c.moveTo(312,320+k*9);c.lineTo(340,320+k*9);c.stroke();}\n    }\n  ];\n  SHAPES.figue=[\n    function cactus(c){ \/\/ Opuntia ficus-indica: stacked oval pads (raquettes) with areoles, crowned with ripe figs\n      function pad(x,y,rx,ry,a,c1,c2){c.save();c.translate(x,y);c.rotate(a);var g=c.createLinearGradient(-rx,-ry,rx,ry);g.addColorStop(0,c1);g.addColorStop(1,c2);c.fillStyle=g;c.beginPath();c.ellipse(0,0,rx,ry,0,0,6.283);c.fill();\n        c.fillStyle='#e6edc4';for(var i=-2;i<=2;i++)for(var j=-3;j<=3;j++){if((i+j)%2)continue;var px=i*rx*.32,py=j*ry*.24;if(px*px\/(rx*rx)+py*py\/(ry*ry)<.72){c.beginPath();c.arc(px,py,3.2,0,6.283);c.fill();}}c.restore();}\n      function fig(x,y,a,col){c.save();c.translate(x,y);c.rotate(a);c.fillStyle=col;c.beginPath();c.ellipse(0,0,13,19,0,0,6.283);c.fill();c.fillStyle='#5a3a1e';c.beginPath();c.ellipse(0,-17,7,3,0,0,6.283);c.fill();c.fillStyle='rgba(255,220,200,.9)';c.beginPath();c.arc(-4,-4,3,0,6.283);c.fill();c.restore();}\n      pad(200,316,54,60,0,'#5f8a3a','#3f6a2a');\n      pad(138,236,46,60,-.45,'#6f9a44','#4a742e');pad(266,230,46,60,.4,'#6a9440','#456e2c');\n      pad(98,146,38,50,-.7,'#7aa64c','#507a32');pad(196,150,40,54,-.05,'#76a24a','#4d7830');pad(302,140,38,50,.6,'#7aa64c','#507a32');\n      [[70,96,-.9,'#c2185b'],[96,90,-.5,'#e0566e'],[178,94,-.2,'#d83a5e'],[208,92,.1,'#f08a3c'],[230,100,.35,'#c2185b'],[318,90,.6,'#e0566e'],[340,104,.9,'#f08a3c']].forEach(function(f){fig(f[0],f[1],f[2],f[3]);});\n    },\n    function fruit(c){ \/\/ a whole prickly pear and a halved one: magenta pulp full of seeds\n      c.save();c.translate(122,196);c.rotate(-.32);var g=c.createLinearGradient(-70,-100,70,100);g.addColorStop(0,'#f29a4a');g.addColorStop(.55,'#e0566e');g.addColorStop(1,'#a3174f');c.fillStyle=g;\n      c.beginPath();c.ellipse(0,0,66,96,0,0,6.283);c.fill();c.fillStyle='#6b4a2a';c.beginPath();c.ellipse(0,-92,20,8,0,0,6.283);c.fill();\n      c.fillStyle='#f7dcae';for(var i=0;i<14;i++){var a=i*2.4,r=.25+(i%4)*.18;c.beginPath();c.arc(Math.cos(a)*44*r*1.6,Math.sin(a)*70*r*1.4,3,0,6.283);c.fill();}c.restore();\n      c.save();c.translate(256,232);c.rotate(.12);\n      c.fillStyle='#e8743a';c.beginPath();c.ellipse(0,0,104,132,0,0,6.283);c.fill();\n      c.fillStyle='#8aa64a';c.beginPath();c.ellipse(0,0,94,122,0,0,6.283);c.fill();\n      var f=c.createRadialGradient(-20,-30,10,0,0,120);f.addColorStop(0,'#f0558c');f.addColorStop(.6,'#c2185b');f.addColorStop(1,'#8e1146');c.fillStyle=f;c.beginPath();c.ellipse(0,0,86,114,0,0,6.283);c.fill();\n      var R=rng(21);c.fillStyle='#3b2418';for(var n=0;n<70;n++){var t=R()*6.283,q=Math.sqrt(R());c.save();c.translate(Math.cos(t)*q*58,Math.sin(t)*q*80);c.rotate(R()*6.28);c.beginPath();c.ellipse(0,0,5,3.4,0,0,6.283);c.fill();c.restore();}\n      c.fillStyle='rgba(255,210,226,.9)';c.beginPath();c.ellipse(-46,-60,12,24,-.4,0,6.283);c.fill();c.restore();\n    },\n    function seeds(c){ \/\/ heap of hard, flat, light-brown prickly pear seeds\n      var R=rng(13),cols=['#d8b884','#c9a06a','#b08450','#8e6a3e'];\n      for(var n=0;n<460;n++){var u=R()*2-1,h=Math.pow(1-u*u,.8)*230,x=200+u*140,y=360-R()*h;if(R()<.06){x=70+R()*260;y=362+R()*16;}\n        c.save();c.translate(x,y);c.rotate(R()*6.28);c.fillStyle=cols[(R()*4)|0];c.beginPath();c.ellipse(0,0,7.5,5.5,0,0,6.283);c.fill();c.fillStyle='#6e4f2c';c.beginPath();c.arc(5,0,1.6,0,6.283);c.fill();c.restore();}\n      c.fillStyle='#f0dcb4';for(var m=0;m<36;m++){c.beginPath();c.ellipse(120+R()*160,220+R()*120,2.4,1.4,R()*3,0,6.283);c.fill();}\n    },\n    function oil(c){drop(c,200,40,330,92,'#f4dc7a','#cdb23a','#8a7a1e','rgba(255,248,214,.95)');ripple(c,200,372,'#cdb23a');}\n  ];\n  SHAPES.ghassoul=[\n    function atlas(c){ \/\/ Middle Atlas: stratified clay mountains cut by the Moulouya gorge, warm sun\n      c.fillStyle='#f0c27a';c.beginPath();c.arc(318,86,30,0,6.283);c.fill();\n      poly(c,[[20,250],[80,150],[130,190],[190,110],[250,170],[300,130],[380,220],[380,260],[20,260]],'#c9ad98');\n      c.save();c.beginPath();c.moveTo(20,370);c.lineTo(20,270);c.lineTo(90,190);c.lineTo(150,240);c.lineTo(178,214);c.lineTo(200,300);c.lineTo(222,214);c.lineTo(260,180);c.lineTo(320,230);c.lineTo(380,200);c.lineTo(380,370);c.closePath();c.clip();\n      var band=['#a8735a','#8a5a44','#c08f70','#6f4a3a','#b07e62','#7d5240','#c79a7c'];\n      for(var i=0;i<12;i++){c.fillStyle=band[i%band.length];c.beginPath();c.moveTo(20,180+i*17);c.bezierCurveTo(120,170+i*17,260,196+i*17,380,182+i*17);c.lineTo(380,204+i*17);c.bezierCurveTo(260,218+i*17,120,192+i*17,20,202+i*17);c.closePath();c.fill();}\n      c.restore();\n      c.fillStyle='#5f8fbf';c.beginPath();c.moveTo(196,300);c.lineTo(204,300);c.bezierCurveTo(214,330,250,350,262,372);c.lineTo(138,372);c.bezierCurveTo(150,350,186,330,196,300);c.fill();\n      c.fillStyle='#9cc3e4';c.beginPath();c.moveTo(199,312);c.bezierCurveTo(206,336,226,352,232,368);c.lineTo(212,368);c.bezierCurveTo(206,350,200,334,199,312);c.fill();\n    },\n    function slabs(c){ \/\/ raw ghassoul: stacked flat laminated brown clay plates\n      function slab(x,y,w,h,d,sk,top,side,line){c.save();c.translate(x,y);c.rotate(sk);\n        poly(c,[[0,0],[w,0],[w+d,-d*.6],[d,-d*.6]],top);poly(c,[[0,0],[w,0],[w,h],[0,h]],side);poly(c,[[w,0],[w+d,-d*.6],[w+d,h-d*.6],[w,h]],line);\n        c.strokeStyle='rgba(70,46,34,.55)';c.lineWidth=2;for(var k=1;k<4;k++){c.beginPath();c.moveTo(2,h*k\/4);c.lineTo(w-2,h*k\/4+(k%2?2:-2));c.stroke();}\n        c.restore();}\n      slab(60,300,230,48,40,.02,'#b48a70','#8a6250','#6e4c3c');\n      slab(90,248,190,44,36,-.06,'#c09a80','#946a56','#734f3f');\n      slab(120,196,150,40,32,.08,'#ab8068','#82594a','#664535');\n      slab(150,148,100,34,26,-.1,'#c7a288','#9a705b','#7a5442');\n      var R=rng(4);c.fillStyle='#8a6250';for(var n=0;n<14;n++){c.save();c.translate(60+R()*290,362+R()*14);c.rotate(R()*.8-.4);c.beginPath();c.moveTo(-9,0);c.lineTo(-3,-5);c.lineTo(8,-3);c.lineTo(10,2);c.lineTo(-2,5);c.closePath();c.fill();c.restore();}\n    },\n    function powder(c){ \/\/ heap of fine taupe ghassoul powder with a wooden scoop\n      var g=c.createLinearGradient(0,120,0,370);g.addColorStop(0,'#c49c80');g.addColorStop(1,'#8e6650');c.fillStyle=g;\n      c.beginPath();c.moveTo(40,370);c.bezierCurveTo(110,360,150,140,210,130);c.bezierCurveTo(260,140,300,350,360,370);c.closePath();c.fill();\n      var R=rng(7),cols=['#d6b398','#a37b63','#7e5b48','#b8907a'];for(var n=0;n<420;n++){var u=R()*2-1,h=Math.pow(1-u*u,1.4)*230,x=205+u*150,y=370-R()*h;c.fillStyle=cols[(R()*4)|0];c.beginPath();c.arc(x,y,1.8+R()*1.4,0,6.283);c.fill();}\n      c.save();c.translate(300,150);c.rotate(.55);rr(c,-10,-110,20,120,8,'#c8a070');c.fillStyle='#b48a5c';c.beginPath();c.ellipse(0,30,40,28,0,0,6.283);c.fill();c.fillStyle='#b8907a';c.beginPath();c.ellipse(0,24,32,18,0,0,6.283);c.fill();c.restore();\n    },\n    function tassa(c){ \/\/ engraved brass hammam bowl full of silky paste, wooden spatula lifting a ribbon\n      var g=c.createLinearGradient(50,0,350,0);g.addColorStop(0,'#a87422');g.addColorStop(.4,'#efc66a');g.addColorStop(1,'#9a661c');c.fillStyle=g;\n      c.beginPath();c.moveTo(46,220);c.lineTo(354,220);c.bezierCurveTo(346,310,280,356,200,356);c.bezierCurveTo(120,356,54,310,46,220);c.fill();\n      rr(c,150,350,100,22,8,'#a87422');\n      c.fillStyle='#7d5418';for(var i=0;i<14;i++){var a=Math.PI*(.08+i*.06),x=200-Math.cos(a)*130,y=262+Math.sin(a)*52;c.beginPath();c.arc(x,y,4.5,0,6.283);c.fill();}\n      c.strokeStyle='#7d5418';c.lineWidth=3;c.beginPath();c.moveTo(70,250);c.bezierCurveTo(130,282,270,282,330,250);c.stroke();\n      c.fillStyle='#e9bd62';c.beginPath();c.ellipse(200,220,156,34,0,0,6.283);c.fill();\n      var p=c.createLinearGradient(0,196,0,244);p.addColorStop(0,'#a8735a');p.addColorStop(1,'#7d5240');c.fillStyle=p;c.beginPath();c.ellipse(200,222,140,26,0,0,6.283);c.fill();\n      c.fillStyle='rgba(240,214,190,.9)';c.beginPath();c.ellipse(150,214,44,7,-.05,0,6.283);c.fill();\n      c.fillStyle='#8a5c46';c.beginPath();c.moveTo(232,214);c.bezierCurveTo(236,180,252,150,250,128);c.lineTo(272,128);c.bezierCurveTo(272,156,256,184,252,214);c.closePath();c.fill();\n      c.save();c.translate(262,120);c.rotate(.42);rr(c,-6,-104,12,60,6,'#b08654');rr(c,-16,-50,32,62,10,'#c8a070');c.restore();\n      c.fillStyle='#8a5c46';c.beginPath();c.ellipse(258,130,22,12,.4,0,6.283);c.fill();\n    }\n  ];\n  SHAPES.nila=[\n    function plant(c){ \/\/ indigo plant (Indigofera): woody stems, pinnate leaves of small paired oval leaflets, pink-violet pea-flower spikes, slender pods\n      c.strokeStyle='#6b4f2e';c.lineCap='round';\n      [[200,384,200,96,8],[200,340,104,170,5],[200,320,300,160,5],[200,270,138,110,4],[200,262,268,104,4],[200,226,200,70,3]].forEach(function(b){c.lineWidth=b[4];c.beginPath();c.moveTo(b[0],b[1]);c.quadraticCurveTo((b[0]+b[2])\/2+8,(b[1]+b[3])\/2,b[2],b[3]);c.stroke();});\n      function pinnate(x,y,ang,n,col1,col2){c.save();c.translate(x,y);c.rotate(ang);c.strokeStyle='#4e6b2a';c.lineWidth=2.4;c.beginPath();c.moveTo(0,0);c.lineTo(n*15+10,0);c.stroke();\n        for(var i=0;i<n;i++){var px=12+i*15;c.fillStyle=i%2?col1:col2;c.beginPath();c.ellipse(px,-8,6,10,-.35,0,6.283);c.fill();c.beginPath();c.ellipse(px,8,6,10,.35,0,6.283);c.fill();}\n        c.fillStyle=col1;c.beginPath();c.ellipse(n*15+16,0,10,6,0,0,6.283);c.fill();c.restore();}\n      var R=rng(31),G=[['#4f8a34','#3d7029'],['#5f9a3e','#477d2f'],['#6aa548','#4f8a34']];\n      [[200,300,-2.6],[200,300,-.5],[160,236,-2.3],[240,230,-.8],[130,190,-2.9],[272,180,-.2],[200,190,-1.9],[200,180,-1.2],[118,148,-2.2],[284,140,-.9],[170,130,-2.6],[232,124,-.6],[200,120,-1.57]].forEach(function(p){var g=G[(R()*3)|0];pinnate(p[0],p[1],p[2]+(R()-.5)*.2,3+((R()*3)|0),g[0],g[1]);});\n      function spike(x,y,len,ang){c.save();c.translate(x,y);c.rotate(ang);c.strokeStyle='#7a5a3a';c.lineWidth=2;c.beginPath();c.moveTo(0,0);c.lineTo(0,-len);c.stroke();\n        for(var k=0;k<7;k++){var yy=-len+k*len\/7,s=5.5-k*.3,side=k%2?1:-1;c.fillStyle=k<3?'#c45a9a':'#d97fb5';c.beginPath();c.ellipse(side*5,yy,s,s*1.2,side*.4,0,6.283);c.fill();c.fillStyle='#8e3a7a';c.beginPath();c.arc(side*5,yy+2,2,0,6.283);c.fill();}\n        c.restore();}\n      spike(104,170,48,-.5);spike(300,160,46,.5);spike(200,74,44,0);spike(138,110,40,-.3);spike(268,104,40,.35);\n      c.strokeStyle='#8a6a3a';c.lineWidth=4;[[150,262,120,300],[256,250,290,286],[176,318,146,350]].forEach(function(p){c.beginPath();c.moveTo(p[0],p[1]);c.quadraticCurveTo(p[2]+12,(p[1]+p[3])\/2,p[2],p[3]);c.stroke();});\n    },\n    function vat(c){ \/\/ fermentation: terracotta vat of deep-blue indigo bath with coppery bloom (fleur\u00e9e), floating leaves, wooden stirring paddle\n      var g=c.createLinearGradient(60,0,340,0);g.addColorStop(0,'#9a4f2a');g.addColorStop(.45,'#d0784a');g.addColorStop(1,'#8a4424');c.fillStyle=g;\n      c.beginPath();c.moveTo(70,170);c.bezierCurveTo(40,250,70,350,140,372);c.lineTo(260,372);c.bezierCurveTo(330,350,360,250,330,170);c.closePath();c.fill();\n      c.strokeStyle='#7a3a1c';c.lineWidth=4;[230,290,340].forEach(function(y,i){c.beginPath();c.moveTo(62+i*8,y);c.bezierCurveTo(140,y+16,260,y+16,338-i*8,y);c.stroke();});\n      c.fillStyle='#b8643a';c.beginPath();c.ellipse(200,170,140,34,0,0,6.283);c.fill();\n      var b=c.createRadialGradient(180,166,10,200,170,130);b.addColorStop(0,'#2c4fb0');b.addColorStop(.6,'#1d3486');b.addColorStop(1,'#142463');c.fillStyle=b;c.beginPath();c.ellipse(200,172,124,26,0,0,6.283);c.fill();\n      var R=rng(12);for(var n=0;n<40;n++){var a=R()*6.283,r=Math.sqrt(R()),x=196+Math.cos(a)*r*60,y=170+Math.sin(a)*r*12;c.fillStyle=R()<.5?'#b07a4a':'#8a6a9e';c.beginPath();c.arc(x,y,3+R()*4,0,6.283);c.fill();}\n      c.fillStyle='rgba(205,150,90,.95)';c.beginPath();c.ellipse(196,170,34,7,0,0,6.283);c.fill();\n      leaf(c,110,176,30,8,-.2,'#3f7a2e');leaf(c,268,178,28,8,3.3,'#4f8a34');leaf(c,300,166,22,7,2.6,'#3f7a2e');\n      c.save();c.translate(256,150);c.rotate(.5);rr(c,-7,-138,14,138,6,'#c8a070');rr(c,-22,-6,44,40,10,'#b08654');c.restore();\n      c.fillStyle='#1d3486';c.beginPath();c.moveTo(322,40);c.bezierCurveTo(326,52,330,58,330,64);c.bezierCurveTo(330,72,314,72,314,64);c.bezierCurveTo(314,58,318,52,322,40);c.fill();\n    },\n    function nila(c){ \/\/ nila: rough indigo rock-like lumps beside a heap of fine deep-blue powder\n      var g=c.createLinearGradient(0,170,0,372);g.addColorStop(0,'#3d5fc8');g.addColorStop(1,'#1c2f80');c.fillStyle=g;\n      c.beginPath();c.moveTo(150,372);c.bezierCurveTo(200,362,236,190,284,178);c.bezierCurveTo(326,190,350,352,380,370);c.closePath();c.fill();\n      var R=rng(9),cols=['#5a7ad8','#2a44a8','#1a2a70','#3f5fc4','#7f98e6'];for(var n=0;n<300;n++){var u=R()*2-1,h=Math.pow(1-u*u,1.4)*186,x=272+u*104,y=370-R()*h;c.fillStyle=cols[(R()*5)|0];c.beginPath();c.arc(x,y,1.6+R()*1.6,0,6.283);c.fill();}\n      function lump(x,y,s,ang,top,side,dark){c.save();c.translate(x,y);c.rotate(ang);\n        poly(c,[[-s,-s*.2],[-s*.5,-s*.85],[s*.35,-s*.95],[s,-s*.3],[s*.8,s*.5],[-s*.2,s*.75],[-s*.9,s*.45]],side);\n        poly(c,[[-s*.5,-s*.85],[s*.35,-s*.95],[s,-s*.3],[s*.1,-s*.15],[-s,-s*.2]],top);\n        poly(c,[[s*.1,-s*.15],[s,-s*.3],[s*.8,s*.5],[-s*.2,s*.75]],dark);\n        c.fillStyle='rgba(170,190,245,.8)';c.beginPath();c.arc(-s*.2,-s*.55,s*.12,0,6.283);c.fill();c.restore();}\n      lump(96,300,56,.1,'#4b6cd0','#2b46a6','#1a2c74');\n      lump(170,236,40,-.3,'#5576d6','#3150b0','#1d3080');\n      lump(66,200,32,.4,'#4565cc','#2a43a2','#192a6e');\n      lump(190,330,30,.7,'#5070d2','#2e4aaa','#1b2e78');\n      lump(130,150,24,-.5,'#5a7ad8','#3554b4','#1f3384');\n      c.fillStyle='#2a44a8';for(var k=0;k<16;k++){c.beginPath();c.arc(40+R()*200,362+R()*12,2+R()*3,0,6.283);c.fill();}\n    },\n    function ritual(c){ \/\/ hammam ritual: terracotta bowl of amber savon noir marbled with blue nila, kessa glove beside\n      var g=c.createLinearGradient(40,0,300,0);g.addColorStop(0,'#a8522c');g.addColorStop(.45,'#d9804e');g.addColorStop(1,'#984624');c.fillStyle=g;\n      c.beginPath();c.moveTo(36,200);c.lineTo(300,200);c.bezierCurveTo(294,290,236,340,168,340);c.bezierCurveTo(100,340,42,290,36,200);c.fill();\n      rr(c,118,334,100,20,8,'#984624');\n      c.fillStyle='#f2e3c8';for(var i=0;i<9;i++){var x=62+i*27;poly(c,[[x,250],[x+9,240],[x+18,250],[x+9,260]],'#f2e3c8');}\n      c.fillStyle='#c46a3e';c.beginPath();c.ellipse(168,200,132,30,0,0,6.283);c.fill();\n      var s=c.createLinearGradient(0,180,0,226);s.addColorStop(0,'#7a4a18');s.addColorStop(1,'#4e2e0e');c.fillStyle=s;c.beginPath();c.ellipse(168,202,118,23,0,0,6.283);c.fill();\n      c.save();c.beginPath();c.ellipse(168,202,118,23,0,0,6.283);c.clip();\n      c.strokeStyle='#2c4fb8';c.lineWidth=14;c.lineCap='round';c.beginPath();c.moveTo(80,204);c.bezierCurveTo(120,186,150,224,190,200);c.bezierCurveTo(222,182,246,214,268,198);c.stroke();\n      c.strokeStyle='#5f80e0';c.lineWidth=6;c.beginPath();c.moveTo(104,212);c.bezierCurveTo(140,200,170,220,206,208);c.stroke();\n      c.fillStyle='#1f378e';c.beginPath();c.arc(150,196,8,0,6.283);c.fill();c.restore();\n      c.fillStyle='rgba(255,230,190,.6)';c.beginPath();c.ellipse(120,196,26,4,-.05,0,6.283);c.fill();\n      c.save();c.translate(312,250);c.rotate(-.35);rr(c,-38,-70,76,140,22,'#5a5a52');rr(c,-38,52,76,22,6,'#7a3a2a');\n      c.strokeStyle='#44443e';c.lineWidth=2;for(var r=-60;r<48;r+=9){c.beginPath();c.moveTo(-34,r);c.lineTo(34,r+4);c.stroke();}\n      rr(c,-46,-44,18,40,9,'#5a5a52');c.restore();\n    }\n  ];\n  SHAPES.oranger=[\n    function branch(c){ \/\/ bitter orange branch: glossy dark leaves, clusters of white blossoms, one bitter orange\n      function bl(x,y,r,a){c.save();c.translate(x,y);c.rotate(a);for(var i=0;i<5;i++){c.save();c.rotate(i*1.2566);var g=c.createLinearGradient(0,0,0,-r);g.addColorStop(0,'#e3cd9c');g.addColorStop(1,'#f6ead0');c.fillStyle=g;c.beginPath();c.moveTo(0,0);c.bezierCurveTo(r*.55,-r*.3,r*.45,-r,0,-r);c.bezierCurveTo(-r*.45,-r,-r*.55,-r*.3,0,0);c.fill();c.strokeStyle='#b89a62';c.lineWidth=1.6;c.stroke();c.restore();}c.fillStyle='#e9b92c';c.beginPath();c.arc(0,0,r*.28,0,6.283);c.fill();c.fillStyle='#8fae3c';c.beginPath();c.arc(0,0,r*.12,0,6.283);c.fill();c.restore();}\n      function bud(x,y,a){c.save();c.translate(x,y);c.rotate(a);c.fillStyle='#efdfbc';c.beginPath();c.ellipse(0,0,7,13,0,0,6.283);c.fill();c.strokeStyle='#b89a62';c.lineWidth=1.6;c.stroke();c.fillStyle='#6f8a3a';c.beginPath();c.arc(0,10,5,0,6.283);c.fill();c.restore();}\n      c.strokeStyle='#6a4a2b';c.lineCap='round';c.lineWidth=10;c.beginPath();c.moveTo(34,370);c.bezierCurveTo(120,300,220,190,360,60);c.stroke();\n      c.lineWidth=6;[[110,306,70,210],[190,232,250,300],[250,176,206,92],[300,118,350,170]].forEach(function(b){c.beginPath();c.moveTo(b[0],b[1]);c.quadraticCurveTo((b[0]+b[2])\/2+10,(b[1]+b[3])\/2-10,b[2],b[3]);c.stroke();});\n      var g=['#2f5a22','#3d6e2a','#4f8233'];\n      [[74,344,-.6],[96,318,-2.4],[150,272,-.4],[150,272,-2.7],[214,214,-.2],[214,214,-2.9],[282,150,-.1],[282,150,-2.6],[70,210,-2.2],[250,300,.6],[206,92,-1.9],[350,170,.7],[330,90,-.5]].forEach(function(l,i){leaf(c,l[0],l[1],74,24,l[2],g[i%3]);});\n      var o=c.createRadialGradient(236,304,6,250,318,46);o.addColorStop(0,'#ffc067');o.addColorStop(.6,'#ec8a1e');o.addColorStop(1,'#b85d0f');c.fillStyle=o;c.beginPath();c.arc(252,320,44,0,6.283);c.fill();\n      c.fillStyle='rgba(255,235,200,.9)';c.beginPath();c.ellipse(236,302,9,14,-.5,0,6.283);c.fill();c.fillStyle='#4f8233';c.beginPath();c.arc(252,278,6,0,6.283);c.fill();\n      [[70,196,22,.2],[44,232,18,1],[206,74,22,.5],[234,62,17,1.4],[352,184,20,.9],[330,206,16,.1],[176,170,18,.7]].forEach(function(b){bl(b[0],b[1],b[2],b[3]);});\n      [[92,186,.4],[186,96,-.3],[372,160,.8],[160,190,.2]].forEach(function(b){bud(b[0],b[1],b[2]);});\n    },\n    function flower(c){ \/\/ one open orange blossom: 5 thick waxy petals, ring of yellow stamens, two buds and leaves\n      leaf(c,200,210,170,46,-2.55,'#3d6e2a');leaf(c,200,210,160,44,-.45,'#2f5a22');leaf(c,200,210,150,40,1.6,'#4f8233');\n      [[96,92,-.5],[316,96,.5]].forEach(function(b){c.save();c.translate(b[0],b[1]);c.rotate(b[2]);c.fillStyle='#efdfbc';c.beginPath();c.ellipse(0,0,18,32,0,0,6.283);c.fill();c.strokeStyle='#b89a62';c.lineWidth=3;c.stroke();c.fillStyle='#6f8a3a';c.beginPath();c.ellipse(0,28,13,9,0,0,6.283);c.fill();c.restore();});\n      for(var i=0;i<5;i++){c.save();c.translate(200,200);c.rotate(-Math.PI\/2+i*1.2566);var g=c.createLinearGradient(0,0,150,0);g.addColorStop(0,'#d2b273');g.addColorStop(.4,'#e6d09e');g.addColorStop(1,'#efe0bb');c.fillStyle=g;c.beginPath();c.moveTo(0,0);c.bezierCurveTo(40,-58,130,-50,150,-6);c.quadraticCurveTo(156,6,146,14);c.bezierCurveTo(120,52,40,56,0,0);c.fill();c.strokeStyle='#b89a62';c.lineWidth=3;c.stroke();c.strokeStyle='#e2cfa2';c.lineWidth=2.5;c.beginPath();c.moveTo(20,0);c.quadraticCurveTo(80,-6,132,0);c.stroke();c.restore();}\n      c.strokeStyle='#f0dc8a';c.lineWidth=3;for(var s=0;s<16;s++){var a=s\/16*6.283;c.beginPath();c.moveTo(200,200);c.lineTo(200+Math.cos(a)*44,200+Math.sin(a)*44);c.stroke();}\n      c.fillStyle='#d99a14';for(var t=0;t<16;t++){var b=t\/16*6.283;c.beginPath();c.ellipse(200+Math.cos(b)*46,200+Math.sin(b)*46,5,8,b,0,6.283);c.fill();}\n      c.fillStyle='#8fae3c';c.beginPath();c.arc(200,200,17,0,6.283);c.fill();c.fillStyle='#c8d66a';c.beginPath();c.arc(200,200,8,0,6.283);c.fill();\n    },\n    function still(c){ \/\/ copper alembic on a brazier, swan neck to a cooling coil, dripping into a glass flask\n      rr(c,52,322,140,50,10,'#5b4a42');\n      var g=c.createRadialGradient(100,200,10,122,240,96);g.addColorStop(0,'#f2b27a');g.addColorStop(.55,'#c8692e');g.addColorStop(1,'#8a4219');c.fillStyle=g;c.beginPath();c.ellipse(122,248,82,74,0,0,6.283);c.fill();\n      c.fillStyle='#a8521f';rr(c,70,170,104,18,8,'#a8521f');c.beginPath();c.moveTo(80,172);c.bezierCurveTo(80,90,164,90,164,172);c.fill();\n      c.fillStyle='rgba(255,226,190,.9)';c.beginPath();c.ellipse(92,226,11,28,-.3,0,6.283);c.fill();c.fillStyle='#f08a2c';[[86,326],[122,324],[158,326]].forEach(function(p){c.beginPath();c.moveTo(p[0]-15,p[1]);c.quadraticCurveTo(p[0]-4,p[1]-22,p[0],p[1]-36);c.quadraticCurveTo(p[0]+6,p[1]-20,p[0]+15,p[1]);c.fill();});\n      c.strokeStyle='#b85d22';c.lineWidth=14;c.lineCap='round';c.beginPath();c.moveTo(150,112);c.bezierCurveTo(210,70,262,80,280,138);c.stroke();\n      var cg=c.createLinearGradient(240,0,340,0);cg.addColorStop(0,'#9aa7b0');cg.addColorStop(.5,'#d7dee3');cg.addColorStop(1,'#8b98a2');c.fillStyle=cg;c.beginPath();c.roundRect(240,130,92,120,14);c.fill();\n      c.strokeStyle='#b85d22';c.lineWidth=7;for(var k=0;k<4;k++){c.beginPath();c.ellipse(286,150+k*26,38,9,0,0,Math.PI);c.stroke();}\n      c.lineWidth=8;c.beginPath();c.moveTo(286,250);c.lineTo(286,272);c.stroke();\n      c.fillStyle='#8fbbe0';c.beginPath();c.ellipse(286,288,5,8,0,0,6.283);c.fill();\n      c.fillStyle='rgba(206,226,240,.95)';c.beginPath();c.moveTo(270,300);c.lineTo(302,300);c.lineTo(302,318);c.lineTo(344,374);c.lineTo(228,374);c.lineTo(270,318);c.closePath();c.fill();\n      c.fillStyle='#a9cdea';c.beginPath();c.moveTo(252,344);c.lineTo(320,344);c.lineTo(344,374);c.lineTo(228,374);c.closePath();c.fill();\n      c.strokeStyle='#7e9db5';c.lineWidth=3;c.beginPath();c.moveTo(270,300);c.lineTo(270,318);c.lineTo(228,374);c.lineTo(344,374);c.lineTo(302,318);c.lineTo(302,300);c.stroke();\n      [[196,346],[214,362]].forEach(function(p,i){c.save();c.translate(p[0],p[1]);for(var j=0;j<5;j++){c.save();c.rotate(j*1.2566+i);c.fillStyle='#f1e3c2';c.beginPath();c.ellipse(0,-9,5,9,0,0,6.283);c.fill();c.strokeStyle='#b89a62';c.lineWidth=1.5;c.stroke();c.restore();}c.fillStyle='#e0b02a';c.beginPath();c.arc(0,0,4,0,6.283);c.fill();c.restore();});\n    },\n    function mrach(c){ \/\/ Moroccan silver sprinkler (mrach) scattering drops of orange flower water\n      leaf(c,96,356,50,16,2.6,'#3d6e2a');leaf(c,306,358,46,14,.4,'#2f5a22');\n      var sg=c.createLinearGradient(130,0,270,0);sg.addColorStop(0,'#5f6a76');sg.addColorStop(.4,'#c3ccd4');sg.addColorStop(.7,'#929eaa');sg.addColorStop(1,'#535e6a');c.fillStyle=sg;\n      c.beginPath();c.moveTo(150,372);c.lineTo(250,372);c.lineTo(234,350);c.lineTo(166,350);c.closePath();c.fill();\n      c.beginPath();c.moveTo(186,350);c.bezierCurveTo(120,340,112,250,170,226);c.lineTo(230,226);c.bezierCurveTo(288,250,280,340,214,350);c.closePath();c.fill();\n      c.beginPath();c.moveTo(184,228);c.lineTo(192,96);c.lineTo(208,96);c.lineTo(216,228);c.closePath();c.fill();\n      c.beginPath();c.ellipse(200,96,16,8,0,0,6.283);c.fill();c.beginPath();c.moveTo(194,96);c.lineTo(197,62);c.lineTo(203,62);c.lineTo(206,96);c.closePath();c.fill();\n      c.beginPath();c.arc(200,58,9,0,6.283);c.fill();\n      c.strokeStyle='#434c56';c.lineWidth=3;c.beginPath();c.ellipse(200,288,58,14,0,0,Math.PI);c.stroke();c.beginPath();c.ellipse(200,262,50,10,0,0,Math.PI);c.stroke();\n      c.fillStyle='#434c56';for(var k=0;k<7;k++){var x=160+k*13.3;c.beginPath();c.moveTo(x,300);c.lineTo(x+6,312);c.lineTo(x,324);c.lineTo(x-6,312);c.closePath();c.fill();}\n      c.fillStyle='rgba(255,255,255,.95)';c.fillRect(160,250,8,70);c.fillRect(194,120,4,96);\n      [[150,30,.9],[120,52,.7],[250,30,.9],[280,52,.7],[200,18,1],[100,84,.6],[300,84,.6],[170,40,.8],[230,40,.8]].forEach(function(d){drop(c,d[0],d[1]-14*d[2],d[1]+14*d[2],8*d[2],'#a9cdea','#5f9bd0','#3d78b3','rgba(255,255,255,.9)');});\n      [[96,356,18,.3],[306,358,16,1.1]].forEach(function(b){c.save();c.translate(b[0],b[1]);c.rotate(b[3]);for(var j=0;j<5;j++){c.save();c.rotate(j*1.2566);c.fillStyle='#f1e3c2';c.beginPath();c.ellipse(0,-b[2]*.55,b[2]*.32,b[2]*.55,0,0,6.283);c.fill();c.strokeStyle='#b89a62';c.lineWidth=1.6;c.stroke();c.restore();}c.fillStyle='#e0b02a';c.beginPath();c.arc(0,0,b[2]*.25,0,6.283);c.fill();c.restore();});\n    }\n  ];\n  SHAPES.rose=[\n    function bush(c){ \/\/ Damask rosebush: woody stems, dense serrated foliage, pink blooms and buds\n      c.strokeStyle='#5e4a2c';c.lineCap='round';[[200,388,200,240,9],[200,350,130,200,6],[200,330,276,190,6],[196,290,160,150,5],[204,280,246,140,5],[200,250,200,120,5]].forEach(function(b){c.lineWidth=b[4];c.beginPath();c.moveTo(b[0],b[1]);c.quadraticCurveTo((b[0]+b[2])\/2-10,(b[1]+b[3])\/2,b[2],b[3]);c.stroke();});\n      var R=rng(21),g=['#3f6b2c','#4f7d34','#628f3e','#2f5a26'];\n      for(var n=0;n<230;n++){var a=R()*6.283,r=Math.sqrt(R()),x=200+Math.cos(a)*r*158,y=196+Math.sin(a)*r*104;leaf(c,x,y,24,9,R()*6.28,g[(R()*4)|0]);}\n      function bloom(x,y,s){var p=['#9e2f4f','#c4566f','#e07f98','#f4b3c3'];for(var k=0;k<4;k++){var rad=s*(1-k*.22);c.fillStyle=p[k];for(var j=0;j<6;j++){var t=j*1.047+k*.5;c.beginPath();c.ellipse(x+Math.cos(t)*rad*.35,y+Math.sin(t)*rad*.35,rad*.62,rad*.48,t,0,6.283);c.fill();}}c.fillStyle='#8a2443';c.beginPath();c.arc(x,y,s*.16,0,6.283);c.fill();}\n      [[128,160,30],[200,118,34],[278,150,30],[160,226,26],[250,232,28],[96,226,22],[318,214,22]].forEach(function(b){bloom(b[0],b[1],b[2]);});\n      [[150,112],[244,100],[330,170],[70,180]].forEach(function(p){almond(c,p[0],p[1],9,15,0,'#b8405e');leaf(c,p[0],p[1]+12,16,6,1.2,'#4f7d34');leaf(c,p[0],p[1]+12,16,6,1.9,'#4f7d34');});\n    },\n    function bloom(c){ \/\/ one open Damask rose: layered spiralling petals, sepals, stem and two leaves\n      c.strokeStyle='#4f7d34';c.lineWidth=9;c.lineCap='round';c.beginPath();c.moveTo(200,388);c.quadraticCurveTo(212,320,200,262);c.stroke();\n      leaf(c,204,340,92,30,-.55,'#4f7d34');leaf(c,200,312,86,28,-2.6,'#628f3e');\n      c.fillStyle='#3f6b2c';for(var s=0;s<5;s++){var a=Math.PI\/2+(s-2)*.42;leaf(c,200,250,70,12,a,'#3f6b2c');}\n      var rings=[[118,'#a83656',7],[96,'#c4566f',7],[74,'#d96a86',6],[54,'#e98aa2',5],[36,'#f4b3c3',5]];\n      rings.forEach(function(r,k){c.fillStyle=r[1];for(var j=0;j<r[2];j++){var t=j*6.283\/r[2]+k*.45;c.beginPath();c.ellipse(200+Math.cos(t)*r[0]*.42,170+Math.sin(t)*r[0]*.38,r[0]*.62,r[0]*.46,t,0,6.283);c.fill();}});\n      c.strokeStyle='#8a2443';c.lineWidth=4;c.beginPath();for(var i=0;i<60;i++){var th=i*.32,rr2=4+i*.55;var x=200+Math.cos(th)*rr2,y=170+Math.sin(th)*rr2*.9;if(i)c.lineTo(x,y);else c.moveTo(x,y);}c.stroke();\n      c.fillStyle='rgba(255,232,238,.95)';c.beginPath();c.ellipse(158,122,22,9,-.5,0,6.283);c.fill();\n    },\n    function still(c){ \/\/ copper alembic heaped with petals, swan-neck pipe, condenser coil, flask collecting rose water\n      c.fillStyle='#6b3f22';c.fillRect(70,350,170,18);rr(c,84,330,142,24,6,'#2f2a2a');\n      c.fillStyle='#f08a3a';[[110,336],[150,332],[190,336]].forEach(function(p){c.beginPath();c.moveTo(p[0]-12,348);c.quadraticCurveTo(p[0],p[1]-26,p[0]+12,348);c.fill();});\n      var g=c.createLinearGradient(60,0,250,0);g.addColorStop(0,'#8a4a22');g.addColorStop(.4,'#e09a5c');g.addColorStop(.7,'#c4733a');g.addColorStop(1,'#7a3f1c');c.fillStyle=g;\n      c.beginPath();c.moveTo(78,200);c.bezierCurveTo(60,300,96,334,155,334);c.bezierCurveTo(214,334,250,300,232,200);c.closePath();c.fill();\n      c.fillStyle='#b8652f';c.fillRect(74,192,162,14);\n      var R=rng(31),pc=['#c4566f','#e07f98','#a83656','#f4b3c3'];for(var n=0;n<46;n++){var x=88+R()*134,y=176+R()*22;almond(c,x,y,7,12,R()*6.28,pc[(R()*4)|0]);}\n      c.fillStyle=g;c.beginPath();c.moveTo(110,180);c.bezierCurveTo(110,120,200,120,200,180);c.closePath();c.fill();\n      c.fillStyle='#d98a4a';c.beginPath();c.ellipse(155,128,20,10,0,0,6.283);c.fill();\n      c.strokeStyle='#c4733a';c.lineWidth=12;c.lineCap='round';c.beginPath();c.moveTo(160,124);c.quadraticCurveTo(220,60,300,120);c.stroke();\n      rr(c,276,118,56,120,10,'#a95a2c');c.strokeStyle='#f0b27a';c.lineWidth=6;for(var k=0;k<5;k++){c.beginPath();c.moveTo(280,132+k*22);c.lineTo(328,142+k*22);c.stroke();}\n      c.strokeStyle='#c4733a';c.lineWidth=8;c.beginPath();c.moveTo(304,238);c.lineTo(304,272);c.stroke();\n      c.fillStyle='#d6e4ef';c.beginPath();c.moveTo(292,276);c.lineTo(316,276);c.lineTo(316,300);c.bezierCurveTo(362,316,362,378,304,378);c.bezierCurveTo(246,378,246,316,292,300);c.closePath();c.fill();\n      c.fillStyle='#f4b3c3';c.beginPath();c.moveTo(262,336);c.bezierCurveTo(262,380,346,380,346,336);c.closePath();c.fill();\n      c.fillStyle='#e98aa2';c.beginPath();c.arc(304,286,5,0,6.283);c.fill();\n    },\n    function water(c){ \/\/ drop of clear rose water with a petal floating on its ripple\n      drop(c,200,40,320,92,'#fde3ea','#f0a3b5','#c4566f','rgba(255,255,255,.95)');\n      ripple(c,200,368,'#e07f98');\n      almond(c,118,350,10,18,1.2,'#c4566f');almond(c,288,360,9,16,-1,'#e07f98');\n    }\n  ];\n  SHAPES.sidr=[\n    function shrub(c){ \/\/ wild jujube (sedra): dense thorny mound of zigzag branches, small oval leaves and red-brown fruits, on arid sandy ground under a warm sun\n      c.fillStyle='#f0c27a';c.beginPath();c.arc(320,78,28,0,6.283);c.fill();\n      var gr=c.createLinearGradient(0,300,0,380);gr.addColorStop(0,'#e2bf86');gr.addColorStop(1,'#c99a5c');c.fillStyle=gr;\n      c.beginPath();c.moveTo(20,380);c.lineTo(20,322);c.bezierCurveTo(90,300,150,292,200,290);c.bezierCurveTo(260,292,320,302,380,318);c.lineTo(380,380);c.closePath();c.fill();\n      c.fillStyle='#b8874c';c.beginPath();c.ellipse(200,312,150,22,0,0,6.283);c.fill();\n      var R=rng(11);c.strokeStyle='#6b5236';c.lineCap='round';c.lineJoin='round';\n      for(var b=0;b<16;b++){var x=200+(R()-.5)*60,y=308,a=-Math.PI\/2+(R()-.5)*2.4,len=70+R()*90;c.lineWidth=3+R()*3;c.beginPath();c.moveTo(x,y);\n        for(var s=0;s<5;s++){a+=(s%2?.5:-.5);x+=Math.cos(a)*len\/5;y+=Math.sin(a)*len\/5;c.lineTo(x,y);}c.stroke();}\n      var g=['#5f7a2e','#7a9440','#4d6a26','#8fa852'];\n      for(var n=0;n<300;n++){var t=R()*6.283,r=Math.sqrt(R()),lx=200+Math.cos(t)*r*150,ly=214+Math.sin(t)*r*92;if(ly>300)continue;almond(c,lx,ly,5,9,R()*6.28,g[(R()*4)|0]);}\n      c.strokeStyle='#8a6a44';c.lineWidth=2;for(var k=0;k<40;k++){var tx=200+(R()-.5)*290,ty=150+R()*150,ta=R()*6.28;c.beginPath();c.moveTo(tx,ty);c.lineTo(tx+Math.cos(ta)*9,ty+Math.sin(ta)*9);c.stroke();}\n      var f=['#a8442a','#c4612e','#8a3a24'];for(var m=0;m<16;m++){var t2=R()*6.283,r2=Math.sqrt(R())*.9,fx=200+Math.cos(t2)*r2*140,fy=210+Math.sin(t2)*r2*80;c.fillStyle=f[m%3];c.beginPath();c.arc(fx,fy,6,0,6.283);c.fill();c.fillStyle='rgba(255,220,190,.85)';c.beginPath();c.arc(fx-2,fy-2,1.8,0,6.283);c.fill();}\n    },\n    function branch(c){ \/\/ jujube twig: zigzag stem, paired thorns at each node (one straight, one hooked), alternate oval three-veined leaves, two small fruits\n      var pts=[[44,356],[110,300],[100,236],[172,190],[166,128],[246,92],[246,44],[330,30]];\n      c.strokeStyle='#7a5a3a';c.lineWidth=9;c.lineCap='round';c.lineJoin='round';c.beginPath();c.moveTo(pts[0][0],pts[0][1]);for(var i=1;i<pts.length;i++)c.lineTo(pts[i][0],pts[i][1]);c.stroke();\n      function vleaf(x,y,ang,L,W,col){c.save();c.translate(x,y);c.rotate(ang);c.fillStyle='#5f7a2e';c.fillRect(0,-2,14,4);c.translate(14,0);\n        c.fillStyle=col;c.beginPath();c.ellipse(L\/2,0,L\/2,W\/2,0,0,6.283);c.fill();\n        c.strokeStyle='rgba(225,236,190,.85)';c.lineWidth=2.2;c.beginPath();c.moveTo(2,0);c.lineTo(L-6,0);c.moveTo(4,0);c.quadraticCurveTo(L*.45,-W*.34,L-12,-W*.12);c.moveTo(4,0);c.quadraticCurveTo(L*.45,W*.34,L-12,W*.12);c.stroke();c.restore();}\n      function thorns(x,y,a){c.fillStyle='#a8875a';c.save();c.translate(x,y);c.rotate(a);c.beginPath();c.moveTo(-4,0);c.lineTo(4,0);c.lineTo(0,-32);c.closePath();c.fill();\n        c.beginPath();c.moveTo(-3,4);c.lineTo(3,4);c.quadraticCurveTo(14,18,4,24);c.quadraticCurveTo(8,14,-3,4);c.fill();c.restore();}\n      var cols=['#5f7a2e','#7a9440','#4d6a26','#6f8a36'];\n      [[110,300,-2.5,0],[100,236,.1,1],[172,190,-2.6,2],[166,128,.2,3],[246,92,-2.4,0],[246,44,.4,1]].forEach(function(n,k){thorns(n[0],n[1],k%2?.8:-.8);vleaf(n[0],n[1],n[2],78,48,cols[n[3]]);});\n      vleaf(77,328,-.9,64,40,'#7a9440');vleaf(206,110,-1.2,60,38,'#4d6a26');vleaf(290,40,.9,58,36,'#6f8a36');\n      [[136,276],[150,262]].forEach(function(p,k){c.strokeStyle='#5f7a2e';c.lineWidth=2;c.beginPath();c.moveTo(p[0]-20,p[1]-14);c.lineTo(p[0],p[1]);c.stroke();c.fillStyle=k?'#c4612e':'#a8442a';c.beginPath();c.arc(p[0],p[1],11,0,6.283);c.fill();c.fillStyle='rgba(255,220,190,.85)';c.beginPath();c.arc(p[0]-3,p[1]-4,3,0,6.283);c.fill();});\n    },\n    function powder(c){ \/\/ heap of fine olive-green sidr powder, dried leaves and a stone mortar with pestle\n      var g=c.createLinearGradient(0,140,0,370);g.addColorStop(0,'#a9b86a');g.addColorStop(1,'#6f7f3a');c.fillStyle=g;\n      c.beginPath();c.moveTo(30,370);c.bezierCurveTo(90,362,130,170,186,160);c.bezierCurveTo(236,170,270,352,320,370);c.closePath();c.fill();\n      var R=rng(5),cols=['#b9c67e','#8a9a4a','#5e6c30','#9fae60'];for(var n=0;n<380;n++){var u=R()*2-1,h=Math.pow(1-u*u,1.4)*200,x=178+u*140,y=370-R()*h;c.fillStyle=cols[(R()*4)|0];c.beginPath();c.arc(x,y,1.8+R()*1.3,0,6.283);c.fill();}\n      [[60,330,.4,'#8a8a3e'],[96,354,-.6,'#7a7a34'],[300,356,2.6,'#8f9244']].forEach(function(l){almond(c,l[0],l[1],10,18,l[2],l[3]);});\n      var m=c.createLinearGradient(260,0,370,0);m.addColorStop(0,'#8e8a80');m.addColorStop(.5,'#c9c4b8');m.addColorStop(1,'#7c776e');c.fillStyle=m;\n      c.beginPath();c.moveTo(262,262);c.lineTo(370,262);c.bezierCurveTo(366,320,348,344,316,344);c.bezierCurveTo(284,344,266,320,262,262);c.fill();\n      rr(c,288,340,56,14,5,'#7c776e');\n      c.fillStyle='#a8a296';c.beginPath();c.ellipse(316,262,54,13,0,0,6.283);c.fill();c.fillStyle='#7f8f40';c.beginPath();c.ellipse(316,264,44,8,0,0,6.283);c.fill();\n      c.save();c.translate(318,200);c.rotate(.45);rr(c,-11,-70,22,120,11,'#b3ad9f');c.fillStyle='#8e8a80';c.beginPath();c.ellipse(0,50,14,9,0,0,6.283);c.fill();c.restore();\n    },\n    function bowl(c){ \/\/ celadon ceramic bowl of smooth green sidr paste crowned with a light foam (saponins), a wooden spoon and a leaf\n      var g=c.createLinearGradient(50,0,350,0);g.addColorStop(0,'#7fa39a');g.addColorStop(.45,'#cfe2da');g.addColorStop(1,'#6e9389');c.fillStyle=g;\n      c.beginPath();c.moveTo(48,226);c.lineTo(352,226);c.bezierCurveTo(344,312,280,356,200,356);c.bezierCurveTo(120,356,56,312,48,226);c.fill();\n      rr(c,148,350,104,20,8,'#6e9389');\n      c.strokeStyle='#4f7a70';c.lineWidth=4;c.beginPath();c.moveTo(66,258);c.bezierCurveTo(130,290,270,290,334,258);c.stroke();\n      c.fillStyle='#e4efe9';c.beginPath();c.ellipse(200,226,154,32,0,0,6.283);c.fill();\n      var p=c.createLinearGradient(0,204,0,250);p.addColorStop(0,'#8a9a4a');p.addColorStop(1,'#5e6c30');c.fillStyle=p;c.beginPath();c.ellipse(200,228,138,24,0,0,6.283);c.fill();\n      var R=rng(9);for(var n=0;n<46;n++){var t=R()*6.283,r=Math.sqrt(R()),x=176+Math.cos(t)*r*86,y=222+Math.sin(t)*r*14,s=4+R()*9;c.fillStyle='#f3f6e6';c.beginPath();c.arc(x,y-s*.4,s,0,6.283);c.fill();c.strokeStyle='#c9d4a8';c.lineWidth=1.5;c.stroke();}\n      for(var k=0;k<7;k++){var bx=150+R()*90,by=150+R()*50,bs=5+R()*7;c.fillStyle='rgba(243,246,230,.95)';c.beginPath();c.arc(bx,by,bs,0,6.283);c.fill();c.strokeStyle='#b9c67e';c.lineWidth=2;c.stroke();}\n      c.save();c.translate(300,150);c.rotate(.5);rr(c,-7,-100,14,110,7,'#c8a070');c.fillStyle='#b48a5c';c.beginPath();c.ellipse(0,22,22,32,0,0,6.283);c.fill();c.fillStyle='#6f7f3a';c.beginPath();c.ellipse(0,26,16,22,0,0,6.283);c.fill();c.restore();\n      leaf(c,70,372,70,22,-.25,'#5f7a2e');leaf(c,330,376,60,18,3.3,'#7a9440');\n    }\n  ];\nSHAPES.poischiche=[\n    function plant(c){ \/\/ chickpea plant: bushy upright stems of glaucous compound leaves (many small oval leaflets), small white-violet pea flowers and puffy pale pods, on dry tilled soil\n      var s=31;function R(){s=(s*16807)%2147483647;return s\/2147483647;}\n      var gr=c.createLinearGradient(0,330,0,392);gr.addColorStop(0,'#c9a774');gr.addColorStop(1,'#a3814f');c.fillStyle=gr;\n      c.beginPath();c.moveTo(20,392);c.lineTo(20,350);c.bezierCurveTo(120,332,280,332,380,350);c.lineTo(380,392);c.closePath();c.fill();\n      c.strokeStyle='#8c6c42';c.lineWidth=3;[[40,368,120,362],[160,376,250,372],[280,366,360,370]].forEach(function(f){c.beginPath();c.moveTo(f[0],f[1]);c.lineTo(f[2],f[3]);c.stroke();});\n      var g=['#6f8a4a','#7f9a58','#5e7a3e','#93a86a','#6a8450'];\n      function cleaf(x,y,ang,len){var dx=Math.cos(ang),dy=Math.sin(ang);c.strokeStyle='#6a7e44';c.lineWidth=2;c.beginPath();c.moveTo(x,y);c.lineTo(x+dx*len,y+dy*len);c.stroke();\n        for(var i=1;i<=5;i++){var t=i\/5.6,px=x+dx*len*t,py=y+dy*len*t,col=g[(R()*5)|0];almond(c,px-dy*8,py+dx*8,4.2,8,ang+1.57+.5,col);almond(c,px+dy*8,py-dx*8,4.2,8,ang-1.57-.5+3.1416,g[(R()*5)|0]);}\n        almond(c,x+dx*(len+6),y+dy*(len+6),4.2,8,ang+1.57,g[(R()*5)|0]);}\n      var stems=[[200,350,120,120,90,70],[200,350,170,100,160,40],[202,350,230,110,240,44],[204,350,280,130,318,80],[198,350,90,200,46,150],[206,350,310,210,356,160],[200,350,200,160,200,90]];\n      stems.forEach(function(st){c.strokeStyle='#5e7240';c.lineWidth=5;c.lineCap='round';c.beginPath();c.moveTo(st[0],st[1]);c.quadraticCurveTo(st[2],st[3],st[4],st[5]);c.stroke();\n        for(var k=1;k<=9;k++){var t=k\/10,u=1-t,x=u*u*st[0]+2*u*t*st[2]+t*t*st[4],y=u*u*st[1]+2*u*t*st[3]+t*t*st[5];var tx=2*u*(st[2]-st[0])+2*t*(st[4]-st[2]),ty=2*u*(st[3]-st[1])+2*t*(st[5]-st[3]),a=Math.atan2(ty,tx);\n          cleaf(x,y,a+(k%2?.95:-.95)+(R()-.5)*.3,34+R()*14);}});\n      function pod(x,y,a){c.strokeStyle='#6a7e44';c.lineWidth=2;c.beginPath();c.moveTo(x,y-18);c.lineTo(x-4,y-30);c.stroke();\n        c.save();c.translate(x,y);c.rotate(a);var p=c.createRadialGradient(-5,-5,2,0,0,18);p.addColorStop(0,'#eef0c4');p.addColorStop(1,'#b4b878');c.fillStyle=p;\n        c.beginPath();c.ellipse(0,0,12,17,0,0,6.283);c.fill();c.fillStyle='#b4b878';c.beginPath();c.moveTo(-3,15);c.lineTo(3,15);c.lineTo(1,24);c.closePath();c.fill();c.restore();}\n      [[132,170,.3],[262,150,-.3],[96,234,.4],[300,236,-.2],[176,232,.1],[236,206,-.1],[150,118,.2]].forEach(function(p){pod(p[0],p[1],p[2]);});\n      function fl(x,y){c.fillStyle='#f6f2f6';c.beginPath();c.ellipse(x,y-3,7,6,0,0,6.283);c.fill();c.fillStyle='#c79ad0';c.beginPath();c.ellipse(x,y+3,4.5,4,0,0,6.283);c.fill();}\n      [[110,96],[200,84],[288,108],[66,176],[336,182],[214,130]].forEach(function(f){fl(f[0],f[1]);});\n    },\n    function pod(c){ \/\/ a chickpea pod: inflated, slightly hairy straw-green shell split open, two beaked beige seeds inside, a closed pod and a sprig of small leaflets\n      function seed(x,y,r,a,c1,c2){c.save();c.translate(x,y);c.rotate(a);var gr=c.createRadialGradient(-r*.35,-r*.35,r*.1,0,0,r*1.1);gr.addColorStop(0,c1);gr.addColorStop(1,c2);c.fillStyle=gr;\n        c.beginPath();c.moveTo(r*1.25,-r*.15);c.bezierCurveTo(r*.9,-r*1.05,-r*.95,-r*1.05,-r,0);c.bezierCurveTo(-r*.95,r*1.02,r*.85,r*1.02,r*1.25,-r*.15);c.fill();\n        c.strokeStyle='rgba(150,110,60,.55)';c.lineWidth=r*.09;c.beginPath();c.moveTo(r*1.15,-r*.12);c.quadraticCurveTo(r*.2,r*.1,-r*.2,r*.8);c.stroke();\n        c.fillStyle='rgba(255,246,220,.75)';c.beginPath();c.ellipse(-r*.35,-r*.4,r*.22,r*.14,-.5,0,6.283);c.fill();c.restore();}\n      var g=['#6f8a4a','#7f9a58','#5e7a3e','#93a86a'];\n      c.strokeStyle='#6a7e44';c.lineWidth=6;c.lineCap='round';c.beginPath();c.moveTo(84,278);c.bezierCurveTo(56,262,40,220,52,150);c.stroke();\n      [[52,150,-1.75,70],[48,214,-2.25,44],[54,190,-.7,58],[64,250,-2.6,34]].forEach(function(r,i){var dx=Math.cos(r[2]),dy=Math.sin(r[2]),L=r[3];c.lineWidth=3;c.beginPath();c.moveTo(r[0],r[1]);c.lineTo(r[0]+dx*L,r[1]+dy*L);c.stroke();\n        for(var k=1;k<=5;k++){var px=r[0]+dx*L*k\/5.6,py=r[1]+dy*L*k\/5.6;almond(c,px-dy*10,py+dx*10,5.5,11,r[2]+2.1,g[(i+k)%4]);almond(c,px+dy*10,py-dx*10,5.5,11,r[2]+1.04,g[(i+k+1)%4]);}\n        almond(c,r[0]+dx*(L+8),r[1]+dy*(L+8),5.5,11,r[2]+1.57,g[i%4]);});\n      c.save();c.translate(212,236);c.rotate(-.32);\n      var sh=c.createLinearGradient(-130,-80,130,80);sh.addColorStop(0,'#d8d79a');sh.addColorStop(.6,'#b9b571');sh.addColorStop(1,'#8f8a4e');c.fillStyle=sh;\n      c.beginPath();c.moveTo(-138,0);c.bezierCurveTo(-120,-92,96,-104,138,-14);c.lineTo(170,-22);c.lineTo(140,6);c.bezierCurveTo(100,96,-120,92,-138,0);c.fill();\n      c.fillStyle='#f1ecc8';c.beginPath();c.moveTo(-112,-6);c.bezierCurveTo(-96,-70,86,-80,118,-12);c.bezierCurveTo(80,22,-80,24,-112,-6);c.fill();\n      c.fillStyle='#e2dcae';c.beginPath();c.moveTo(-112,-6);c.bezierCurveTo(-80,14,80,12,118,-12);c.bezierCurveTo(80,22,-80,26,-112,-6);c.fill();\n      c.restore();\n      seed(160,214,40,-.5,'#f3dcac','#c9a066');seed(258,186,42,-.2,'#f6e2b6','#d2a86c');\n      c.save();c.translate(212,236);c.rotate(-.32);c.strokeStyle='#a8a364';c.lineWidth=7;c.beginPath();c.moveTo(-116,0);c.bezierCurveTo(-80,30,80,26,122,-8);c.stroke();\n      c.fillStyle='rgba(255,255,230,.6)';for(var n=0;n<40;n++){var a=n*.31,rx=Math.cos(a)*(90+(n%3)*20),ry=40+Math.abs(Math.sin(a))*(30+(n%4)*6);c.beginPath();c.arc(rx*.9,ry*.9,1.6,0,6.283);c.fill();}\n      c.restore();\n      c.save();c.translate(300,350);c.rotate(.15);var p2=c.createLinearGradient(-60,-36,60,36);p2.addColorStop(0,'#cfcc8a');p2.addColorStop(1,'#9a9558');c.fillStyle=p2;\n      c.beginPath();c.moveTo(-62,0);c.bezierCurveTo(-56,-42,46,-46,62,-6);c.lineTo(80,-10);c.lineTo(62,6);c.bezierCurveTo(46,42,-56,40,-62,0);c.fill();\n      c.fillStyle='rgba(255,255,230,.55)';c.beginPath();c.ellipse(-16,-18,22,7,-.1,0,6.283);c.fill();c.restore();\n    },\n    function seeds(c){ \/\/ dried chickpeas: a heap of round beaked beige seeds, a few rolled away, beside a small mound of fine blond flour\n      var s=7;function R(){s=(s*16807)%2147483647;return s\/2147483647;}\n      function seed(x,y,r,a,c1,c2){c.save();c.translate(x,y);c.rotate(a);var gr=c.createRadialGradient(-r*.35,-r*.35,r*.1,0,0,r*1.1);gr.addColorStop(0,c1);gr.addColorStop(1,c2);c.fillStyle=gr;\n        c.beginPath();c.moveTo(r*1.25,-r*.15);c.bezierCurveTo(r*.9,-r*1.05,-r*.95,-r*1.05,-r,0);c.bezierCurveTo(-r*.95,r*1.02,r*.85,r*1.02,r*1.25,-r*.15);c.fill();\n        c.strokeStyle='rgba(150,110,62,.35)';c.lineWidth=r*.08;c.beginPath();c.moveTo(r*1.15,-r*.12);c.quadraticCurveTo(r*.2,r*.1,-r*.2,r*.8);c.stroke();c.restore();}\n      var f=c.createLinearGradient(0,240,0,372);f.addColorStop(0,'#f6e8c6');f.addColorStop(1,'#dcc08a');c.fillStyle=f;\n      c.beginPath();c.moveTo(232,372);c.bezierCurveTo(268,366,290,250,318,246);c.bezierCurveTo(346,250,366,362,392,372);c.closePath();c.fill();\n      var fc=['#fbf0d4','#e8d29e','#d9bc84'];for(var m=0;m<160;m++){var u=R()*2-1,h=Math.pow(1-u*u,1.5)*120,x=316+u*72,y=372-R()*h;c.fillStyle=fc[(R()*3)|0];c.beginPath();c.arc(x,y,1.4+R(),0,6.283);c.fill();}\n      var pts=[],cols=[['#f3dcac','#c9a066'],['#f6e2b6','#d2a86c'],['#eed3a0','#bf955a'],['#f8e8c4','#d8b67a']];\n      for(var n=0;n<130;n++){var u2=R()*2-1,h2=Math.pow(1-u2*u2,.9)*200,px=150+u2*126,py=372-R()*h2;pts.push([px,py]);}\n      pts.sort(function(a,b){return a[1]-b[1];});\n      pts.forEach(function(p){var cc=cols[(R()*4)|0];seed(p[0],p[1],15+R()*4,R()*6.28,cc[0],cc[1]);});\n      [[44,384,.4],[300,388,2.2],[352,384,-1]].forEach(function(p){seed(p[0],p[1],15,p[2],'#f3dcac','#c9a066');});\n    },\n    function mask(c){ \/\/ the mask: a terracotta bowl of smooth blond chickpea paste, a wooden spatula, rose petals and a few dried chickpeas\n      var b=c.createLinearGradient(40,0,360,0);b.addColorStop(0,'#9a4f2c');b.addColorStop(.45,'#d88a58');b.addColorStop(1,'#8a4426');c.fillStyle=b;\n      c.beginPath();c.moveTo(40,220);c.lineTo(360,220);c.bezierCurveTo(350,308,282,352,200,352);c.bezierCurveTo(118,352,50,308,40,220);c.fill();\n      rr(c,146,346,108,20,8,'#8a4426');\n      c.strokeStyle='#f0c9a2';c.lineWidth=4;c.beginPath();c.moveTo(58,254);c.bezierCurveTo(120,286,280,286,342,254);c.stroke();\n      c.fillStyle='#c27a4a';c.beginPath();c.ellipse(200,220,160,34,0,0,6.283);c.fill();\n      var p=c.createRadialGradient(170,210,10,200,222,150);p.addColorStop(0,'#f6e6bc');p.addColorStop(1,'#d8b67a');c.fillStyle=p;c.beginPath();c.ellipse(200,222,146,26,0,0,6.283);c.fill();\n      c.strokeStyle='rgba(255,250,232,.85)';c.lineWidth=4;c.lineCap='round';c.beginPath();c.ellipse(196,222,90,13,0,3.4,6);c.stroke();c.beginPath();c.ellipse(204,224,46,7,0,.2,2.6);c.stroke();\n      c.save();c.translate(286,150);c.rotate(.55);rr(c,-8,-104,16,118,8,'#c8a070');c.fillStyle='#b48a5c';c.beginPath();c.ellipse(0,24,24,34,0,0,6.283);c.fill();\n      c.fillStyle='#e8d29e';c.beginPath();c.ellipse(0,30,17,22,0,0,6.283);c.fill();c.restore();\n      function petal(x,y,a,col){c.save();c.translate(x,y);c.rotate(a);c.fillStyle=col;c.beginPath();c.moveTo(0,-16);c.bezierCurveTo(18,-14,18,12,0,16);c.bezierCurveTo(-8,8,-8,-8,0,-16);c.fill();c.restore();}\n      [[52,372,.4,'#e38aa2'],[84,386,-.6,'#d46a88'],[118,374,1.2,'#eda3b6'],[62,340,2.2,'#d46a88']].forEach(function(q){petal(q[0],q[1],q[2],q[3]);});\n      function seed(x,y,r,a){c.save();c.translate(x,y);c.rotate(a);var gr=c.createRadialGradient(-r*.35,-r*.35,r*.1,0,0,r*1.1);gr.addColorStop(0,'#f3dcac');gr.addColorStop(1,'#c9a066');c.fillStyle=gr;\n        c.beginPath();c.moveTo(r*1.25,-r*.15);c.bezierCurveTo(r*.9,-r*1.05,-r*.95,-r*1.05,-r,0);c.bezierCurveTo(-r*.95,r*1.02,r*.85,r*1.02,r*1.25,-r*.15);c.fill();c.restore();}\n      [[300,378,.3],[332,370,2],[318,392,-1],[352,388,1.1]].forEach(function(q){seed(q[0],q[1],13,q[2]);});\n    }\n  ];\n\n  var key=document.querySelector('.ip').getAttribute('data-shape')||'argan',SH=SHAPES[key]||SHAPES.argan;\n  function rng(a){return function(){a|=0;a=a+0x6D2B79F5|0;var t=Math.imul(a^a>>>15,1|a);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)\/4294967296;};}\n  var W,H,D,N,P=[],G=[];\n  function sample(fn,R){\n    var o=document.createElement('canvas');o.width=o.height=400;var c=o.getContext('2d');fn(c);\n    var d=c.getImageData(0,0,400,400).data,pts=[];\n    for(var y=0;y<400;y+=3)for(var x=0;x<400;x+=3){var i=(y*400+x)*4;if(d[i+3]>140)pts.push([x+R()*3-1.5,y+R()*3-1.5,d[i],d[i+1],d[i+2]]);}\n    for(var k=pts.length-1;k>0;k--){var j=Math.floor(R()*(k+1)),t=pts[k];pts[k]=pts[j];pts[j]=t;}\n    var out=[];for(var n=0;n<N;n++)out.push(pts[n%pts.length]);return out;\n  }\n  function build(){\n    var r=cv.getBoundingClientRect();W=r.width;H=r.height;D=Math.min(window.devicePixelRatio||1,2);cv.width=W*D;cv.height=H*D;ctx.setTransform(D,0,0,D,0,0);\n    var mob=W<700;N=mob?1500:2800;var R=rng(11);\n    var size=mob?Math.min(W*.86,H*.5):Math.min(H*.78,W*.44),ox=(mob?W*.5:W*.66)-size\/2,oy=(mob?H*.36:H*.5)-size\/2,k=size\/400;\n    G=SH.map(function(fn){return sample(fn,R).map(function(p){return [ox+p[0]*k,oy+p[1]*k,p[2],p[3],p[4]];});});\n    P=[];for(var i=0;i<N;i++)P.push({d:R()*.25,sw:(R()-.5)*2,ph:R()*6.28,s:(mob?1.2:1.35)+R()*1.1});\n  }\n  function ez(t){return t<.5?4*t*t*t:1-Math.pow(-2*t+2,3)\/2;}\n  function cl(v){return v<0?0:v>1?1:v;}\n  var prog=reduce?1:0,cur=prog,vis=true,t0=performance.now(),lastT=t0;\n  function measure(){var r=hero.getBoundingClientRect(),span=hero.offsetHeight-window.innerHeight;prog=reduce?1:cl(-r.top\/Math.max(span,1));}\n  function draw(now){\n    measure();var dt=Math.min(.1,(now-lastT)\/1000);lastT=now;cur+=(prog-cur)*(1-Math.exp(-dt*7));var f=cur*(G.length-1),seg=Math.min(G.length-2,Math.floor(f)),lt=f-seg,time=(now-t0)\/1000;\n    ctx.clearRect(0,0,W,H);\n    var A=G[seg],B=G[seg+1],m=Math.min(W,H);\n    for(var i=0;i<N;i++){\n      var q=P[i],t=ez(cl((lt-.28-q.d*.6)\/.44)),a=A[i],b=B[i],sw=Math.sin(t*Math.PI)*m*.09*q.sw;\n      var x=a[0]+(b[0]-a[0])*t,y=a[1]+(b[1]-a[1])*t,dx=b[1]-a[1],dy=a[0]-b[0],dl=Math.sqrt(dx*dx+dy*dy)||1;\n      x+=dx\/dl*sw+Math.sin(time*1.4+q.ph)*.9;y+=dy\/dl*sw+Math.cos(time*1.2+q.ph)*.9;\n      var r=a[2]+(b[2]-a[2])*t|0,g=a[3]+(b[3]-a[3])*t|0,bl=a[4]+(b[4]-a[4])*t|0;\n      ctx.fillStyle='rgb('+r+','+g+','+bl+')';ctx.beginPath();ctx.arc(x,y,q.s,0,6.283);ctx.fill();\n    }\n    var k=Math.min(G.length-1,Math.round(f));chs.forEach(function(c,i){c.classList.toggle('on',i===k);});\n    if(mark)mark.textContent='( '+L[k]+' )';if(bar)bar.style.transform='scaleX('+cur.toFixed(3)+')';\n    if(vis&&!reduce)requestAnimationFrame(draw);\n  }\n  build();measure();cur=prog;\n  window.addEventListener('scroll',measure,{passive:true});\n  var rt;window.addEventListener('resize',function(){clearTimeout(rt);rt=setTimeout(function(){chrome();build();measure();if(reduce)draw(performance.now());},150);});\n  if('IntersectionObserver' in window){new IntersectionObserver(function(es){es.forEach(function(e){var was=vis;vis=e.isIntersecting;if(vis&&!was&&!reduce)requestAnimationFrame(draw);});}).observe(hero);}\n  requestAnimationFrame(draw);\n})();\n<\/script>\n<\/div>\n<\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":3,"featured_media":53774,"parent":20322,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-58687","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/58687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/comments?post=58687"}],"version-history":[{"count":2,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/58687\/revisions"}],"predecessor-version":[{"id":58691,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/58687\/revisions\/58691"}],"up":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/20322"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/media\/53774"}],"wp:attachment":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/media?parent=58687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}