{"id":58698,"date":"2026-10-18T12:00:16","date_gmt":"2026-10-18T12:00:16","guid":{"rendered":"https:\/\/carmelcosmeticslabs.com\/?page_id=58698"},"modified":"2026-11-09T09:49:11","modified_gmt":"2026-11-09T09:49:11","slug":"dattelkernoel","status":"publish","type":"page","link":"https:\/\/carmelcosmeticslabs.com\/de\/glossar-kosmetische-inhaltsstoffe\/dattelkernoel\/","title":{"rendered":"Dattelkern\u00f6l"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"58698\" class=\"elementor elementor-58698 elementor-53797 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-accaf7a e-flex e-con-full e-con e-parent\" data-id=\"accaf7a\" data-element_type=\"container\" data-e-type=\"container\" id=\"cm-cat\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6ea9eeb elementor-widget elementor-widget-html\" data-id=\"6ea9eeb\" 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=\"de\"><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=\"datte\" style=\"--ing:#A86B2C;--ingt:#976028;--ing2:#E3C08A;--glow:168 107 44\">\n<section class=\"ip-hero\" aria-label=\"Dattelkern\u00f6l\"><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=\"Brotkrumennavigation\"><a href=\"https:\/\/carmelcosmeticslabs.com\/de\/startseite\/\">Startseite<\/a> \/ <a href=\"https:\/\/carmelcosmeticslabs.com\/de\/glossar-kosmetische-inhaltsstoffe\/\">Glossar<\/a> \/ <span aria-current=\"page\">Dattelkern\u00f6l<\/span><\/nav><\/div><div class=\"ip-tr\"><span><b>Pflanzen\u00f6l<\/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>Marokkanisches Erbe<\/span><\/div><div class=\"ip-chap\"><h1 class=\"ip-h1 ip-h1-long\">Dattelkern\u00f6l<\/h1><div class=\"ip-lines\"><p class=\"ip-ch on\"><b>Die Dattelpalme<\/b> <span class=\"ip-em\">wird vor allem in den Oasen von Dr\u00e2a-Tafilalet angebaut.<\/span><\/p><p class=\"ip-ch\"><b>Der Fruchtstand<\/b> <span class=\"ip-em\">B\u00fcschel von Datteln, die im Palmenhain gereift sind.<\/span><\/p><p class=\"ip-ch\"><b>Der Kern<\/b> <span class=\"ip-em\">der harte Samen der Dattel, der zur \u00d6lgewinnung gepresst wird.<\/span><\/p><p class=\"ip-ch\"><b>Das goldene \u00d6l<\/b> <span class=\"ip-em\">mit \u00d6l- und Laurins\u00e4ure, f\u00fcr Haare, K\u00f6rper und Gesicht.<\/span><\/p><\/div><\/div><span class=\"ip-mark\" aria-hidden=\"true\">( A )<\/span><div class=\"ip-bl\"><span class=\"ip-inci\">INCI \u00b7 PHOENIX DACTYLIFERA SEED OIL<\/span><a class=\"ip-hcta\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/kostenlose-beratung\/\">Kostenlose Beratung <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><span class=\"ip-scroll\" aria-hidden=\"true\"><i><\/i>Scrollen<\/span><\/div><\/div><div class=\"ip-prog\" aria-hidden=\"true\"><i><\/i><\/div><\/div><\/section>\n<section class=\"ip-id wrap\" aria-label=\"Steckbrief\"><dl><div><dt>INCI-Bezeichnung<\/dt><dd class=\"mono\">PHOENIX DACTYLIFERA SEED OIL<\/dd><\/div><div><dt>Weitere Namen<\/dt><dd>Dattel\u00f6l, Dattelkern\u00f6l, Dattelsamen\u00f6l<\/dd><\/div><div><dt>Familie<\/dt><dd>Pflanzen\u00f6l (Dattelpalme, Palmengew\u00e4chse)<\/dd><\/div><div><dt>Herkunft<\/dt><dd>Palmenhaine; in Marokko vor allem die Oasen von Dr\u00e2a-Tafilalet<\/dd><\/div><div><dt>Verwendeter Pflanzenteil<\/dt><dd>Kerne (Samen) der Datteln<\/dd><\/div><div><dt>Anwendungsbereiche<\/dt><dd>Haare, K\u00f6rper, Gesicht, Massage<\/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>Kurz erkl\u00e4rt<\/b><\/span><h2 id=\"ip-tl\">Dattelkern\u00f6l in 30 Sekunden<\/h2><p class=\"ip-by mono\">Vom F&amp;E-Team von Carmel Cosmetics Labs \u00b7 aktualisiert am 18. Oktober 2026<\/p><\/div><ul><li><b>INCI-Name<\/b><span>PHOENIX DACTYLIFERA SEED OIL (\u00d6l aus den Samen der Dattelpalme)<\/span><\/li><li><b>Was es ist<\/b><span>ein \u00d6l aus den Kernen, einem Nebenprodukt der Dattelverarbeitung<\/span><\/li><li><b>Zusammensetzung<\/b><span>ein \u00d6l mit \u00d6l- und Laurins\u00e4ure: \u00d6ls\u00e4ure \u00fcberwiegt, gefolgt von Laurins\u00e4ure<\/span><\/li><li><b>F\u00fcr die Rezeptur<\/b><span>laut CosIng-Datenbank mit antioxidativer Funktion<\/span><\/li><li><b>Herkunft<\/b><span>die Dattelpalme, die in Marokko vor allem in Dr\u00e2a-Tafilalet angebaut wird<\/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>WAS IST DAS?<\/span><h2 class=\"h2\" id=\"ip-a\">Was ist Dattelkern\u00f6l?<\/h2><p class=\"fc-answer\">Dattelkern\u00f6l ist das Pflanzen\u00f6l aus den Samen der Dattelpalme (Phoenix dactylifera). Diese Kerne machen je nach Sorte 10 bis 15 % des Fruchtgewichts aus und sind ein Nebenprodukt der Dattelverarbeitung. Analysen beschreiben es als \u00d6l mit \u00d6l- und Laurins\u00e4ure: \u00d6ls\u00e4ure \u00fcberwiegt, gefolgt von Laurins\u00e4ure. Es wird als PHOENIX DACTYLIFERA SEED OIL deklariert und in Haar\u00f6len, K\u00f6rper\u00f6len und reichhaltigen Pflegeprodukten eingesetzt.<\/p><h3 class=\"ip-h3\">Dattelkern\u00f6l oder Dattelkernpulver: der Unterschied<\/h3><div class=\"ip-vsg\"><div class=\"ip-vs on\"><b>Dattelkern\u00f6l<\/b><p>Das aus den Samen gewonnene \u00d6l wird als PHOENIX DACTYLIFERA SEED OIL deklariert. Wir verwenden es in unseren \u00d6len und Pflegeprodukten: ein Lipid, das Haut und Haar n\u00e4hrt und geschmeidig macht.<\/p><\/div><div class=\"ip-vs\"><b>Dattelkernpulver<\/b><p>Die getrockneten und gemahlenen Samen werden als PHOENIX DACTYLIFERA SEED POWDER deklariert. Die CosIng-Datenbank stuft das Pulver als Peelingstoff ein: Es dient als Peelingkorn, nicht als Lipid.<\/p><\/div><\/div><\/div><figure class=\"ip-photo\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huile-de-noyaux-de-datte-ingredient-cosmetique-carmel.webp\" width=\"1200\" height=\"1241\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huile-de-noyaux-de-datte-ingredient-cosmetique-carmel-441x456.webp 441w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huile-de-noyaux-de-datte-ingredient-cosmetique-carmel-768x794.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huile-de-noyaux-de-datte-ingredient-cosmetique-carmel-990x1024.webp 990w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huile-de-noyaux-de-datte-ingredient-cosmetique-carmel.webp 1200w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huile-de-noyaux-de-datte-ingredient-cosmetique-carmel.webp 1200w\" sizes=\"auto, (max-width:1020px) 92vw, 50vw\" alt=\"Datteln und Kerne neben einer Flasche mit goldenem Dattelkern\u00f6l auf einem Tablett aus Palmenmaterial\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><figcaption>Dattelkerne \u00b7 Dr\u00e2a-Tafilalet, Marokko<\/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>DIE VORTEILE<\/span><h2 class=\"h2\" id=\"ip-b\">Die Vorteile von Dattelkern\u00f6l f\u00fcr Haut und Haar<\/h2><div class=\"ip-ben\"><article class=\"ip-b\"><span class=\"mono\">01<\/span><h3>F\u00fcr die Haut<\/h3><p>Als K\u00f6rper\u00f6l, Massage\u00f6l oder Balsam n\u00e4hrt es trockene Haut und macht sie weich und geschmeidig, ohne Spannungsgef\u00fchl nach dem Duschen.<\/p><\/article><article class=\"ip-b\"><span class=\"mono\">02<\/span><h3>F\u00fcr die Haare<\/h3><p>Pur oder in einer Mischung wird es in den L\u00e4ngen und Spitzen verteilt, um sie zu n\u00e4hren und geschmeidig zu machen: als \u00d6lkur vor der Haarw\u00e4sche oder zum Abschluss der Haarpflege.<\/p><\/article><article class=\"ip-b\"><span class=\"mono\">03<\/span><h3>F\u00fcr die Rezeptur<\/h3><p>Studien beschreiben es als reich an \u00d6ls\u00e4ure und Laurins\u00e4ure, mit einem beachtlichen Gehalt an Tocopherolen und Tocotrienolen. Die CosIng-Datenbank weist ihm eine antioxidative Funktion zu: Es hilft, die Rezeptur vor Oxidation zu sch\u00fctzen.<\/p><\/article><\/div><div class=\"ip-use\"><h3 class=\"ip-h3\">Wie wird Dattelkern\u00f6l angewendet?<\/h3><ul><li><span class=\"mono\">Haare<\/span><p>Erw\u00e4rmen Sie einige Tropfen zwischen den Handfl\u00e4chen und verteilen Sie sie in den L\u00e4ngen und Spitzen: als \u00d6lkur vor der Haarw\u00e4sche oder zum Abschluss im trockenen Haar.<\/p><\/li><li><span class=\"mono\">K\u00f6rper<\/span><p>Massieren Sie es nach dem Duschen in die noch leicht feuchte Haut ein, pur oder als Massage\u00f6l, bis es eingezogen ist.<\/p><\/li><li><span class=\"mono\">Gesicht<\/span><p>Mischen Sie ein bis zwei Tropfen in Ihre Tagescreme oder verwenden Sie es in einem \u00d6lserum f\u00fcr trockene Haut, abends auf der gereinigten Haut.<\/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>IN UNSEREN PRODUKTEN<\/span><h2 class=\"h2\" id=\"ip-c\">Starten Sie Ihre Produktlinie mit Dattelkern\u00f6l<\/h2><\/div><p>Wir verwenden es in reinen Pflanzen\u00f6len, Haar\u00f6len sowie K\u00f6rper- und Massage\u00f6len, die Ihre Marke tragen k\u00f6nnen. W\u00e4hlen Sie eine Kategorie, um unsere Rezepturen zu entdecken.<\/p><\/div><div class=\"ip-pgrid\" data-n=\"3\"><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/white-label-kosmetik-katalog\/hersteller-arganoel-reinen-pflanzenoelen\/\"><img src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huiles-vegetales-marque-blanche-carmel-cosmetics-labs.webp\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Reine Pflanzen\u00f6le<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/white-label-kosmetik-katalog\/haaroele-white-label\/\"><img src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huiles-capillaires-marque-blanche-carmel-cosmetics-labs.webp\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Haar\u00f6le<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/white-label-kosmetik-katalog\/koerper-massageoele-white-label\/\"><img src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/huiles-corps-massage-marque-blanche-carmel-cosmetics-labs.webp\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>K\u00f6rper- und Massage\u00f6le<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>HINWEISE ZUR FORMULIERUNG<\/span><h2 class=\"h2\" id=\"ip-d\">So setzen wir den Inhaltsstoff ein<\/h2><p class=\"pk-ex-sub\" style=\"margin-top:14px\">Was unsere Rezepturentwickler ber\u00fccksichtigen, wenn Dattelkern\u00f6l in Ihrem Produkt zum Einsatz kommt.<\/p><p class=\"ip-pairs-h\">H\u00e4ufig kombiniert mit<\/p><div class=\"ip-pairs\" aria-label=\"H\u00e4ufig kombinierte Inhaltsstoffe\"><a class=\"ip-pair\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/glossar-kosmetische-inhaltsstoffe\/arganoel\/\" title=\"Das Duo aus S\u00fcdmarokko: Argan und Dattel erg\u00e4nzen sich in Haar- und K\u00f6rper\u00f6len.\"><i><\/i>Argan\u00f6l<\/a><span class=\"ip-pair\" title=\"Seine fl\u00fcssige Textur macht die Mischung leichter und erleichtert das Verteilen auf Haut und Haar.\"><i><\/i>Jojoba\u00f6l<\/span><span class=\"ip-pair\" title=\"Ein reichhaltiges, mildes \u00d6l, das die n\u00e4hrenden Eigenschaften von K\u00f6rper- und Massage\u00f6len verst\u00e4rkt.\"><i><\/i>Macadamia\u00f6l<\/span><span class=\"ip-pair\" title=\"Es ist sehr d\u00fcnnfl\u00fcssig und macht die Mischung f\u00fcr das Gesicht und feines Haar leichter.\"><i><\/i>Traubenkern\u00f6l<\/span><span class=\"ip-pair\" title=\"Eine milde, vielseitige Basis, die in Massage\u00f6len gesch\u00e4tzt wird.\"><i><\/i>S\u00fc\u00dfmandel\u00f6l<\/span><a class=\"ip-pair\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/glossar-kosmetische-inhaltsstoffe\/schwarzkuemmeloel-haare-haut\/\" title=\"Wenige Tropfen gen\u00fcgen, um die Mischung um ein traditionelles \u00d6l und eine w\u00fcrzige Note zu erg\u00e4nzen.\"><i><\/i>Schwarzk\u00fcmmel\u00f6l<\/a><\/div><\/div><ol class=\"ip-nl\"><li><span class=\"mono\">01<\/span><b>Ein \u00d6l mit technischem Datenblatt<\/b><p>Je nach Produkt w\u00e4hlen wir ein natives oder raffiniertes \u00d6l und pr\u00fcfen es anhand des technischen Datenblatts: Aussehen, Geruch, S\u00e4urezahl und Peroxidzahl.<\/p><\/li><li><span class=\"mono\">02<\/span><b>Schutz vor Oxidation<\/b><p>Um die Frische der Mischung zu bewahren, setzen wir bei Bedarf Vitamin E zu und w\u00e4hlen eine Flasche, die vor Licht sch\u00fctzt.<\/p><\/li><li><span class=\"mono\">03<\/span><b>Die richtige INCI-Bezeichnung<\/b><p>In der INCI-Liste steht PHOENIX DACTYLIFERA SEED OIL f\u00fcr Dattelkern\u00f6l. Es darf nicht mit dem Fruchtextrakt oder Dattelkernpulver verwechselt werden.<\/p><\/li><li><span class=\"mono\">04<\/span><b>Ein Nebenprodukt mit Herkunftsnachweis<\/b><p>Das \u00d6l wird aus dem Kern gewonnen und nutzt damit einen oft unbeachteten Teil der Dattel. Das bietet einen Ansatz f\u00fcr Ihre Produktgeschichte, sofern die Lieferkette gemeinsam mit dem Lieferanten dokumentiert wird.<\/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>Wussten Sie schon?<\/b><\/span><h2 id=\"ip-kn\">Die Dattel, Frucht der marokkanischen Oasen<\/h2><\/div><ol><li><b>Dr\u00e2a-Tafilalet<\/b><p>Laut FAO entfallen drei Viertel der marokkanischen Dattelproduktion auf die Region Dr\u00e2a-Tafilalet.<\/p><\/li><li><b>10 bis 15 %<\/b><p>Der Kern macht je nach Sorte 10 bis 15 % des Dattelgewichts aus.<\/p><\/li><li><b>Erfoud<\/b><p>In Erfoud findet die internationale Dattelmesse SIDATTES statt, die 2025 zum 14. Mal ausgerichtet wurde.<\/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\">Dattelkern\u00f6l: Ihre Fragen<\/h2><div class=\"faq-help\"><b>Planen Sie ein Produkt mit diesem Inhaltsstoff?<\/b><span>Unser Produktspezialist antwortet Ihnen auf 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>Auf WhatsApp schreiben<\/a><\/div><\/div><div><details class=\"qa\" open><summary><h3>Was ist Dattelkern\u00f6l?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Es ist das aus den Samen der Dattelpalme gewonnene \u00d6l, deklariert als PHOENIX DACTYLIFERA SEED OIL. Die Kerne machen 10 bis 15 % des Dattelgewichts aus. Ihr \u00d6l macht dieses Nebenprodukt nutzbar. In der Kosmetik wird es in Haar\u00f6len, K\u00f6rper\u00f6len und n\u00e4hrenden Pflegeprodukten eingesetzt.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>Welche Vorteile bietet Dattel\u00f6l?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Mit seinem hohen \u00d6ls\u00e4uregehalt pflegt es trockene Haut und Haarl\u00e4ngen und macht sie geschmeidig. Die CosIng-Datenbank f\u00fchrt auch eine antioxidative Funktion auf, die zum Schutz der Rezeptur beitr\u00e4gt. Es eignet sich f\u00fcr K\u00f6rper\u00f6le, Massage\u00f6le und Haarpflege vor oder nach der Haarw\u00e4sche.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>Wie wird Dattelkern\u00f6l im Haar angewendet?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Erw\u00e4rmen Sie einige Tropfen zwischen den Handfl\u00e4chen und verteilen Sie sie anschlie\u00dfend in den L\u00e4ngen und Spitzen. Als \u00d6lkur lassen Sie es vor der Haarw\u00e4sche einwirken. Zum Abschluss der Pflege gen\u00fcgt eine kleine Menge im trockenen Haar. Sparen Sie den Ansatz aus, wenn Ihr Haar schnell nachfettet.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>Wie setzt sich Dattelkern\u00f6l zusammen?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Ver\u00f6ffentlichte Analysen beschreiben es als \u00d6l mit einem hohen Anteil an \u00d6l- und Laurins\u00e4ure: \u00d6ls\u00e4ure \u00fcberwiegt mit etwa 40 bis 50 %, gefolgt von Laurins\u00e4ure sowie Myristin-, Linol- und Palmitins\u00e4ure. Die Werte variieren je nach Dattelsorte und Extraktionsverfahren.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>Sind Dattel\u00f6l und Dattelkern\u00f6l dasselbe?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Im allgemeinen Sprachgebrauch ja: \u201eDattel\u00f6l\u201c bezeichnet meist das aus den Kernen gewonnene \u00d6l. Der INCI-Name schafft Klarheit: PHOENIX DACTYLIFERA SEED OIL bezeichnet das \u00d6l aus den Samen, w\u00e4hrend Fruchtextrakt und Kernpulver andere Namen tragen.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>Kann ich mit Carmel Cosmetics Labs eine Produktlinie mit Dattelkern\u00f6l entwickeln?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Ja. Wir verwenden es in reinen Pflanzen\u00f6len, Haar\u00f6len sowie K\u00f6rper- und Massage\u00f6len als White Label oder in einer exklusiven Private-Label-Rezeptur, hergestellt in unserem Werk nach ISO 22716 in A\u00eft Melloul, Marokko. Wir begleiten Sie von der Rezepturauswahl bis zur Abf\u00fcllung unter Ihrer Marke.<\/p><\/div><\/details><\/div><\/div><\/section>\n<section class=\"wrap ip-src\" aria-labelledby=\"ip-sr\"><h2 id=\"ip-sr\" class=\"mono\">Quellen<\/h2><ol><li><a href=\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/99961\" target=\"_blank\" rel=\"noopener\">Europ\u00e4ische Kommission, CosIng-Datenbank: PHOENIX DACTYLIFERA SEED OIL (\u00d6l aus den Samen der Dattelpalme)<\/a><\/li><li><a href=\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/103446\" target=\"_blank\" rel=\"noopener\">Europ\u00e4ische Kommission, CosIng-Datenbank: PHOENIX DACTYLIFERA SEED POWDER (Dattelkernpulver)<\/a><\/li><li><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC10564903\/\" target=\"_blank\" rel=\"noopener\">Alkhalidy H. et al., Date (Phoenix dactylifera L.) seed oil is an agro-industrial waste with biopreservative effects and antimicrobial activity, Scientific Reports 13 (2023)<\/a><\/li><li><a href=\"https:\/\/www.fao.org\/maroc\/news\/detail\/the-date-palm-in-morocco--economic-pillar-of-oases-and-lever-for-sustainable-development\/en\" target=\"_blank\" rel=\"noopener\">FAO Marokko, The Date Palm in Morocco: Economic Pillar of Oases and Lever for Sustainable Development (2025)<\/a><\/li><\/ol><\/section>\n<section style=\"padding-bottom:clamp(40px,6vw,80px)\"><div class=\"wrap\"><div class=\"final\"><div><h2>Ihre Produktlinie mit Dattelkern\u00f6l, hergestellt in Marokko<\/h2><p>Senden Sie uns Ihr Briefing: Wir entwickeln und f\u00fcllen Ihre Dattelkern\u00f6le in unserem Werk nach ISO 22716 in A\u00eft Melloul ab. Kostenlose Beratung und unverbindliche Rezepturauswahl.<\/p><\/div><div class=\"actions\"><a class=\"btn\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/kostenlose-beratung\/\">Kostenlose Beratung <span class=\"knob\"><svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"btn btn-wa\" href=\"https:\/\/carmelcosmeticslabs.com\/de\/white-label-kosmetik-katalog\/\"><span>Katalog ansehen<\/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\/date-seed-oil\/#term\", \"name\": \"Dattelkern\u00f6l\", \"alternateName\": \"PHOENIX DACTYLIFERA SEED OIL\", \"termCode\": \"PHOENIX DACTYLIFERA SEED OIL\", \"description\": \"Dattelkern\u00f6l ist das Pflanzen\u00f6l aus den Samen der Dattelpalme (Phoenix dactylifera). Diese Kerne machen je nach Sorte 10 bis 15 % des Fruchtgewichts aus und sind ein Nebenprodukt der Dattelverarbeitung. Analysen beschreiben es als \u00d6l mit einem hohen Anteil an \u00d6l- und Laurins\u00e4ure: \u00d6ls\u00e4ure \u00fcberwiegt, gefolgt von Laurins\u00e4ure. Es wird als PHOENIX DACTYLIFERA SEED OIL deklariert und in Haar\u00f6len, K\u00f6rper\u00f6len und n\u00e4hrenden Pflegeprodukten eingesetzt.\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/date-seed-oil\/\", \"inDefinedTermSet\": \"https:\/\/carmelcosmeticslabs.com\/de\/glossar-kosmetische-inhaltsstoffe\/#glossaire\"}, {\"@type\": \"WebPage\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/date-seed-oil\/\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/date-seed-oil\/\", \"name\": \"Dattelkern\u00f6l: Vorteile und Anwendung | Carmel\", \"description\": \"Dattelkern\u00f6l (PHOENIX DACTYLIFERA SEED OIL): \u00d6l- und Laurins\u00e4ure, Vorteile f\u00fcr Haut und Haar, Anwendung und Formulierung in Marokko.\", \"inLanguage\": \"de\", \"dateModified\": \"2026-10-18\", \"isPartOf\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/de\/startseite\/#website\"}, \"about\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/en\/glossary-cosmetic-ingredients\/date-seed-oil\/#term\"}, \"author\": {\"@type\": \"Organization\", \"name\": \"F&E-Team von Carmel Cosmetics Labs\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/de\/rezepturentwicklung-kosmetiklabor\/\"}, \"publisher\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/de\/startseite\/#organization\"}, \"citation\": [\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/99961\", \"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/103446\", \"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC10564903\/\", \"https:\/\/www.fao.org\/maroc\/news\/detail\/the-date-palm-in-morocco--economic-pillar-of-oases-and-lever-for-sustainable-development\/en\"]}, {\"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Was ist Dattelkern\u00f6l?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Es ist das aus den Samen der Dattelpalme gewonnene \u00d6l, deklariert als PHOENIX DACTYLIFERA SEED OIL. Die Kerne machen 10 bis 15 % des Dattelgewichts aus. Ihr \u00d6l macht dieses Nebenprodukt nutzbar. In der Kosmetik wird es in Haar\u00f6len, K\u00f6rper\u00f6len und n\u00e4hrenden Pflegeprodukten eingesetzt.\"}}, {\"@type\": \"Question\", \"name\": \"Welche Vorteile bietet Dattel\u00f6l?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Mit seinem hohen \u00d6ls\u00e4uregehalt pflegt es trockene Haut und Haarl\u00e4ngen und macht sie geschmeidig. Die CosIng-Datenbank f\u00fchrt auch eine antioxidative Funktion auf, die zum Schutz der Rezeptur beitr\u00e4gt. Es eignet sich f\u00fcr K\u00f6rper\u00f6le, Massage\u00f6le und Haarpflege vor oder nach der Haarw\u00e4sche.\"}}, {\"@type\": \"Question\", \"name\": \"Wie wird Dattelkern\u00f6l im Haar angewendet?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Erw\u00e4rmen Sie einige Tropfen zwischen den Handfl\u00e4chen und verteilen Sie sie anschlie\u00dfend in den L\u00e4ngen und Spitzen. Als \u00d6lkur lassen Sie es vor der Haarw\u00e4sche einwirken. Zum Abschluss der Pflege gen\u00fcgt eine kleine Menge im trockenen Haar. Sparen Sie den Ansatz aus, wenn Ihr Haar schnell nachfettet.\"}}, {\"@type\": \"Question\", \"name\": \"Wie setzt sich Dattelkern\u00f6l zusammen?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Ver\u00f6ffentlichte Analysen beschreiben es als \u00d6l mit einem hohen Anteil an \u00d6l- und Laurins\u00e4ure: \u00d6ls\u00e4ure \u00fcberwiegt mit etwa 40 bis 50 %, gefolgt von Laurins\u00e4ure sowie Myristin-, Linol- und Palmitins\u00e4ure. Die Werte variieren je nach Dattelsorte und Extraktionsverfahren.\"}}, {\"@type\": \"Question\", \"name\": \"Sind Dattel\u00f6l und Dattelkern\u00f6l dasselbe?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Im allgemeinen Sprachgebrauch ja: \u201eDattel\u00f6l\u201c bezeichnet meist das aus den Kernen gewonnene \u00d6l. Der INCI-Name schafft Klarheit: PHOENIX DACTYLIFERA SEED OIL bezeichnet das \u00d6l aus den Samen, w\u00e4hrend Fruchtextrakt und Kernpulver andere Namen tragen.\"}}, {\"@type\": \"Question\", \"name\": \"Kann ich mit Carmel Cosmetics Labs eine Produktlinie mit Dattelkern\u00f6l entwickeln?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Ja. Wir verwenden es in reinen Pflanzen\u00f6len, Haar\u00f6len sowie K\u00f6rper- und Massage\u00f6len als White Label oder in einer exklusiven Private-Label-Rezeptur, hergestellt in unserem Werk nach ISO 22716 in A\u00eft Melloul, Marokko. Wir begleiten Sie von der Rezepturauswahl bis zur Abf\u00fcllung unter Ihrer Marke.\"}}]}]}<\/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.datte=[\n    function palm(c){ \/\/ date palm: tall slender trunk patterned with old leaf bases, a crown of arching pinnate fronds, amber date clusters hanging below, on oasis sand\n      var s=29;function R(){s=(s*16807)%2147483647;return s\/2147483647;}\n      var gr=c.createLinearGradient(0,350,0,394);gr.addColorStop(0,'#e0bf88');gr.addColorStop(1,'#c49a5e');c.fillStyle=gr;\n      c.beginPath();c.moveTo(30,394);c.lineTo(30,370);c.bezierCurveTo(120,354,280,354,370,370);c.lineTo(370,394);c.closePath();c.fill();\n      var t=c.createLinearGradient(180,0,232,0);t.addColorStop(0,'#6e5034');t.addColorStop(.5,'#a07a52');t.addColorStop(1,'#6a4c30');c.fillStyle=t;\n      c.beginPath();c.moveTo(186,374);c.bezierCurveTo(190,300,196,230,196,176);c.lineTo(216,176);c.bezierCurveTo(218,220,224,300,232,374);c.closePath();c.fill();\n      c.strokeStyle='#5a3e26';c.lineWidth=2.5;for(var y=186;y<370;y+=14){var hw=10+(y-176)*.04;c.beginPath();c.moveTo(206-hw,y);c.lineTo(206,y+8);c.lineTo(206+hw,y);c.stroke();}\n      var g=['#4f6b34','#6b8a40','#3e5a2a','#5c7a38'];\n      var fr=[-2.95,-2.6,-2.25,-1.95,-1.7,-1.45,-1.2,-.9,-.55,-.2,2.8,.35];\n      fr.forEach(function(a,k){var up=Math.abs(Math.cos(a))<.5,L=(up?118:150)+R()*20,cx=206,cy=176,ex=cx+Math.cos(a)*L,ey=cy+Math.sin(a)*L+(Math.abs(Math.cos(a))*70),mx=cx+Math.cos(a)*L*.55,my=cy+Math.sin(a)*L*.55-10;\n        c.strokeStyle='#6b7a3a';c.lineWidth=4;c.beginPath();c.moveTo(cx,cy);c.quadraticCurveTo(mx,my,ex,ey);c.stroke();\n        for(var i=2;i<=26;i++){var u=i\/26,px=(1-u)*(1-u)*cx+2*(1-u)*u*mx+u*u*ex,py=(1-u)*(1-u)*cy+2*(1-u)*u*my+u*u*ey,tx=2*(1-u)*(mx-cx)+2*u*(ex-mx),ty=2*(1-u)*(my-cy)+2*u*(ey-my),ta=Math.atan2(ty,tx),ln=34*(1-u*.55);\n          leaf(c,px,py,ln,4,ta+.9,g[(k+i)%4]);leaf(c,px,py,ln,4,ta-.9,g[(k+i+1)%4]);}\n      });\n      c.fillStyle='#8a6a3a';c.beginPath();c.ellipse(206,178,20,12,0,0,6.283);c.fill();\n      function bunch(x,y,dir){c.strokeStyle='#d29a3a';c.lineWidth=5;c.beginPath();c.moveTo(206,184);c.quadraticCurveTo(206+dir*20,196,x,y);c.stroke();\n        var d=['#c8782a','#a8561e','#e09a3e','#8a4a1e'];for(var n=0;n<34;n++){var u=R(),v=(R()-.5)*(10+u*36);c.fillStyle=d[(R()*4)|0];c.beginPath();c.ellipse(x+dir*v*.4+v,y+u*64,6,9,0,0,6.283);c.fill();}}\n      bunch(170,210,-1);bunch(244,208,1);\n    },\n    function bunch(c){ \/\/ a hanging bunch of dates: golden fruit stalk, fanning strands, glossy amber-to-brown oblong dates, a frond tip above\n      var s=11;function R(){s=(s*16807)%2147483647;return s\/2147483647;}\n      for(var i=0;i<16;i++){leaf(c,30+i*11,40+i*4,70,7,-.6+i*.02,i%2?'#4f6b34':'#6b8a40');}\n      c.strokeStyle='#6b7a3a';c.lineWidth=5;c.beginPath();c.moveTo(20,36);c.quadraticCurveTo(120,50,220,110);c.stroke();\n      c.strokeStyle='#d29a3a';c.lineWidth=16;c.lineCap='round';c.beginPath();c.moveTo(300,20);c.quadraticCurveTo(250,60,214,112);c.stroke();\n      var tops=[];for(var k=0;k<22;k++){var a=Math.PI\/2+(k-10.5)*.075,L=190+R()*60;tops.push([214,112,214+Math.cos(a)*L,112+Math.sin(a)*L]);}\n      c.strokeStyle='#c8963e';c.lineWidth=3;tops.forEach(function(t){c.beginPath();c.moveTo(t[0],t[1]);c.quadraticCurveTo(t[0]+(t[2]-t[0])*.3,t[1]+40,t[2],t[3]);c.stroke();});\n      var d=[['#d48a34','#8a4a1e'],['#b8642a','#6e3414'],['#9a4e20','#5a2a10'],['#e0a04a','#a0581e']];\n      tops.forEach(function(t,k){for(var j=0;j<9;j++){var u=.3+j*.085+R()*.03,x=t[0]+(t[2]-t[0])*u+(R()-.5)*8,y=t[1]+(t[3]-t[1])*u+20*(1-u),cc=d[(k+j)%4];\n        var gr=c.createRadialGradient(x-3,y-5,1,x,y,13);gr.addColorStop(0,cc[0]);gr.addColorStop(1,cc[1]);c.fillStyle=gr;c.beginPath();c.ellipse(x,y,8.5,13,(R()-.5)*.6,0,6.283);c.fill();\n        c.fillStyle='rgba(255,236,200,.75)';c.beginPath();c.ellipse(x-3,y-5,1.8,3.5,0,0,6.283);c.fill();}});\n    },\n    function stones(c){ \/\/ whole glossy dates, one opened to show its amber flesh and the hard pit, loose grooved date stones in front\n      function date(x,y,a,s){c.save();c.translate(x,y);c.rotate(a);var gr=c.createRadialGradient(-10*s,-20*s,3,0,0,60*s);gr.addColorStop(0,'#c47a34');gr.addColorStop(.6,'#7a3a16');gr.addColorStop(1,'#4a200c');c.fillStyle=gr;\n        c.beginPath();c.ellipse(0,0,30*s,52*s,0,0,6.283);c.fill();c.strokeStyle='rgba(60,24,8,.6)';c.lineWidth=2.5;[[-14,-20,10,-6],[8,-30,18,-10],[-6,10,12,24],[-20,24,-6,38]].forEach(function(w){c.beginPath();c.moveTo(w[0]*s,w[1]*s);c.quadraticCurveTo((w[0]+w[2])\/2*s+6,(w[1]+w[3])\/2*s,w[2]*s,w[3]*s);c.stroke();});\n        c.fillStyle='rgba(255,226,180,.8)';c.beginPath();c.ellipse(-12*s,-24*s,5*s,12*s,-.3,0,6.283);c.fill();c.fillStyle='#d8b070';c.beginPath();c.ellipse(0,-50*s,9*s,5*s,0,0,6.283);c.fill();c.restore();}\n      function pit(x,y,a,s){c.save();c.translate(x,y);c.rotate(a);var gr=c.createLinearGradient(-12*s,0,12*s,0);gr.addColorStop(0,'#a88a62');gr.addColorStop(.5,'#d9c29a');gr.addColorStop(1,'#9c7e56');c.fillStyle=gr;\n        c.beginPath();c.ellipse(0,0,11*s,30*s,0,0,6.283);c.fill();c.strokeStyle='#7a5e3c';c.lineWidth=2.5*s;c.beginPath();c.moveTo(0,-24*s);c.lineTo(0,24*s);c.stroke();c.restore();}\n      date(92,178,-1.15,1.2);date(150,112,-.62,1.3);date(330,104,.5,1);\n      c.save();c.translate(250,238);c.rotate(-.55);\n      var o=c.createRadialGradient(-30,-10,4,0,0,90);o.addColorStop(0,'#9a5424');o.addColorStop(1,'#4a200c');c.fillStyle=o;c.beginPath();c.ellipse(0,0,104,52,0,0,6.283);c.fill();\n      var f=c.createRadialGradient(-10,-6,4,0,0,80);f.addColorStop(0,'#e8b46a');f.addColorStop(.7,'#c47a34');f.addColorStop(1,'#9a5424');c.fillStyle=f;c.beginPath();c.ellipse(0,0,90,40,0,0,6.283);c.fill();\n      c.restore();pit(250,238,Math.PI\/2-.55,1.6);\n      pit(66,330,.9,1);pit(112,356,-.4,1);pit(160,372,1.3,1);pit(250,368,-.9,1);pit(312,350,1.6,1);pit(350,370,.3,1);\n    },\n    function oil(c){ \/\/ a drop of golden date seed oil on its ripple, two date stones and a whole date beside it\n      var gr=c.createLinearGradient(110,40,290,330);gr.addColorStop(0,'#f6d68a');gr.addColorStop(.55,'#d49a44');gr.addColorStop(1,'#9a6424');c.fillStyle=gr;\n      c.beginPath();c.moveTo(200,36);c.bezierCurveTo(232,108,292,168,292,236);c.bezierCurveTo(292,290,250,330,200,330);c.bezierCurveTo(150,330,108,290,108,236);c.bezierCurveTo(108,168,168,108,200,36);c.fill();\n      c.fillStyle='rgba(255,250,226,.95)';c.beginPath();c.ellipse(160,222,14,36,.28,0,6.283);c.fill();\n      c.fillStyle='rgba(255,250,226,.5)';c.beginPath();c.ellipse(238,286,22,8,-.5,0,6.283);c.fill();\n      c.strokeStyle='#d49a44';c.lineWidth=5;[[110,22],[150,30],[188,38]].forEach(function(r,i){c.globalAlpha=1-i*.25;c.beginPath();c.ellipse(200,370,r[0],r[1]*.5,0,0,6.283);c.stroke();});c.globalAlpha=1;\n      [[70,330,1.1],[100,346,.6]].forEach(function(p){c.save();c.translate(p[0],p[1]);c.rotate(p[2]);var g2=c.createLinearGradient(-10,0,10,0);g2.addColorStop(0,'#a88a62');g2.addColorStop(.5,'#d9c29a');g2.addColorStop(1,'#9c7e56');c.fillStyle=g2;c.beginPath();c.ellipse(0,0,9,24,0,0,6.283);c.fill();c.strokeStyle='#7a5e3c';c.lineWidth=2;c.beginPath();c.moveTo(0,-19);c.lineTo(0,19);c.stroke();c.restore();});\n      c.save();c.translate(322,326);c.rotate(.7);var d=c.createRadialGradient(-6,-12,2,0,0,36);d.addColorStop(0,'#c47a34');d.addColorStop(1,'#4a200c');c.fillStyle=d;c.beginPath();c.ellipse(0,0,18,32,0,0,6.283);c.fill();\n      c.fillStyle='rgba(255,226,180,.8)';c.beginPath();c.ellipse(-7,-14,3,7,-.3,0,6.283);c.fill();c.restore();\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":53754,"parent":20248,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-58698","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/pages\/58698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/comments?post=58698"}],"version-history":[{"count":2,"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/pages\/58698\/revisions"}],"predecessor-version":[{"id":58702,"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/pages\/58698\/revisions\/58702"}],"up":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/pages\/20248"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/media\/53754"}],"wp:attachment":[{"href":"https:\/\/carmelcosmeticslabs.com\/de\/wp-json\/wp\/v2\/media?parent=58698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}