{"id":49635,"date":"2026-10-03T19:13:30","date_gmt":"2026-10-03T19:13:30","guid":{"rendered":"https:\/\/carmelcosmeticslabs.com\/?page_id=49635"},"modified":"2026-10-08T10:39:35","modified_gmt":"2026-10-08T10:39:35","slug":"agua-de-azahar","status":"publish","type":"page","link":"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/agua-de-azahar\/","title":{"rendered":"Agua de azahar"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"49635\" class=\"elementor elementor-49635 elementor-45651 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-86bbd42 e-flex e-con-full e-con e-parent\" data-id=\"86bbd42\" data-element_type=\"container\" data-e-type=\"container\" id=\"cm-cat\">\n\t\t\t\t<div class=\"elementor-element elementor-element-250a798 elementor-widget elementor-widget-html\" data-id=\"250a798\" 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 .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 .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 .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 .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 .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>\n<div class=\"cm-cat\"><div lang=\"es\"><svg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\"><symbol id=\"i-arrow\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/symbol><symbol id=\"i-chat\" viewBox=\"0 0 24 24\"><path d=\"M4 19.5l1.2-3.6A8 8 0 1 1 8.3 19z\"\/><path d=\"M9 10.5h6M9 13.5h4\"\/><\/symbol><\/svg>\n<div class=\"ip\" data-shape=\"oranger\" style=\"--ing:#d9822b;--ing2:#f6c27a;--glow:240 170 90\">\n<section class=\"ip-hero\" aria-label=\"Agua de azahar\">\n  <div class=\"ip-stage\">\n    <canvas class=\"ip-canvas\" aria-hidden=\"true\"><\/canvas>\n    <div class=\"ip-ui\">\n      <div class=\"ip-tl\"><nav class=\"ip-crumbs\" aria-label=\"Ruta de navegaci\u00f3n\"><a href=\"https:\/\/carmelcosmeticslabs.com\/es\/inicio\/\">Inicio<\/a> \/ <a href=\"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/\">Glosario<\/a> \/ <span aria-current=\"page\">Agua de azahar<\/span><\/nav><\/div>\n      <div class=\"ip-tr\"><span><b>Hidrolato<\/b><\/span><span class=\"ip-ma\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M12.00 3.60 L17.29 19.88 L3.44 9.82 L20.56 9.82 L6.71 19.88 Z\" fill=\"none\" stroke=\"#fff\" stroke-width=\"4.2\" stroke-linejoin=\"round\"\/><path d=\"M12.00 3.60 L17.29 19.88 L3.44 9.82 L20.56 9.82 L6.71 19.88 Z\" fill=\"none\" stroke=\"#006233\" stroke-width=\"2\" stroke-linejoin=\"round\"\/><\/svg>Herencia marroqu\u00ed<\/span><\/div>\n      <div class=\"ip-chap\"><h1 class=\"ip-h1\">Agua de azahar<\/h1><div class=\"ip-lines\"><p class=\"ip-ch on\"><b>El naranjo amargo<\/b> <span class=\"ip-em\">el \u00e1rbol del azahar, en flor en primavera.<\/span><\/p><p class=\"ip-ch\"><b>La flor de azahar<\/b> <span class=\"ip-em\">blanca, cerosa, con perfume a miel.<\/span><\/p><p class=\"ip-ch\"><b>El alambique<\/b> <span class=\"ip-em\">las flores destiladas con vapor de agua.<\/span><\/p><p class=\"ip-ch\"><b>El agua floral<\/b> <span class=\"ip-em\">l\u00edmpida, suave, apenas perfumada.<\/span><\/p><\/div><\/div>\n      <span class=\"ip-mark\" aria-hidden=\"true\">( A )<\/span>\n      <div class=\"ip-bl\"><span class=\"ip-inci\">INCI \u00b7 CITRUS AURANTIUM AMARA FLOWER WATER<\/span><a class=\"ip-hcta\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/presupuesto-fabricacion-cosmeticos\/\">Consulta gratuita <svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/a><span class=\"ip-scroll\" aria-hidden=\"true\"><i><\/i>Desplazar<\/span><\/div>\n    <\/div>\n    <div class=\"ip-prog\" aria-hidden=\"true\"><i><\/i><\/div>\n  <\/div>\n<\/section>\n<section class=\"ip-id wrap\" aria-label=\"Ficha de identidad\"><dl><div><dt>Nombre INCI<\/dt><dd class=\"mono\">CITRUS AURANTIUM AMARA FLOWER WATER<\/dd><\/div><div><dt>Otros nombres<\/dt><dd>Hidrolato de azahar, hidrolato de neroli, zhar<\/dd><\/div><div><dt>Familia<\/dt><dd>Hidrolato (agua floral)<\/dd><\/div><div><dt>Parte utilizada<\/dt><dd>Flores del naranjo amargo, destiladas con vapor de agua<\/dd><\/div><div><dt>Grados<\/dt><dd>Convencional y ecol\u00f3gico (materia prima certificada)<\/dd><\/div><div><dt>Zonas<\/dt><dd>Rostro, cuerpo, cabello, higiene \u00edntima<\/dd><\/div><\/dl><\/section>\n<section class=\"wrap ip-tldr\" aria-labelledby=\"ip-tl\"><div class=\"ip-tldr-box\"><div><span class=\"ip-k\"><b>En resumen<\/b><\/span><h2 id=\"ip-tl\">El agua de azahar en 30 segundos<\/h2><p class=\"ip-by mono\">Por el equipo de I+D de Carmel Cosmetics Labs \u00b7 actualizado el 2 de octubre de 2026<\/p><\/div><ul><li><b>Nombre INCI<\/b><span>CITRUS AURANTIUM AMARA FLOWER WATER<\/span><\/li><li><b>Qu\u00e9 es<\/b><span>el hidrolato que se obtiene al destilar las flores del naranjo amargo<\/span><\/li><li><b>Para la piel<\/b><span>tonifica, refresca y perfuma delicadamente el rostro<\/span><\/li><li><b>No confundir<\/b><span>el neroli es el aceite esencial de esas mismas flores, el petitgrain el de las hojas<\/span><\/li><li><b>Cosm\u00e9tica o cocina<\/b><span>para un cuidado, un grado cosm\u00e9tico controlado y conservado, no la botella de reposter\u00eda<\/span><\/li><\/ul><\/div><\/section>\n<section class=\"ip-sec\" aria-labelledby=\"ip-a\">\n  <div class=\"wrap ip-what\">\n    <div>\n      <span class=\"ip-k\"><b>( A )<\/b>QU\u00c9 ES<\/span>\n      <h2 class=\"h2\" id=\"ip-a\">\u00bfQu\u00e9 es el agua de azahar?<\/h2>\n      <p class=\"fc-answer\">El agua de azahar es un hidrolato: el agua arom\u00e1tica que se recoge durante la destilaci\u00f3n por vapor de las flores del naranjo amargo (Citrus aurantium var. amara), al mismo tiempo que el aceite esencial de neroli. Solo contiene trazas de compuestos arom\u00e1ticos disueltos, sobre todo linalol y alfa-terpineol. En cosm\u00e9tica se utiliza para tonificar, refrescar y perfumar delicadamente la piel.<\/p>\n      <h3 class=\"ip-h3\">Agua de azahar, neroli o petitgrain: la diferencia<\/h3><div class=\"ip-vsg ip-vsg3\"><div class=\"ip-vs on\"><b>Agua de azahar<\/b><p>El hidrolato de las flores del naranjo amargo, recogido durante la destilaci\u00f3n. Suave, se utiliza pura sobre la piel. INCI: CITRUS AURANTIUM AMARA FLOWER WATER. Es la que usamos en nuestros cuidados.<\/p><\/div><div class=\"ip-vs\"><b>Neroli<\/b><p>El aceite esencial destilado de esas mismas flores, que flota sobre el agua floral. Muy concentrado y escaso, se dosifica en gotas, nunca puro. INCI: CITRUS AURANTIUM AMARA FLOWER OIL.<\/p><\/div><div class=\"ip-vs\"><b>Petitgrain bigarade<\/b><p>El aceite esencial de las hojas y ramitas del naranjo amargo, con notas m\u00e1s verdes. INCI: CITRUS AURANTIUM AMARA LEAF\/TWIG OIL.<\/p><\/div><\/div>\n    <\/div>\n    <figure class=\"ip-photo\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/eau-de-fleur-d-oranger-cosmetique-carmel-768x429.webp\" width=\"1100\" height=\"614\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/eau-de-fleur-d-oranger-cosmetique-carmel-300x167.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/eau-de-fleur-d-oranger-cosmetique-carmel-768x429.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/eau-de-fleur-d-oranger-cosmetique-carmel-1024x572.webp 1024w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/eau-de-fleur-d-oranger-cosmetique-carmel.webp 1100w\" sizes=\"auto, (max-width:1020px) 92vw, 50vw\" alt=\"Agua de azahar vertida desde un frasco de vidrio, flores frescas de naranjo amargo sobre una mesa de trabajo de laboratorio\" loading=\"lazy\" decoding=\"async\" style=\"object-position:62% 50%\" title=\"| Carmel Cosmetics Labs\"><figcaption>Citrus aurantium var. amara \u00b7 flor de naranjo amargo<\/figcaption><\/figure>\n  <\/div>\n<\/section>\n<section class=\"ip-sec\" aria-labelledby=\"ip-b\" style=\"padding-top:0\">\n  <div class=\"wrap\">\n    <span class=\"ip-k\"><b>( B )<\/b>SUS BENEFICIOS<\/span>\n    <h2 class=\"h2\" id=\"ip-b\">Los beneficios del agua de azahar para la piel y el rostro<\/h2>\n    <div class=\"ip-ben\"><article class=\"ip-b\"><span class=\"mono\">01<\/span><h3>Para el rostro<\/h3><p>Despu\u00e9s de la limpieza, tonifica y refresca la piel, aten\u00faa la sensaci\u00f3n de tirantez y la prepara para recibir el s\u00e9rum o la crema.<\/p><\/article><article class=\"ip-b\"><span class=\"mono\">02<\/span><h3>Un perfume muy suave<\/h3><p>Sus notas florales y melosas perfuman ligeramente el cuidado. En una loci\u00f3n o una bruma, puede bastar para dar a la f\u00f3rmula su firma olfativa.<\/p><\/article><article class=\"ip-b\"><span class=\"mono\">03<\/span><h3>Para la f\u00f3rmula<\/h3><p>Una base acuosa suave y cargada de historia, que sustituye total o parcialmente el agua en lociones, mascarillas de arcilla, limpiadores y cuidados \u00edntimos.<\/p><\/article><\/div>\n    <div class=\"ip-use\"><h3 class=\"ip-h3\">\u00bfC\u00f3mo usar el agua de azahar?<\/h3><ul><li><span class=\"mono\">Rostro<\/span><p>Ma\u00f1ana y noche despu\u00e9s de la limpieza, con un algod\u00f3n o en bruma, antes del s\u00e9rum o la crema.<\/p><\/li><li><span class=\"mono\">Mascarilla<\/span><p>En lugar del agua, para diluir una arcilla o el ghassoul.<\/p><\/li><li><span class=\"mono\">Cuerpo y cabello<\/span><p>En bruma fresca sobre la piel o sobre los largos, para un perfume ligero.<\/p><\/li><\/ul><\/div>\n  <\/div>\n<\/section>\n<section class=\"ip-prods\" aria-labelledby=\"ip-c\">\n  <div class=\"wrap\">\n    <div class=\"ip-prods-head\"><div><span class=\"ip-k\"><b>( C )<\/b>EN NUESTROS PRODUCTOS<\/span><h2 class=\"h2\" id=\"ip-c\">Lance su gama con agua de azahar<\/h2><\/div><p>Es el coraz\u00f3n de nuestra loci\u00f3n t\u00f3nica y forma parte de mascarillas, limpiadores y cuidados \u00edntimos listos para llevar su marca. Elija una categor\u00eda para ver las f\u00f3rmulas.<\/p><\/div>\n    <div class=\"ip-pgrid\" data-n=\"4\"><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/tonicos-faciales-marca-blanca\/\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/lotions-toniques-marque-blanche-carmel-cosmetics-labs-768x768.webp\" width=\"1000\" height=\"1000\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/lotions-toniques-marque-blanche-carmel-cosmetics-labs-300x300.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/lotions-toniques-marque-blanche-carmel-cosmetics-labs-768x768.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/lotions-toniques-marque-blanche-carmel-cosmetics-labs.webp 1000w\" sizes=\"auto, (max-width:1020px) 92vw, 50vw\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Lociones y t\u00f3nicos<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/mascarillas-faciales-marca-blanca\/\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/masques-visage-marque-blanche-carmel-cosmetics-labs-768x768.webp\" width=\"1000\" height=\"1000\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/masques-visage-marque-blanche-carmel-cosmetics-labs-300x300.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/masques-visage-marque-blanche-carmel-cosmetics-labs-768x768.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/masques-visage-marque-blanche-carmel-cosmetics-labs.webp 1000w\" sizes=\"auto, (max-width:1020px) 92vw, 50vw\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Mascarillas faciales<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/limpiadores-faciales-marca-blanca\/\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/nettoyants-visage-marque-blanche-carmel-cosmetics-labs-768x768.webp\" width=\"1000\" height=\"1000\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/nettoyants-visage-marque-blanche-carmel-cosmetics-labs-300x300.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/nettoyants-visage-marque-blanche-carmel-cosmetics-labs-768x768.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/nettoyants-visage-marque-blanche-carmel-cosmetics-labs.webp 1000w\" sizes=\"auto, (max-width:1020px) 92vw, 50vw\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Limpiadores faciales<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"ip-p\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/gel-intimo-marca-blanca-cuidado-intimo\/\"><img loading=\"lazy\" src=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/soins-intimes-marque-blanche-carmel-cosmetics-labs-768x768.webp\" width=\"1000\" height=\"1000\" srcset=\"https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/soins-intimes-marque-blanche-carmel-cosmetics-labs-300x300.webp 300w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/soins-intimes-marque-blanche-carmel-cosmetics-labs-768x768.webp 768w, https:\/\/carmelcosmeticslabs.com\/wp-content\/uploads\/2026\/10\/soins-intimes-marque-blanche-carmel-cosmetics-labs.webp 1000w\" sizes=\"auto, (max-width:1020px) 92vw, 50vw\" alt=\"| Carmel Cosmetics Labs\" loading=\"lazy\" decoding=\"async\" title=\"| Carmel Cosmetics Labs\"><span>Cuidado \u00edntimo<svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><\/div>\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><div class=\"ip-catprods\"><p class=\"ip-cp-h\">Productos del cat\u00e1logo con agua de azahar<\/p><ul><li><a href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/tonicos-faciales-marca-blanca\/agua-azahar-marca-blanca\/\">Agua de azahar<\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/gel-intimo-marca-blanca-cuidado-intimo\/serum-intimo-niacinamida-marca-blanca\/\">S\u00e9rum \u00edntimo con niacinamida<\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/geles-ducha-jabones-marca-blanca\/gel-ducha-azahar-argan-marca-blanca\/\">Gel de ducha de azahar con arg\u00e1n<\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/polvos-hidrolatos-aceites-esenciales-marca-blanca\/aceite-esencial-neroli-marca-blanca\/\">Aceite esencial de neroli<\/a><\/li><li><a href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/polvos-hidrolatos-aceites-esenciales-marca-blanca\/ghassoul-polvo-marca-blanca\/\">Ghassoul en polvo<\/a><\/li><\/ul><\/div><\/div>\n<\/section>\n<section class=\"ip-sec\" aria-labelledby=\"ip-d\">\n  <div class=\"wrap ip-notes\">\n    <div>\n      <span class=\"ip-k\"><b>( D )<\/b>NOTAS DEL FORMULADOR<\/span>\n      <h2 class=\"h2\" id=\"ip-d\">C\u00f3mo la formulamos<\/h2>\n      <p class=\"pk-ex-sub\" style=\"margin-top:14px\">Lo que nuestros formuladores tienen en cuenta cuando el agua de azahar entra en su producto.<\/p>\n      <div class=\"ip-pairs\" aria-label=\"Ingredientes asociados\"><a class=\"ip-pair\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/agua-de-rosas-de-damasco\/\"><i><\/i>Agua de rosas de Damasco<\/a><a class=\"ip-pair\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/ghassoul-arcilla-rhassoul\/\"><i><\/i>Ghassoul<\/a><span class=\"ip-pair\"><i><\/i>Miel de azahar<\/span><span class=\"ip-pair\"><i><\/i>Aloe vera<\/span><\/div>\n    <\/div>\n    <ol class=\"ip-nl\"><li><span class=\"mono\">01<\/span><b>Fase acuosa<\/b><p>Constituye la mayor parte de una loci\u00f3n t\u00f3nica o completa el agua osmotizada de un limpiador, una mascarilla o un cuidado \u00edntimo.<\/p><\/li><li><span class=\"mono\">02<\/span><b>Un agua que proteger<\/b><p>Un hidrolato no se conserva solo: lo integramos con un sistema conservante adecuado, en condiciones de higiene estrictas y en un envase bien cerrado.<\/p><\/li><li><span class=\"mono\">03<\/span><b>Linalol en la etiqueta<\/b><p>Aporta de forma natural linalol, un al\u00e9rgeno de fragancia regulado: calculamos su contenido y lo indicamos en la etiqueta seg\u00fan los umbrales europeos.<\/p><\/li><li><span class=\"mono\">04<\/span><b>Grado ecol\u00f3gico y origen<\/b><p>Existe una materia prima de grado ecol\u00f3gico certificado. El origen marroqu\u00ed se puede destacar en el packaging, siempre que est\u00e9 documentado en el expediente del producto.<\/p><\/li><\/ol>\n  <\/div>\n<\/section>\n<section class=\"ip-know\" aria-labelledby=\"ip-kn\"><div class=\"wrap\"><div class=\"ip-know-box\"><div><span class=\"ip-k\"><b>\u00bfSab\u00eda que\u2026?<\/b><\/span><h2 id=\"ip-kn\">Una flor, dos tesoros<\/h2><\/div><ol><li><b>99,9 %<\/b><p>Al destilar las flores del naranjo amargo se recoge casi \u00fanicamente agua floral: el neroli representa solo alrededor del 0,1 % del destilado.<\/p><\/li><li><b>&lt; 1 g\/L<\/b><p>Un hidrolato contiene menos de un gramo de aceite esencial por litro. Un estudio sobre 22 hidrolatos midi\u00f3 una mediana de unos 0,7 g\/L para el agua de azahar.<\/p><\/li><li><b>Zhar<\/b><p>Es el nombre de la flor de azahar en Marruecos. Su agua perfuma la reposter\u00eda de las fiestas, y con ella se roc\u00eda a los invitados mediante un aspersor, el mrach.<\/p><\/li><\/ol><\/div><\/div><\/section>\n<section class=\"section\" aria-labelledby=\"ip-faq\" style=\"padding-top:0\">\n  <div class=\"wrap faq-grid\">\n    <div class=\"sticky\"><h2 class=\"h2\" id=\"ip-faq\">Agua de azahar: sus preguntas<\/h2><div class=\"faq-help\"><b>\u00bfUn proyecto con agua de azahar?<\/b><span>Nuestro especialista de producto le responde por WhatsApp.<\/span><a class=\"btn btn-wa-s\" href=\"https:\/\/wa.me\/212761511711\" target=\"_blank\" rel=\"noopener\"><svg class=\"ico\"><use href=\"#i-chat\"\/><\/svg>Escribir por WhatsApp<\/a><\/div><\/div>\n    <div><details class=\"qa\" open><summary><h3>\u00bfCu\u00e1les son los beneficios del agua de azahar para la piel?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Tonifica y refresca la piel, aten\u00faa la sensaci\u00f3n de tirantez despu\u00e9s de la limpieza y la perfuma delicadamente. Suave, se utiliza pura como loci\u00f3n o en bruma.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfC\u00f3mo usar el agua de azahar en el rostro?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Ma\u00f1ana y noche, despu\u00e9s de la limpieza, con un algod\u00f3n o en bruma, antes del s\u00e9rum o la crema. Tambi\u00e9n puede sustituir el agua para diluir una mascarilla de arcilla o de ghassoul.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfQu\u00e9 diferencia hay entre neroli, agua de azahar y petitgrain?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>El neroli es el aceite esencial de las flores del naranjo amargo; el agua de azahar es el hidrolato recogido durante la misma destilaci\u00f3n. El petitgrain es el aceite esencial de sus hojas y ramitas. Los aceites esenciales se dosifican en gotas, el hidrolato se utiliza puro.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfHidrolato de azahar y agua de azahar son lo mismo?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>S\u00ed, cuando se obtiene por destilaci\u00f3n de las flores. Tambi\u00e9n se habla de agua floral o de hidrolato de neroli. El nombre INCI permite verificar que se trata realmente del agua destilada de las flores.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfSe puede usar el agua de azahar de cocina en el rostro?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Es preferible elegir un grado cosm\u00e9tico. El agua de azahar de reposter\u00eda est\u00e1 hecha para consumirse y sigue las normas alimentarias. La de los cuidados est\u00e1 controlada y conservada para su aplicaci\u00f3n sobre la piel, con su nombre INCI.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfCu\u00e1l es el nombre INCI del agua de azahar?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>Su nombre INCI es CITRUS AURANTIUM AMARA FLOWER WATER, para el agua floral del naranjo amargo. Es el nombre que figura en la lista de ingredientes del envase.<\/p><\/div><\/details>\n<details class=\"qa\"><summary><h3>\u00bfSe puede crear una gama con agua de azahar con Carmel Cosmetics Labs?<\/h3><span class=\"pm\" aria-hidden=\"true\"><\/span><\/summary><div class=\"ans\"><p>S\u00ed. La integramos en nuestras lociones t\u00f3nicas, mascarillas, limpiadores y cuidados \u00edntimos en marca blanca, o en una f\u00f3rmula exclusiva de marca propia, fabricada en nuestra f\u00e1brica de Marruecos.<\/p><\/div><\/details><\/div>\n  <\/div>\n<\/section>\n<section class=\"wrap ip-src\" aria-labelledby=\"ip-sr\"><h2 id=\"ip-sr\" class=\"mono\">Fuentes<\/h2><ol><li><a href=\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/55484\" target=\"_blank\" rel=\"noopener\">Comisi\u00f3n Europea, base de datos CosIng: CITRUS AURANTIUM AMARA FLOWER WATER<\/a><\/li><li><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC8510401\/\" target=\"_blank\" rel=\"noopener\">Maksoud S. et al., Citrus aurantium L. Active Constituents, Biological Effects and Extraction Methods. An Updated Review, Molecules (2021)<\/a><\/li><li><a href=\"https:\/\/hal.inrae.fr\/hal-02637368\" target=\"_blank\" rel=\"noopener\">Labadie C. et al., Hydrosols of orange blossom (Citrus aurantium) and rose flower support the growth of a heterogeneous spoilage microbiota, Food Research International (2015)<\/a><\/li><li><a href=\"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC11314536\/\" target=\"_blank\" rel=\"noopener\">An\u00e1lisis de los compuestos vol\u00e1tiles de hidrolatos de flores de Citrus \u00d7 aurantium por HS-SPME-GC-MS, Molecules (2024)<\/a><\/li><\/ol><\/section>\n<section style=\"padding-bottom:clamp(40px,6vw,80px)\"><div class=\"wrap\"><div class=\"final\"><div><h2>Su gama con agua de azahar, formulada en Marruecos<\/h2><p>Env\u00edenos su brief: formulamos y fabricamos en nuestra f\u00e1brica ISO 22716 de A\u00eft Melloul. Consulta gratuita y selecci\u00f3n de f\u00f3rmulas, sin compromiso.<\/p><\/div><div class=\"actions\"><a class=\"btn\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/presupuesto-fabricacion-cosmeticos\/\">Consulta gratuita <span class=\"knob\"><svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><a class=\"btn btn-wa\" href=\"https:\/\/carmelcosmeticslabs.com\/es\/catalogo-cosmetica-marca-blanca\/\"><span>Ver el cat\u00e1logo<\/span><span class=\"knob\"><svg class=\"ico\"><use href=\"#i-arrow\"\/><\/svg><\/span><\/a><\/div><\/div><\/div><\/section>\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"DefinedTerm\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/agua-de-azahar\/#term\", \"name\": \"Agua de azahar\", \"alternateName\": \"CITRUS AURANTIUM AMARA FLOWER WATER\", \"termCode\": \"CITRUS AURANTIUM AMARA FLOWER WATER\", \"description\": \"El agua de azahar es un hidrolato: el agua arom\u00e1tica que se recoge durante la destilaci\u00f3n por vapor de las flores del naranjo amargo (Citrus aurantium var. amara), al mismo tiempo que el aceite esencial de neroli. Solo contiene trazas de compuestos arom\u00e1ticos disueltos, sobre todo linalol y alfa-terpineol. En cosm\u00e9tica se utiliza para tonificar, refrescar y perfumar delicadamente la piel.\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/agua-de-azahar\/\", \"inDefinedTermSet\": \"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/#glossaire\"}, {\"@type\": \"WebPage\", \"@id\": \"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/agua-de-azahar\/\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/agua-de-azahar\/\", \"name\": \"Agua de azahar: beneficios, neroli, rostro | Carmel\", \"description\": \"Agua de azahar (CITRUS AURANTIUM AMARA FLOWER WATER): beneficios para el rostro, diferencia con el neroli y el petitgrain, cosm\u00e9tica o cocina.\", \"inLanguage\": \"es\", \"dateModified\": \"2026-10-03\", \"isPartOf\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/es\/inicio\/#website\"}, \"about\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/es\/glosario-ingredientes-cosmeticos\/agua-de-azahar\/#term\"}, \"author\": {\"@type\": \"Organization\", \"name\": \"Equipo de I+D de Carmel Cosmetics Labs\", \"url\": \"https:\/\/carmelcosmeticslabs.com\/es\/laboratorio-formulacion-cosmetica\/\"}, \"publisher\": {\"@id\": \"https:\/\/carmelcosmeticslabs.com\/es\/inicio\/#organization\"}, \"citation\": [\"https:\/\/ec.europa.eu\/growth\/tools-databases\/cosing\/details\/55484\", \"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC8510401\/\", \"https:\/\/hal.inrae.fr\/hal-02637368\", \"https:\/\/pmc.ncbi.nlm.nih.gov\/articles\/PMC11314536\/\"]}, {\"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"\u00bfCu\u00e1les son los beneficios del agua de azahar para la piel?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Tonifica y refresca la piel, aten\u00faa la sensaci\u00f3n de tirantez despu\u00e9s de la limpieza y la perfuma delicadamente. Suave, se utiliza pura como loci\u00f3n o en bruma.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfC\u00f3mo usar el agua de azahar en el rostro?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Ma\u00f1ana y noche, despu\u00e9s de la limpieza, con un algod\u00f3n o en bruma, antes del s\u00e9rum o la crema. Tambi\u00e9n puede sustituir el agua para diluir una mascarilla de arcilla o de ghassoul.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfQu\u00e9 diferencia hay entre neroli, agua de azahar y petitgrain?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"El neroli es el aceite esencial de las flores del naranjo amargo; el agua de azahar es el hidrolato recogido durante la misma destilaci\u00f3n. El petitgrain es el aceite esencial de sus hojas y ramitas. Los aceites esenciales se dosifican en gotas, el hidrolato se utiliza puro.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfHidrolato de azahar y agua de azahar son lo mismo?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"S\u00ed, cuando se obtiene por destilaci\u00f3n de las flores. Tambi\u00e9n se habla de agua floral o de hidrolato de neroli. El nombre INCI permite verificar que se trata realmente del agua destilada de las flores.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfSe puede usar el agua de azahar de cocina en el rostro?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Es preferible elegir un grado cosm\u00e9tico. El agua de azahar de reposter\u00eda est\u00e1 hecha para consumirse y sigue las normas alimentarias. La de los cuidados est\u00e1 controlada y conservada para su aplicaci\u00f3n sobre la piel, con su nombre INCI.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfCu\u00e1l es el nombre INCI del agua de azahar?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Su nombre INCI es CITRUS AURANTIUM AMARA FLOWER WATER, para el agua floral del naranjo amargo. Es el nombre que figura en la lista de ingredientes del envase.\"}}, {\"@type\": \"Question\", \"name\": \"\u00bfSe puede crear una gama con agua de azahar con Carmel Cosmetics Labs?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"S\u00ed. La integramos en nuestras lociones t\u00f3nicas, mascarillas, limpiadores y cuidados \u00edntimos en marca blanca, o en una f\u00f3rmula exclusiva de marca propia, fabricada en nuestra f\u00e1brica de Marruecos.\"}}]}]}<\/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  ];\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><\/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":0,"parent":20322,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-49635","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/49635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/comments?post=49635"}],"version-history":[{"count":2,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/49635\/revisions"}],"predecessor-version":[{"id":49637,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/49635\/revisions\/49637"}],"up":[{"embeddable":true,"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/pages\/20322"}],"wp:attachment":[{"href":"https:\/\/carmelcosmeticslabs.com\/es\/wp-json\/wp\/v2\/media?parent=49635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}