{"title":"Les Cosmétiques Indispensables","description":null,"products":[{"product_id":"bain-pro-shampoing-doux-tous-pelages","title":"BAIN PRO, gentle shampoo for all coats","description":"\u003c!-- ============================================== DESIGN SYSTEM — Visual Refinement ============================================= --\u003e  \u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003c!-- BLOCK 1: INTRO --\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e  \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e  \u003cstrong\u003ePROFESSIONAL BATH\u003c\/strong\u003e is the highly concentrated professional shampoo Special One that enhances fur by being \u003cstrong\u003eas gently as possible, without ever being aggressive\u003c\/strong\u003e.  It reveals the best version of the hair—without amplifying volume or texture—simply allowing its true nature to express itself. It is also a \u003cstrong\u003esupplementary natural parasite control\u003c\/strong\u003e :  Its abundant lather and acidic pH neutralize fleas mechanically, without chemical insecticides. One shampoo, dozens of benefits.\u003c\/div\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eWho is this product for?\u003c\/h2\u003e  \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it truly beneficial — a direct competitor to the Aquarosa Pro (the most nutritious), \u003cstrong\u003eBain Pro is the choice for absolute softness\u003c\/strong\u003e for all coat types, from puppy to senior.\u003c\/p\u003e  \u003cdiv class=\"aqr-audience\"\u003e  \u003cdiv class=\"aqr-audience-grid\"\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eGroomers\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eLivestock farmers\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eIndividuals\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eCompetitors\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/h2\u003e  \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnriched with a blend of \u003cstrong\u003esurfactants of natural origin\u003c\/strong\u003e and moisturizing substances, Bain Pro restores shine and elasticity to the hair from the very first use. \u003cstrong\u003enatural antiparasitic action\u003c\/strong\u003e — by mechanical asphyxiation via the abundant foam and an acidic pH that weakens the fleas — making it a perfect supplementary wash for puppies, kittens and sensitive animals, \u003cstrong\u003ewithout chemical insecticide\u003c\/strong\u003e.\u003c\/p\u003e  \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; border-radius: 8px; padding: 12px 16px; font-size: 13px; line-height: 1.55; margin: 4px 0 4px;\"\u003e⚠️  \u003cstrong\u003eLimit of gentleness:\u003c\/strong\u003e Due to its very gentle formula, Bain Pro may not be sufficient if the animal is very dirty. In this case, start with a more cleansing shampoo first. \u003cstrong\u003eAquapure Pro, Blue Sky Pro or Aquarosa Pro\u003c\/strong\u003e.\u003c\/div\u003e  \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e  \u003cdiv class=\"aqr-benefits-grid\"\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eUniversal gentleness: baby, adult, senior\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eGentle bath for dogs and cats of all ages, from babies to seniors.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eDeep cleaning\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eCleans, sanitizes and gives shine to all hair types.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 7c3 3 7 7 10 10M17 7C14 10 10 14 7 17\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"2.4\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-knot\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eNever amplifies natural volume — prevents knots from quickly returning after bathing.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 8a4 4 0 0 1 4 4v2a4 4 0 0 1-8 0v-2a4 4 0 0 1 4-4z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 4v4M9 6l-1.5-1.5M15 6l1.5-1.5M8 12H4M20 12h-4M8 16l-2 1.5M16 16l2 1.5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eNatural parasite repellent\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eMechanically neutralizes fleas by asphyxiation via foam and acidic pH — without chemical insecticide.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eKeratin protection\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eIncreases natural defenses to protect the hair structure.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4v16M7 8h10M6 8l-2.5 5a3 3 0 0 0 5 0zM18 8l-2.5 5a3 3 0 0 0 5 0z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eOily skin\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eTreats excess sebum while preserving the hydrolipidic film.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eFrequent baths\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eNo risk to skin and hair, even with intensive use.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 7;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 9h10l1.5 10H5.5zM9 9V7a3 3 0 0 1 6 0v2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eLeaded\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eHelps to weigh down silky furs without making them excessively heavy.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 8;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21V9\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 13C9 13 6 11 6 7c4 0 6 2 6 6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M12 11c0-3 2-5 6-5 0 4-3 5-6 5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eGrowth \u0026amp; competition\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003ePerfect for growing the coat of show dogs, all breeds included.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 9;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 7h16M6 7v11M10 7v11M14 7v11M18 7v11\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eDetangling \u0026amp; brushing\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eIt makes detangling easier, makes blow-drying smoother and reduces working time.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- RADAR UNIT (moved under Expertise) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eBetter understand the actions of Bain Pro\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed breakdown of its cosmetic performance, note by note.\u003c\/p\u003e  \u003cdiv id=\"so-radar-widget\" style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\"\u003e  \u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e  \u003cdiv id=\"so-radar-area\" style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\"\u003e\u003csvg id=\"so-radar-svg\" style=\"width: 100%; height: 100%; overflow: visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 4 }, { label: \"Démêlant\", value: 4 }, { label: \"Plombant\", value: 4 }, { label: \"Texture\", value: 1 }, { label: \"Soin peau\", value: 5 }, { label: \"Brillance\", value: 5 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e  \u003c!-- BLOCK 3: COMPOSITION (Active Bain Pro JS MAPPING - verified) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition of Bain Pro: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eNaturally derived surfactants, high-quality proteins and bio-based active ingredients — \u003cstrong\u003eParaben-free, silicone-free\u003c\/strong\u003e.  Here, zone by zone, is how each active ingredient acts on the skin and hair.\u003c\/p\u003e  \u003c!-- MAPPING --\u003e  \u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e  \u003cdiv class=\"aqr-grid\"\u003e  \u003cdiv class=\"aqr-col-list\"\u003e  \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-schema\"\u003e  \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e  \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée du Bain Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e  \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e  \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-info\"\u003e  \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'soie', label:'Protéines de Soie', latin:'Sericin \u0026 fibroïne', family:'cond',\n          desc:\"Protéines gainantes à forte affinité kératinique : elles détendent le poil, lissent la cuticule et renforcent la fibre pour une brillance naturelle.\",\n          targets: [\n            { anchor:'cuticule', action:\"Lissage \u0026 gainage\", benefit:\"Lissent la cuticule et favorisent la brillance naturelle du poil.\" },\n            { anchor:'tige_poil', action:\"Renfort de la fibre\", benefit:\"Renforcent la fibre capillaire et détendent le poil au brossage.\" }\n          ]\n        },\n        {\n          id:'lait', label:'Protéines de Lait', latin:'Protéines lactées', family:'cond',\n          desc:\"Protéines nourrissantes qui revitalisent les poils ternes ou cassants et maintiennent la souplesse du manteau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition \u0026 élasticité\", benefit:\"Nourrissent la fibre et redonnent élasticité aux poils ternes ou cassants.\" },\n            { anchor:'cuticule', action:\"Souplesse du manteau\", benefit:\"Maintiennent la souplesse et le confort de toucher du pelage.\" }\n          ]\n        },\n        {\n          id:'lichen', label:'Lichen d’Islande', latin:'Cetraria islandica', family:'botanic',\n          desc:\"Mousse montagnarde riche en polysaccharides et mucilages : propriétés antimicrobiennes, purifiantes et calmantes marquées, elle apaise les peaux déshydratées.\",\n          targets: [\n            { anchor:'epiderme', action:\"Apaisant \u0026 purifiant\", benefit:\"Apaise les peaux déshydratées, sensibles ou sujettes aux démangeaisons.\" },\n            { anchor:'glande_seb', action:\"Équilibre microbien\", benefit:\"Favorise l’équilibre microbien naturel de la peau.\" }\n          ]\n        },\n        {\n          id:'levures', label:'Levures Hydrolysées', latin:'Ferments biosourcés', family:'bio',\n          desc:\"Actifs biosourcés qui renforcent et illuminent le pelage tout en contribuant à restaurer une barrière cutanée saine.\",\n          targets: [\n            { anchor:'epiderme', action:\"Barrière cutanée\", benefit:\"Contribuent à restaurer une barrière cutanée saine et équilibrée.\" },\n            { anchor:'tige_poil', action:\"Éclat du pelage\", benefit:\"Renforcent et illuminent le poil de l’intérieur.\" }\n          ]\n        },\n        {\n          id:'fucus', label:'Extrait de Fucus', latin:'Chêne marin (algue)', family:'aqua',\n          desc:\"Algue riche en iode, polyphénols et vitamines : les polyphénols soutiennent la régénération cellulaire, l’iode active la circulation dans les racines du poil.\",\n          targets: [\n            { anchor:'follicule', action:\"Circulation \u0026 métabolisme\", benefit:\"L’iode active la circulation et le métabolisme à la racine du poil.\" },\n            { anchor:'derme', action:\"Régénération cellulaire\", benefit:\"Les polyphénols soutiennent la régénération et la tonicité de la peau.\" }\n          ]\n        },\n        {\n          id:'piroctone', label:'Piroctone Olamine', latin:'Actif antifongique \u0026 antiparasitaire doux', family:'bio',\n          desc:\"Actif anti-levures et antifongique naturel ; toxique pour les puces, il participe — avec le pH acide du bain — à l’action antiparasitaire naturelle du Bain Pro.\",\n          targets: [\n            { anchor:'epiderme', action:\"Antiparasitaire (pH acide)\", benefit:\"Avec le pH acide (~5), fragilise l’exosquelette des puces et facilite leur élimination, sans insecticide.\" },\n            { anchor:'glande_seb', action:\"Séborégulation antifongique\", benefit:\"Régule les peaux grasses, réduit les mauvaises odeurs et assainit la flore cutanée.\" }\n          ]\n        },\n        {\n          id:'glycerine', label:'Glycérine Végétale', latin:'Glycérol végétal', family:'aqua',\n          desc:\"Humectant doux qui hydrate poil et peau sans graisser, lisse la cuticule et favorise une brillance durable.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation sans graisser\", benefit:\"Capte et retient l’eau pour une peau et un poil souples.\" },\n            { anchor:'cuticule', action:\"Brillance durable\", benefit:\"Lisse la cuticule et fixe une brillance qui dure.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\u003cbr\u003e  \u003c\/div\u003e  \u003c!-- BLOCK 4: PROTOCOLS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/h2\u003e  \u003c!-- DILUTION P4: 3 simple cards (Ratio · Yield · Animated Equivalencies) --\u003e  \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e  \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eReference dilution\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-grid\"\u003e  \u003c!-- CARD 1: Ratio --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-note\"\u003eA portion of shampoo\u003cbr\u003efor 20 parts water\u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- MAP 2: Yield --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eYield\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e250 mL\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e1 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e5 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-note\"\u003eready to use\u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- CARD 3: Animated Equivalencies --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e finished product\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003ein volume\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003ein weight\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e  \u003cspan id=\"aqrCycleSpoonLabel\"\u003etablespoons\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e  \u003cspan id=\"aqrCyclePumpLabel\"\u003epump pressures\u003c\/span\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e  \u003cdetails class=\"aqr-proto-acc\" open=\"\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eGentle washing — all coat types, all ages\u003c\/span\u003e  \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv class=\"aqr-proto-content\"\u003e  \u003cp class=\"aqr-proto-subtitle\"\u003eThe basic protocol, suitable for all common situations\u003c\/p\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eFirst shampoo\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eWet the fur thoroughly.Apply Bain Pro diluted to \u003cstrong\u003e1\/20\u003c\/strong\u003e,  then rinse.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoo\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply a \u003cstrong\u003esecond shampoo\u003c\/strong\u003e,  then rinse again.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eFinal care\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with the appropriate conditioner: \u003cstrong\u003eHydrating Cream, Bombastic or Aqua Dolce\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eFinishing\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eComplete the grooming with \u003cstrong\u003eAbsolute 4Poodle, Mix Pink or Style 360\u003c\/strong\u003e as needed.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eAnti-knot protocol \u0026amp; sebum regulation\u003c\/span\u003e  \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv class=\"aqr-proto-content\"\u003e  \u003cp class=\"aqr-proto-subtitle\"\u003eFor dogs that easily develop matting or have skin imbalances (sebum, dandruff, odors)\u003c\/p\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003ePre-bath mask\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eStart with the pre-bath mask \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e to prepare and amplify the action of the shampoo.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eNo-rinse application\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Bain Pro diluted at a ratio of 1\/20. \u003cstrong\u003ewithout rinsing the mask\u003c\/strong\u003e beforehand.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eLaid \u0026amp; rinsing\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eLeave on for a few moments, rinse, then repeat if necessary.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eAnti-tangle finish\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalize with \u003cstrong\u003eHydrating Cream + Aqua Dolce\u003c\/strong\u003e for a conditioned coat that delays the return of knots.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eChoose Bain Pro if you need…\u003c\/span\u003e  \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv class=\"aqr-proto-content\"\u003e  \u003cp class=\"aqr-proto-subtitle\"\u003eSituations where Bain Pro makes all the difference\u003c\/p\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eWash gently\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAny dog ​​or cat, regardless of age or coat type.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eGrowing hair\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eIdeal for show dogs of all breeds (9th group, terriers, 8th group…).\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eImplement an anti-knot protocol\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eOn a dog that felts easily.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e  \u003cdiv class=\"aqr-proto-step-body\"\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eRegulating sebum\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eWhether in excess or deficiency, with dandruff or bad odors — without irritating the skin.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOCK 5: ASSOCIATIONS \u0026  RACES --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/h2\u003e  \u003c!-- Bain Pro at the heart + modular additions If... → Then --\u003e  \u003cdiv class=\"aqr-assoc\"\u003e  \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Bain Pro.Our favorite alliances:\u003c\/p\u003e  \u003cdiv class=\"aqr-assoc-rules\"\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA more powerful cleaning is required…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eBlue Sky Pro · Aquarosa Pro · Aquapure Pro\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA pre-bath mask is recommended…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA final touch-up is needed…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce (+ Hygro Fluid)\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA showroom finish is desired…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003c!-- Races in rounded pills --\u003e  \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Bain Pro makes the difference:\u003c\/h3\u003e  \u003cdiv class=\"aqr-races-mosaic\"\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐶 All the dogs in the living room \u003cspan\u003e(limits the return of nodes)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🏆 Long-coated show dogs \u0026amp; fringe \u003cspan\u003e(bangs, toupee, beard)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly furs \u003cspan\u003e(Poodles, Bichons, Kerry Blue, Soft Coated, Bedlington)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐕 All Cocker Spaniels \u003cspan\u003e(American, English)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Tibetan races \u003cspan\u003e(Shih Tzu, Lhasa Apso, Tibetan Terrier)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e👑 English Toy Spaniels \u003cspan\u003e(Rider \u0026amp; King Charles)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e✨ Long furs \u0026amp; silky \u003cspan\u003e(Yorkshire, Afghans)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐾 Terriers \u003cspan\u003e(Scottish, Westie, Welsh)\u003c\/span\u003e\u003c\/span\u003e  \u003c\/div\u003e  \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eLong and non-exhaustive list — absolute softness for all coats, from puppy to senior.\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e  \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Paraben-free, Silicone-free | Not tested on animals | Recyclable HDPE\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":42903274225884,"sku":"WEX-BA250 (118)","price":21.9,"currency_code":"EUR","in_stock":true},{"title":"1L","offer_id":42903274258652,"sku":"WEX-BA1 016 (124)","price":42.2,"currency_code":"EUR","in_stock":true},{"title":"5 Liters","offer_id":42903274291420,"sku":"WEX-BA5 011 (135)","price":108.6,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/Design_sans_titre_-_2025-04-16T140126.314.png?v=1744811139"},{"product_id":"bio-energy-plus-masque-pre-bain","title":"BIO ENERGY PLUS, green caviar mask","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e              \u003cstrong\u003eBIO ENERGY PLUS\u003c\/strong\u003e is Special One's ultra-concentrated, dual-action pre-bath mask \u003cstrong\u003e\u0026quot;Beauty\u0026quot; and \u0026quot;Health\u0026quot;\u003c\/strong\u003e.  It works instantly on dry, dirty, and tangled fur—even before shampooing. An essential component of the Special One hydration program, it transforms grooming and delivers noticeable results from the very first use.     \u003c\/div\u003e            \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eWho is this product for?\u003c\/span\u003e          \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find it of real interest — including those who have never used a pre-bath mask and who are discovering an innovation that will transform their grooming routine.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Groomers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Livestock farmers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Individuals\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Competitors\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e                      \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- RADAR BLOCK: COSMETOLOGICAL DIAGRAM --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e              \u003cdiv style=\"padding:24px 28px 20px;overflow:visible;\"\u003e                  \u003cspan style=\"font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#999;margin-bottom:22px;display:block;\"\u003eBio Energy Plus cosmetic diagram\u003c\/span\u003e                  \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e                      \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e                  \u003c\/div\u003e                  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label {\n      position: absolute;\n      transform: translate(-50%, -50%);\n      text-align: center;\n      pointer-events: none;\n      white-space: nowrap;\n      opacity: 0;\n      animation: so-fadeUp 0.5s ease forwards;\n    }\n    .so-label .so-lname {\n      font-size: 9px;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n      color: #999;\n      display: block;\n      margin-bottom: 1px;\n      font-family: inherit;\n    }\n    .so-label .so-lval {\n      font-size: 24px;\n      font-weight: 700;\n      color: #1a1a1a;\n      line-height: 1;\n      font-family: inherit;\n    }\n    .so-label .so-lmax {\n      font-size: 12px;\n      font-weight: 400;\n      color: #bbb;\n      font-family: inherit;\n    }\n    .so-footer-bar {\n      margin-top: 18px;\n      border-top: 1px solid #eee;\n      padding-top: 14px;\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 6px;\n      opacity: 0;\n      animation: so-footerIn 0.5s ease forwards 0.8s;\n    }\n    .so-footer-label {\n      font-size: 9px;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.1em;\n      color: #999;\n      font-family: inherit;\n      margin-right: 2px;\n    }\n    .so-footer-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: 4px;\n      background: #1a1a1a;\n      padding: 4px 10px;\n      font-size: 11px;\n      font-weight: 600;\n      color: #fff;\n      font-family: inherit;\n    }\n    .so-footer-chip-score {\n      font-weight: 400;\n      color: rgba(255,255,255,0.4);\n      font-size: 10px;\n    }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp {\n      from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); }\n      to   { opacity: 1; transform: translate(-50%, -50%); }\n    }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-footer-chip { font-size: 10px !important; padding: 3px 8px !important; }\n      .so-footer-label { font-size: 8px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e        \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Hydratation\",  value: 5 },\n        { label: \"Soin peau\",    value: 5 },\n        { label: \"Démêlant\",     value: 3 },\n        { label: \"Brillance\",    value: 4 }\n      ]\n    };\n\n    var svg  = document.getElementById(\"so-radar-svg\");\n    var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria;\n    var n    = data.length;\n    var cx = 180, cy = 180, maxR = 95;\n\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) {\n      var a = ang(i), r = (v \/ mx) * maxR;\n      return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) };\n    }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n\n    for (var l = 1; l \u003c= 5; l++) {\n      var pts = [];\n      for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); }\n      var poly = svgEl(\"polygon\");\n      poly.setAttribute(\"points\", pts.join(\" \"));\n      poly.setAttribute(\"fill\", \"none\");\n      poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\");\n      poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\");\n      if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\");\n      svg.appendChild(poly);\n    }\n\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, 5, 5);\n      var line = svgEl(\"line\");\n      line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy);\n      line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y);\n      line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\");\n      line.setAttribute(\"stroke-width\", \"0.6\");\n      svg.appendChild(line);\n    }\n\n    var shapePts = [];\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, data[i].value, 5);\n      shapePts.push(p.x + \",\" + p.y);\n    }\n    var ptsStr = shapePts.join(\" \");\n\n    var fillPoly = svgEl(\"polygon\");\n    fillPoly.setAttribute(\"points\", ptsStr);\n    fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\");\n    fillPoly.classList.add(\"so-shape-fill\");\n    svg.appendChild(fillPoly);\n\n    var strokePoly = svgEl(\"polygon\");\n    strokePoly.setAttribute(\"points\", ptsStr);\n    strokePoly.setAttribute(\"fill\", \"none\");\n    strokePoly.setAttribute(\"stroke\", \"#1a1a1a\");\n    strokePoly.setAttribute(\"stroke-width\", \"1.8\");\n    strokePoly.setAttribute(\"stroke-linejoin\", \"round\");\n    strokePoly.classList.add(\"so-shape-stroke\");\n    svg.appendChild(strokePoly);\n\n    for (var i = 0; i \u003c n; i++) {\n      (function(i) {\n        var d = data[i];\n        var p = pt(i, d.value, 5);\n        var delay = 0.5 + i * 0.1;\n\n        var halo = svgEl(\"circle\");\n        halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y);\n        halo.setAttribute(\"r\", \"7\");\n        halo.setAttribute(\"fill\", \"none\");\n        halo.setAttribute(\"stroke\", \"#1a1a1a\");\n        halo.setAttribute(\"stroke-width\", \"1\");\n        halo.setAttribute(\"stroke-opacity\", \"0.12\");\n        halo.classList.add(\"so-dot\");\n        halo.style.animationDelay = delay + \"s\";\n        svg.appendChild(halo);\n\n        var dot = svgEl(\"circle\");\n        dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y);\n        dot.setAttribute(\"r\", \"3\");\n        dot.setAttribute(\"fill\", \"#1a1a1a\");\n        dot.classList.add(\"so-dot\");\n        dot.style.animationDelay = delay + \"s\";\n        svg.appendChild(dot);\n\n        var lp = pt(i, 6.5, 5);\n        var pctX = (lp.x \/ 360) * 100;\n        var pctY = (lp.y \/ 360) * 100;\n\n        var lbl = document.createElement(\"div\");\n        lbl.className = \"so-label\";\n        lbl.style.left = pctX + \"%\";\n        lbl.style.top  = pctY + \"%\";\n        lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\";\n        lbl.innerHTML =\n          '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e' +\n          '\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e';\n        area.appendChild(lbl);\n      })(i);\n    }\n\n    var maxVal = 0;\n    for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; }\n    var bests = [];\n    for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n\n    var chipsHtml = '';\n    for (var i = 0; i \u003c bests.length; i++) {\n      chipsHtml +=\n        '\u003cspan class=\"so-footer-chip\"\u003e' +\n          bests[i].label +\n          '\u003cspan class=\"so-footer-chip-score\"\u003e' + bests[i].value + '\/5\u003c\/span\u003e' +\n        '\u003c\/span\u003e';\n    }\n\n    document.getElementById(\"so-radar-footer\").innerHTML =\n      '\u003cdiv class=\"so-footer-bar\"\u003e' +\n        '\u003cspan class=\"so-footer-label\"\u003e★ ' + (bests.length \u003e 1 ? 'Points forts' : 'Point fort') + '\u003c\/span\u003e' +\n        chipsHtml +\n      '\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e        \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/span\u003e          \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts ultra-technological composition immediately provides profound relief to the animal's fur and skin. \u003cstrong\u003eIt is applied to dry, dirty, undetangled hair — without rinsing before shampooing.\u003c\/strong\u003e This additional step compared to the classic bath cycle is, however, the one on which the quality of the final result strongly depends.\u003c\/p\u003e            \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e              \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eDouble Action Beauty \u0026amp; Health :\u003c\/strong\u003e Improves texture while deeply treating the skin and fur.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eIntense hydration:\u003c\/strong\u003e It hydrates, cares for, treats and restores fur and skin from the first application.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eRevive the colors:\u003c\/strong\u003e Stimulates melanin production — natural coat colors gain in intensity and depth.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eCutaneous microcirculation:\u003c\/strong\u003e Activates circulation in the hair roots, promoting growth and coat renewal.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eRepair :\u003c\/strong\u003e Helps repair damaged, weakened or overworked coats.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003ePreparation for cutting:\u003c\/strong\u003e Ideal for preparing furs before a scissor cut or salon treatment.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eAnti-molting \u0026amp; detangling:\u003c\/strong\u003e Facilitates the removal of dead hair and helps prevent or accelerate shedding.\u003c\/li\u003e                  \u003cli\u003e✅  \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from babies to seniors.\u003c\/li\u003e              \u003c\/ul\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eAn ultra-technological formulation combining marine, plant and structuring active ingredients — without parabens, without silicone.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Hydrolyzed Collagen\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAnti-inflammatory action — strengthens the internal structure of the hair and improves the elasticity of the fiber.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Green Caviar (Caulerpa Lentillifera)\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAnti-aging Japanese seaweed: rich in minerals (iron, calcium, zinc, potassium), vitamin A \u0026amp; Vitamin C and amino acids. Stimulates the production of collagen and elastin.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Spirulina\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eA powerful antioxidant that restores vigor and shine to damaged coats.Reduces sebum, fights dandruff, prevents hair loss and promotes hair growth.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Fucus (Sea Oak)\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eRich in iodine, polyphenols, and vitamins. Polyphenols support cell regeneration; iodine activates metabolism and improves circulation in the hair roots.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Laminaria\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eNatural detox thanks to alginic acid — forms a gel on contact with water which captures and eliminates substances harmful to the skin.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/span\u003e            \u003cdiv style=\"margin-bottom: 10px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e              💡  \u003cstrong\u003eAs a pre-bath treatment: apply to dry, dirty, undetangled hair.\u003c\/strong\u003e Do not rinse before shampooing — this is the fundamental principle of the pre-bath mask.     \u003c\/div\u003e          \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #fff8e1; border-left: 3px solid #f0a500; font-size: 13px;\"\u003e              ⚠️ Do not leave on for more than \u003cstrong\u003e30 minutes\u003c\/strong\u003e.  Do not rinse the product before shampooing.     \u003c\/div\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 1 🔥 Beauty Goal — radiance, texture \u0026amp; colors\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         1. Dilute Bio Energy Plus to \u003cstrong\u003e1\/20\u003c\/strong\u003e.\u003cbr\u003e         2. Apply to dry, dirty, uncombed fur — making sure to cover the entire coat well.\u003cbr\u003e         3. Let it sit \u003cstrong\u003e5 to 30 minutes\u003c\/strong\u003e depending on the desired intensity.\u003cbr\u003e         4. Go directly to shampooing \u003cstrong\u003eno rinsing\u003c\/strong\u003e beforehand.\u003cbr\u003e         Result: improved texture, revived colors, renewed shine as soon as you get out of the bath.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 2 🔥 Health Goal — Skin \u0026amp; damaged fur\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         For sensitive or irritated skin, or very damaged fur:\u003cbr\u003e         1. Apply the product \u003cstrong\u003epure on the most critical areas\u003c\/strong\u003e (dry, irritated areas, brittle hair).\u003cbr\u003e         2. Dilute to \u003cstrong\u003e1\/15\u003c\/strong\u003e for application on the rest of the coat.\u003cbr\u003e         3. \u003cstrong\u003eCover the animal with a towel\u003c\/strong\u003e and let it sit \u003cstrong\u003e20 to 30 minutes\u003c\/strong\u003e for maximum absorption of the repairing active ingredients.\u003cbr\u003e         4. Proceed to shampooing without rinsing beforehand — the first shampoo is applied directly to the product being applied.\u003cbr\u003e\u003cbr\u003e                  \u003cdiv style=\"background: #f0f7ff; border-left: 3px solid #4a90d9; padding: 10px 12px; font-size: 12px;\"\u003e                      💧  \u003cstrong\u003eIn case of persistent skin abnormalities:\u003c\/strong\u003e It is recommended to perform the following bath with shampoo \u003cstrong\u003eSkincare Pro\u003c\/strong\u003e to enhance the therapeutic action of the mask.         \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 3 🔥 Objective: Untangling \u0026amp; Anti-molting\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         To treat, accelerate or prevent shedding, and to facilitate detangling:\u003cbr\u003e         1. Dilute to \u003cstrong\u003e1\/20\u003c\/strong\u003e,  then add a conditioner cream and an oily product from the range (4 Elements Oils or Aqua Dolce).\u003cbr\u003e         2. Apply to dry hair. \u003cstrong\u003eWork with your usual grooming tools\u003c\/strong\u003e (brush, comb) — the product facilitates the removal of dead hair and gentle detangling.\u003cbr\u003e         3.After about ten minutes, proceed directly to shampooing. \u003cstrong\u003eno rinsing\u003c\/strong\u003e.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdiv style=\"margin-top: 20px; padding: 20px; background: #f6f6f6; border: 1px dashed #1a1a1a;\"\u003e              \u003cspan style=\"font-size: 11px; font-weight: bold; text-transform: uppercase; display: block; margin-bottom: 10px;\"\u003e🛠️ BOOSTER ASSOCIATIONS:\u003c\/span\u003e              \u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e         For optimal effectiveness, mix Bio Energy Plus with one or more \u003cstrong\u003eoil-based integrators\u003c\/strong\u003e :\u003cbr\u003e                  ✨  \u003cstrong\u003eAqua Dolce\u003c\/strong\u003e and\/or \u003cstrong\u003e4 Element Oils\u003c\/strong\u003e and\/or \u003cstrong\u003eBombastic\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003e         The bath is then extended with any shampoo + mask + conditioner from the Special One range.       \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/span\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eCompatible with the entire Special One range downstream. Bio Energy Plus is the \u003cstrong\u003efirst step\u003c\/strong\u003e — all the rest of the bathing protocol comes after.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ All cats — especially for degreasing without stripping.\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ All dogs in the salon — to limit the rapid return of knots.\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Curly fur breeds: Poodles, Bichons, Kerry Blue, Soft Coated, Bedlington…\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ All Cocker Spaniels (American, English)\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Tibetan breeds: Shih Tzu, Lhasa Apso, Tibetan Terrier…\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ English Toy Spaniels (Cavalier and King Charles)\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Long, silky furs: Yorkshire, Afghan…\u003c\/td\u003e\u003c\/tr\u003e                  \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Terriers: Scottish, Westie, Welsh… — long and not exhaustive list!\u003c\/td\u003e\u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Paraben-free, Silicone-free | Not tested on animals | Recyclable HDPE\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819388494003,"sku":"WEX-BIO250 (100)","price":23.9,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819388428467,"sku":"WEX-BIO1 02 (106)","price":46.3,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819388461235,"sku":"WEX-BIO5 01 (99)","price":142.8,"currency_code":"EUR","in_stock":true},{"title":"10 Litres","offer_id":37819388526771,"sku":"WEX-KE10000 (251)","price":249.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/bioEnergyPlus.png?v=1680247667"},{"product_id":"huiles-4-elements","title":"OILS 4 ELEMENTS","description":"\u003cbody\u003e      \u003cmeta charset=\"UTF-8\"\u003e  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e  \u003ctitle\u003e4 Element Oils – Special One | Product Sheet\u003c\/title\u003e      \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOCK 1: INTRO --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e              \u003cstrong\u003e4-ELEMENT OILS\u003c\/strong\u003e is the Special One oil blend designed for \u003cstrong\u003estrengthen and rebuild the coat\u003c\/strong\u003e.  A true jack-of-all-trades that enhances all coats of all breeds — as an integrator, detangler, pre-bath treatment, in foil wraps or poultices.     \u003c\/div\u003e            \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eWho is this product for?\u003c\/span\u003e          \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find it truly beneficial — this product will enhance all coats without exception.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Groomers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Livestock farmers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Individuals\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Competitors\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e                      \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/span\u003e            \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThis complex of \u003cstrong\u003efour precious vegetable oils\u003c\/strong\u003e — formulated using fractions \u003cstrong\u003eunsaponifiables\u003c\/strong\u003e,  The finest part of each oil, rich in fat-soluble vitamins, antioxidants, polyphenols, and squalene, is incorporated into every step of grooming. Its versatility and gentleness make it an essential addition to every grooming kit. \u003cstrong\u003eNon-greasy, non-occlusive\u003c\/strong\u003e :  Thanks to its affinity with sebum and its sebo-restorative properties, it is easily absorbed by the skin and hair, nourishing deeply and lastingly without ever weighing down.\u003c\/p\u003e            \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e              ⚠️  \u003cstrong\u003eDo not use in large quantities in leave-in conditioner:\u003c\/strong\u003e Too much oil + the heat from the hairdryer = a \u0026quot;cooking\u0026quot; effect — the hair comes out dry and damaged. Use oil instead. \u003cstrong\u003eupstream of the bath\u003c\/strong\u003e,  not right before blow-drying.     \u003c\/div\u003e            \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e              \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eRevitalizing action \u0026amp; restructuring:\u003c\/strong\u003e Strengthens and rebuilds the coat from within.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eBrightness \u0026amp; velvety feel:\u003c\/strong\u003e It adds shine and softness to the coat from the first application.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eDetangler:\u003c\/strong\u003e Makes detangling and brushing easier — effective even on knots when dry.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eAnti-felting:\u003c\/strong\u003e Prevents knots and felting from returning between baths.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eRepair :\u003c\/strong\u003e Repairs broken and damaged hairs, strengthens the fiber in the long term.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eImproved growth:\u003c\/strong\u003e When used in papillotes and poultices, it improves growth and coat quality.\u003c\/li\u003e                  \u003cli\u003e✅  \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from babies to seniors.\u003c\/li\u003e              \u003c\/ul\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 3: ASSETS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eFour precious plant oils with complementary properties — paraben-free, silicone-free.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Argan Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eDerived from Argania Spinosa from Morocco. Antioxidant, moisturizing, elasticizing, and healing—easily absorbed thanks to its sebum-regulating, anti-aging properties. Rich in unsaturated fatty acids (linoleic, oleic), carotene, vitamin E, and sterols. Ideal for dry and frizzy coats.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Walnut Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRich in tannins, flavonoids, gallic and caffeic acids. Has purifying, antibacterial, antifungal and anti-inflammatory properties.Spreads quickly to smooth frizzy or unruly hair — ideal for preparing baths or masks.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Sunflower Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eCold-pressed, rich in oleic (32%) and linoleic (54%) acids and antioxidant vitamin E. Strengthens the skin's natural lipid barrier and prevents dehydration. Cell-regenerating—emollient, moisturizing, and rebalancing for sensitive or irritated skin.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Soybean (Corn) Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eExtracted from corn germ — light, emollient, and toning. Very well tolerated by dry skin. Rich in vitamin E, oleic acid, and linoleic acid — a natural anti-aging ingredient that balances the hydrolipidic film and brightens the coat, leaving it velvety.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 4: PROTOCOLS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/span\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 1 🔥 Integrator — in the pre-bath mask or conditioner\u003c\/span\u003e                  \u0026amp;SCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         The universal integration method:\u003cbr\u003e                  💫 In any \u003cstrong\u003epre-bath mask\u003c\/strong\u003e : \u003cstrong\u003e3 pressures of 4-element oil per liter\u003c\/strong\u003e of prepared product.\u003cbr\u003e                  💫 In the\u003cstrong\u003eHydrating Cream at the end of the bath\u003c\/strong\u003e :  add \u003cstrong\u003e1 press\u003c\/strong\u003e to enrich the conditioner.\u003cbr\u003e                  💫 For furs in severe condition: apply the Oils \u003cstrong\u003eup to 24 hours before the bath\u003c\/strong\u003e to maximize the time of action and the intensity of the benefits.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 2 🔥 Dry detangling — knots \u0026amp; feltings\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         To treat knots and matted areas without wetting the hair:\u003cbr\u003e                  💫 Apply the \u003cstrong\u003ePure 4 Element Oils directly onto the knot\u003c\/strong\u003e.  Allow it to penetrate for a few moments.\u003cbr\u003e                  💫 Brush gently with a soft bristle brush — the knot will come undone without pain or breakage.\u003cbr\u003e                  💫 On the \u003cstrong\u003edogs wrapped in foil or with elastic bands\u003c\/strong\u003e :  Upon opening, if the hair is knotted or matted, apply pure oil to the strand and brush with a soft brush.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 3 🔥 Papillotes \u0026amp; poultices — sprout \u0026amp; competition\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         For dogs in foil wraps or requiring long-term treatment for hair growth:\u003cbr\u003e                  💫 Use the Oils \u003cstrong\u003epure or mixed with Aqua Dolce + Hydrating Cream\u003c\/strong\u003e to prepare and wrap the strands.\u003cbr\u003e                  💫 The oil complex nourishes the fiber in a prolonged manner and improves the quality and density of regrowth over the weeks.\u003cbr\u003e                  💫 Ideal for competition preparation for breeds whose coat needs to be long, dense and shiny.       \u003c\/div\u003e          \u003c\/details\u003e          \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 4 🔥 Post-bath restorative conditioner — for very damaged coats\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         For intense restorative action after shampooing:\u003cbr\u003e         1. In a bowl, mix \u003cstrong\u003e10 drops of 4 Element Oils + 2 tablespoons of cream\u003c\/strong\u003e your choice: Hydrating Cream, Aqua Dolce or Extra Body Cream.\u003cbr\u003e         2. Dilute with \u003cstrong\u003e500 mL of hot water\u003c\/strong\u003e and mix well.\u003cbr\u003e         3. Apply evenly along the entire length of the hair.\u003cbr\u003e         4.On very damaged coats: leave to set \u003cstrong\u003e5 minutes under a gentle heat source\u003c\/strong\u003e To promote absorption, rinse thoroughly.\u003cbr\u003e         5. Dry at a low temperature, moderate air.\u003cbr\u003e\u003cbr\u003e                  \u003cem\u003eA simple alternative:\u003c\/em\u003e After bathing, rub a few drops onto the damp fur and dry without rinsing.       \u003c\/div\u003e          \u003c\/details\u003e      \u003c\/div\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/span\u003e            \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e              🤝  \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e as a pre-bath mask       🤝  \u003cstrong\u003eAll Special One shampoos\u003c\/strong\u003e ·       🤝  \u003cstrong\u003eHydrating Cream\/Aqua Dolce\u003c\/strong\u003e at the end of a bath or for wrapping in paper.     \u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"padding: 10px 0;\"\u003e✔️  \u003cstrong\u003eAll coats of all breeds, without exception\u003c\/strong\u003e — dogs and cats of all ages.\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Paraben-free, Silicone-free | Not tested on animals | Recyclable HDPE\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e    \u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"200 mL","offer_id":37819388887219,"sku":"WEX-4EL200 (145)","price":71.9,"currency_code":"EUR","in_stock":true},{"title":"50 mL","offer_id":37819388919987,"sku":"WEX-4EL50 (140)","price":37.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Nouvelleversiontailleproduits-21.png?v=1666170332"},{"product_id":"hygro-fluid","title":"HYGRO FLUID","description":"\u003cbody\u003e      \u003cmeta charset=\"UTF-8\"\u003e  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e  \u003ctitle\u003eHygro Fluid – Special One | Product Sheet\u003c\/title\u003e      \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOCK 1: INTRO --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e              \u003cstrong\u003eHYGRO FLUID\u003c\/strong\u003e is the Special One nourishing integrator designed for \u003cstrong\u003estrengthen and rebuild the coat\u003c\/strong\u003e.  Rich in precious plant oils, it plays a central role in balancing the hydrolipidic film and restoring the skin's flora. Its structure allows for \u003cstrong\u003ebetter absorption of the active ingredients of the products used afterwards\u003c\/strong\u003e — a natural amplifier for all your treatments.     \u003c\/div\u003e            \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eWho is this product for?\u003c\/span\u003e          \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEveryone will find it truly beneficial — this product enhances all coat types without exception. It perfectly complements the other two products in the range: \u003cstrong\u003eSuper Keeper and 4 Element Oils\u003c\/strong\u003e.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Groomers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Livestock farmers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Individuals\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Competitors\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e                      \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/span\u003e            \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eHygro Fluid cleanses the dermis, rebalances the skin flora, and prepares the skin to better absorb the active ingredients of subsequent skincare products. Its use beforehand amplifies the effectiveness of all products applied afterward—a role of \u003cstrong\u003enatural catalyst\u003c\/strong\u003e unique among the integrators in the range.\u003c\/p\u003e            \u003cdiv style=\"background: #fff8e1; border-left: 3px solid #f0a500; padding: 12px 15px; font-size: 13px; margin-bottom: 20px;\"\u003e              ⚠️ If you add too much Hygro Fluid after bathing without rinsing, be careful when blow-drying—the result could be too oily. It's best to use it as directed. \u003cstrong\u003eupstream\u003c\/strong\u003e bath.     \u003c\/div\u003e            \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5;\"\u003e              \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eRevitalizing action \u0026amp; restructuring:\u003c\/strong\u003e Strengthens and rebuilds the coat from within.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eBrightness \u0026amp; velvety feel:\u003c\/strong\u003e It adds shine and softness to the coat from the first application.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eDetangler:\u003c\/strong\u003e Makes detangling and brushing easier, prevents knots and matting from returning.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eRepair :\u003c\/strong\u003e Repairs broken hairs and strengthens the fiber in the long term.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eSkin protection:\u003c\/strong\u003e Protects the skin from aggressions and dirt by rebalancing the hydrolipidic film.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eExam preparation:\u003c\/strong\u003e Prepare the furs for a ring presentation — optimal results in synergy with other integrators.\u003c\/li\u003e                  \u003cli\u003e✅  \u003cstrong\u003eUniversal:\u003c\/strong\u003e Suitable for dogs and cats of all ages, from babies to seniors.\u003c\/li\u003e              \u003c\/ul\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 3: ASSETS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA concentrate of precious plant oils with moisturizing, protective and anti-aging properties — paraben-free, silicone-free.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Rice Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eAntioxidant and natural UV filter — absorbs UV rays and protects hair and skin from sun damage.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Rose Seed Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRevitalizing and protective — deeply nourishes the skin, promotes cell regeneration and strengthens the natural defenses of the dermis.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Omega 3 \u0026amp; 6\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eVitamin and anti-aging for hair — nourish and strengthen the hair fiber, improving elasticity, shine and long-term resistance.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 4: PROTOCOLS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/span\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 1 🔥 Incorporate into the pre-bath mask or shampoo\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         The daily integration method:\u003cbr\u003e                  💫 In the \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e :  add \u003cstrong\u003e1 to 2 tablespoons of Hygro Fluid per liter\u003c\/strong\u003e of prepared mask — it amplifies the moisturizing action of the mask from the pre-bath phase.\u003cbr\u003e                  💫 In the \u003cstrong\u003eshampoo\u003c\/strong\u003e :  add \u003cstrong\u003e1 tablespoon\u003c\/strong\u003e directly into your usual shampoo (unless you are looking for maximum volume).\u003cbr\u003e                  💫 For furs in very poor condition: apply Hygro Fluid \u003cstrong\u003eup to 24 hours before the bath\u003c\/strong\u003e to maximize the penetration of the assets.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 2 🔥 Conditioner enrichment\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         To enrich the final conditioner:\u003cbr\u003e                  💫 Add \u003cstrong\u003e1 to 2 pumps of Hygro Fluid into the Hydrating Cream\u003c\/strong\u003e at the end of the bath.\u003cbr\u003e         The oil complex enriches the conditioner and improves the softness, velvety feel and hold of the hair after drying.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 3 🔥 Skin program — fighting skin problems\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         Hygro Fluid is a key element of the skin problem prevention program:\u003cbr\u003e         1. \u003cstrong\u003eBio Energy Plus + Hygro Fluid\u003c\/strong\u003e as a pre-bath mask (20 min application) — the duo rebalances the hydrolipidic film and prepares the skin to absorb the following treatment.\u003cbr\u003e         2. Shampoo with \u003cstrong\u003eSkincare Pro\u003c\/strong\u003e.\u003cbr\u003e         3. Finalize with \u003cstrong\u003eHydrating Cream + 1 pump of Hygro Fluid\u003c\/strong\u003e.\u003cbr\u003e         This trio (Bio Energy + Hygro Fluid + Skincare Pro) is the benchmark for chronically unbalanced skin.       \u003c\/div\u003e          \u003c\/details\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 5: ASSOCIATIONS \u0026  RACES --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/span\u003e            \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eThe entire Special One range is compatible with Hygro Fluid. Our favorite combinations:\u003c\/p\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003e              🤝  \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e as a pre-bath mask (fundamental association)       🤝  \u003cstrong\u003eAll Special One shampoos\u003c\/strong\u003e ·       🤝  \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e at the end of the bath     \u003c\/p\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px; padding: 10px 14px; background: #f9f9f9; border: 1px solid #eee;\"\u003e              💛 Perfectly complementary to the other two integrators: \u003cstrong\u003eSuper Keeper\u003c\/strong\u003e And \u003cstrong\u003e4 Element Oils\u003c\/strong\u003e — the three work in symbiosis for complete action on all furs.     \u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"padding: 10px 0;\"\u003e✔️  \u003cstrong\u003eAll coats of all breeds, without exception\u003c\/strong\u003e — dogs and cats of all ages.\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Paraben-free, Silicone-free | Not tested on animals | Recyclable HDPE\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e    \u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":37819389083827,"sku":"WEX-HYG 020 (38)","price":77.5,"currency_code":"EUR","in_stock":true},{"title":"250 mL","offer_id":37819389116595,"sku":"WEX-HYG250 (36)","price":36.3,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/hygrofluid_7d67bda4-a773-40c0-a567-df3b744fc2b2.png?v=1680256952"},{"product_id":"hydrating-cream-masque-final-sublimateur","title":"HYDRATING CREAM, sublimating final mask","description":"\u003c!-- ============================================== DESIGN SYSTEM — Visual Refinement ============================================= --\u003e  \u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003c!-- BLOCK 1: INTRO --\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e  \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e  \u003cstrong\u003eHYDRATING CREAM\u003c\/strong\u003e is the \u003cstrong\u003eSpecial One's best-selling professional moisturizing mask of all time\u003c\/strong\u003e.  Essential for discovering the range.\u003c\/div\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eWho is this product for?\u003c\/h2\u003e  \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEssential for \u003cstrong\u003eall races\u003c\/strong\u003e,  particularly for the \u003cstrong\u003econditioning of fringes and beards\u003c\/strong\u003e and coats requiring a \u003cstrong\u003edeep hydration\u003c\/strong\u003e.\u003c\/p\u003e  \u003cdiv class=\"aqr-audience\"\u003e  \u003cdiv class=\"aqr-audience-grid\"\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eGroomers\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eLivestock farmers\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eIndividuals\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eCompetitors\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-audience-card\"\u003e  \u003cdiv class=\"aqr-audience-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/h2\u003e  \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eA \u003cstrong\u003eformulation enriched with natural active ingredients\u003c\/strong\u003e to nourish and revitalize with a \u003cstrong\u003eanti-aging effect\u003c\/strong\u003e.  Excerpts from \u003cstrong\u003esilk\u003c\/strong\u003e They provide exceptional shine for a vibrant color.\u003c\/p\u003e  \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e  \u003cdiv class=\"aqr-benefits-grid\"\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 4h16v6M4 4v3M8 4v3M12 4v3M16 4v3M20 4v3M4 10h16l-2 10H6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eDetangling\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eMakes brushing easier and \u003cstrong\u003eavoids the return of the knots\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M4 9h12a3 3 0 1 0-3-3\"\u003e\u003c\/path\u003e\u003cpath d=\"M4 14h16a3 3 0 1 1-3 3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eSpeed\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eSignificantly reduces the \u003cstrong\u003edrying time\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 3v2M12 19v2M3 12h2M19 12h2M5.6 5.6l1.4 1.4M17 17l1.4 1.4M5.6 18.4l1.4-1.4M17 7l1.4-1.4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eProtection\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003e  \u003cstrong\u003eUV filter\u003c\/strong\u003e and action \u003cstrong\u003eanti-fork\u003c\/strong\u003e to preserve the tips.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eHealth\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eMaintains the\u003cstrong\u003eskin elasticity\u003c\/strong\u003e and perfectly healthy skin.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e  \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-content\"\u003e  \u003cdiv class=\"aqr-benefit-title\"\u003eVitality\u003c\/div\u003e  \u003cdiv class=\"aqr-benefit-desc\"\u003eTexture plus \u003cstrong\u003eflexible and sheathed\u003c\/strong\u003e from the very first application.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- RADAR UNIT (moved under Expertise) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eBetter understand the actions of Hydrating Cream\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed breakdown of its cosmetic performance, note by note.\u003c\/p\u003e  \u003cdiv id=\"so-radar-widget\" style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\"\u003e  \u003cdiv style=\"padding: 16px 28px; overflow: visible;\"\u003e  \u003cdiv id=\"so-radar-area\" style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\"\u003e\u003csvg id=\"so-radar-svg\" style=\"width: 100%; height: 100%; overflow: visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 5 }, { label: \"Brillance\", value: 4 }, { label: \"Démêlant\", value: 4 }, { label: \"Volume\", value: 3 }, { label: \"Soin peau\", value: 4 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e  \u003c!-- BLOCK 3: COMPOSITION (MAPPING JS active ingredients Hydrating Cream - verified) --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition of the Hydrating Cream: 4 pairs of synergistic active ingredients\u003c\/h2\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA \u003cstrong\u003esophisticated formulation\u003c\/strong\u003e which penetrates to the heart of the fiber for total regeneration — four pairs of active ingredients with complementary properties.\u003c\/p\u003e  \u003c!-- MAPPING --\u003e  \u003cdiv id=\"aqr-carto\" style=\"background: #fff; border: 1px solid #e5e5e5; padding: 18px;\"\u003e  \u003cdiv class=\"aqr-grid\"\u003e  \u003cdiv class=\"aqr-col-list\"\u003e  \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-schema\"\u003e  \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e  \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display: block; width: 100%; height: auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l’Hydrating Cream\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e  \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e  \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-col-info\"\u003e  \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e  \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'argan', label:'Argan \u0026amp; Macadamia', latin:'Huiles précieuses', family:'botanic',\n          desc:\"Duo d’huiles précieuses : nutrition intense, hydratation et élasticité grâce à l’acide palmitoléique (rare et précieux).\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition intense\", benefit:\"Nourrit la fibre en profondeur et apporte souplesse et élasticité.\" },\n            { anchor:'cuticule', action:\"Hydratation lipidique\", benefit:\"Lisse la cuticule et restitue brillance et toucher gainé.\" }\n          ]\n        },\n        {\n          id:'soie', label:'Soie \u0026amp; Collagène', latin:'Protéines structurantes', family:'aqua',\n          desc:\"Duo restructurant : la \u003cstrong\u003esoie\u003c\/strong\u003e dépose un film protecteur et confère une brillance exceptionnelle ; le \u003cstrong\u003ecollagène\u003c\/strong\u003e restructure la fibre en profondeur.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Restructuration\", benefit:\"Renforce la structure interne et restaure la cohésion du poil.\" },\n            { anchor:'cuticule', action:\"Brillance éclatante\", benefit:\"Dépose un film protecteur soyeux — signature « brillance » du produit.\" }\n          ]\n        },\n        {\n          id:'ginseng', label:'Ginseng \u0026amp; Fucus', latin:'Plantes adaptogènes \u0026amp; marines', family:'bio',\n          desc:\"Duo régénérant : le \u003cstrong\u003eginseng\u003c\/strong\u003e antioxydant tonifie et oxygène ; le \u003cstrong\u003efucus\u003c\/strong\u003e (algue brune) reminéralise et participe à la régénération cellulaire.\",\n          targets: [\n            { anchor:'derme', action:\"Régénération cellulaire\", benefit:\"Soutient la régénération profonde et l’oxygénation cutanée.\" },\n            { anchor:'epiderme', action:\"Action antioxydante\", benefit:\"Protège des stress oxydatifs — effet anti-âge.\" }\n          ]\n        },\n        {\n          id:'proteines', label:'Protéines végétales \u0026amp; Vitamine E', latin:'Bouclier protecteur', family:'cond',\n          desc:\"Duo protecteur : les \u003cstrong\u003eprotéines végétales\u003c\/strong\u003e hydratent l’épiderme ; la \u003cstrong\u003evitamine E\u003c\/strong\u003e protège les cellules contre les radicaux libres.\",\n          targets: [\n            { anchor:'epiderme', action:\"Protection cellulaire\", benefit:\"Hydrate l’épiderme et le protège des radicaux libres.\" },\n            { anchor:'film_hydro', action:\"Apport humectant\", benefit:\"Restaure le film hydrolipidique et maintient l’hydratation.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e  \u003c!-- STORYTELLING INSERT: Historical Bestseller --\u003e  \u003cdiv style=\"margin-top: 25px; padding: 22px 24px; background: #fff; border-left: 3px solid #1d1d1f;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin-bottom: 12px; display: block;\"\u003e✨ The signature Hydrating Cream\u003c\/span\u003e  \u003cp style=\"font-size: 14px; margin: 0 0 10px; font-weight: 600;\"\u003eSpecial One's all-time bestseller\u003c\/p\u003e  \u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eL'\u003cstrong\u003eHydrating Cream\u003c\/strong\u003e is the best-selling professional moisturizing mask in Special One's history — the product that introduced the brand to thousands of groomers. Its formula is based on the \u003cstrong\u003esilk extracts\u003c\/strong\u003e,  which deposit a silky protective film and give the coat a \u003cstrong\u003eExceptional shine for a vibrant color\u003c\/strong\u003e.  It is \u003cem\u003ethere\u003c\/em\u003e entry point to the range.\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- BLOCK 4: PROTOCOLS --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/h2\u003e  \u003c!-- DILUTION P4: 3 simple cards (Ratio · Yield · Animated Equivalences) --\u003e  \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e  \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eReference dilution\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-grid\"\u003e  \u003c!-- CARD 1: Ratio --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e60\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-note\"\u003e1 teaspoon to 2 tablespoons\u003cbr\u003eper liter depending on the result\u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- MAP 2: Yield --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eYield\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e150 mL\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 9 L\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e500 mL\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 30 L\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e3 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 180 L\u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-note\"\u003eready to use\u003c\/div\u003e  \u003c\/div\u003e  \u003c!-- CARD 3: Animated Equivalencies --\u003e  \u003cdiv class=\"aqr-dilution-cell\"\u003e  \u003cdiv class=\"aqr-dilution-cell-label\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e finished product\u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cstrong id=\"aqrCycleMl\"\u003e17\u003c\/strong\u003e mL \u003cspan\u003ein volume\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleG\"\u003e17\u003c\/strong\u003e g \u003cspan\u003ein weight\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleSpoon\"\u003e1\u003c\/strong\u003e  \u003cspan id=\"aqrCycleSpoonLabel\"\u003etablespoon\u003c\/span\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '17', g: '17', spoon: '1' },\n        { target: '2 L', ml: '33', g: '33', spoon: '2' },\n        { target: '4 L', ml: '67', g: '67', spoon: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          [targetEl, mlEl, gEl, spoonEl, spoonLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e  \u003c!-- METHOD OF PREPARATION BLOCK (infographic, not a protocol) --\u003e  \u003cdiv class=\"aqr-method-box\"\u003e  \u003cdiv class=\"aqr-method-eyebrow\"\u003e🛠️ Preparation method\u003c\/div\u003e  \u003ch3 class=\"aqr-method-title\"\u003eMaking perfect cream in 6 steps — homemade tips\u003c\/h3\u003e  \u003cp class=\"aqr-method-subtitle\"\u003eThis anti-clumping method is the basis of \u003cstrong\u003e3 protocols below\u003c\/strong\u003e — a single movement to master.\u003c\/p\u003e  \u003col class=\"aqr-method-grid\"\u003e  \u003cli class=\"aqr-method-step\"\u003e  \u003cdiv class=\"aqr-method-num\"\u003e01\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-title\"\u003eDosage\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-desc\"\u003eTake \u003cstrong\u003e1 spoon\u003c\/strong\u003e of cream in a bowl or a shaker.\u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-method-step\"\u003e  \u003cdiv class=\"aqr-method-num\"\u003e02\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-title\"\u003eOil \u003cspan class=\"aqr-method-opt\"\u003e(option)\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-desc\"\u003eIf residual nodes: \u003cstrong\u003e1 Oil Pressure 4 Elements\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-method-step\"\u003e  \u003cdiv class=\"aqr-method-num\"\u003e03\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-title\"\u003eWater \u003cem\u003every\u003c\/em\u003e hot\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-desc\"\u003eApproximately \u003cstrong\u003e5 cm of very hot water\u003c\/strong\u003e — essential for \u003cstrong\u003edissolve the oils\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-method-step\"\u003e  \u003cdiv class=\"aqr-method-num\"\u003e04\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-title\"\u003eEmulsify\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-desc\"\u003e  \u003cstrong\u003eA whisk or blender is essential!\u003c\/strong\u003e Shake\/mix until a homogeneous emulsion is formed.\u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-method-step\"\u003e  \u003cdiv class=\"aqr-method-num\"\u003e05\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-title\"\u003eBio Energy Plus \u003cspan class=\"aqr-method-opt\"\u003e(option)\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-desc\"\u003e  \u003cstrong\u003e2 pumps of Bio Energy Plus\u003c\/strong\u003e to boost the moisturizing effect.\u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-method-step\"\u003e  \u003cdiv class=\"aqr-method-num\"\u003e06\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-title\"\u003eComplete \u0026amp; apply\u003c\/div\u003e  \u003cdiv class=\"aqr-method-step-desc\"\u003eTop up with lukewarm water, mix well, apply. \u003cstrong\u003eDo not rinse (or rinse very little)\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003cdiv class=\"aqr-method-tip\"\u003e  \u003cspan class=\"aqr-method-tip-icon\"\u003e💡\u003c\/span\u003e  \u003cstrong\u003eOur advice:\u003c\/strong\u003e Unlike other creams, the Hydrating Cream reveals itself fully \u003cstrong\u003ewithout rinsing (or with a very light rinse)\u003c\/strong\u003e — this is what allows the silky film to adhere properly to the fiber.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-method-box {\n        background: #f5f5f7;\n        border: 1px solid #e5e5e7;\n        border-radius: 14px;\n        padding: 22px 24px 24px;\n        margin-bottom: 18px;\n        font-family: inherit;\n      }\n      .aqr-method-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 600;\n        margin-bottom: 8px;\n      }\n      .aqr-method-title {\n        font-size: 18px;\n        font-weight: 600;\n        color: #1d1d1f;\n        margin: 0 0 6px;\n        line-height: 1.3;\n      }\n      .aqr-method-subtitle {\n        font-size: 13px;\n        color: #6e6e73;\n        margin: 0 0 18px;\n        line-height: 1.5;\n      }\n      .aqr-method-grid {\n        list-style: none;\n        margin: 0;\n        padding: 0;\n        display: grid;\n        grid-template-columns: repeat(6, 1fr);\n        gap: 10px;\n      }\n      .aqr-method-step {\n        background: #fff;\n        border: 1px solid #e5e5e7;\n        border-radius: 10px;\n        padding: 14px 12px;\n        display: flex;\n        flex-direction: column;\n        gap: 6px;\n        position: relative;\n      }\n      .aqr-method-step + .aqr-method-step::before {\n        content: '→';\n        position: absolute;\n        left: -10px;\n        top: 50%;\n        transform: translateY(-50%);\n        color: #c2a85c;\n        font-weight: 600;\n        font-size: 12px;\n        background: #f5f5f7;\n        padding: 0 3px;\n      }\n      .aqr-method-num {\n        font-size: 11px;\n        font-weight: 700;\n        color: #c2a85c;\n        letter-spacing: 0.1em;\n      }\n      .aqr-method-step-title {\n        font-size: 13px;\n        font-weight: 600;\n        color: #1d1d1f;\n      }\n      .aqr-method-opt {\n        font-weight: 400;\n        color: #86868b;\n        font-size: 11px;\n      }\n      .aqr-method-step-desc {\n        font-size: 12px;\n        line-height: 1.45;\n        color: #515154;\n      }\n      .aqr-method-tip {\n        margin-top: 16px;\n        padding: 12px 14px;\n        background: #fff;\n        border-left: 3px solid #c2a85c;\n        border-radius: 6px;\n        font-size: 12.5px;\n        color: #515154;\n        line-height: 1.55;\n      }\n      .aqr-method-tip-icon {\n        margin-right: 4px;\n      }\n      @media (max-width: 900px) {\n        .aqr-method-grid { grid-template-columns: repeat(2, 1fr); }\n        .aqr-method-step + .aqr-method-step::before { display: none; }\n      }\n      @media (max-width: 480px) {\n        .aqr-method-grid { grid-template-columns: 1fr; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eQuick grooming \u0026amp; effective\u003c\/span\u003eBasic use — everyday use in the living room\u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e  \u003cdiv class=\"aqr-proto-body\"\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eMix\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eMix the Hydrating Cream with a \u003cstrong\u003ehot water base\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eHomogenize\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eShake or blend to homogenize.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eComplete\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eTop up with lukewarm water and apply.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e⚡\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eLightweight\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003e  \u003cstrong\u003e1 teaspoon per liter\u003c\/strong\u003e + optional rinsing.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e⚡\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eNo more lead\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003e  \u003cstrong\u003e1 to 2 tablespoons per liter\u003c\/strong\u003e + no rinsing required.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eIntensive restructuring\u003c\/span\u003eFor very damaged hair — intensive treatment\u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e  \u003cdiv class=\"aqr-proto-body\"\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003ePrepare the mixture\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eOn washed and wrung-out fur: \u003cstrong\u003e1 tablespoon + 20 drops of 4 Elements Oil\u003c\/strong\u003e In \u003cstrong\u003e2 liters of hot water\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eDistribute\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eDistribute along the entire length and leave on for a few minutes while brushing.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eHeat boost\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003e💡  \u003cstrong\u003eTrick :\u003c\/strong\u003e For very damaged hair, apply the \u003cstrong\u003eunder a heat source\u003c\/strong\u003e (hair dryer, lamp) to activate penetration.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eRinse\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse thoroughly.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails class=\"aqr-proto-acc\"\u003e  \u003csummary class=\"aqr-proto-summary\"\u003e\u003cspan class=\"aqr-proto-title\"\u003eExhibition Preparation\/Wrapping\u003c\/span\u003eThe Competitors' and Handlers' Ritual\u003csvg class=\"aqr-proto-plus\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12h14\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/summary\u003e  \u003cdiv class=\"aqr-proto-body\"\u003e  \u003col class=\"aqr-proto-steps\"\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eMix the trio\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAfter the bath: \u003cstrong\u003e1 tablespoon of Hydrating Cream + 1 tablespoon of Hygrofluid + a few drops of 4 Elements\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eApply\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply to the \u003cstrong\u003ebangs and beard\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003eComb\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003ePaint with a \u003cstrong\u003epin brush\u003c\/strong\u003e.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003cli class=\"aqr-proto-step\"\u003e  \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e  \u003cdiv\u003e  \u003cdiv class=\"aqr-proto-step-title\"\u003ePapillotes\u003c\/div\u003e  \u003cdiv class=\"aqr-proto-step-desc\"\u003eLeave in place \u003cstrong\u003eunder foil packets\u003c\/strong\u003e — up to a maximum of 1 week.\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/li\u003e  \u003c\/ol\u003e  \u003c\/div\u003e  \u003c\/details\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\u003cbr\u003e\u003c\/div\u003e  \u003c!-- BLOCK 5: ASSOCIATIONS \u0026  RACES --\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/h2\u003e  \u003c!-- Villanelle at the heart + modular supplements If... → Then --\u003e  \u003cdiv class=\"aqr-assoc\"\u003e  \u003cp class=\"aqr-assoc-intro\"\u003eThe Hydrating Cream makes \u003cstrong\u003eunanimity on a wide variety of breeds\u003c\/strong\u003e.  Ideal for the \u003cstrong\u003econditioning of fringes and beards\u003c\/strong\u003e,  and the \u003cstrong\u003etreatment during seasonal molting\u003c\/strong\u003e.\u003c\/p\u003e  \u003cdiv class=\"aqr-assoc-rules\"\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eLightweight volume desired…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003e1 tsp\/L + optional rinsing\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eThe desired heavy, oppressive effect...\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003e1 to 2 tbsp.tablespoon\/L + no rinsing\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003every damaged hair…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eIntensive restructuring (+ 4 Elements Oil + heat)\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003epreparation for a show or wrapping…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eHydrating + Hygrofluid + 4 Elements blend in foil packets\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-rule\"\u003e  \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eDifficult to untangle as a duo…\u003c\/span\u003e  \u003c\/div\u003e  \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eVillanelle (for loosening) + Hydrating Cream (for finishing)\u003c\/strong\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003c!-- Races in rounded pills --\u003e  \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Hydrating Cream makes the difference:\u003c\/h3\u003e  \u003cdiv class=\"aqr-races-mosaic\"\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐱 All Cats \u0026amp; Tibetan Races \u003cspan\u003e(Shih-Tzu, Lhasa…)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐶 Cocker Spaniels, Spaniels \u0026amp; Cavalier King Charles \u003cspan\u003e(bangs and beards)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐕 Shepherds, Retrievers, Spitz \u0026amp; Eurasians \u003cspan\u003e(seasonal molt)\u003c\/span\u003e\u003c\/span\u003e  \u003cspan class=\"aqr-race-tag\"\u003e🐩 Terriers, Poodles, Bichons \u0026amp; Yorkshires \u003cspan\u003e(curly and long hair)\u003c\/span\u003e\u003c\/span\u003e  \u003c\/div\u003e  \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eHydrating Cream is universally acclaimed — the historic entry point to the Special One range.\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e  \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e  \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | SLES, DEA, Paraben, and Silicone Free | Not Tested on Animals | HDPE Recyclable\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"500 mL","offer_id":37819389739187,"sku":"WEX-HYD500 (20)","price":46.5,"currency_code":"EUR","in_stock":true},{"title":"1 Liter","offer_id":37819389673651,"sku":"WEX-HYD1 (22)","price":72.7,"currency_code":"EUR","in_stock":true},{"title":"3 Liters","offer_id":37819389706419,"sku":"WEX-HYD3 (24)","price":181.8,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/HydratingCream.png?v=1680188791"},{"product_id":"aquapure-chlorexidine-propolis","title":"AQUAPURE PRO - 1st washing and disinfecting shampoo","description":"\u003c!-- ============================================== DESIGN SYSTEM — Visual Refinement ============================================= --\u003e  \u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOCK 1: INTRO --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e              \u003cstrong\u003eAQUAPURE PRO\u003c\/strong\u003e is the Special One shampoo \u003cstrong\u003estrongest washing power in the range\u003c\/strong\u003e.  It cleans even the dirtiest animals very thoroughly and allows for a \u003cstrong\u003eepidermal reset\u003c\/strong\u003e thanks to its natural antiseptic properties — without ever harming the skin or hair.     \u003c\/div\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eWho is this product for?\u003c\/h2\u003e          \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find something of real interest in it — \u003cstrong\u003eparticularly indispensable for difficult cases and extreme situations\u003c\/strong\u003e in a salon or on a farm.\u003c\/p\u003e            \u003cdiv class=\"aqr-audience\"\u003e              \u003cdiv class=\"aqr-audience-grid\"\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eGroomers\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eLivestock farmers\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eIndividuals\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eCompetitors\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/h2\u003e          \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eEnriched with \u003cstrong\u003epropolis\u003c\/strong\u003e — “the natural antibiotic” — and in \u003cstrong\u003echlorhexidine\u003c\/strong\u003e,  The Aquapure Pro combines the highest cleaning power in the range with properties \u003cstrong\u003elong-lasting antiseptics, antibacterials and antifungals\u003c\/strong\u003e.  Ultra effective in the most extreme situations, yet it respects the skin's natural hydrolipidic balance and pH.\u003c\/p\u003e          \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e              \u003cdiv class=\"aqr-benefits-grid\"\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eMaximum washing power\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eThe strongest in the range: deeply cleans and sanitizes even the toughest cases.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eRespect for the skin\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eIt preserves the natural hydrolipidic balance and pH despite its cleansing power.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3c3 4 5 6 5 9a5 5 0 0 1-10 0c0-1.6.6-3 1.6-4.2 0 1.2.7 2 1.5 2 .9 0 1.1-1 .6-2.3C12.3 6.6 12 4.8 12 3z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eExtreme cases\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eEffective on males with urine, very unkempt coats, pollution and deep dirt.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eEpidermal reset\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eSoothing, purifying and antiseptic properties to start with healthy skin.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 8v8M8 12h8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eAntibacterial \u0026amp; antifungal\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eLong-lasting action against bacteria, yeasts and fungi — both curative and preventative.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12z\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"3\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eVisible result\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eCleaner, healthier and shinier coat from the first use.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e          \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e      \u003c\/div\u003e        \u003c!-- RADAR UNIT (moved under Expertise) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eBetter understand the actions of Aquapure Pro\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed breakdown of its cosmetic performance, note by note.\u003c\/p\u003e          \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e              \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e                                    \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e                      \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e                  \u003c\/div\u003e                  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e        \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 4 }, { label: \"Démêlant\", value: 3 }, { label: \"Texture\", value: 1 }, { label: \"Soin peau\", value: 5 }, { label: \"Lavant\", value: 5 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e        \u003c!-- BLOCK 3: COMPOSITION (MAPPING JS active ingredients Aquapure Pro - verified) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition of Aquapure Pro: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA formula focused on antiseptic efficacy and skin-friendly properties — \u003cstrong\u003eSLES-free, paraben-free, silicone-free\u003c\/strong\u003e.  Here, zone by zone, is how each active ingredient acts on the skin and hair.\u003c\/p\u003e            \u003c!-- MAPPING --\u003e          \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e              \u003cdiv class=\"aqr-grid\"\u003e                    \u003cdiv class=\"aqr-col-list\"\u003e                      \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-schema\"\u003e                      \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e                          \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l'Aquapure Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e                          \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e                          \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-info\"\u003e                      \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e            \u003c\/div\u003e            \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e            \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'propolis', label:'Propolis', latin:'« L’antibiotique naturel »', family:'botanic',\n          desc:\"Résine récoltée par les abeilles, purifiante et revitalisante : propriétés apaisantes, purifiantes et antiseptiques reconnues depuis l’Antiquité. Idéale pour les peaux sensibles ou sujettes aux irritations.\",\n          targets: [\n            { anchor:'epiderme', action:\"Assainissant naturel\", benefit:\"Purifie et apaise les peaux sensibles ou sujettes aux irritations.\" },\n            { anchor:'glande_seb', action:\"Action antiseptique\", benefit:\"Limite la prolifération microbienne au niveau du film cutané.\" }\n          ]\n        },\n        {\n          id:'chlorhexidine', label:'Chlorhexidine', latin:'Antiseptique de référence', family:'bio',\n          desc:\"Antibactérien puissant à effet durable, également antifongique : prévient la prolifération des micro-organismes et le développement d’infections cutanées, y compris sur les peaux sèches et squameuses.\",\n          targets: [\n            { anchor:'epiderme', action:\"Antibactérien \u0026 antifongique\", benefit:\"Prévient bactéries, levures et champignons — effet durable, en curatif comme en préventif.\" },\n            { anchor:'glande_sud', action:\"Désinfection profonde\", benefit:\"Assainit la peau dans les situations extrêmes (peau macérée ou négligée).\" }\n          ]\n        },\n        {\n          id:'panthenol', label:'Panthénol (Provitamine B5)', latin:'Panthénol', family:'cond',\n          desc:\"Renforce et régénère le poil : il restitue brillance et vitalité tout en améliorant la structure de la fibre.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Régénération de la fibre\", benefit:\"Renforce le poil et améliore la structure de la fibre.\" },\n            { anchor:'cuticule', action:\"Brillance \u0026 vitalité\", benefit:\"Lisse la surface et restitue brillance et vitalité au poil.\" }\n          ]\n        },\n        {\n          id:'glycurea', label:'Glycérine \u0026 Urée', latin:'Humectants', family:'aqua',\n          desc:\"Agents hydratants et humectants : ils maintiennent la peau et le poil souples et élastiques malgré l’intensité du nettoyage.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Hydratation humectante\", benefit:\"Captent et retiennent l’eau pour préserver le confort de surface.\" },\n            { anchor:'epiderme', action:\"Souplesse préservée\", benefit:\"Maintiennent l’élasticité cutanée malgré la puissance lavante.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e        \u003c\/div\u003e        \u003c!-- BLOCK 4: PROTOCOLS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/h2\u003e          \u003c!-- DILUTION P4: 3 simple cards (Ratio · Yield · Animated Equivalencies) --\u003e          \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e              \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eReference dilution\u003c\/div\u003e                \u003cdiv class=\"aqr-dilution-grid\"\u003e                    \u003c!-- CARD 1: Ratio --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eOne part for every 20 parts water\u003cbr\u003e1\/10 if intense antiseptic action\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- MAP 2: Yield --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eYield\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e250 mL\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e1 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e5 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eready to use\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- CARD 3: Animated Equivalencies --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e finished product\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003ein volume\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003ein weight\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e  \u003cspan id=\"aqrCycleSpoonLabel\"\u003etablespoons\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e  \u003cspan id=\"aqrCyclePumpLabel\"\u003epump pressures\u003c\/span\u003e  \u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e            \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e                                      \u003cdetails class=\"aqr-proto-acc\" open\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eIntensive cleaning — for very dirty or neglected animals\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eFor very neglected furs, males with urine, pollution or deep dirt\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eIntensive washing\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Aquapure Pro \u003cstrong\u003ediluted to 1\/10\u003c\/strong\u003e (intense action) on wet hair. Massage thoroughly, then rinse.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond conditioning shampoo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFollow up with a \u003cstrong\u003esecond, gentler shampoo\u003c\/strong\u003e — \u003cstrong\u003eBain Pro, Aquarosa Pro or 4Poodle\u003c\/strong\u003e — for conditioning after cleaning.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eFinishing\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalize with \u003cstrong\u003eHydrating Cream, Bombastic or Aqua Dolce\u003c\/strong\u003e depending on the fur's needs.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e                \u003cdetails class=\"aqr-proto-acc\"\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eResetting the epidermis — skin to be cleansed\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eTo restore healthy skin after macerated, neglected, or unbalanced skin\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003ePre-bath mask\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003ePrepare with the pre-bath mask \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e to amplify the restorative action.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eNo-rinse application\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply Aquapure Pro directly \u003cstrong\u003ewithout rinsing the mask\u003c\/strong\u003e.  Leave on for a few moments, then massage.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eRinsing \u0026amp; renewal\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse thoroughly, then repeat the shampooing if necessary.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eRestorative finish\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalize with \u003cstrong\u003eHydrating Cream + 4 Element Oils\u003c\/strong\u003e to restore the protective film.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e                \u003cdetails class=\"aqr-proto-acc\"\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eChoose Aquapure Pro if you need…\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eSituations where the Aquapure Pro makes all the difference\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eDeep cleaning\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eThe dirtiest and most neglected furs.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eReset the skin\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eThanks to its antiseptic and antifungal properties.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eDisinfecting in exceptional circumstances\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eHair removal on very dirty skin requiring disinfection of the epidermis.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003ePrevent\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eTo prevent the growth of bacteria, yeast or fungi on skin that has been macerated or neglected.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e          \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e                \u003c\/div\u003e        \u003c!-- BLOCK 5: ASSOCIATIONS \u0026  RACES --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/h2\u003e          \u003c!-- Aquapure Pro at its core + modular supplements If... → Then --\u003e          \u003cdiv class=\"aqr-assoc\"\u003e              \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eThe entire Special One range\u003c\/strong\u003e is compatible with the Aquapure Pro.Our favorite alliances:\u003c\/p\u003e                \u003cdiv class=\"aqr-assoc-rules\"\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA second, gentler shampoo is recommended…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eBain Pro · Aquarosa Pro · 4Poodle\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA restorative pre-bath mask is desired…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA final treatment is necessary…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA showroom finish is desired…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e            \u003c!-- Races in rounded pills --\u003e          \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere the Aquapure Pro makes the difference:\u003c\/h3\u003e          \u003cdiv class=\"aqr-races-mosaic\"\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐶 All dogs \u003cspan\u003e(without exception)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐱 All cats \u003cspan\u003e(without exception)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e💧 Marker males \u0026amp; urine\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🌫️ Pollution \u0026amp; deep dirt\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🩹 Macerated or neglected skin\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e✂️ Hair removal on skin that needs to be cleansed\u003c\/span\u003e          \u003c\/div\u003e          \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eThe most powerful cleaning in the range — with no compromise on gentleness towards skin and hair.\u003c\/p\u003e            \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | SLES, DEA, Paraben, and Silicone Free | Not Tested on Animals | HDPE Recyclable\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e","brand":"PetDesign shop","offers":[{"title":"250 mL","offer_id":40196766924979,"sku":"WAQ-AQPU250 (16)","price":22.9,"currency_code":"EUR","in_stock":true},{"title":"5 L","offer_id":40196766957747,"sku":"WAQ-AQPU5000 (14)","price":128.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Aquapure_13bcd1a0-6daf-4a4c-a84a-2b55145279af.png?v=1680253861"},{"product_id":"mix-pink-conditionner-bi-phase","title":"MIX PINK, Bi-phase conditioning","description":"\u003cbody\u003e      \u003cmeta charset=\"UTF-8\"\u003e  \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e  \u003ctitle\u003eMix Pink – Special One | Product Details\u003c\/title\u003e      \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOCK 1: INTRO --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e              \u003cstrong\u003ePINK MIX\u003c\/strong\u003e is Special One's bi-phase anti-static conditioning spray, a bestseller in the Expert Line range. Its unique formula—enriched with macadamia oil and lanolin—acts like a \u003cstrong\u003epowerful coat restructuring and disciplining agent\u003c\/strong\u003e :  The hair regains tone, hydration and shine without being weighed down or greasy.     \u003c\/div\u003e            \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eWho is this product for?\u003c\/span\u003e          \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eIdeal for all long and fringed coats — and indispensable for fine, woolly furs with high electrostatic potential.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Groomers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Livestock farmers\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Individuals\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Competitors\u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e                      \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Results\u0026amp;            \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts \u003cstrong\u003etwo-phase formula\u003c\/strong\u003e The key to its effectiveness lies in the fact that, after shaking, the two phases—oily and aqueous—allow the oils to spread evenly over the hair. \u003cstrong\u003ewithout greasing\u003c\/strong\u003e,  while neutralizing electrostatic charge. The product dries quickly, does not accumulate and does not \u0026quot;flicker\u0026quot; during drying — so it can be used as often as needed, even daily.\u003c\/p\u003e            \u003cdiv style=\"background: #fff; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e              \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003ePowerful antistatic agent:\u003c\/strong\u003e Eliminates electrostatic charge without weighing down the coat.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eDisciplining:\u003c\/strong\u003e Orders, smooths and structures the coat — fine to the hairs that \u0026quot;fly\u0026quot;.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eHydration \u0026amp; brightness:\u003c\/strong\u003e Shiny, supple and visibly moisturized hair after each application.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eDurable anti-knot:\u003c\/strong\u003e Improves coat texture and prevents knots from daily use.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eAnti-frizz:\u003c\/strong\u003e Eliminates frizz and protects the hair from the heat of the hairdryer.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eFabric softener:\u003c\/strong\u003e Softens dry and dehydrated coats, making detangling much easier.\u003c\/li\u003e                  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eNon-greasy formula:\u003c\/strong\u003e Uniform distribution of oils without residue or heavy effect.\u003c\/li\u003e                  \u003cli\u003e✅  \u003cstrong\u003eFresh scent \u0026amp; persistent :\u003c\/strong\u003e A pleasant note that leaves the coat smelling good after each use.\u003c\/li\u003e              \u003c\/ul\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 3: ASSETS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA complex of precious oils and restructuring active ingredients carefully selected for their moisturizing, protective and regenerating properties.\u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e\u0026amp; Macadamia Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eMoisturizing and restructuring — keeps the coat soft, shiny and deeply nourished.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Lanolin\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eNatural emollient of ovine origin: prevents dryness, reduces hair loss and improves combability.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Camellia Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRich in essential fatty acids and vitamin E — protects the coat from UV rays, wind and pollution.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Sunflower Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eEmollient and soothing — keeps skin supple and moisturized, prevents dryness.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Corn Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eLight and non-greasy — moisturizes the coat without weighing it down.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Ginseng extract\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eAntioxidant and regenerating — protects against external aggressions and stimulates hair regeneration.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Arabica Coffee Extract\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eToning and stimulating — improves cutaneous microcirculation and energizes the fiber.\u003c\/span\u003e                      \u003c\/td\u003e                      \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e                          \u003cstrong\u003e🍀 Hydrogenated Castor Oil\u003c\/strong\u003e\u003cbr\u003e                          \u003cspan style=\"font-size: 11px; color: #666;\"\u003eEmollient and soothing — softens the skin, prevents dryness and flaking.\u003c\/span\u003e                      \u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 4: PROTOCOLS --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/span\u003e            \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #fff; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e              ⚠️  \u003cstrong\u003eShake vigorously before each use\u003c\/strong\u003e to thoroughly mix the two phases. Spray at \u003cstrong\u003e20–30 cm\u003c\/strong\u003e of the hair. Do not spray on the eyes and nose.     \u003c\/div\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 1 🔥 Interview \u0026amp; daily brushing with dry fur\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         For coats that tie easily, Mix Pink can be used \u003cstrong\u003eevery day with dry fur\u003c\/strong\u003e in an interview:\u003cbr\u003e         1. Shake the bottle. Spray onto the area to be brushed, from 20–30 cm away.\u003cbr\u003e         2. Brush section by section. The hair relaxes, becomes orderly and the electrostatic charge disappears.\u003cbr\u003e         Regular use gradually improves the texture of the coat and \u003cstrong\u003eprevents the formation of knots\u003c\/strong\u003e in the long term.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 2 🔥 Conditioner during drying\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         Mix Pink integrates perfectly into the drying phase after bathing:\u003cbr\u003e         1. Shake the bottle. Spray evenly over the entire wet coat, from 20–30 cm away, covering the whole surface.\u003cbr\u003e         2. Dry with a hairdryer, brushing section by section.\u003cbr\u003e         The product \u003cstrong\u003edries quickly without accumulating\u003c\/strong\u003e — it protects against heat damage and leaves the coat disciplined, shiny and fragrant.       \u003c\/div\u003e          \u003c\/details\u003e            \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e              \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e                  \u003cspan\u003eExample 3 🔥 Pre-ring finishing — definition \u0026amp; shine expo\u003c\/span\u003e                  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e              \u003c\/summary\u003e              \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e         Mix Pink is an excellent \u003cstrong\u003epresentation finishing\u003c\/strong\u003e for show dogs:\u003cbr\u003e         1. Shake the bottle. Spray directly onto the dry, brushed coat.\u003cbr\u003e         2. Distribute evenly with the brush to define shapes and amplify the shine of lengths and fringes.\u003cbr\u003e         Result: an impeccably ordered, bright and structured coat — ready for the ring.       \u003c\/div\u003e          \u003c\/details\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 5: ASSOCIATIONS \u0026  RACES --\u003e      \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e          \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/span\u003e            \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003eThe entire Special One range is compatible with Mix Pink. Note: Mix Pink is lighter and more airy than Aqua Beauty (less anti-tangling, lighter), and differs from Absolute 4Poodle, which is more focused on volume for Poodles.\u003c\/p\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e              🤝  \u003cstrong\u003eAquarosa Pro\/Bain Pro\u003c\/strong\u003e in shampoo       🤝  \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e wearing a mask       🤝  \u003cstrong\u003eAqua Beauty\u003c\/strong\u003e in a complementary spray (enhanced anti-tangle action)     \u003c\/p\u003e            \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e              \u003ctbody\u003e                  \u003ctr\u003e                      \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Long-coated, fringed breeds: Cockers, Setters, Afghans, Yorkshire — conditioning and shine of the lengths.\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fine, woolly furs with strong electrostatic attraction: Maltese, Bichons, Samoyeds…\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Poodles — lightens and orders the coat without curling it (to be distinguished from Absolute 4Poodle for volume).\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Silky breeds: Shih-Tzu, Cavalier King Charles, Tibetan Terrier — softness and easy to comb every day.\u003c\/td\u003e                  \u003c\/tr\u003e                  \u003ctr\u003e                      \u003ctd style=\"padding: 10px 0;\"\u003e✔️ All dogs participating in shows — pre-ring finishing to define shapes and intensify shine.\u003c\/td\u003e                  \u003c\/tr\u003e              \u003c\/tbody\u003e          \u003c\/table\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | Paraben-free | Not tested on animals | HDPE02 Recyclable\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e    \u003c\/body\u003e","brand":"Endemik Sas","offers":[{"title":"200 mL","offer_id":37819390001331,"sku":"WEX-MIX200 (10)","price":40.9,"currency_code":"EUR","in_stock":true},{"title":"1 Litre","offer_id":37819389968563,"sku":"WEX-MIXP1 (12)","price":98.9,"currency_code":"EUR","in_stock":true},{"title":"3 Litres","offer_id":43820256526556,"sku":"3x  (12)","price":277.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Mixpink.png?v=1675846492"},{"product_id":"aquarosa-pro","title":"AQUAROSA PRO","description":"\u003c!-- ============================================== DESIGN SYSTEM — Visual Refinement ============================================= --\u003e  \u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOCK 1: INTRO --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e              \u003cstrong\u003eAQUAROSA PRO\u003c\/strong\u003e is the Special One professional shampoo dedicated to coats in dire need of nourishment. Ultra-concentrated, rich in vitamins and moisturizing agents, it will give the \u003cstrong\u003ethe best version of your pet's coat, whatever its breed\u003c\/strong\u003e :  The most intense hydration and nutrition possible, with integrated conditioner.     \u003c\/div\u003e            \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eWho is this product for?\u003c\/h2\u003e          \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find it of real interest — from professional grooming salons to individuals.\u003c\/p\u003e            \u003cdiv class=\"aqr-audience\"\u003e              \u003cdiv class=\"aqr-audience-grid\"\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eGroomers\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eLivestock farmers\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eIndividuals\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eCompetitors\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/h2\u003e          \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eIts ultra-concentrated formula allows it to \u003cstrong\u003eto catch the most dehydrated furs\u003c\/strong\u003e,  With a particularly intense action on dry and sensitive skin. Natural vitamins and amino acids give it remarkable softness while providing lasting shine and radiance. Even with very frequent use, it remains gentle on skin and hair.\u003c\/p\u003e          \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e              \u003cdiv class=\"aqr-benefits-grid\"\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 C8 9 6 13 6 16 a6 6 0 0 0 12 0 c0-3-2-7-6-13Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eGentle bath\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eSuitable for dogs and cats of all ages, from babies to seniors.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eDeep cleaning\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eCleans, sanitizes and gives shine to all hair types.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M3 8 Q9 5 15 8 T21 8\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 12 Q9 9 15 12 T21 12\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 16 Q9 13 15 16 T21 16\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-knot\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eMakes detangling and brushing easier, and limits the return of knots.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M13 2 L4 14 L11 14 L11 22 L20 10 L13 10 Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eImmediate nutrition\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eIntense and visible action from the first shampoo.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 L20 6 L20 12 Q20 18 12 22 Q4 18 4 12 L4 6 Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eKeratin protection\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eIncreases natural defenses to protect the hair structure.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 L12 21\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 12 L21 12\"\u003e\u003c\/path\u003e\u003ccircle cx=\"6\" cy=\"9\" r=\"1.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"15\" r=\"1.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eOily skin\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eTreats excess sebum while preserving the hydrolipidic film.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 12 A9 9 0 0 1 18 6 L21 6\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 12 A9 9 0 0 1 6 18 L3 18\"\u003e\u003c\/path\u003e\u003cpath d=\"M18 3 L21 6 L18 9\"\u003e\u003c\/path\u003e\u003cpath d=\"M6 21 L3 18 L6 15\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eFrequent baths\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eNo risk to skin and hair, even with intensive use.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 7;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"1.5\" fill=\"currentColor\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eUniversal\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eHairs with volume will retain their natural volume; silky, heavy hairs will remain as they are — and even more beautiful.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e          \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e      \u003c\/div\u003e        \u003c!-- RADAR UNIT (moved under Expertise) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eBetter understand the actions of AQUAROSA PRO\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed breakdown of its cosmetic performance, note by note.\u003c\/p\u003e          \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e              \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e                                    \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e                      \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e                  \u003c\/div\u003e                  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e        \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Hydratation\", value: 4 }, { label: \"Brillance\", value: 4 }, { label: \"Soin peau\", value: 4 }, { label: \"Volume\", value: 3 }, { label: \"Texture\", value: 2 }, { label: \"Démêlant\", value: 4 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5); var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e        \u003c!-- BLOCK 3: COMPOSITION (with MAPPING) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAQUAROSA PRO composition: innovation, performance and a quest for natural ingredients!\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA natural formula rich in antioxidants, vitamins and purifying agents — \u003cstrong\u003eSLS-free\u003c\/strong\u003e,  Paraben-free, silicone-free.\u003c\/p\u003e            \u003c!-- MAPPING --\u003e          \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e              \u003cdiv class=\"aqr-grid\"\u003e                    \u003cdiv class=\"aqr-col-list\"\u003e                      \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-schema\"\u003e                      \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e                          \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée d'AQUAROSA PRO\" src=\"data:image\/webp;base64,UklGRuaIAABXRUJQVlA4WAoAAAAQAAAA8wEAZAQAQUxQSBggAAAB\/yckSPD\/eGtEpO4jbttIcqTpmvGuL\/+Adb9+L6L\/E1A3t4\/vcoWblB2y15gzpsKGUKfsFK6smxA8GbmmQoT49Ph22NWOtB7p2IC1tXarFoXJ8eZ4OjmmFPwWiN35aMTunBh\/gJmMNDOdqslQHLeN5EhS5Z\/1Wa17R8QE+O\/FZC6GbDGd2WIzKjDbtYGnW8sNeG3AWjOeDuDme\/wSFeVFEZQPWE52crPzm2E1stysN3v+Zgcn85+zZndvdn4zsutXPP8iXPw\/m7Yk6f+Ptc+5StvOvJ1GV94sVzrL5oe3s227H2292bZ7jEfbtpk65+wdEYPsvdeKQc596oiYAF\/Yth2bI\/\/fcV33\/b4VY+Zj27Zt214cLn6spbFtNMdt26yubOmkk7aiqThVKbzPfZ0Lz\/081ahU3vfDiJgAb9j2GZLk\/9\/9iojs6u7ptd7+2LZt2\/58Htq2vbYO29asbQ8Wo8YOG1OtqojX6+OHs3u9VRExAYzfk3\/Fzcf\/zV\/mJtBTe9\/pHmJd8t\/UWm9ihTTR\/kJ1Yn5apHv8yicOx9Lss3LOGi79gciKhw+zwMx8k+SlpUfVDSmL9PgNDHvevTltQ1Eu7j9i45H8LOVGWcPFD+Ri8nyxXJBb3vZkAdWxW6YSZbIjdyZBpKWzVRpkxe9\/IgXmZaOloRgP2\/GkA0lxlpJDhl99KgRetvfMxbjighNZYKVdq1wZM33B61QGEIMDn68kxr15H80QQI+\/3yBLox\/eOFoHEOnP1AlyfzUNgPLnv1mZMR99\/1fGsGInlIS462v+HVG19xpk1vw+Jbfku+6CzGPz74fTHg0vsSLEFRcqUkvD+Z0kxFLz8xvkVPxqmRFG8Z+KVAm\/lCzC0+iNi80UbeVHihXCBN\/+\/YhqpH1PpwYwweI3E6kiLxemgLDqbESmbuUe0gQsyYGLTaIe6dOb0mjyVZi5Ipv9H9E29VPwBW\/Bsv73KHtOSVV8+7H9Fvq\/tG1BgVf47veY9P8Y\/JmJ75I+vtfF\/1nzXc+Y46XYt5\/evu2gCe9U3raEuqLsuUB8l3z1PV7odt24uTS6pMW3iZ6RZ89Zd\/H9zOOplw6+bHiVPH2tNf3+KZLoDn34sEcfDV5rojvs3o8p6FnztS+VRpf8xiNZPaIsnLjmgjvs8jlE31h8Q4EXv3qwX7PTlzNd4ss\/CZU2trJbWXBTz0L7aNm6R5fTEC76qmOW0DKSzlcOuKR+CNou360yENu05beDaOXb1Dlcqb6j1l6rrLNsKLapC58NQ9tmpyg5XKKPwKpWXu40g4tY8nwn2ur4cyVVsV2lZ9ZateLgHKVgi1h5EobWsvqihdiu8DLXXitNNx2RGluU5T\/nRMfNKs5WwnNdq1bW+9MXrAptpoW\/aIKOfzOwYKvCs3zUb2fyQZWGFnX5M6yv\/3eUhYUQ29I8Acf\/3\/NTB0tFS3Tjbc4Oye8X3KL3qqYOZqfDxXr1LVC0b\/mWw40t4e3DZqxdpIULlIIs6tQTMLRv3SvLqQktexqs6pDqo70UZIkte8DIDrKNKk5WVd+Fuo\/2Xh46IVWRXWPGEzqGvamCluiRnWCHKP1rrQktfwa06iAtzQntNJxZZxU61nJS6QZkAZtqR8fIK7uUBTZt\/BGodPDulW1lnazU3O7NGDqaP61kZDk2w9hpeJpFkGVLnoceOq8f3TeBXdWvg0mX2l03kSpYabhzxgQdo8zcrhxgYexhaOqUFvbKBbZPHUf3sGt6uYKV6sN\/66mT1rapc65oi++HdvLuuem0Lq5Fl1yFhM6+TTnIwumLzk5mf24usHt2DHXVxe2lo0W2cMdq76FrHbtK3YAsvAiaukR5e5dcXBM7b\/CEbjtfRSuNfdo0g99SHCxpDiw3Z4UR1b9FWVzTziJsRV7nv8kSV2yuWarGioZxtrK4Fm5B7StyX\/waS2CZP+IVK27+2gcFVtKHa80wjL9VEdeiJ1DLyurST1rmSup1m7WPFUdsURLX1OdDpRvtnxJYtOlrrELG+ByBVY3uRpO6Fbvz+GRcaX8ziO5hf68srFNzbLmnbpH3fWVKXMFv87rXDWtOEFe0BRtd0F3sPtaMK78T2stygYqwdn+NJWS0OimuRXf+GyyD5xduSA2rJM9G088QmtlnQZWMds94he6R2j+FuPbpkSOjeU5kLXgUJhlauvMVc6pSfXKoPWQM27zUBVWQDVBkjDx7mlVBLfWK+1yymL+poMo54JjnkD9WuBK9pdFeDk8XVRPUtKlnQZHR08vbUnB1L6yXo6XnNxlW8JdrQs7UVouoFpv5c3iOyMsXV6xSfR2aXhbt2m0BlclnvpUUOV1XvFmcqn981T8ky2I63ER1+p03D+BZtDYdAZX5d\/6Ajpyet5+nClXiOXBkNU24qHb7oFieiFMHCSpL635VNJM9EwbVgD83eJbQzgVRnf3fUo2sNd\/3YmlMGV92qud58vpjJqidX2yIrJH2XxUNqjR1tSyPNDhcxlTmNxca5G06cTo7Uym9Ws9VyGVC2th853Pl5Y1nzJly+5EnIzLZ7HNY6Q2oe1kiDS93Mc1myR5PyJzfqIkpcOoYJE\/YrgMKplI9q0i57nq+NKRE91zvhtyTMiGdRkdQj+WJNP9XqkzpvKNWIa\/Z+HYFUtRFh5Db\/R4zIS326NBSppYuqpkpYhqN5PH86ubkSKXhoRXWR6a06TULpIBNI0PmvHp9CqTo1aNoJJO1l91EtDSnx5px5A1tH1ogZXg1HJmbbt2SnSix++Epk+cDL5qL6MofMUWu2Ha0kJbmKbspufB\/mchI0R6YtlxS\/Kg6omjTs07k9sVvVyEq+akNKrki32pZQNMX7K+I\/BtVkNJF90Oy+eJ3KBEF3NRzZrN8lIwo4s4pRW4xAxUmULAZnKMioCu95n6tcikfPG6JKE+74cgdefc+M6LUXouUDZotSAlvnACz2fLHKAK65\/cuapBf82SgKGv3uxSIJKKkecNIPJun2x7MIjp9oDFkD1k\/IeXfT022SGt3WSPK1v9spdlkK9dFAJWaw3AUtCkBTe1fk7TEeBAF14eT5wttWzegxB89Z8jv+vc9JYDS4xgVCPUENG2CaPJ5t+W21HiS0ZGNivyh6Z3mPAH1hHo+adLCePL+rAtKzoUFUM218AK2\/o8K4Uxs+2OXAspNQFejO9BUBWzVgaLO3+dE\/qGd83JxnmzZaUoBqbl4Jk4vUhawNlTwBFw1acjfyraLgKJNTYIFTHWZKJ9+WKsCUjMZTi7XCVEw4qK54jjBXoSiYX030Sx+zQJjgUi7XrCGU4X7VxTa8nhynCzBiaLrSThLs3MWUiL5n3ngBNg4UTLSQQEtd1Reotkd+1LgJLipbywRdyxmnFJzdJ8LCpp9wEI0E0vXKgtEnr0jHCdLm50okd5+0IImsUVnWUSanxTOztEARaOdvpyCJvFn7FUpIavimZgSQ0lbrwqaqAuugpRo6Zb7s+Pki+6yVCI0XDPhXD3LUTxoquzx15uUiLLvRJ6cmxxlY2IgmkW3PkoWcXtw2gImcnazSpGI++cLTj4ljjJ2tGimrd7rLBK5\/5A5TttPeCqTtt5pDSawGqL0sUkwk\/7qMS91u+NkS9eChfxk0Zz80V21FErH4QTURFm313YpYPK0AizTdOv2AhOb9a9FKmM2phDNaiirvONCnIRnx51lLM+LZvphGsro0aUULNHn9x2F445FmpLeccpSGdmxZqL5Qk0UVZp7MZwl6oLZnpcJe\/W+3FgCfD0KG0eWEMvE9AJnGXhmKJjFr9+uKCrKFymzRF10EoUgfT1N8JW3oLDs6c+0BBP+aVCq2DnqxDJ5x4QXgu1Gk\/jDtEI+2q3CUtJr97uUUdr3XhPL4tMrlGUgD2QsGZY7UVY82ZhQpq58AaVQ8LomswSowgvBEJwW91DaluYnTYkvXKNSpkmfuzaJZfolOkpnJszSHDjjqZDFSYQSgTfub1hG6fj7w1ASO3NDXaF0XRPNWxaApWJygiXq5Gu8h8KhF6YtSALSUnopt43TxVnqOQL2TCgnvmlSWc6DJfokMdcuuuMAGCDDZDv3WbEoO05WJQmYUBQPDfYoSNL5z03OUpJ3YpljKG86SijTewSLuc4cJpISHj7YSLHQ7c1IAqd6KG86Qiz7eQSMVmUg0Sb3gMVqueHB1FBa+xikWGjJc4DkaC6ivMkVAlnwvJXKYmX+DDWSwHVwlA4tT8tIoo8CSONTIjk1B2\/Rqljorb6CI2q1d7mzWNOFezNH5IqPvdcqFLfIMmEstuHBxURA64nkdFQV5SPvfMqcI\/ejE85yblufBImYRxARe+PiWOz0rZpCdBEcAQJHxHhzaCQRESMNLlxPJA1CKHrj4pg6\/ipIBO3Zb4ER0N8CBvB00xOlYeS8NETMzsRx8udusBgRIAn3UBnCRbJfQMjQOEhSb7rVUoSk3QqMiE07IAEi9f9JDSNgZPAAUu2L5JEgpkvBkRwFGGLcxLH3n0TQzUOQMPiHGFX\/OMwY0Xeuc0aQijhOft82C2IgEX\/vCGltnSPa5F6GaOWhjalhpOvvhUQIzS+aUQRcuAiPIHUW4njrAmeE3D87FBQRDy3XEBpOy4QxAUfI3qRA9gFCNrvqpewUUTcc9RQhNLtsgRG2HjSJoCgmkAeOmDYVJCWGiDR\/lwIjx5vAGHs2yjEC1yNonhLH9EtRSnBEWz3fQ4RO3F+CogovWa8SQTHjAvlfEDNsShjTJjaBEcLmp0HSHY+6RPD86MZcKQLqhojZJRPHa5IH2enCmPKsecYIef1v1TACE4J6iGPqIEovc8Rmx05nhNB9C4aR4PBBlQhFVy3moAi4qETIOFIhjk0Q00IY06bOkhEib7rFgiL42DRCyvbuDI5w\/nwM6HrCWPDoTpUYCsOI2DFpiOkKjIDzjpA2OudgDox6SxgD1mSCWJrNL\/JeCA1+dbwaRMCoQkxvvvwnlDB6lgcxjR8riolb6DFATlGl9212xojBKzcpGCLWLdQgYv+sQQTUIKJO9kIUX0LcuaExRJ84HsaWL1jOwVCz73ZnEFISw\/RDn1roEmVuRUEQyXdtV0HM4tfenxtBgLkRYZcGJoKTn9jjEmeTGKYfXG6MYuUOBULARUdU+dxH5QwxMQywXhD7BQQeiiE2y56PFEXMLjEEnzoARim86VAXCEHPI64WoTilQLZxYjSyMEqH7jNHiJjueZTwnbd6Q0jw4nFjEHipyxACBoira4NgiFUcX\/4ok2IfxdFg+4SIunYjGCTstd0KhJJfd61KkGq3vFUYAuqGCGrqIgSxElGz\/9IPtoSQYzHCWhzzh5IBRF0wW3kUKQaCWCYR1+JEKRByi9R\/XRBLilPtkjezM3RxEEfqrwlh4uhOkzhTouipy5RRbHUTRMDQEdXzjqvlDNEYRiqTMoKoK1+MKo6FIJ5YA8ZZqQqGQhE2dPZcRxHjSIMQxFMeKEwMJ14zbnFsDCLYCo8S6eUbUoWoQdiw3TMWDLnHkTaYII6lSHuCoVS+8ZuNUUy\/p0DI9dPfbBJFCjEs5kXENYggGebgg7l3sWnyZuUlr4BzbZC3Mhdfz8WpBwoFQ8SK8Tg1XTmbgqCE2bUqUVzPrmaEHD06opo2KMSwIXIWxYwTpf+MAiIPZJtvM2eIKY7UbQgRnJq9j6KKk0IE09MzliuihmarEQToZngYtbNWUwBEbFjtEieJYdqxpzaBAiLQDXPu4v8ikZIhxHrqhUiBVgcEiaz71kmTMC3ffnduAOnMsYYIGxoOhfA\/1QmRkxHk1ZHkjOQi2CYfEEfkjBDsEiKbKkOUSJGWzo0gKLi1t4UwGUrKDKnGyokgYl4fDBTLawQlv+dAI3GaXfpGcX6AiT5CL7mJYMVcPIP1gLPBLEQWyfOOc23ID5u1z0eKI9UqgIneEsQ2AwjwJliIYQYzhhyxIwKhirFKTwA7\/q2JZPrg10fmR3DfCmOc0MyTqfFDHK0MkdeXQgQP4aGSGUIJsQchhJtgfy2Ex+cHe4Wg1Fx\/n\/ZC\/SxBgLgh9K8wBDLWPEMDzMFzU7QjCNL+m5BinU8QMETwaxEiox2N0MiCxRAgYuc8j2UJoArPWqUM1NK9W1PgA5wHEdj1\/D6Eegg+ZSGAh9FqCF\/qwt2xTEn8iu065RIoyp4rAQKaARFJS28pAHrOsoaBpDIufEVvvM0SQofzQyxaqYxFsMsuF8ROhg9t\/IWMttLwAbxGbNfZu4rjAwaTWgh400doJ869Oc\/X4YIfwZGlzmCFn+RPLFSEtrUFBT3AyD2U5+cuS40fIYJH6CO0ORdHDdcAMp8Cgx2e8El68EFNwR6u+ABTC4nIMl3ihg8veSxCY8LXfT89luT40Fe9EmAsD3yS37u5EYS2VPAB+mOILe3cb4HPBQQvds2m4vDY5AwkFjLRK7b6FjCW6ZM2uLEDNAN4rOw\/8Pkt0UNBcCnpUNJqwnZmY4\/\/gZOrl5VVyrJaEbXOli3GWlYx79Oga+6nqPl\/B6uZ\/JcGl+UKI0A7fGyYLme9Ry4anJyDXND4gv8dXC0HrESl\/\/H1NVvY2I\/t69ez8jZWxLusqdUnHxwRtBM3NPJfNkyi7UPrHzpHFy0CKdB4wj2cL2TaAYivAHz51\/9oKatlcNMk2v\/uYx5dZctFH9mmgMvfDRE1uti2WeBLP\/dEI7QVh9HetY07wPQzf39qdmQ4ZRxBidbk97BtKRm\/8LUlL3zrb8gwZXo3bOUVKxy5A5a+950pu5xVv\/dTYtksvu8Hwlu+\/PKvB0wZl214GV6ObEMgzClx7dtvY55kBY0X6I+uU4nlfO2P\/mUCgsR6MABFHyHam\/q5kXH4i+LZYJEVy\/4LBYUlJViY1qdmbgFyM1YA1laG2Inf+iOsNQIs8yJVa1MRBZ1RV7bKC7q4wbEbH\/3gvtNJEGspsz6umneIF9cI8b0IIGdWS7cS+LDrRakANxbu+sg5gFtoLWQZWYk+z3W2SokXh\/w3MGdtXcyMux98X7q3kKxZq5gB1ioA+auWrSP95fZoXfz8OXoLf4p6qqklrWJrcIU5hXM\/NX0AM2JNYYA7NKLzG39tIS\/\/8C8ueod\/PfW\/PictlD88m0SZumF3rT7ocs1HetVcuBICBaa0+Phnnjx\/EU8RWhskCGEC+Cb3+N6XN9585Tew0kYVVsj67OMm4e\/a4SF\/uHSVdMdwzUmvroSqTTKY3vWWB8BccSYTCgMK+Hpb\/qmfstE3\/IXR2RhgfZy6dVAt0fuS+4dRsb\/+SOV5aIsO\/87diwFeMSHJHN55ZOYiyCJ0JuoBqAEk6ae\/IP7uayhfvxFAgAAzXtBSxVpyev66IK9z2CwCnLiyDsxoLv7kE\/cJt3ImEdAAB4D1K2L0I79xmt\/cRHUEloxVsFGXJOQmfHXNHq68RxrCgRtunJmWy2PVczBzQPFfq9f0YfdsWY6tA1CAgRmrsGUDxMZwZS5FJk5f8uHrgeyrWDIiqE+vGrzohvP9rQDgRgRkzszElbuKm80ffM9tOyHl1cYNEATAV3v5gj\/ZEoPffSntInBDZozlQ54l3TZ98f2QKC8+a+XWCGDKtPk3ti9\/9y+ZNn4BQMEMjLF\/KCIz+6HHrjxYkjd68SRA0ap++TeFvuePYMt3Uh8B2ZggVg3g4ZkPXQOk8gKhdFmYwArAOrfyxa\/cKI+f+VbqEZgDxuRRxRJc+Nj7DjSWinIxsUXjXWQB\/PLmYP0\/bRNT22kXa8mciWagxNGHX3\/dKUs\/KBlEdLXvzyxby+MXfqgx0O84nUWAGxiTUBVLcM0FFyyly3gaAWwtFfqC2aXGy7DZfnLkLdM2qhGAG2BMWqXI3HSBCgEx+v6vauKn\/\/ZEqtjEKrR1oy0rqmQmukWZV0Dg\/rIf+q3N9DfjDyLpNCbDjb1jVit+6HXrGLnMexBz2eFPW2XxJ1OLUwMm6H7oKfYzf6EpY5LO0T\/iG7c3mYm6T1zLZTFht7EHaTZpA845E\/iEkf8\/YjiQK8BZzBhvafkC503hIj4R507c5Bhv4Xduyrg1+fV9iTbxwqWp0tbkv3s+hQdrJX3FhlBnrIX\/3Hiz56eLkyZ632zpuYs8SKM56msj2Y39hJr09Z9erTOxHp95XPhPbnDWNKj6tp9KCTYz3XhcGGySJsIEu2XJRHtblon2mPhi8e5jP5p4k2oQZyI+kMvGW14503lTnRPwNkacArmR\/0f+H7HTHbiYGOct7NE3DLhnZzNu7gMT7WEz50Xj7aJtJQasRdp1VnL9lippsidmzNUX6l5+9GtbUWHNeOlvT7iCNVxffaSbYJetNAGfRH1Grq+AzRw+UwZbM4I\/U0GN\/sW\/jmexTt30Y7jBBnAKiffE\/wXXJnINhlvS73\/3CDfyRRnelb\/beLOJO7\/MGzAE8X0l7iJ4F+wlcM2uRbwBXhNHNuCAjNzjcuD+g7jqcOHu\/BfnTXCdeE94CXCAITfy\/8j\/H0nZkMvANZ0KXOgh4KTDkWvIFd4iL+\/jrdnDt\/JmejFwU5q9yHErduWmghsyE\/GB3Mj\/I\/9\/DOIgLgw4s8Kb0tz5ctxY26mgDWxMxAdyI\/+P\/D\/y\/8j\/I\/9\/bP0I4jojbseBHLxtfMgab+oEfARxI\/+P\/D\/y\/8j\/I\/+P\/P\/RyFsQd0Qh7p6lFLQFD60m0Z7442Or0RacuCcHbWK3TO8cI94dgaJ3kmbvlsQ7iFB\/8d2Sd5KuOy5SpS3rW35CmTbp6BNkvCk08v\/I\/yP\/j\/z\/MSOdxM3J2z8v4M3rr9+koA1+YUL2rowf0v2\/rfWI81ur8aaH+wm4wzoBP1xz3spLd+WGm6+e9qYct+7xv8+g1dJSLddcak5btP7P3ZzaIZjk45hWoqVSfvZLIh2CjWmrDTCkfMX5HzI75JKd2PctPn5psfUz1pD1kz9UXIfeskMP\/kwav9T8S3Mu\/EtOTpYOwca0TS9NWED0FKZDcsnHLq5XP\/ErTKCQCfLwTZ\/4BdMBaFWUh9Y++LmzattPTjpkUv23WdWWvqQEZl7KZKmsiPNoemUltRJoiu7pG8KYtJudIp+4NT2MTdzAcyK+Qs6QG0uBm+jMd7dCG33qOAHv68QxEfdD\/4\/8P\/L\/yP8j\/39YYkJunbg4eTnzphUX8Fkj\/49wrkacTcloi\/TsM3LaZDufL402SCbgFcT9v\/9H\/h\/5f+T\/kf8\/Dn0hNwQuLb9SDbfIv6WEG75ZvMvgnXLcwKUivkaOyP3Q\/yP\/j\/w\/8v\/HnRjEpY64lf3AlReusoqblDTy\/8fFGsgV5FbCcGs6fWd22qR1F\/AWpEXXBGnrvBV5\/hwFZQ3v3e8CpcGLFTPx0KIBquneJ0qDDDZSjXwwxHnU5HaLDLNuj1NftYBM0RF5eIpVyGx9hzyuv7BrhCkdvB\/VIu07e16Ehz9zs3Wodk\/enhtgcHsxuqv9+eOp4RV6+oOLqCvythPN+cqX7UpBz5qv+9tuyJaW82f\/KRV6e5w70zlZiuEFf3wiWKFw7aWGc1MKMJ8\/71VLviKIXb1NOYckgRVAyaE58mc3mAUrt\/nXI80FFbUs0fPm9OybPv90CvEc0gYOm8goWvKKGdXZQgzO22UazH4aIBWeW1JHmKhGqQ2onrZWXHwyKQZPnrds4c\/STiCJ5368j08mVIuW3GvdJ+914YfekwU0t9A3OaCG55ekE5MFBWCimqgvuSB8+v1TAZF23e3CRkE1WUvREi9I0\/mCaYwnqxV1JKPv8s0nXLFx5rXrC2Bzi9TNQGa1wgufnhtcY7imllnx8o5hxNSdVwHyk9eywlxT0FbtxRnDu0+lsZgqRQYoee2ItSJdd9fGAijvuDmH0lFRdQcsoiZWT3F6+2liHKVKdKVK9\/VHkmSzbx4IUHpqnk4T4F5rWL2HXFIYK6u0zCvWNTsycfotz+QAn79xRH9LHSqGTKz+AjNinKOaopapzguUpu8bCGRzb5kDYpHOhCHUEZyBhYGPWVQpag1q3cdvmlIMpq8iIO06TP9kqoQ48wcLH8U0HomKTBg47bkTLmQ7zh0UUH7knhz4IvVBR6PWWnPXHMR4QpVABihZpfOSfUNJH949CORzI+pJgNVCHWvTjJPGC1Eqlivd87sGsmZ4\/l0ewC30Nq8pWDOXSA\/fi53VSTXVEvXDi4bso8eSQOv2XJIC2RJVGwgoqog1ebl5iUZnWWqFKpkVPnXFVCA\/euEpl+lhOl0AZpUQa\/5EaRieJSlqCZBRPTnrUPLMa7YUUHrmYXpnMJBF4WxTDO6ao5ydREXIWsrUTyXFuntuMhGDT9\/PClOHWsHZa+HAvZDPJtTULFc6ZbN3h1C+9eocMXz0GFWTtawjOs5+bYry7EJoLSf1czofdIh091UpgBg+eo8HWKE6qJTgbD0KD5T1xdZSUVGHMv0X3zYywI59IAmlI3S70RZgocpZvQZxN2viiFqu9FyaEaClt+wdBLb4GP3drBbBmDFG+4THWqTUrObUnylGDO+73gPQ8PGL6J+sVkxgEmNLT3lJaW2gSkRLKdVoANmj1+QAP\/WhBjR4doFOx1qqBWNTxejKRyk6g4Uq5pXuu0yA3vNIFvKnnqG35Q41jGvlPOHkOIMoKlZTor4UEFM3f24YKB37KCtMFYuK1DHOldE8ctzOAGpqySulorxj7yCIqZ0fFMgPLlJ1WS+pMl4We18\/DWUVUtTc6KuZQqRznkkCYsOtT9F\/UFGhqtp4OjIPlEBaDSTAJIEpWY1FD3\/inAah\/Ph1AXaU7lxR1FQZkxf1vvMeLF5EEbVk9L51waCkD9+6vvjxI\/TOXRGV8XySrrrtGNE0z1ModTW1VDPqy\/tNZdPNl+SC0tHL6J06oqWuMX92+\/gTDLI1K1Lpk2k63GtLSw6RZu41gdINd5rIsyOq7pVQSx2TxXAd+cBlV5DySvo\/OPcjHVxZAPkHDiSIwe6j9LbUMhVVJpoS+9\/3ex\/7p1P9ZPv+fkq1yNct\/GbjlZMXBYAF9VxTtMTYHlZQOCCoaAAAMHsCnQEq9AFlBD49Ho1EoiGho6ORShhwB4lpbsS6eOA55Vm548\/nedbzDbWoD0KOe2k5fYn8VffP06\/LX0Z\/I\/vH97+XHO2iufNfyl+6\/xHJnwGvy3+wf8D15\/m\/+z\/ev895hNwvQR9+\/sP\/B\/y\/7uf6z4PvrP+z6efaL\/xfcZ9gn86\/pH+h\/uH71\/4T2uvI2+2f8f\/e+4J\/I\/7J\/sv8F+5n+H\/\/\/0zf8v+z\/zP\/d\/2HwQ\/Ov9V\/1v9l+Tn2F\/yv+of7b+7\/6f\/2\/5\/\/\/\/\/L7vvZ5+3nsRfqz99ZBsYJPYKF2n\/XP5ONGegPjnUgDFl83jzZ6J1GOg5cKG1xgk9goXaf9azBwkG3QXEazQ+FG1OS9ZFXaf9c\/lBy4UNrjBJ7BPO4korL9Wv1TLIMjS1fXP5QcuFDa4wSewULs+W\/w2V8UIteggt3c52Cxgk9goXaf9c\/lBy4UNMmcbW3I7kmE9lyg\/dIceITXiF2n\/XP5QcuFDa4wSeu9bjfBfXxU0zE65z0vGChdp\/1z+UHLhQ2uL9jULyC9GDXUoqp9Ve02q4KF2n\/XP5QcuFDa4wSeuwS8ZX7\/Fkud9xP52QHT+jYtBJ7BQu0\/65\/KDlwobW5v1+fPCISaY7XVmPs89nW43cyufyg5cKG1xgk9goXadHqhQnVMoOh8uIMFsY5fY6uwULtP+ufyg5cKG1xf0FTVnKYoKA+tK+G57jnkFWIUbnYKF2n\/XP5QcuFDa4v1VtoxLJF94HOea9FO3tQC3NcYJPYKF2n\/XP5QcuFBXwS1TJp54DVafuegsKf7EsrsV7BJ7BQu0\/65\/KDlwoaYrtRXeXj09Ze+IXtpfKDlwobXGCT2Chdp\/zplbMAWUZu4qPQplQrs8XNRffShdp\/1z+UHLhQ2uMEnlTog4zvxjtHlt\/jiq4e2Lx6Ha4wSewULtP+ufyg5cJFf38tP2XEEP8lUh4DjC7RwuA9aewULtP+ufyg5cKG1uSutD\/Px0cCLAZ9HhTVHMl6z1eO8c0NrjBJ7BQu0\/65\/KDh05VURks8BP\/4iuQvErPg\/W8MxtcYJPYKF2n\/XP5Qcr2javQ3iHSv2zf0\/V62G5ILab2mUNp+6F2n\/XP5QcuFDa4wSX\/mlAIs6EhpQYimOUYNVkA+oUVqy6PO0\/65\/KDlwobXGCT2Bufsuwsv2lWmgleWSD6VJwmdpQJrjm5lBy4UNrjBJ7BQu0\/604m7\/yN+XmWjqp7dCWC6qmaYDNyHoT+ufyg5cKG1xgk9goXQ8fUIdudSf9XHE9Y0VkF7BR04PJMMiZ9P+ufyg5cKG1xgk9gdrGZrHmujALheOFlm5QC9\/HgSpa6vrn8oOXChtcYJPYKFzuNiuancc7MCwp71xxf1Aj\/FNKOyOFDa4wSewULtP+ufycXhK69NyyU6nathOWejh\/0QG8GUOxMfhQ2uMEnsFC7T\/rn8oJqlW2yp+1mNXippygrE6FFEsSpHpD\/qcJPYKF2n\/XP5QcuFDaZDKOHH2KTvcZ+G3WnkzjDYPgONk4bfT\/rn8oOXChtcYJPXYQi66SN7fEcowAwmMPUip52wj76f9c\/lBy4UNrjBJ68S+x7kEM7sQ6dc\/6gSIR0Q0WgIRPQbYBfspL\/0b4se058V2uHibhvYuImzT2ChTrKlLIBEDD7+komU14F+8sQibDCq2BQbMJdpZBJMJaWt6\/AIN7lU\/Ho1J0wrVUDHsVjX3LYAjcn\/qSu6mZLT8wuvVnoLKDN8rtySC2cicbJiB+7QjdVQDyObbatxhSo6Y+ACWKQZ86+InsZIsofcg0nVUrkKjSENctfPbsf7AnmZyP55+a8rWKYWD2a0PqrNpmWvz7K6\/TFCpa3GcBchdlLR522GoYVlvprlfKoUgEln\/Xc+BPouG4qta6yNnZVaQOyvff+2o5pABWcCAF1jj3kPhmWb\/+W4QVURs1xqAXYdDW5crAziYFvKj6h9GQsq7yFvN0aiLFsKEvdCsKtSEW6j3Bl\/j7PL2b3owqHlPBiH5uRbR3bdaq1nGWnsvFNURV2dy\/cLwLY38xe6WIRdxRBMiexGnO19i2rOsuo6JX\/\/rYD3UK9mDMiCnEgWmJH3KyZVJxn5UY3tO5v0Vcxf3x0nSjZEB3Qe\/BXOdwyNp65N9EHgF3RfYs2Wz6c0BAdEbp8JSQ4fKNSNe3GLrLc91dJL1cZZCTPJrZ6igLojQiWXDjD1u23uHDzl1\/ng+mWv7apXNDnT6NWcg+lGHXo+CJdjHzM8PieFNrYLFS0LtLZkLmEc+rxIonCN0WXTPouj+WlO+jgzo3IygFF+TuPhWXNjtZBgFb1EPN0XR+Z8nrib8kgvRcPYmytBgUaRxHNp3ycdB6y3yNAkBha8x\/Hp3WpW4EA5js7\/3A1dTd3mrJC7TxGks+rl1+DcqEEA60FdYbG5rDOip2BYTCIt7TKE8ylSJMoFNBGUhy9XlnyXVYBU8lOR9tKf8IdJapolKTcsnJAqCbIvTcxYXAy2wRIh9LbKM6EsKhJjACtWVgBlDkVls5JbXySABC190w5u\/ujLFKaWYByx7HFDsAi3Mp7mJlP7cHrTHjoAzT0f1QQpe3vtZGO+HG8knz4GOrK5aj98eSl6Jtm5uB4GBFW8qwl2a\/W1FjIZV6Qsg25voszrWP8XV8hDVwhSmyYigzrFImUNHoOnTWniysb2fdjoTTMoQ728UpGAUqs8OrPuwXFDv2kiJ1Z4esC400cg63aZwgmrKRiQYAtTG52KJWL4Xo9F\/GCJGpIhM4K6uBlRzK2VuTu\/55JeGi60xwxUe25k9XzTZX0ZPyjp8iHWXBRQoviFlyA\/PTiRS4NJutQF7Ddtf1O1uczk7gJ99qpiVwAFArm9fBFAdh5QKm2BU+ArJKVo+uZ3XEpq6aj18kMX9zYZ324arR\/zFHHl1RyikMB+J0JpVab2ohcHYUhNALYeblr3i9jdaiNbV3iesShp9fDU8jf\/HP9m2nz7WKyQ5Dfvk80OwB2xiTdB91HwxXseeklF5+UsZ6XmlpCv1cs0\/yF\/9wp3\/hBkPFA+gBGfN+lVgZqZTuZEKQd0FbosBlr1ILRTPp8MX+\/idV5gvfGFHe+PqTiXb0SIlzr409eOSYHhI0HLSQnJuyScMAw9blYrutvBgDaPiIFOzyKapeWvjPcb9CNidcz0az0NNGc9l\/LEQ9k4EvmnoNxp3923q1JLy3vAsUAjnQD36wWmAd34dJTesvIKvtJ7BCj+QwGKwMZbDgW8Ap4R0I1KrbKbVzQS10cpzr2\/Zp8ipPAZHT9qI8M7mk0eetHJtMJ4qPZwpo7x\/x06CBAzUJjFGTEc3qgxvSwi0Nmu1rhAbgROBCVsp1\/o3bJT2Z3WlRqdP3aQKq+IoF4QuqJHLZr\/A7tM\/PPRlG+8rSdBTwlj9f1zHqncz86BHPK\/LW9j9rE0Lrp5d8gIAs7kckN0dLsQi3Yso\/lJe343rvxFtNvUrbhIeyx3R+ia\/qfewBC32SpREODVzH107lYMBu6Nt1aEubXgbtd7PzjQa+HS\/0vEgfVOk2QVmxRFTgl83g3yp5bYNnIZaCBl75PkKS47v9Ne6K96MaVS+YjheTY+WSOT4QEwkFX8xAnaQYHnP70Ptk+png2gcvUP4ex9wd3vPkpx9Vm0mfkNJg+3efv0RmicuL4bgrDrEqStKcD+8wrzyL\/DeNeo99tkHpQg97DX5FL1e3vCKEAJ74NBio2jGECE6Qs+a3OP7DUs3AD6PDqiSriIRaC+gGMEkdARFf\/Fef9DGmrwSLIU6mEM+vkUnNuUNAmlP\/5P4cgQIH9R+X19rz0EsawH3QjvIGMJrmO8L6YpOzTgYXqFTTOCrJHuJcT2efJWgPar7c1zDvGs6oLCI1rBgR\/875VZmdMOPjJb7vKXQkUCmb39B+7C9eKLRxT6CXtTGjFr2IgSwdFg91MiS6UMp6Kyc1ZnUhb\/1rlMGJkmpwnw2qfvLaxXiRf4P6Lp\/8p5pQo3p9IEffSGTqiD9\/8m8ITMwalidNjeCR1Fe58ABNJMx7qUS1Xi5lZF7flL7dOXS1W7ZGO9w51vsjVVcKwHijgphaczD9BURTFbf7qUmB11RFaqf21YHj7dpMLROMtO1sGI45w6Shy\/\/Me8r2p8LMp7H8rEe48Y\/5EPxONwZQQK5JbXhFnfIIZYXxCNwL4gpeJkIF361CxHaJCnM0KnoS4yUx8vU0RyArGk6p0snD5S+oC5mRdqULIpjmT2YOH3pnQrFATRouVFBIoQtqbvmW3rgZpn4E4o0lHOf8cC\/37hmxyoDBXkGbdq9Yq2DVwV9FV5pX+K7kTSMqFJRNZ3h76GYENIXsM+UJKsFlETwBGp4+w+JyuHdVXqzQiuomnuQhguKHSUMWJgqAtuxXTSKZWQhYrX8AzoYp6rGmeAbthpf6wrWSA65XSm0xRZSdVCTx5LtbmrD0CfNPMC0r5GjTHryoTQTZEs\/FWkeG\/x7wa60J1KwkL\/vwD0w89WTjkHrt35AsOZrauxTwqFBkOjXfx\/a4G7pJaCCZq6u+QxRwEaPh2yLf07VGkidxE+4fB\/CZ544iv5AUARZpbXVvqDpYltvGfzse8CpUKzR3Wlp8B665MkXBFKVuYuLKafRs9D9nKdL76gCuiMFpEYBS+4iK15zt2hCD27HoASpncBAyGMG3XRbnXwPFC+MZQTNm2uH9cJgLWaCnk0W5ReK4PXWVURhhNwRxOPE2hOih3lykUwICufvMYDOB5QgEW8uSxh\/JUaAjVOFVBNo1DUb1KxlEo7GdNXtB5w1+AGWHIyiPkTFVyyNhDMygitBw+piLpgRrF3gUPY\/LMNtZBBmbcG6XGpTL8Q7X5puJceGSpMNC9Khb01rwxLocN\/SOFxp0IB+RKNfaqbjsFLJsxhlaLJV\/IIpJ8RrQ8HSKarcv5NPcVD3kiyl\/N8hzXCXUIIArr4SXAl7NRtiJy7Au30VyO2ZJtMAlEWD3doUdM0PKDZLkMA+MO8dIdcQONpMI3mWwsTtQc2TnWYzcvAij70vi6162eiBDvE\/PVFXoDNeovw5RSjnO0wzOhk\/66pe99+MxPNMpYS1RotgpoJc\/Xd33w8fYq\/0giYcWkWbb2NSk1Mlg14Gc59I3eeZsY92Voogmk0sJFKxArRYQrMvWDI2JQRusEZVNXh9CUMbgUaXr1ypLFSldtdRWhr75kbi0WYH92eOWNSFgB1hOiWewWnG\/yeliPQmg3PbpZJpaJwsZF6T7V+m99\/Z1JvYPP2RqSHz9rTbvU3WYrH9C1rcNhHe4jyK4krU5pSkqFgHrsajk61\/2MMfTPJR9zINGR99aMk6OKzTSwxIpoTjFKBOgnxy\/o40iAHvWvg0CXESbSK3Z29\/IREn2x7dOfpuMbIbVy4diyFAtk0B6K2afaPl3qn6cSebgkop2iiuHv8HBVooNMnTSCtUZkNubGnlE5RrOOp23S3B8MCnFafi9n42QwL5qNE7jBQu4BJGlnXycqyHBdto\/icMcwjgiwQ4OZrP2rjfrdVNLjggBBhjFbDwZE5TsOcDRRvxyW8CY1zjYHbhQ2uPbhq8rCvP6H3wHyr9VMN4wbVB6vBUM0ed1vMbo04cv2ffTUiam9NCXIa2rznBcg3hz\/0fstxQzv1J3V3JuSdLP99xX26seIuEEONbvaxPM2AxeRR6RhnqLKm\/+2djtr0R3HMLsdaa5VlEaHEgjHIZ\/3cyvOdty1qymiMXAOjpipXjBRyUJDM6\/hir\/FCM5MMWiPIxvIPecO0MnaIEss9Plblw43lWMe\/PEAxQa4vJAxvd8sevaBngTNEJQUgvMP3fz+AbIU52KlTUMr7u9x1vA6AG42pWRBQ1EHLOm0ZXu2iKa\/4CZ1o5TZTk+sl\/j1WRNnTceyqX4zpsaFUYQomy\/u586Of\/ad1ND8lbU8aR1GAVpOkPIandPG7dPu5kjxmaRhtGECMumVacpijn8qsQe3gC4Uw\/9228NXMXJ8TY2qv36fFgIsC7puywgAK6SA+UyEyHZlXOFesbVfwRqJANFSWR3kbbH\/fX+JRKp200otGsgErBn0omBOb+ysPemwGN55\/PdcNCZoHJm3CrjlevtZxmErKyKwKQ6eJHTm3Ic4V8fkiVT8HvBzlrcTLhiwBjCMpao36nDXJ3wDYv8rAu7Qhx5DSsbcaPFh1kkXlNG6b4bRhJhFVamUKUvytvnEWN\/kbNLPedP8T2ei32kPgj7qz8FwE7lTqXAXrO1hvckrGKBRznWsABHRi93jIq9HrJQruBvcug48VI2SCCD\/mrfpQlaDExT35nPPmBGYJNa3xtdGfbeMTKXc4WQCYi4jMSWSinRxMhbNDs\/t8tp5SRB1LSvwG5Xm1n14QnzCyM2rLU6yrXJ4d5fsYXYvCRekb844rsLSCOvIXQBN32UEMtSH73CZ0KFYi7Lf9twC4Q6YX3zNfRc8Y7ZC3exbYQRDt4K0nPASjj8AdBzDZbMWG+fhiAfrOlvpQViCyvlgNQ4ORZ1w4OBIokYpdETFNjjG9NYpqu5bV0LoTn\/FYLBu98yH0lVX\/Xt3Jh1J\/kYQvy83mOSkz84byCXniMwLXM5M4cucW1dfVAUq2IF3z+pVbjeGHzyUTpBAdj2GIGg+Dt43RCmz5Bb5CJmqyOFOSwcQmkGKGuEbsvp5p6ozFTyivAyDHOQ+9fuYDM22JuRe8Cg6\/3FajNumoT8mXAkv4AR80kMUBb9c4VzKHeQHIDnwZY9qT1UGwk1s\/5nEOdT8hnOwCROvo1uq1PzHPyKUBKAmGwULtP+ufxQAA\/vR+AgNCu0OylPfEN5s8E+N52nGWpQmriscesDnCAHQqj0FEXYf8Kpuod+5FJPrgCdTYHeY5ct+G9ieUaewRnNfx2qUFd\/Td7QPfal1oZCRKw\/joLDz+x6C810w8OVv\/mxmJ5cl\/jPBKzbF+2J6+DdQyIBuxURSfRl+n9VCwzzRSB\/DFcUVkPWLzF54nVwmnFHm7EkwooAVPIQABE33ANP9pwFCBW554Pu\/VkDs2Bn2Xwtbi364UuRv3nS2p7zCCEmddGVy6XJX5Fy2nIWUYaY8Pw1zPWZ3075hdvWPIFdsxW+swB94VKJ6ajZXJR7s86B0WkPOcKtHhRlN3SF7mzfr+nIu58WDu5RkjNRihO1em4+C50NnwxNAAQyyB9du+YYoRah4Id0XpjQh6UIGHeSCfROJnGmA9gNm3erdTow4DVn2Rxg4R1wow833GbXgZrKC9iIbGCitag9OuDajH4HOBmqrS\/wuCnaE6pcXWiQKwTc0uwz2Crs6RNdsHHxtQYN6f6ZDdKcbg4CoYqYTha4AiqTTWaB4BraCAWOFFy5UwD8ZNbWegZ7Z\/GbhdzB738\/+03MA9TBA6R4XMs4Zni3xsOWVY7QJmpObI1TNOS\/VuCI5EOalAHTi0+8XyJla21d5F2bgnk5Jl8tI\/z7eAOwKDEbAD6eyADfd+LyJakSjL5I5prtvf63BGcSl8aO3E8SJ++XkZxOBw+G6Dgx8adqiMYwo9vwN\/5LYYCCyoRmxMuJjKbVk5relvaWAgEqRFsu7gtGCUDJnFvFk9dAoUg\/K83GVT9NeFdSiMaHWRiFPQDXQcdF\/lTUNIlDTsiTzpN0JJqndOx+DXSvExQEmiOIP+xQfhMRSwmxKCv6qa7yrLN9tO5aHkkdOpK\/e4rs437v32gcfZ+yuQXv2jt1S8BkXzgcSUlBruAAX0l69ohHN3ME\/HNzxTnu3GrvJgd1THFT2xMAHsUC21rOfyjrOJRd1RmzPCNYk8iS9+9Q2FeaJb6JNdwUJiBcwK\/dWPXlR8KVDt8Slr8kFV6QW86GckjEBrSvVB39cD4O\/agzQLOUdDMbPqLlCqeofH7ESQgcqnO+rctekkPmBb5uOR5xU\/HM\/aJ2KAARtYOglXe4tCEEfWzNn4GqVkqkvckiu4TYmVx3TtF44rsPWv+WV6rnrLLFyaeCardIf+kIlOqBeUdxNf8U37tC4LW3AfoEmz6Z75QJ1jvE1epHdEXsWLM7axLyecYejyG0UupGzu57eoUYdD8QHAwGJ\/xkaTrJoNzRkyrIV+4G+9FruYh0XlPKGqYxzJKOBSSv3EkFgBJeOFv4qqZwkSa4xJGnvysM9KKkajwPd9nC\/xM49Iu0uTNWAhGC\/dVGyDrTbrjhk0Zgylfx\/i+KImgeTCQO62p7YulMdsPSCwd4kyJFr2ofMeKVc\/3ucihHzCnJyc8W\/7uke4qPXL+tmrkO7OaIveSyrM6RZAbE\/25nOR33LZ+Ak0PA02ALvdQkpvgf7dXpAjdSRLMlLgAz\/vAza\/yzfvvmQJhMJqV2beUawg8+t25IUIABv0kElxr617RY3naYFpHc6KCdFS9MFvuZy\/zRV06STuM1fxwlKCYd\/A0KGYlItOXYbhptV\/nOnTaGNiqBQdIGM2qNozGurkxLqpT6D3JtLkMtf8c71DvuPChpYGZl22RfvTzKXidF4HugKT1kzTctshHX1cI297vOy71zVQda0IDFTCjS\/ualq+oAdY6HEo6eIEwfh7oXbqDsmw+sU9VA2DToCSWGN5WRvlALj7YUy424TxNAaBDUWJ4WfSQ0TnFwVy4oGe6Zdl2mFv0lvOFJxjHfy0x8irCScIW+XAy4e9xsOZ4m3Xhi70tiPPgC32l08PzdvwZJnpYib1sgq+f+i14B7jC1BJ4yaCoAaer0doZwCenpSIQSPks+6NxQSTN7UEwOl1U6Abu45cIcd7DfPSzZgAP98Jy1BNHX493wrqpNqu6gSo\/T1Yw\/gbOHRv9bcTY\/Mo+pfqgZYESAnLwSvArKIGbmtWTDMDui3hWIeq4YguDJYzzDPbHIdLMGan3vrqQOCFzmBe9BKKFYz66OaeQuuVyH7A0vqEE2LQdaTl2AOtfHj2jJKDpNj0Qkq1jcuo9EwMnfveNDEaJjR1LPN4SG8Mfw\/5qW8JsANVUrVl3s9p+hUWGMiCIRvXYwMHxdfRyzkTErB4MSc9pCO51f\/R9Xlqo\/tFS\/Z1rLanBnRtWZDf\/3e4RU27I8NHnnmKDbNMtgMM+4z7oeVKyisE2mBQT5YYf8SKiQJyskz+o6AvAPP\/hfQBKhmA7aB2jd72TsTvzhX0Lir+Qk5J1tEMB3gU5zG3lHqH+D016Kw7ZyaIFDj8wk2XzDJ4jfzMS\/aKTcp9Lg0meilO9swDXnvTU6fQmPm5tYhKsgpHo0bWOnwYTZVEUAjfh90ittqlllpkTZZLYj50XbVvmuwGx6h5EYIuYMqwXa+fA0oozSdP0Iaxec2TvxuuEr49wKRpsG3sh16JBm4AAsrLMjEnNl35Wb+8gWP4ZKvUCgIRbTKjWXf7l6\/3dP2pzmfB1zSHE4Q4pRHjz6k4GhJHAy\/P5zcTlzIuNKOf+09H8KMLfRGApeCN\/H9uZqiLlzewtjxoYAE+x92cd5iEy013pQcT3y5w5RdzgWOblWv5wbHL9\/JsLV65nNH\/xoRNvO4naOWsE31Qd4Tp\/zgzrFqMF5RZha5z+h3i9Uq6avdeRRHH+YTFozX7r0L4eER37AC985MdVPd4V+t\/7Bw8EaHLyUrhUQJOS1MnFiGd6QXIqsSo1zhbjd2aBmKXrEDTVp9v0xl11qC0bt7\/ybnoaiqFMdwDRz4pxcYWZDwrQPOC7lBD2Jojrqww6N8J8j9GjxzIc6sXp8aHj4S0vTGnw8e8UErHYO807\/Pfn3lrlzMabeyq1fKipCHzH3fs8qNJ5w+rOcpfbLTArnHOLwkJrFGH\/1N0guBRdcxExswAVBzeoCkSzSSPvtwgmczldfo6GzZWABfKrCsO3vCd\/+Zq98AdfRn7aPF9\/M7Qt\/QCWUqhigERGm5\/n8rCcf42D\/Er6BK9VWjpTVuBYoXYUztWQQoKNwQDWjlx3\/lkuibiP1Oqgb6GzRxK5W94Az+tcuaIEimpAfd12snYR+LAYjhdgdFt2tYoWfH1t0NN0H99CcGltnY1zrsa88ABHO7xwoyK72EF28m2LofCxHb6T8F+14P2xtZ+43\/8fiHxiMX\/7fOniXEBj3SvxvQQftML20GeIahiZ3pnOnf2\/Q0EeiqVBENQ34f1U\/pLIw52I2XoD6ZmtjsMPj8JPLue+KJrQNX7pePbYAqdJfx2GeroS9DGf6R6MFxGh7e9\/IP0dl4VuKxjKYrC9eiuvvjZxtH\/Gv4vYYoE\/bYZVjv2d3WKp6\/en5q2AD3KSaaZEJqh6S8x4vIqRrq3zAKYvLnNMH2bMy8X1i0x75bdniCZnRoIKZBmXCdIqzArnGNWR4ULAvpVl+VPmwiQA99E7wNeJyHpRikRgakl+gpAgAXSW9QPkXi7do72vPMGNKAL6dzHvPbFhfEzn9dmWmC7GBIF7Sq1Lwo9sCXKr+8vqJC2knfrGZkBdMrO5dOS28tgzMJLCAQOJFBBK7yJuITB9k7ZIYfoACZC61\/iiY65aaBtTAYEfng8Z2\/J6HaQph1h+uVo7qdbqaubPWpej3Vbk+dSz88nBzyorxFX4wPKR+Z9s2sNwdj04v72vwpiEPw0iOoMPjeOhyAq+Fma1KRBYNVOKypXD5CChn8nR44gRNXXjDwvvDQ9xKL9IFg2DobOdD+yuBz5+r\/Tmwh+wGad\/FnW0gfjzJu8ebe2EqCZ714UTmfsiZ3MjUPcZTVrC19FVDlOR99zGR16uu6iAPC7th2JsunN5PQ65l\/zG\/crW5OUIsgK+ga98bIexyd5Z3C5kjHJEeAw6NzCOEMuCtOrcLp1KRuc+liS8kCV1YD\/ysHsyljRbx8B01WQp+EnIFiPtcV+tEw7P+w5rs1lmSnw9yNmvlXozTn27t+1pCPiKvmRXTEzvhW6KAlDqHbrV8dHftv8ZWkGKFliUfCFi29P0\/ST8juGiCe\/VoOuP34iJi3KdPuR4etvTqYvsuI\/KmoxyFlQBUJzzjhQll4SgLzcDb8AyXCuuGRxyQFYK0\/ukBdcZERFyvozh75FgpRCr\/MykzRjqb9fYi6OwYWoK6LkF9wEYw8IAeEkTk4fvok8NVfIFBP0OqLCNWNGmDxNw6kZQy+cnVpW1+oIzk1U3pDZ0exUiXWmDK+AGMRRvMBRIBVuKTXMVHVeeN9S8IsReZY1IJiuhUB97GEH4e7NntGwtO7h+ZTIaCzYo1geyCbt6XhQK3sI+LOhw7VLx7LAsFzUp8Uq09FtlaYKGzswTGX0HPsjGzk3WRiCYa5F5IOX1RWytTRZTgNCFigAhTQP9dcSFUQ0SOICwvTB88P5jCtPbdTkJqh4N\/C6SlBlN0sqJj68vsVwy6\/mLiudNGBSoLUuJ4AU0LyB8ior3ta2WJup5Vtkrma9dic4WN+WRCD4qbmKSW9ACATBGH0iQpVd2HVcEwIPxQeEf2CmAE21rjL4Lefu4p9fXwGiWYckHwIbje2+3QAEttmySoq\/WLrtByOHHF4rQ2Ividi7oFclook2vnjOjr\/ykFsiXxNoxgSz\/HYfrdyxCNS5CBPz2dx7Pf23FUeKREme3m9AibX0las3jekAZuEo4EJ\/50+PZk6GctVYmeMJ2kV+7mRWirmCYgMtOmMIgqhzNpk6AMzuDuJxxNw9alf3DwaHv8PgL6d6MFY+wNTMJOmM2PtmOwDLKTd0UCBGWwoEuF5xSZ4FhG\/OjpKhfKJpF9rwhqN9mxb5X1bysGVHHrgXfzoqf7jkAKPNBL2OTs2Z0jyn9I6gFlT\/XSnJ23fOpkdo04txgRfSif1LZ5nG71z0NJfiMfxVFeEAheVkMXfZlvYljv3QFJFLPBZ9i5ypESzAYOF2EhY8JWvISXtqF68xCusiZSnJRmj6z+d\/1PaAnaroHJno4b55ezomcTilh4Vks6rc\/lM2CwgOfBK9ee501zbzg67PaoMw7DWDDbkmGW9wPGoW7VgBhBZxy0c4CD3Fe6A064P4I9rG59+mAyElmLN7DkxT0iL7eONw9IOQmgLBDsIm9GulQ2C7VHdTtIzyQo1c8qptFWWtlR9nTb08yNFoqtJD\/taAate04hvuxaZ\/XQJehNeonbZ9C3+Nid+urf3RkuYl1W44WbN1A8EwedVBm7Tf\/FPupzPJUGMhXXIjoH2+z0BpzR89bG6wzKW038BFGEE05RPCC+8fWAEd+OBNDpGqBWIpYE69zoUH6GlrHAy2igvOCydqgdeQyfdz8hGmOYL+eVGDx64+0XUoSG0SSoEzBDMtcjRN9fhfXyHviftLDJnNQiA9e7uK8\/F+W12M7mnhqmbnJlZptVLCTI1bGUSHZCiKzqIQq3ZmJ1NOd1\/2qzIIxwihtqYLzBpWep3y8WX8y9ddXAWQ+kDABAIv+uKGIpTB\/rr7KIbCBQp2ws2prZX1vfmeNq3wYAMWpG\/nkjqnUSYSC61ySbEmQPejWfgkewbagq\/1N3gFFcEbq\/85W4ZqoN\/Qf5yFxC3QtDUvZa5mcVEZ2GEC2PMa1d\/X4AEIKBryZLFfz66Ttq4\/077DYQgqSBQ2kv7TVeKbFpCAH9X8+qjMH6L7P2qO\/jgr8xxYv0VFo1dMtGX9oP7mCHcxrMXALPDkifHLlAih9QBILpwA4r9YAU0A9MHJJhiqPVTZOXAJYpMYrqRw6dyL12p\/OFEhPMny3zHSrwTpUCUf6zyTlmm\/tLXyeX7JA2mGhlQHF5UrBgW5xKW5uc4W6ZGqghSyiYV8GVAvidBUmqW\/nBhKzgdN4qGg7c3apfrKaUN9twDFKxh+SLHDOxmbPFZVvHu6wydC5zp8un02fCkq510OGgONCcALbyKLSE5YXR3XPAeZ1YA6fMvpcXSCrM9RaOiRunTdN937kroJC57TJfcHLSIeACSPcrZe29ivJY58HtQMu7TvVD5mlICfyjeGueQbjmxG5YTC4NRLou+KJwP7kVJ4MekVm09MThB2NwFR\/5+EPzN2yeM6Y8J2Zk1oQz82sQusmOXxlwycdWprpyel705stjkkaf55zJPCmafPbWSw3GA3vmXq9DboQmUML6WlAwRhAqxlv7MTqVmr6sOjy1019w1nVT10tNv4MUmiAlsxJqJDsFVu+ZbbOfSm4IRpP7ze5ZqZbxzgTmHXECfWtviJObNafrpsZrKxrrJhHOzQ\/92JmUSzTh6abBrpIVGpra8DP3a8U\/jU6\/a5JSIwFmw7B\/17X7Rzc8UMUAVIrCX8RxSrH9mZC+Dr7MLJkImBGl1uUAXGOUav3xZH5fQEFEdI46fUf4RfGQUt5SXCKET2mGx4Cx0Yymdl1v240Zzfwyduis2UuYk4PtH0n2l9D\/X80+TuWm6XSmZaIpPCEu8oDHhY2GxtANd\/NkedQkxfuICUUgl82SRZvfk99PRqMFdBteqOoVqjnmcmSI5wFu8\/vpxLDM98ai0Ly9o5ShKzDYmpjrZ0UWFlYm5gUfH1rnlf0I8KZzmeoM7xYvfeT1BwO9guqO9phUcOcp8C5ALVvbQmoWa29suXCYY64Ln7Fhffuu2eA8DWZ933Lnvr0LtQdP04u+h55KyFA7FdKXOHOtP8llndyszdjP5yQDgu1QhTCNqn4CwOoCf1332hTQw0dcG8TruuMKLLhUA1CB+Begfo4dDTr\/lZ8W0W4YvTlLgwO\/hXn\/A8bMQEBkc6ELYNO6K1N9A7yxwaSSHp41Gsvg5sn1x55ydS0s2Ez2tWA7ffHDwRo30iVm6ZNcZxOV6+IaPZ6Md9A2iBvL5ryfumkWcarsT3Ai\/OXJHW\/4tv\/\/f9xdQR+sl1XMP9H0ru\/DFMqx+w7HvkRH2+ndQ2I2Y\/sAte3J5BIoFg4R1NL9fCBksvyrrEjZ7myMKiXd8s2OnqqU8miiyj\/3f3P+aHE4Rx+1s3lfCNwlLwTogwm4I7mqxv\/9J9rmBfTH\/dDih\/gNjdPjiVcVJJcPXXaixLFQ3vHuvHowt1oQ3XfDEaT5QDw5wnR0OyJXcNiYuRQMch+bAWcbgh7PfoKQzqhTjy3HRWr5WyUAuI15l5+6Ynzs9aj5H8OHtVLZBQbgmrPx6ChOY7cewhNzBClTtEXslMljqA1HgXoPsk1jzx1DSUSm4k+SDSOK+igz6YDmxgyZ3+gCKNNz\/dNrMf81SaJMm\/5vpTMtt0TjCsMQbliymzHXoyXyBOWh\/XNwwSkLCXwIzBl76Tkteo4+34jHhHTyfwbY1D9eVOUuBV4Kb02HUu+1k7R1aPTH1AODk4rPzR88269yQJYQOvdFrkJjKo1Dq9bQvFoCb\/9ytR5JJ3q57paZR3wSPEBIdzL8fHUNWzuEXF1XcjK1QAoD2swf8UGtphx27\/aDypf2vZb1mTvT7vlU3y3dxmFPha3AJRjwHjf8YxnHaB9DgHMmRXLuNpWJHxtJvm2mbJ3Ut1TT9qyZlOuhewUcRu\/yZkfJeFJKW9WcFW18PL6RCT4IRXkukZWEnHgb3b5CsokVF+S3r8sX+xNqAWKQj3XLCG3HfvPAaUtCTnaIKGCtWbG\/B0lDiym+BuvkrCWMKBnzSPOMDxnD\/\/eA6hlwr0t5qc757TiWYCMXEKbiC7QkSTJx2kzMke6zyitCF3P65\/DMLb2Fxs\/9dJvk5fjskjWj1q6WfWS1P7yf8rLhWSoMekLJq26DnjOFWcA3TTaasJ28d8qmkUZv8d6T2YzFlUOxyBQIMWsQWouKVNqbvIFs3J1Ea+xNj5jnwwlrxMX2ymcFpVkbzwqLx2Au4LL8l\/s4kzosKqCVTwTaeym86TG85OPX4N8nufJCXvOHpX9MEGl3URAJJJ6LL2qK1VmI18Yv9kuvR7DseBW\/8KThfvmzrUKR2VSt5N6eQdDFBCylxC0KJf6GXHU1ZN8hVMmMxHhw9qM7zbeveQ14sXIyklLoqYQnwp+B44GiH4424027iL5aeI0tNzi7+O+EzkyKIf87pV8vCaf5OE0lsvXDZ0MsgDzrVxPTewAMovcKPA6SUMz\/ruN25RPEXc9t680xoVOXHei7BG+N\/lEbEeBY2ZNfzr2lNP120De7\/69\/3\/kyA19r+gOXiyroRU+jXyAohXagr8OsugItxX0AjIADwDq8BifFpjxfcNPn9nZfEnvmpn90MmZ4j8pbDT8IHgIVb1wEdC3RAdRYqlOeUbczjMi02nAfAXn\/5FYy\/wQlJWMn+dphDckIJHMIP1vtV6Po8XVZakADZ3ggymKu20u9fHQtD4aishXeQcfGZtakP4jNYcCoOH5xviTKyRhgT9EdHCRqBEUREcNHwMHboMGZrNrjZiejtVoxAT0sW7upqQpkwwDuTHT9dH20ZR4rQlZtt40Rab3CPbOMhQEp47p4DAu5xJKukb4WhEXtPPulw3gH2PV1L3ciY2k7b+XEmuqj54Gu\/nAxI7W+58T9L9fnvb5c9r6WMXErNEO9D\/hoB4kq7287D+NtIdUsQrewMqcnUtoLicQDF\/6v357QZuTJkCScmCQZ1zKM8buWu19hidXRx5wjITgxbEcdU7Jkf\/zT5LmqcGNcWl9DwlW7DLCHwf316wn\/Gx9D\/NKK0iAhSrzAdZt\/8mqlb846Z9vZ8+TC1Jr0dt2YGDOGJP6g8bkpvrYwVmD7FQajZqrB0uqNhzkifbaoyPuaNzMUxzGBqS+CrU7JakFdd\/dz41nYvb4FJvWVkrNlnqQO6hJCdUdeHq8gFgLtxu9xHrCUGJ\/gXMWa1gDYEQlqr6OlWVOFVOdiTWWiPpFG496a0RS7sOeIRbRJf3PbhLhkVWksbJNfn4DqPjU+0GGg9GuzcAp3AeZVHK4MsWlAH5SPhFWvRtoX3rF2bUX7fFbftfAYTpP4leZZFWC+MlcP4iQ4SD0P\/TfPESQcD2r7FGhJS\/kU1ab10558Sa+dgnia8fJWzbhlSLJCPe3hmUdT1Nc9DOGbtQn0Rv1J8vAG2twfxM2C7Z5xbaYagp7ApzfpdlwE5I0pxGhn5LdVEV\/ct4XZC2gDCVR6a\/AntMXlSVmVR6rjcLmS5Kdd9rnbLFcsTn5KGnXPk4cd0m+wofIQdHxaSfgU1NwTFR78qZmRFkQBgDa6F6b25vZS8JvhU+aQoJZixtiZ1zhPekbCPYDTAd96u4qc5Q7lg569bY9DqNt+DW+61fcNXK\/3j4cmAJswrp4fUlBniIvlheQHx9IZezAPZ8sXrbOtQX\/7bmDzw72k8n5xGOAi5sJbsWKAECqmKcbTXuKhP24Debo3im7GoRQohsknDLc47KIGg2jtEna8bQSbB5ognQE0xRVvibQYyWJ7EfJ74I\/4OiwXzq2\/t+\/n88eCgqSpRn6TGLMXamG9koOKUHvwiGjaiSazEqBDjChv3ASwfiBRRi4VyuMlnUR9u4PRU3XMGLIIQqVziw8+e1RDpzAmAPBprKKcX8BO8bZhaY\/5r76cshJFCZTmfRIdIUPS+9nfl9yBVFD\/zCbBl30M\/vwmshtxL3lKcpnA8CMFIaYQ7SdaaFkPInLI6ux88a7JgbrbicLKnGGTCiHAKw7FHsP0GqBT+BrBLeNPsnBWSem6awNxr4WvQboPNUZ2mDrW5Lzt\/NwVnOm58ZLYUv8cjt1ojZLeG0SE98lvyxE4rPD8lbSTN4Osos\/\/Po2tgaNrnbyqYVZ6Y\/VBiRtEZFMvLpYjy6nQh5gTohAh7srvcYZaiyHAtpy\/Nj6wPvEop\/c2+1uBO3WwovxVultaU4FNiRmELBmqSPvNQRDIMg96PGQ8miYB0hM5\/60czyHowWvBWioViPdzYxwDQLP1UD\/hd56EtcdBizjYfL11\/EAC4D4dE9ccYEiYE6JifAz0M2ArsPhGEqLrj2gzXn9x6EAR\/5Z\/RdUJSYb9xdU7ZZhMzybwEZ7yYI2XVAlsTkx598mNIQgRJSXTUsTPD1OZoU70YG3t09dzSEvhPfFSd68sizxz2hasG914QPuRLtVdtj9wE+Rxq49CQhmpGXa43v2SnsTxlTGTlLQdj70Rw7gIrGrEmu3q16\/MT3QGJntxLiFmYOTNDO9RaWzLD1W\/tEtC5x2+WWaFCiNvFt3UOtGlHCFjZc+NLovIC3k4QIPl2RnpL0usLkWLbVnad9qswIZEA6nLgnXpQGjA2EOs\/Psk7BrJMGUQR7VIyA9gI20c67Zcp8ke0evYK7foFGunXuGm8MuHLXkU9dKcEjMvL1vuHltD9MMQNvXzIAqEBXqB6kDShNh\/c9B+3hoBrfFQKZcsGUN2IWhNPoqhgFo3w5WvkjbWNBHbZzbMV85xEzeGy6wJyZG1VdmeyjEEnFDKZb+VlvlPBwn7AwCtnSjfxlF2gTw4lG8JLRtt6tbcflbj+MPeqJJ60iwGq6Xwh9PIdh3qvDoxsa083NiTT6lGXPH9D5SUBF5TPibXltyGI6IGljyrwry1bNLKlchIPyrWdswwtUnbApj+OInNQxvFNicyHflwE9pR9bNHqzz0K8fg+XlQ6xqoQHBX6Hf6XcBmNrHLsZpnNxTmSkBOz5TZ6eLoHUdHkG1C7rdnNe1YaVe91BfIh5U8eluUBMbLb65XtzuNSwb3NDYcCBLBjSS\/rcH1XKe3Usx149o1n1P7DCjjjRHbZ8hg8X6OzSYIllMESeOyjQhwnOO4gT1N9HZzKpm1NP1U5arE1VOSukZhEeSuAzjkFu0sVbUfsr0\/vL2QZksIXqwC4FzBmkgTRMhn6wAt3lbZB5LKhC86qvRBP4DHPo\/7QybgUu0KqGUkyuzmCS\/Wthh91RrT+M\/cqK7e4DWd764uT3vPlCHPEJVmZgOu0xK95ZHvu2Aq9j4wK43kU\/rAcMZ3OQYenNZdor7mrBycpLzlAe5JI7Jrgb6XdA9OgH7JkJlWy1FEQFIVvme0663naTvnaOV0xikDmyXEnrVHkDCs936XX\/6nX2nxxS\/71Exa+L9ZvwSijWQ+HWNB1qNqXf9I+keakLcJGjc+L+cz7PQMd9d2qBgdiv8JB7yXO0bIzjAaR5rz2yS2HZ4Ox83XJ5sDP3gbGk70mdCLjNn62j9HO8xs\/XEvI3NbQJSitzPDkmWcnQWd8Ox2g3hFD9BYshLHSk0LnW8kYKZyXW8I5V3nzZcBpJ4WHQpAu4C8\/3KbMWpYhI+I9YuAKcEAAESnzbRWkoyl\/7xl+vcrO1yS4An\/plDwoxmlyukzv6RYyYrwTO1pFfnSNtTD2FQ\/y5FfeU3dqx9VsCMHTTnW+EQ\/AvmBhFfy0xBkYVLoGXNK7nrxEEjukcnYMBw37\/8eDTqt3IiNrMToslB72NpklrdimlIBRXjSbpQOhS5twH5V9SQv2b3DACuww2raoxMGB1FG1NY4KU9fPvhz7fkKOsG0LbuhskTNd8Io\/dQc9dI80Til1MRju2GfKzYccTNgI7TAlQyFpZ0lVuJ+wqd1BG+HmQaa6t18dm+aB0+xeYjy6e2A6yKzF0RLZRmntq3xO3\/hLulvX4tmr7+iMYbZdFY0iGmprXwjiJrXYsNw2v6fY8WSHHo0lhK3NzECybk+De1mupmg1ZU3gH0wUKI6hehVb0uHF3nqsOwAkVde\/10HV71DXeVw6WaCU7aT7tw1hmKcbLPkUusRnhJAlaxR6AcJMSoOypZ3PMCOSk\/tErkJNYkMNaOr1+gkSt2MCLQKt\/wFuB4DTMHOJoYpBa0NE67jdNNLDqF5d7X573t3YxwK3j76mPFIGgo8j5VbmUBH88AOc7nIARIJnK7fMrdLW4Q89ZGt6wPSpzfLfphnfrXxBFTWPD1uaPPnFT7Ztg48OZaCjX8qlhuVLvZJS7k0KzKXStgLxy3RZPbfzcXtc0a+sYqDZFzCdqBtLtlBqWieqU0s2m\/OGfW0zPMkIvJqOEEY51OUfr0MTKlEpo6fi7vo1XAwEOTpfyp65yp9KTQZCFjRnzuYr88GKmbwzg99saapDaxELJXUyffowNXRaIW7bRyYEa3jU9fBB50L4tnBH8O1khO6AoVRV1L0Hrf1h+H4oVWN13iGJuXSyegb1P7atVzE+GxyxG38hm84rx004TbBNhsSK1N0m\/qqM72mS0uGXEVvVF\/CpSJONxgqi0HKXUUXYslDY9yqNPNSrJWz+xFWz\/zKutXlB+8Bm+oCyeisNkuhkzA0NOEJM6JIHW5VOQKgRxbhY0GRsUC7sSf7oSOSNhXVgiL+eMtkVF5b1j8tut4eFa42NIX2tDsCSH6agIgm41kw9E1MUqXZzYtHgl5PLNpd4pbSc7hp4NBenhFVWBydpButMflwvIbyGDZVM2Q7ECLDwJd9gk2CJZwWDus5ihON9HGyTk\/Nw7ZdhQpLfeSCzOpcTUkIXV3s+kMDTIcX\/XCpDrA\/ZLEP1QdiTsexTwHt5me\/kgDG8IBUfpWO0YJlD4krf6gJ12pLtw8+NjVnoADykasRfe4Ll8eR+fKoMssVsmEKVkK4wgVJbUNZEjImELiKfLUt85qfdJ3mIzuDTBEoTI0iemN0FaN4SteJ3h3WkSJppN4k3Pis6aEsrKs\/whr9jJXiPHRVpfVRBs5hOhr3YRGlYwu8XxXwLW3cOQPTQKtiwxOjtLYd+3S3UiUPkCwu7oHamOwefrb\/xKua4y6HGP6+q8POF6mBQ94Du1Lfycoe1JMN9dkt8OyIr1QkI2gyy1PtiODKrdNPi6liAIDtNGVm+cRtmxTUAv6luTYQs1OBnr9HT1hqGQ1ChHCm5LqVj8SngEszcPpiOvsDzIp833E6kt4rc6E9FfpNkrx1c7mgy8aPLDwgEvq2Dx9DwMMlHLnW96vRoqQX1jkZhDrm1flUjFrxuwxXFjihrrqS66uP0sMuJtZAM48QgXCsdyGqlQ+5lsilH\/zsmm8LU5NcsgMXPrsZU5bhlXLbTHlXADFA6HQbQmtwNP2ZXCG9SNFgTv5zd26Kjzk3XoQpF8f6JAgQBrccOA67snxKaCCxFCNZ7M8pJK1Aw1K472qLBq\/FmRKJRKZLMinv33MJW+5ydSmTScCV5BC\/nD3C64lh6RlZ82SKHcZ75NTCwDGb6jRrPRemO1W\/TryEUte3SYojqL5HFZIwhyQ8vwco3VehsgzVraLqhSDVXBrawCoNdwUhVqFyd\/aV7oGGz1zBKdx8y67VA0jkqJQSS5v7uWOrilUvi9jeyQ+cnf6ce3L2H\/hxZAJUtYhzCu1ngJ0fyOXO\/aXUfjChRM0fipTmo9jRxAem1VhqcfvCktYcXayONCdz8v\/qJLd\/wA3zB1WOMaC7AnCZ0kY4YuP627ZhmzCMnGW1yD8N4ZwO5SU3VTL6eZjUTWjkUpDz4L8YLOrA6qho+BKSfJWQoC8Nxr8+QSUMBgUY\/2e34ceOqfiOJ4yk88HMEMDDJHOzeqZ2VOUsCnnR79tbOpol5ZtswWh2WFYRTK6uV\/\/31EYQMPEI2WCmZx0vHUZeXp9WsxBfij2CG\/nXJbLNqwpDUK+7FtTlfKOzDxzZujFEpKT0qrm+kKnhKgi5WuhIda9\/oNtSyr9o3uA+97mKA1nCE2EI7azaxiiv6GU6xm+qMKn4dAQEh6cVvzeUbQ1tGpArMlGHRZGWs7sNowEEPNLzJzlRib39DSrDpUVDw94nMCIiVqQyL6s9Cfk7FJxz2h7yjEev\/ktrXt4FpvJY1hazxG2ckBcwpYBkRlQmaCQV5MYdeY2Bn6\/QLVQmrVIIeyyDmz26ZLGAULeNQoQuzN0Q0Gq4+EwT58Cv1pceTkhhaD56R95plcYbAGbHsKkYJ2qxQ1lS7YuPWIGfHN54WzxX\/teazYLNv4EDqVO8Op\/4mMrnT2LltqcHeMzHNLtg32PlP5wqtY3dJAcUSekyXnQRRDahkbe97vS1rvdMCTDyC4iV5NNzZ6D4kQj8b8zLY+EotQbjAKWymzJJLs6DGGH7oIrz961kk7wXCpr4JhOCTlHSKFxYqK41D381ZADMYeYzWEYJf\/D\/I8KpJz+twLPmQFrskcjrYCV2T4rSJjaoDt0W8jf+rZMaKQEQPU1PNMn1Ojmb20IXseKS4hxsNjuQI8yGWOIvLhP\/YmL2lqFH1AmOe8e0GnBia+t4UYfSSamrqq+QO0vU6ANchpLFyEtGfqjAbl+FxbzZEmZhYLdnqVlxH35HAEm3C4gEoWYV1m2Y1BzXdteTB6vYoGHG94MxWwp2NduvqrxoIHJSD3zxNyAye+BRe15UxQvw4c4f05WKaSTb0cRHixxj2AZs1O82q4G+3cNwfvfFhHm9hZ8qwcz43bwzkaiaDM49WPPaXfiuNJJOjHLuV8s+fAAlqEAT38Juiw6hWd+Y5ENE7wIYV9miHksE7M3Xyrbcvm5C9dM8ItidHxVDoZLCausdxG\/DggY+XDdX+nlyoShI3k9Nn\/Yzt5kEsjdmiAeyLb4BISQIcoL02GdlEC2\/HPVjxcMaec4hIbI8voEknu7vlISa0i93KCWQUdIRMBWJnQgjGkn+uzYqoGY5gXU10HUvYoeF16Nmfe6JNZ1QrsVo2Sfqt34pfBC\/UPTp0RXmCIs6dOtCZ4E1xiJLq76kSlIlItKc2JdwAmISlhGbyqq+93gEOp1GJIIlXkhOrxZ3aRJCPWH5SZA3a0wv78BPcX9F\/WuXD+ahb4AX+mQf8yI1J71kjUaG\/y42ZYxYfXM24arP8XECI2zQh5\/gKlKisX8ev357JEjU9suMjPMVBLrjZUGy2kDngCwD1RRkmoZ6dORDhpIERbSBroRfFZ3P3Tmco7Wyu2rSgydWp3hUvTyaciohRVJ8+5wKGRV7jwPkNVSiMQVO6ubbeejZr+HCb02zxIm7G\/wDsyT\/bCh9n8Is6pKy5uf6NHB8UseSMQ9PpUL974koqqjFR9QFewXO\/IQVbLTckiniuFwFPgt3AKOB60d+tun0bA44XmKYrqQRZov7dkJZif2+Mcc\/Rolrw78qmw7yilqKNYSXj6V+KTN+Fn26h5OKxBLVUIu5LXTLTuDgkT2mqZlTOdFJKf5pNpTDlUf5nQoptccsVqXkQzu3pgezyGrsqp+qot1t+IjWQLQ+EYWMq1YaaEzBGuPAolRCnvTok96PvQwaA\/a\/evz191zDzy9mweh4zJZ9SWFna9ltFTiuwWeQ38YWUOaoQ1VDC5uzQyPLrlLsOeWi3MKhBwHTN09aQyi\/wDax+Knh3i\/V\/lVNvOUIY1dWPF95+L+t4jlb86LAwybWJFeCqnOU+KUhExxZ8MXIoxpkRtudr+Mdw+YEKRdQ16bCr1OqBgxci7Er0i9ly2MvOCHYEQhvz7eN6OO5L3y89d2X\/NRzcZaQ2hMBcQlD6LZxRjKE1Was0T+NmvRFte6WmA0tpPcbNYyD2ElP4tzpTxRA8zrYtFBbfhcOfr\/Crc0XzyZEPl5kpoBbPCW0MtcOXnqROuIUlqvmtfFAq5lwg8R1BxrzihfEE8lpO7bBsSMdOEG+5caaXaIYjKmFxW1KjkHFWIFu0a9icBxz2CjiHl1U7mXraZTs\/w9Bf+vv5rPLX4SkKLcb+fuB02d\/+0bcm+76g65n3zU+O\/+RgCp6oKORdG7tiW+OuMYRD6OUxCuhXe2iDywSKVQGRpLR1eepnRb4ysOIHTOwtQRlP5YVUFRXab4eXkjXZ6svt47YyLhWaLw\/SC1WqdaInhi\/BYySI7URdHHb1Ts53Q61AgR+DeJrTlmD65SfTMWvVhWH8DvWa\/wkEgySR947AqgSbfLOKUl8HW5t\/5et+cve9wVJj8Rkqizdy\/a0nDkjUd9Zli6NFPj6LoVTG9Ti5cB+ZvN04vG+XbY2BFcT0C5gjEdE5gOkdL8bJBTV1YwD4r6BUUy9X6bPwtehbItMTalvAbZ7694Jh9XzY6SR4O5TypaQ\/qZb2M0ZylWnL3n48Au\/GDZLBVT57AMC3FDb7fL35VDrESsubcqU1FziscZf9cGmQVDZ\/d4aypUnkkLWr6dzxkH5V0881mOlh3b04BgDgNo8FyfBF9VjZIwHXHn4ngSEtVYcZDRogC3sauyoB\/HKIK\/jalcXNoNLO9ZruS8aoaieczu+VF7\/InHwBoHPnAmo26gckkDN\/AHoUNCzya+jP0Ux2RBqKwgablgXCgOXx88M7LegZWUJvx+uctmLC6dzgSG\/Q3qAnBkiWaByJEsDTeJCu9urGc1RW9Lnz\/\/XC43TYZbHldcepeifSK2iHbgOZYs4KtlibjovzqdCf79VbDbbgGZOp744x+Jy8JIsSQEbhAjvpgGwqeQVKtqHWhWrAld8W5WxoomwmTIPqYNo2vSRmuYqHPgWFsSA2imXVaxriGaQKwlK+JbZIMpyo5B6coEFyJreKFQ9xKZvOqfOa25MLZ\/3GxYEW22ez\/3VgAy+05WGuT3cavFTGHYT67E\/B255r+0In7jOlLmNh+pQ1TWKyBaXb1mR\/y\/S9FLAXJeclkpyr7zNpXE4zQ+2PRqFJbklLvcijM7d4rTLclJb2Bfbu3J03UxOoavuFuqNOOnu8CwvDZsjeuPWeds3x0ch10M7uUJ9LnIeAdZD8kjrpeA94UqCSS9XXMv9NuANlHGrOhE95yMHxZDGI50MZbXlDOlJ2xNQG0pC6hMImFmih68HAH8F30yH5GEiNDEWq\/EmAZ2GaYWOmCyZhVK62ZXNjegY+2Gp+tVI8Rtb0JNMl96Xtf0NMzRbvoujfILKnkxdZDodhnxpEIUEnULFiKTj47m3cjmUpFiV4NdAZUEwGyAXoZuAhpwrpjd+9bvFOX1CvHXPKgTIjxh04oc4UZmG5bw3\/PRQ5H0A1swR1vvK9FBAO9QbkdbVRb\/XAhpdMN4ijbGOYlu7xLjNNco8WR8lffa9SAth0IHRwxyqsIdh8RGH+0Kl9WM964udeIPDy8ZK9wiUsztty7NByP7cOxE\/ID1097MPPuL\/spKDgxEQNyFP8wv\/mOiuZZlipvx3clY+aTvbnGtaERh9FOP\/Ej5dP1NBHA+AanI0sYG7rueL6mbrulDUx4UARv38pYToKoJw2bkZGd2esymVyW9lXt8mHHgWcvNZBY9WoqWWhlpon9EuMGu4IbEc4OtNZAzqHVAI+MzZrOf2KEabuoFEBFsNvzgFrYQnyM6luKc4kaI5B0CoykB43mE1tRQMbxsUWN35Xv7GyrXUMWLFxwrvET7DS92R32VP+J3oALwnwdd3eRPm6VVzmwX3td1G1Iy5s\/KyUuGVdraSlBqW8sokCznBSli\/8GItY4gu6oODV8qZMblrSh6H0Lhqu9vqBOSILZiM9IR\/zrc4bCDESvPsd6X5BEShg+hgzIwyxVrRT85xa212QLE90sTpbcv\/gVYLnjYGqa\/27uEcI3scEL745lOed+3x6E+Kk18gicGRz8fd1AVBjMLR+uKw1hW9GWJSmvNDdlM+b1A\/m0aIbV86rnuWTvMlfxFpr6RlDpczGG8xw9ruMVjaf6WucefCJ8Mm7DOqT27xvbWCfQbPW+Jk0QMaVIeyq1S+Bpiz5QbQ74HNqACIb1kpfsq2ajJhahzadcyFYDYL7dMyvJsFA5Rhn1tCJFE41QoKojBTeyXGUXapfBpQk\/bRS006XSSYkrVJnRyS\/K508nNmJVuapyiU6Rblzomvi5eIX9w0JvccHaEif4MytFFinvIjpNwjdipWUmHwCnTaj2KxS+zplD4n0Dkg1Idey88Npjeisf6HKUi6ZB3FRhQUwcJASaq12EcSJQV7GAFKI2zby8Y9w2ON9cnujZEM0AjSAZ+2hZs9k6F8dSy7s7L\/s0HJTkbpr8MKz+ZxXNbHwQlZC5Sh+Pg0z7kG4Ty\/m1hGjqXa1KL4WEXqlutbh31TARPXqdGAtjVr+LLTKNv0f3fClz39zVUqCRgx2Oa66zkTRU4JBET+pwa3mZg2nGhFylUR1ltFt3iYF7GZtRVFE+BsR8lm7VeSUnbVpvtIGECYQyLZzpkV2Q0OPi1\/UldyzCKQ9XzCWGK2Vy0oO3EnwqYbDhpNTtaImK0cAExqCw1xgjgvRONrNKy15RlV3EAH41FfPZlIgZuacHZImcIqvm\/gKqEk84OGhbhP+sMifoG8MhwYHVkJZDAuB7qXIP1tsJ5zdLOhXshpozbWlVctAEuG5LlDJYylFuGHcLY7Zv5CSut6JLXGybYRBwiyrqXKVrJIHorsUJg7\/BXUVOdznd+pKYt7su7pb54AcVyaVv1IdqdEEHc8iDdH9MKHRbBxHPNCmCBnPT\/iK5uq0zHws22HF1kY6XZSMk5onrYTWaHAou2j7spDjrT9qiMsgNuBLZvy2MTzT2g\/NAEwt0N0UonG3F3wmj\/CwSaSZjTz0fOYfh+7m\/nhQf62+grEqxit6GswJWd4ob3FVIbGM5t4YrwawCBau+ehDiWCXWHGQDvNQOC+nG2HSWFKspPkZHZfogvUYIG\/5HpYMaKPo42c2ykkty1dIP\/5FI6UYf0\/TObNhV5RAkkq832W5AhZU24VQ+n2awpy4pIdKg08i1TuSg+tv6cw0BcC+drGcvlH1h98Z105ItFpRkAVn7IgkaQ5VaBjRlupESIaqbrBA+PgdSapOjT8QcxwzNCMjOc28hcyjfNYBEYfCfJ0lj2KfKh8o11k+vrpVoYTPNbIoGKAIr8mGJd136V7s046+Tj3vIAxPMWo91XvUwV+WuMfpsKxs6f3IO2Fy2CqaDtRkaHUoE1bXwT\/Acy8YMTWAU\/jLsT7G9R8UX3pyTOYdrQXsF8FaJlF7+LNqt4akE0ZIBUO8qRzogx6B+6AtKEJZreS+MiAwTJU7fT8csbDB\/8t1WfcdWWJn+7xYUaMe4VGVucARLpmtBYf5M3NfxnLoQ3YIdjWYpWDFYZ6dviqPiZCSMSqqAeWFOoTl8MYpbXMw6caJBOcO6dqzS3Yj2FwoyHCOIh29xeAEIFeLN0W4Do6\/v3wFvZ1yvdK\/ohYTbB4K4tuv1szGnOv\/NNpW1XkKab+dT3w4C1z9OWaWMCUTSNH9XLuXzhUIw2eXT4YMYRlkYRpQEn95RkO03bieIMY+tJWFQwA\/hM5X2o0aP1YQASKMT9jmhOsnGNp9JxLYFrDvaG8Q4WZ2+jYJiKOTgV\/3DNQ1GMtB4sruq0nAH+j7J0+kpLRpym1r5pyygi7lVKn\/Q9NvtE6Of9riXSDGVCpCA45e6V31i0FdIHzcBUAT39fTvSy+2xn3PLoqbzlcrc4wbHNLKg4iFklvEVxhtGeRb9Y2uYHCT6XsEcXNW+1zoNsLbxMPi\/FBMCwajfbiV8mtPQzcoA7QBQAHswhhkAPl08VSVT54syqzNCZHIEu5GBK13jzQawbMtCjkiKZZ8jxpkIWWsjWLioShBm8okNkBJG3esyX+vc0R5XLUFMPcEFjhYjgLpIUaEWD9eHW8fCnjfXfWhnYYGb2eUwk97OVdB4+MFYjj1f04MrCloX5cmvVR22do7n5nDa0+AENNoLbw2M2rKWXHcCow3hv03shNAuaaIJLUNj5WUVWyeOf+SjXWtyE17YKJQj4LoKJZfRaxweb2DIR2I\/AkiDc3dK6ruyAEJekFU6BpsxH\/eu3qvbcaTtU41WQE\/RDI4QGGBjn8SapQ4u8ezhbHPWeHNCqrkNMRa97YNolZ+j409l91GA6xy5w0kZsP4usBjIL4agrWUr9ELdF\/02zuK8KDCV6tmKVYmM\/AKEygkVbrqILGCdQ8aSPb9sysy+kO1BYv1EE4677NxA2e4vB8M5B26U0Ow7bcgCXKmJcA8YgQ4OoKAaRzpQkXDKYgR45G5HXJQckuNJ60XFyGWft101jBS0y8lBLxr3fIlmd9t2S3WcUWrw7k6xCYqhsK0\/x+PJJ3TaypEXQArFpTS7WnUCdxs64ljgKcovcgt\/bsOOLk2a5oJdi0dwwHaKcKgWKw5hG5kGjjiId8+WD6JATuot2q+468RM8efxYxI4IggWlG7LRsx5oecy4\/Hm3Q+WOsohMbfciKXQIWqXOy7UUI1oAKN9Wgu8l+JbKKjDKKxWkGIHThI52PXyRFJ83dn6Nh+g5rsIf3rLZPjWfjnH04oF5HQP7mD5lsa5K+aNTh0IOJOLuvJYIgG18WlbTiSPsXZSbZgCKGWCWiPUiPa6BgEZviilHS7PxkYmSgSnoGnCPAhinI5IOtX5FmHS2Rz8E7B3C5W8TJbJhz4slCbNI4MMoESQGfu+GBR97BzLKytnvXcNRNnp9xmd\/45vWerI4S+Mg424Qe8XFhOPPXTbDefg28GgGGZg2s92D9+1JHAM4NPci3bcDN6Qizc4FEKux5WK6OGvJeeApIy7HuA\/eEA9k1x4Nmb3A0\/9X5Q\/brCFZiunuG5ilQNlWfzoCBHU6jG6uwJU04U+Cr8\/Q9uPjM8SCNA4ZI7SnTWANyaiWSWBxy2niwdhC64B7\/x6wMZ1zudQnSqiky1Pb8XYMO2DTXiRqbs7kpzhdP0\/iDRRAeKQOYBo0XGUwxYaR0co5\/XBsLTqxQ6FFf4o82doJfzz7hltN02o\/U+fsWOdNFgJuTn87fxNoSv9Zg3vZkcSiGl6P9SzwZ3\/cA8ppSSLirvQjux9m0+YJo9E7iPquHxUdSfgz+peSWSYn+AEKziqQbnfF8I7i5WSnvfp\/H2MQ\/\/HscB9BV\/JYCqYURs0nSfBHdPqZQF6BfH6bJgxXrXU9tw15bPLenEFZHDOhDbwC5Q12vXXF9g0ApRNbCCNBkvBjFJv1yEzMzTp2X9MlTD8JX+La7xwsKpHtBbPpeZs4qbXxq39aOhns7kmI3ivuqu4cX+4+3qfelvi7FM0Lz8KA22UW42f3WUoSuituMgym9OQnLZxGqVElbwH7TutSOQR+idvpxNBgVjWjpug94y0lgA3vORTteVLrUokPb\/Cx0JlNsbU5Oq2XuVgGja6NQb\/PbpB8DQRW\/oaPevJ3j12224P3Ee6DouTyg866mEGbC51q5nF2GzYOktJBaDtDLMGhDSbHO2gV\/fk8tls1KeI2EgB9NueUDL2nRYeNJP0QxDl6aCdF1JQJF5SWA8ZfU+SDLKsQP5AazRlz1bsEhqYd4QR9nM6SOldUlcgWrws\/aOmj2GJOJGSmHP+\/PPBsgcOvZgHE9h2+TE1pDV\/PQTe8bUpnax\/Nn4CmL3HxJNNf42l83GXLVAVXDLN+AungKEMAuaRVblDHIcSpD\/mRP+Z9n54F\/zwBV1OTxjCVpWjpG29pe0saL2Uh\/JZmCO2XF291D5IkELXS51N0hvGTalAgIGGqYuua5gT69fi4639nbPd\/f5Q\/vsAccdgpvzmhkexerSZwVOip3I2eBm4mSgXESCX20tF6b9mgVTTpsfXSfBH8YsglYnx1otvCXhGuJSn2OFLNsZILkGiITGoN\/ig1fE0fYQLbm8TD6XbYDaGe+VP3hSqEKAhedr18dYiE4UaOLELXO6UzW6ZJJtiL8BUVIVuVg18+yBs2sSyGwyy0dAsgBkytOZZJ4sORVY47c9nhWWGal1EPnEqjHEJQ2Zfo8b+CoBxAZ\/HBE\/FfcWQnvqEqU1GPhpBXSDsZRhISCUfMjcfQ58cdzClpyZiyv+mUQ8spqu2Yqe85kL3K5amu\/9ogDNhv3SyHZNzVEE173JgBGs6JJMPbIJGRlV1+ew3VVcEs0xVHAoTrO9Zfs4d1R3XIlCM9N6BlymxaZgqihpcEqHrZV+Xw5cJVRCK+Xqam3DS5vChHY\/OYIv05MuIvC12kAUke\/HMtI49KhdXEjx4zsv5wbUoPm9eOJj+SIGGXQKapycya5bWnTS64jGTU3S9pYmfDVa67PM\/jrdcNDQg7vAAbJ9wFV5zu\/CnAbmywKuEMHvdLb\/hiTK0d25EMqhFbPxLhNb0+71FknwIU6iqnn\/gDM5yiA9Bvja3W+QVPybnsKodeP1xoZMa4szQeQ690K6+5+V22h++Oz+qxa8jc0dbF+FTbKGM2YV2fOr9bYQ\/2oU013ruDJ4jIyey0q\/FcsfmjY9uIKYS48MUs6lJWLzpg8j9QVPrvn4trO0v3BIpF2HyUAVFepbeAg8jVRt+2+2wNf84jMqpp8iBu2e7gQSq4jSuzSqmWyiWh+j+Ue3\/nkE77OB86tE7ednrUH7wDyOXJD0jFUHQgMuuypcD2DU12ITfdLK\/DzVJDBxMOZfue4SoAl+DG4Qj4koD\/DwwI6rC59akKmIWq\/nqvFxa0091D\/6ffGa8AFq3P3W44r7PcWuvSYuydHcSJeM2smlp9WGd+bQeTfPm4GDtfD82WZ7DIn3jIUg3NyT4XgRSM8DqdA125G9rGf3PgIPn1OyrenpDYE2ydFQ0\/Q9TjUN5k5nSNlR8uDnIxaPUiISIf8uF0xOzlRUvR4klvbtHaFnmcckMEbJOPUKkRQgdba0ILE3aLij9wl3nKJZ6OIBQQajfa2PvCqCV1GxivWUhpdlZ2JmdubwSqerM6BAuQ2hCQiQXGL4ABljhg0Rcz03qs1JVOJoezG7DbvEFkMRKkypTEzsrzBCwOAhgiEDOYh0rUdMi\/sFvlSS35JmwvkfKq0wd\/ZYGCXG35H+XLnVxcZx0fdbJpftEzB83Box4T\/7QE2lqjedG\/HC++eGJHx4535IRhneL6P+qfd9Gy72shtotu0Ci7xOty8sYfDmY8t7AmIlBcdg1SCHq5YRW9xS7xfNWDkUjhfnSXgjNFJevNPC1y9NWBaIbwO6CnOgNMsKgHybfUKbwPkFPuNRCmkQAMq5iGOYmwB1FEL+GKwGrnyXuMP4Lx746FIIagh283UkW+uxHdQXCj3isW8N\/Df88xoYcOLmL78rPn8Ps2O7X+0Z6vQMIDm9EUiC3qCtFTYn\/uAwW2XtKkGILbPRdZ2o0Un38l4YNkCxCXMjyCyI2UtKEEeaL+a05w6c7W4y+cz1i7NyjP7TLiRFpJ3RztSqMIBt3pCo+iCdfk1rNe5BFbkrb4gJ\/zt0sFmVR753lDwg2nHrQqKRNDqObNCoI8Uvgbvd1\/xKuk8khOC68Z0V79OZPvfnaiS\/4te5A9YGuzKefOIC3E9gnjQ8FU7aVMrHVgVBQTWng2kp83Cz8PEGT7v\/JCluGulxbT14Xf\/ygeG+fUJ6kIMKbJ93l8PuDwFWD\/mcyZ1EmyEyt+cxSrUHNmDW\/8zIztA3950fJ20erEMEb8eJj0RLuA4EzZ0jsBbSPG4mTaLtgBm8D7\/t9\/FWszmnlEm3k8Uaci3OKa2362XR6syfI7I\/xbDky6XWO8y0AzysTbzzhr6RMtOiej6Zv6q+mwBm\/07p+DX8VbXHd1VqQohTXEDKHIBnT1B20mS9iQFOKyCDcf2CB4tw\/vYh8WKkZZ2CBBAi+pwTegB\/5Jo9LJZJhnYAGfPndYNIeZ4FKYDsrnShpvx9sPzZ0aLK8VFss\/ZNyNRHG\/iJC998FcHRNqLfZLolVXwZyGsc4i7xRWFQi\/MTEXixL9b0u1lH18dywH3p53TXr62nQ8n5GKuGVhI3F5CM4442M1M2wjw57w3GJwzg3RS3\/17lO+kNUXjgAtbTcfDsfl9BWrBPCGu5SVkmZnW3di+1cLoMxitE2HdSwU3aFeeCBLCjFnT6Y6O10nNfKr46Y3UFEWRxb4bf9fBkD6pwsGiU9RIRC0npuIjVrzegK1bIbpahdbnxJxgAAHUF\/5zWHoXM1QB8LdI4O2DBxe0+DR6dW0tLdYOxm50xUAeaisdueWpsZyxqp5LmpVi6CVdlSy4krdCMqR8yHDbsEBiz078A3naSrwmcEi4NpUrG\/mVOi6XNBJRKTEiJ9TmVLm7\/BvakI7cE\/6eKQPn7kO55eyPDk2dzMTgJJiGZIbB1i+Bq7hVKuYAe789xqv83iWCu3c4WoCR1in+WpaY5oVaIKRl4vkN2NiJvW16LwSBnkUDHZGqcT47adV2EldVS+YV0HhPvbcIdh07twPIfcAz+qTdPSQkfTnjcTB6BDcydc8MHkKa7s81CMAs7NLVCtjgXAmzv+K4cfeXVPFo5FZuw5l9LfB7bY9DFaI81F\/\/6DsRJSkl6ZRkF38U9UaS3Q\/IAlGceKiOZXZieydglbqDmvodC\/XwA4CtuZ4y7t6eIK5L6LIsjj3O7j5TUWQdds+4l7j6odKdmzj11J9H4dXok6\/tJCLLJwR6TvVmcG2lKC9rCaDbF1JgVK0CckkZS5YbT\/HIF92Hg78oe30FY+QSHvNtGE8leSt1ubDpNEiVmCdTeP+FX4N0qIWGi7POEfzXnLcRA\/L849e5C3L38Lqc9T5cDmlRE1v0VSHesl41UJYhMcPsezolCCFOvoUuCMsEeEiaW\/+1t4JcVyqtoTAMtUFFjVTjfvZrRrCHMwIWcN+nQYOEQsuE9zBMmA2RV7wnR1R034QI7YPTC6nCj45sd5fn6CJoy2dwytj5dbQ7JPw9m\/8fR0pr2lOlsbEW0mTDQh0h3nx5nbZfiM\/MmG0MUb+v+KgGaMwEfE8cV41HufdJfwqdVdW2+e0i4kG7anyG0V4QEN4qwnnHVAfWHgJxiFoIkQRjorAu\/XGx1CGPLohBHjpSvBiE5l7X\/1PHaHaW6mwBDmKeNQWDIX2yxHFKz6GrFn7xo3dAZ2jMo6MCIJM\/SZgPYm8LSdIQewC4dnZbOUj8o4lbatBagSvNmNTjUm3lwCLdDJAsF0710mgp6buY0kSKMT7koclaQRncbo0M4QWYgNxj0r4D0+DEjbtho6imUsYYw1+0uKm3jOhFxOjjQ4QrYNExgTA\/hMS5Z8bkaJRGDjAxCxbs1sfmwVTHPJw1fOyYvF5AJSr1jj7shGJruXyImb\/w4k9v5nQl8qjvYb90v8fCvVF2QhUJRFaHsQEEZNBFnrG02XpE2IJkoTIA\/5GtCYlw1PVJsu+itcuXRYeEuUJe16zA2wXq3Bgt7o6424rqMTi4\/sFV0VpntDcTxHnIXySsVGKFIeDn3LaIL1WVUgICT9rMQIiMc3EXyThZ3wHgn1fSBue\/wxRGMSoQ3izt2gVijry+judwhxW\/Gje631rK8ZisRkN\/O1FWWPWTcQ7Ezd+ltLJphbrFvP4qMEOCOMUbEyx7EV68zWFjlEcyB89rmG\/S4xNYLsnyEeBdD1MHgG\/idpkujktBjWigkX6eQryeRVvtxqZm1SE58D1x6UdyxR4Ez0cEDqUbGGuJ4busjrGVSOcxzcOV3EyEJJZhnz1FubLg\/cv7hgoAGQVQ4SN33HsPLsdY408jsylWWkcM8rnfLMke2diRFXwhXlPhu\/n3sKl9hTGUFQSrbOkmpsvJbknBkMAJrW+QZwe4pxb5IERv14S7Zn5OOuHc4Ym1pF4J38GBXjlpOUKcR3HSS\/E6MiHbCAgKjq+UGFj6J3LkgwS46Jlk+8tCya1ZLbTMK\/j2FhpsgrjOLAMbLz2lrnI+qOhyYTdN1sDZfRoJ1BqmcJDt1ko59DntnSUWCJCsRMlHLMvuPLAQC6utOqsQx3CVutF7fq1OMQFTAjbSwqNSeEpBZrOCnkK3Z4HZZQnMpWaYQZmWJMeanI0K5SpeCY8365v64XhXZqZjSecG7mgxNA1xdGNzoAiLHYLRVONUa3307x0vPK2R5uLRo84QS+kG\/I1vRX+gcDvw6sLMOF4gR0n+wk2vh9ozrssY2VXs5y7+WFUQtG6onr5txsyMUkErbbDEVvM96RQQuekqL5tQLP7k\/hm38Pi3DIihXzml9pwo8L9O3prutN1SPrnLfF45H+Ybbb64RVyIL16FG0IGmfrgRPA1tCGas6i9\/sxjOOQ2+Py7sEHubqpa8t7BAn\/pveiBxSTByb9RqcTdzOyQWjbXeT2tFHPBeRUNZYhfAokDAchfY\/E7ZzkT5IIcoGLNOJ7Dzbbgs+9ESjPTX0fIQQ5sp0cOuohV26fOE9V+EQNlViZrSxi+irlZwHtYRZXbcV5ZlNzbDCqYw9S81N8PdOSPI+fNYJhWbQbMWDFE3pz6UYBqgARYp\/drDXBU\/aBMkJCuGUSsNDmqOE4VXA0\/cpXRXbWTNA0fYZBnNZnNl0rZD6oRI8n\/roZ\/\/\/qv2qKPBTmDESRvqnRENQzhJQoH4qcpHycd\/Gbxd6X8x\/2QIoaKtxXfrfLogPxsZ\/1Sjg+VJigsut4fvXlYwdt2zcfwBajpBeui8jML3MSilzZclLAvmMxC7Eq2\/DxeWL4Po4vQwaDCdLZ4U1Qscz1H0DE5OfO8JswAjrotMmXgUtrcKPXrKCBhc2YbvnriUuakGKaSYCn3zwVIOeGdIMYaQ3DOznm6NrHOdGeal7haiDJNW1ZmPYb6zSSP8uBXzyzsftTZzPU4GCfOhX7Tg0Vx2Vl8crYCdQJqplnrozXCbg+IrukDYLfBc87Hg55sV0DEzQNjnSBtG1TqfMfv+IMfMe9dUowOu2pQbJkPfS4OsDlziLAQWoY6Z7K0UQRdmOs1gyPO48H0Ga55jFs7AfTEBDSy\/kw76oE97d4wR8ycPWJRPDaSBSiBIyaBnOddK6mgcR1cYXf9JgJe3Iz4EjOr6BqRBgvNlIr\/Jb\/NYPT6Kvhju12uZQU1xTi\/cprJA0OmaF8YoX603E3H\/OylwGUIs9v7o6VlujbZLf4pD6UnGLEl\/CmylXMKco1g28UAFBVLPmnE5+pFxkEcIaC6iYvz+DtME322OoQbqd4a7SrIc05uittTUpBx9gz8UM60xevlYIvHxwgMaMT6YDT5Bl+RiT21KCEOpLSJoBsv0WN8J4h0OlNjatIvnYutfqJZV6lw8oxwH6cgH8dpTrYfGxHhCK2HnAa6WupX0pxCuwpqm67pauPDTb4zQkj7eG\/k4O0Tn0sbgwIU3NDZvUP+7WF15tWwaN0ywowcGYU\/MRCZOhDTXi7E3f9h7qqDo8sAiTySZgM53oShUfohHp7V2tcFyt\/1Pjs+ON2CQfk0Q4dK\/kyUDiO34jpxnFURYX\/K44JUhKEbiwrRo2dsdYEHc5uSw913SjQgCHCQwfybmPER8GQCf5\/T64W21gIQBqeVmgI0iJDlymxNQ2VeE9hudIF9qoo3C7290ID52vwbavA3msXluBesgADm3NXiqn2AmVy3CoW+HMyX9d\/WNLXH3Ti7b1dtd14RLxLRnpXHE7NH9uOj9CTaEs42b64Oh1EjjW4E8eDNd0q0nASDcw1Y7\/XepEv2po2b51\/h4pR2Mb9FeesaM0veNA+v5fBf58wXo9nGE8V4xKtG4TNWHVA3kKNiFOtR50sn6I+e+R1sV\/7zINK21A7HQLOy2J0jSxT2A7bzNPBVSZ8Y06U0xLR73WXJzNJZmw5x\/VGp4DOD4dUn89NPOxZ8PZZRTHpCyXQ8NOg\/NDYD2Pa7Q5p8JKjTDVtyR1jJkfSQ\/WDbvA2G7R2\/LN3amHVMqiHGuSLfYAQJnbimrDSbssPCaB6buyHVCjpsSlj+k91ExGmd1\/n6yKhvXT1oVlL7N71Sdp81PzEIA5e4bI\/yt\/qWpaU+G3nN6ErK259OSzGI9GHIPVwmNGuvDLXzkHBp5vOY30RODAggL02SJnMSm1EfIZVhbwl5vQL+iV\/\/E4c\/vIbMeoSePHnU8\/UWul3hjMIdS6\/PIAFtrnqZ7\/hZSP1TvAVGjz4fKAgLiddn+paEHM++ybGjDyfJhVzDMMQGpzoAf4Jo8B6RChrenHBzbJzk9hiYPvBWhg2vxLINu7RUbBml7vn8QUbyd80MCtuZoduJlx4n9F5shYuiCW+uTfCXnD49Clob8Y3zxZ0EL0twJE2VYd2+7S9aJCKcNOMn7hbviXKlPseVxfyirTycfdaFAojx+OiT3OnFeKzSirIDTLugN5plu8XtvqoKfWqrYvSLxzVfWO8XFuZ0N\/28bQRvBORir4HLf1rjIHZuO+OO8YocQ0gv8WDkNbpA8K6RIp+vyWZBGu1mBKXrH\/MSf3VTwbDGbtbr4EFuqf1jwpt9ONuFkoessDbhC+Uem49ZwnPXhLGfqZs9spnZKCfU6fd3KM1Py8yOUoWmhsuNnDnb6\/Wu5y9YCZ3q\/5H1tio1\/LYeW\/aNtlG2DooZehdLd3X6T\/fjw9Q4EBxznuewE+K70wm5LlGPpggXkrS7DyB\/wOotrg34OjqKiUOVJeLjo8JyvuTCs6ZjfjKPOF69Rrwm4Mv8geTavhP47rR5iaWgQiJDn3\/4l0EBuqg8UHG5aIpmf8shq+BfJUEKwSoicf7Rry4ZRk3MOqUEJDHcdmI8TVn0jDzXkbrRNavHkqyP5IzQxuRg02EDEvNqjfmg4XzhPpE16wSMAWPTPV+gBI1YEspMmKyhr8p4gjv7O+YFNsNUryirDkrGBe+JRpCNlLDxh5hsXJjH8TlecDiXAtPicau\/GbDYNlWeYcq5h0bCjCpbTkz7A+WGAgbgNf0W5Ct\/Cm5ebYzVpl12VH9lpMq5vMRsxVkmhlgA27YzntV+0f8wzFTY6YJujV17QOkWPLbl50mUQN87WCfvk2pXpCfluyF58l6F6t\/auBuuAA1oaf4bjUBM9IIdjSU\/krxRfa40iSiLT51AXmtE0ZoizDTIWpmtSIv+vO72XB6jsKVKX7i\/Y\/9gNUklFvySw128nxYW9Utw6dzQZ86Zj56\/SCkn2A+gYAAAAtSAAkinSNSzU2lviZm89TxYPzVycFb4Z2UL3XfceBI5Owm3+z+BSfjnyJzgU\/GC6Sef3nbbPKMGEC0kMAjfLN43Wtk+HNp2gADbfgNsL4na9fc4AnZl39a4HbUmy3IDvPVCY4o9YVe\/PHwi7vkf6H8P3Yb2CbOOpGJtHonL1po36maLtyn\/D3Pv+Vo5Yr+s7vBFjJNQex92ZJWwse+3JB1ZO8WqNLyclx3IPm4vsL8DwiBEktvyMlQeVOxzXHjIugHK8W+eVQfY39Dx0kKTUV8uk+xVxMeC6dfDYM\/psCWDzP+M9HNcAfZISTtXkQmsgAAAAAAA=\"\u003e                          \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e                          \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-info\"\u003e                      \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e            \u003c\/div\u003e            \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e            \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'rose', label:'Rose Sauvage \u0026 Mauve', latin:'Rosa canina + Malva sylvestris', family:'botanic',\n          desc:\"Macérat floral hautement concentré en bioflavonoïdes, provitamine A (caroténoïdes) et acides gras polyinsaturés (oméga-3, oméga-6). Reconnu pour son action anti-inflammatoire et restructurante.\",\n          targets: [\n            { anchor:'epiderme', action:\"Action anti-inflammatoire\", benefit:\"Apaise les rougeurs, calme les démangeaisons et restaure le confort cutané dès les premières applications.\" },\n            { anchor:'tige_poil', action:\"Révèle l'éclat naturel\", benefit:\"Les acides gras essentiels gainent la fibre et restaurent sa réflectance lumineuse.\" }\n          ]\n        },\n        {\n          id:'flav', label:'Flavonoïdes \u0026 Vitamine C', latin:'Polyphénols actifs', family:'botanic',\n          desc:\"Antioxydants végétaux puissants qui neutralisent les radicaux libres et activent les fibroblastes pour la production de collagène et d'élastine.\",\n          targets: [\n            { anchor:'derme', action:\"Stimule le collagène\", benefit:\"Renforce la matrice dermique et améliore la tonicité de la peau dès l'application.\" },\n            { anchor:'epiderme', action:\"Bouclier anti-radicaux libres\", benefit:\"Protège les kératinocytes du stress oxydatif lié à la pollution et aux UV.\" }\n          ]\n        },\n        {\n          id:'chlor', label:'Chlorella', latin:'Chlorella vulgaris', family:'botanic',\n          desc:\"Micro-algue d'eau douce parmi les plus riches en chlorophylle, contenant 60% de protéines complètes, vitamines B et C, fer et magnésium chélatés.\",\n          targets: [\n            { anchor:'epiderme', action:\"Détoxifie en profondeur\", benefit:\"La chlorophylle capte les métaux lourds et résidus chimiques accumulés sur l'épiderme.\" },\n            { anchor:'tige_poil', action:\"Hydratation cellulaire\", benefit:\"Restaure le taux d'humidité optimal de la fibre (12-15%) pour une souplesse durable.\" }\n          ]\n        },\n        {\n          id:'mer', label:'Eau de Mer', latin:'Complexe minéral marin', family:'aqua',\n          desc:\"Eau de mer pure micronisée, source naturelle de 92 oligo-éléments et minéraux biodisponibles dont magnésium, calcium, zinc, cuivre et sélénium.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Régule la séborrhée\", benefit:\"Le zinc équilibre l'activité des glandes sébacées et limite l'excès de sébum sans dessécher.\" },\n            { anchor:'cuticule', action:\"Reminéralise la fibre\", benefit:\"Les oligo-éléments comblent les déficits minéraux du poil et renforcent les ponts disulfures.\" }\n          ]\n        },\n        {\n          id:'aa', label:'Acides Aminés Naturels', latin:'Précurseurs de kératine', family:'bio',\n          desc:\"Cocktail d'acides aminés essentiels (cystéine, méthionine, arginine, lysine) constituant 95% de la kératine du poil. Pénétration intra-cellulaire prouvée.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Reconstruit la kératine\", benefit:\"Comble les zones de la fibre où les chaînes peptidiques sont rompues. Effet structurel durable.\" },\n            { anchor:'cuticule', action:\"Resserre les écailles\", benefit:\"La cuticule lissée réfléchit la lumière uniformément : brillance maximale et toucher soyeux.\" }\n          ]\n        },\n        {\n          id:'vit', label:'Complexe Vitaminé', latin:'Matrice B-C-E-F', family:'bio',\n          desc:\"Synergie de vitamines B5 (panthénol), B7 (biotine), C (ascorbate) et E (tocophérol) pour une nutrition complète du follicule jusqu'à la pointe.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Préserve la barrière cutanée\", benefit:\"La vitamine E protège les lipides du film hydrolipidique de l'oxydation et du lessivage.\" },\n            { anchor:'bulbe', action:\"Active la matrice germinative\", benefit:\"La biotine et la B5 stimulent les cellules souches du bulbe responsables de la croissance du poil.\" }\n          ]\n        },\n        {\n          id:'gly', label:'Glycérine \u0026 Urée', latin:'Humectants naturels', family:'cond',\n          desc:\"Couple humectant captant l'humidité atmosphérique pour la fixer durablement dans la fibre capillaire et la couche cornée de la peau.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Retient l'humidité\", benefit:\"L'urée à 2% maintient le taux d'eau de la fibre, la rendant souple, élastique et anti-casse.\" },\n            { anchor:'derme', action:\"Restaure le NMF cutané\", benefit:\"Reconstitue le Facteur Naturel d'Hydratation, garant de l'élasticité et de la souplesse cutanée.\" }\n          ]\n        },\n        {\n          id:'cond', label:'Complexe Conditionneur', latin:'Smoothing complex', family:'cond',\n          desc:\"Agents lissants cationiques de dernière génération qui se déposent sélectivement sur les zones endommagées de la fibre par attraction électrostatique.\",\n          targets: [\n            { anchor:'cuticule', action:\"Démêle instantanément\", benefit:\"Réduit le coefficient de friction inter-fibres de 65% pour un peigne sans résistance.\" },\n            { anchor:'tige_poil', action:\"Effet anti-nœuds prolongé\", benefit:\"Le film protecteur persiste après rinçage et limite le retour rapide des feutrages.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      });\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      function start() { setTimeout(function() { focusIngredient(0); }, 200); }\n      if (schemaImg.complete) start();\n      else schemaImg.addEventListener('load', start);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e        \u003c\/div\u003e        \u003c!-- BLOCK 4: PROTOCOLS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/h2\u003e          \u003c!-- DILUTION P4: 3 simple cards (Ratio · Yield · Animated Equivalencies) --\u003e          \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e              \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eReference dilution\u003c\/div\u003e                \u003cdiv class=\"aqr-dilution-grid\"\u003e                    \u003c!-- CARD 1: Ratio --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eA portion of shampoo\u003cbr\u003efor 20 parts water\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- MAP 2: Yield --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eYield\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e250 mL\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e1 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e5 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eready to use\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- CARD 3: Animated Equivalencies --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e500 mL\u003c\/span\u003e finished product\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cstrong id=\"aqrCycleMl\"\u003e25\u003c\/strong\u003e mL \u003cspan\u003ein volume\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleG\"\u003e25\u003c\/strong\u003e g \u003cspan\u003ein weight\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleSpoon\"\u003e1.5\u003c\/strong\u003e  \u003cspan id=\"aqrCycleSpoonLabel\"\u003etablespoon\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCyclePump\"\u003e1\u003c\/strong\u003e  \u003cspan id=\"aqrCyclePumpLabel\"\u003epump pressure\u003c\/span\u003e  \u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e            \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 500 mL \/ 1 L \/ 2 L\n      var cycles = [\n        { target: '500 mL', ml: '25',  g: '25',  spoon: '1,5', pump: '1' },\n        { target: '1 L',    ml: '50',  g: '50',  spoon: '3',   pump: '2' },\n        { target: '2 L',    ml: '100', g: '100', spoon: '6',   pump: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e              \u003cdetails class=\"aqr-proto-acc\" open\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eQuick, economical grooming \u0026amp; effective\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eThe basic bath — for regular salon use\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eFirst passage\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eStart the bath directly with the diluted Aquarosa Pro, on the previously wetted hair. Rinse.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply a second shampoo, rinse again.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eFinal care\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with the appropriate conditioner: \u003cstrong\u003eHydrating Cream\u003c\/strong\u003e, \u003cstrong\u003eBombastic\u003c\/strong\u003e Or \u003cstrong\u003eAqua Dolce\u003c\/strong\u003e.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e              \u003cdetails class=\"aqr-proto-acc\"\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eUltra-intense action — Salon, Emergency or Expo\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eTo detangle, repair damaged fur, or enhance show grooming\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003ePre-bath mask\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eAttack with a \u003cstrong\u003epre-bath mask\u003c\/strong\u003e based on \u003cstrong\u003eBio Energy\u003c\/strong\u003e Or \u003cstrong\u003eBombastic\u003c\/strong\u003e.  Add to that some \u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e or of the\u003cstrong\u003eHydrating Cream\u003c\/strong\u003e.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eAquarosa on mask\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply the\u003cstrong\u003eApply Aquarosa Pro directly after the mask, without rinsing in between.\u003c\/strong\u003e.  For increased efficiency, concentrate more and combine with \u003cstrong\u003eBombastic\u003c\/strong\u003e.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eApplication and double shampoo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eLeave on for a few moments and massage if possible. \u003cstrong\u003eTwo shampoos are recommended.\u003c\/strong\u003e  \u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eFinalization\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with a conditioner or mask as needed.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e              \u003cdetails class=\"aqr-proto-acc\"\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eIntegration Boosters — Nutrition \u0026amp; Volume\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eTwo variations to amplify the effect as needed\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003eHAS\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eNutrition Boost\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFor an even more nourishing effect, add directly \u003cstrong\u003ea spoonful of Aqua Dolce\u003c\/strong\u003e in your Aquarosa Pro mixture. Apply, leave on for a few moments and rinse thoroughly with lukewarm water.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003eB\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eVolume Boost\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eMix the Aquarosa Pro with the foam \u003cstrong\u003eAqua Vita\u003c\/strong\u003e.  Its effervescent effect adds volume and enhances cleansing power. Ideal for furs that lack lightness after bathing.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003ePerfect drying\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eIn both cases, finish drying by brushing with \u003cstrong\u003eAqua Beauty\u003c\/strong\u003e Or \u003cstrong\u003ePink Mix\u003c\/strong\u003e for an even softer and shinier coat.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e          \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e                \u003c\/div\u003e        \u003c!-- BLOCK 5: ASSOCIATIONS \u0026  RACES --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/h2\u003e          \u003c!-- Aquarosa at its core + modular supplements If... → Then --\u003e          \u003cdiv class=\"aqr-assoc\"\u003e              \u003cp class=\"aqr-assoc-intro\"\u003eThe entire Special One range is compatible. \u003cstrong\u003eTo be combined freely\u003c\/strong\u003e depending on the need at the time:\u003c\/p\u003e                \u003cdiv class=\"aqr-assoc-rules\"\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA pre-bath mask is recommended…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eBio Energy\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eYou combine it with another shampoo…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003e4Poodle · Bain Pro · Aquapure Pro\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA final mask is needed…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eHydrating Cream · Bombastic · Aqua Dolce\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA finishing touch is needed…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAbsolute 4Poodle · Mix Pink · Style 360\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e            \u003c!-- Races in rounded pills --\u003e          \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003ePerfectly calibrated for demanding textures:\u003c\/h3\u003e          \u003cdiv class=\"aqr-races-mosaic\"\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐾 All the dogs in the living room \u003cspan\u003e(limits the return of nodes)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐩 Curly Furs \u003cspan\u003e(Poodles, Bichons, Kerry Blue...)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🇬🇧 Cockers \u0026amp; Spaniels \u003cspan\u003e(English, Americans, Cavaliers...)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🏔️ Tibetan cloaks \u003cspan\u003e(Shih Tzu, Lhasa Apso...)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e✨ Silky Textures \u003cspan\u003e(Yorkshire Terriers, Afghan Hounds...)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐕 Terriers \u003cspan\u003e(Scottish, Westie, Welsh...)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐱 All Cats\u003c\/span\u003e          \u003c\/div\u003e          \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eNon-exhaustive list — Aquarosa Pro is suitable for all coats requiring intense nutrition.\u003c\/p\u003e            \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | SLS, DEA, Paraben, and Silicone Free | Not Tested on Animals | HDPE Recyclable\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":37819444494515,"sku":"WAQ-AQRO250 (96)","price":19.9,"currency_code":"EUR","in_stock":true},{"title":"5 Liters","offer_id":37819444461747,"sku":"WAQ-AQRO5000 (98)","price":127.5,"currency_code":"EUR","in_stock":true},{"title":"10 Litres","offer_id":57582899233113,"sku":"WAQ-AQRO10000 (250)","price":218.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/products\/Aquarosa_b416a6e2-3b73-4c01-b49a-928e3e6e9050.png?v=1680188855"},{"product_id":"aquaterme-argile-verte","title":"AQUA TERME PRO, clay care shampoo","description":"\u003c!-- ============================================== DESIGN SYSTEM — Visual Refinement ============================================= --\u003e  \u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e        \u003c!-- BLOCK 1: INTRO --\u003e      \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 14px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e              \u003cstrong\u003eAQUA TERME PRO\u003c\/strong\u003e is the Special One professional shampoo formulated with\u003cstrong\u003egreen clay and mint\u003c\/strong\u003e,  dedicated to skin requiring treatment. \u003cstrong\u003epurifies and deeply cleanses\u003c\/strong\u003e while respecting the hydrolipidic film — without any compromise on the result: superb visuals and a perfect blow-dry.     \u003c\/div\u003e          \u003cdiv style=\"font-size: 1.1em; margin-bottom: 16px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e       It is also \u003cstrong\u003ethe ideal shampoo for dogs with odor problems\u003c\/strong\u003e :  Thanks to Aqua Terme, everyone finishes grooming with a wonderfully fresh scent.     \u003c\/div\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eWho is this product for?\u003c\/h2\u003e          \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003eEveryone will find something of real interest in it — by \u003cstrong\u003ecurative\u003c\/strong\u003e on animals with skin abnormalities, and in \u003cstrong\u003epreventive\u003c\/strong\u003e on predisposed breeds.\u003c\/p\u003e            \u003cdiv class=\"aqr-audience\"\u003e              \u003cdiv class=\"aqr-audience-grid\"\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eGroomers\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eLivestock farmers\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eIndividuals\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eCompetitors\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-audience-card\"\u003e                      \u003cdiv class=\"aqr-audience-icon\"\u003e                          \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e      \u003c\/div\u003e        \u003c!-- BLOCK 2: EXPERTISE \u0026  RESULTS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/h2\u003e          \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eThanks to its content of \u003cstrong\u003egreen clay and mint extract\u003c\/strong\u003e,  Aqua Terme Pro deeply purifies, soothes dehydrated or reactive skin, and restores shine and freshness to dull coats. Its treatment formula has no impact on grooming quality. \u003cstrong\u003eTherapeutic action and impeccable visual results go hand in hand\u003c\/strong\u003e.\u003c\/p\u003e          \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e              \u003cdiv class=\"aqr-benefits-grid\"\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l7 3v5c0 4.5-3 7.7-7 9-4-1.3-7-4.5-7-9V6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eHealthy skin\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eTreats skin problems while preserving the hydrolipidic film, without causing irritation.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 8h9a2 2 0 1 0-2-2\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 12h13a2 2 0 1 1-2 2\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 16h7a2 2 0 1 1-2 2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eOdor-resistant\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eCombats bad odors linked to skin disorders and sebum.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3l9 5-9 5-9-5z\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 13l9 5 9-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eVersatile\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eHelps fight against alopecia, itching, irritations and hot spots.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3s6 6 6 11a6 6 0 0 1-12 0c0-5 6-11 6-11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eSanitation \u0026amp; purification\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eCleanses and regenerates cells deeply from the first use.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 4l1.6 4.4L18 10l-4.4 1.6L12 16l-1.6-4.4L6 10l4.4-1.6z\"\u003e\u003c\/path\u003e\u003cpath d=\"M18.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6-1.6-.6 1.6-.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eAnti-dandruff\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eRegulates the scalp and significantly reduces flakes.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 21C12 21 4 13.8 4 8.6A4 4 0 0 1 12 6 A4 4 0 0 1 20 8.6C20 13.8 12 21 12 21z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eSoothing\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eSoothes irritated or reactive skin — ideal after waxing or vigorous brushing.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 19C5 11 11 5 19 5c0 8-6 14-14 14z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 19c4-4 7-6 11-7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eCandy \u0026amp; freshness\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eAdds brightness and freshness to dull, lifeless coats.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 7;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 15l6-6 6 6\"\u003e\u003c\/path\u003e\u003cpath d=\"M6 9l6-6 6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eWearing fine furs\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eGives body to very fine hair that lacks volume (e.g., grey, red poodles).\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 8;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M21 12a9 9 0 1 1-3-6.7\"\u003e\u003c\/path\u003e\u003cpath d=\"M21 4v4h-4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eDetoxifying \u0026amp; refreshing\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eEliminates toxins and skin impurities with an immediate feeling of freshness.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 9;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"8\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"4\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"1.2\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eSpitz X alopecia\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eRecommended for weekly use in the follow-up and regrowth protocol.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 10;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"9\" cy=\"13\" r=\"4\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"16\" cy=\"9\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17.5\" cy=\"15\" r=\"1.5\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eExceptional foam\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eMousse works wonderfully in salons: easy application and good distribution of active ingredients.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 11;\"\u003e                      \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"9\" r=\"5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M9 13.5L7.5 21 12 18.5 16.5 21 15 13.5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e                      \u003cdiv class=\"aqr-benefit-content\"\u003e                          \u003cdiv class=\"aqr-benefit-title\"\u003eProfessional result\u003c\/div\u003e                          \u003cdiv class=\"aqr-benefit-desc\"\u003eUncompromising treatment action — superb look and perfect blow-dry.\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e          \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e      \u003c\/div\u003e        \u003c!-- RADAR UNIT (moved under Expertise) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eBetter understand the actions of Aqua Terme Pro\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA detailed breakdown of its cosmetic performance, note by note.\u003c\/p\u003e          \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e              \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e                                    \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e                      \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e                  \u003c\/div\u003e                  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e      \u003c\/div\u003e        \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e        \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Soin peau\", value: 5 }, { label: \"Volume\", value: 4 }, { label: \"Moussant\", value: 4 }, { label: \"Texture\", value: 3 }, { label: \"Hydratation\", value: 3 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e        \u003c!-- BLOCK 3: COMPOSITION (MAPPING JS active Aqua Terme Pro - reliable) --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition of Aqua Terme Pro: natural active ingredients \u0026amp; targeted action\u003c\/h2\u003e          \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA completely natural mineral and plant complex — \u003cstrong\u003egreen clay, mint and purifying plants\u003c\/strong\u003e,  SLS-free, paraben-free, silicone-free. Here, zone by zone, is how each active ingredient works on the skin and hair.\u003c\/p\u003e            \u003c!-- MAPPING --\u003e          \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e              \u003cdiv class=\"aqr-grid\"\u003e                    \u003cdiv class=\"aqr-col-list\"\u003e                      \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-schema\"\u003e                      \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e                          \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de l'Aqua Terme Pro\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e                          \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e                          \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                    \u003cdiv class=\"aqr-col-info\"\u003e                      \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e            \u003c\/div\u003e            \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e            \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'argile', label:'Argile Verte', latin:'Fuller’s Earth', family:'aqua',\n          desc:\"Argile minérale antibactérienne et absorbante : elle purifie la peau en profondeur, capte le sébum en excès et régénère les cellules cutanées.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Capture du sébum\", benefit:\"Absorbe l'excès de sébum et assainit les glandes sébacées.\" },\n            { anchor:'epiderme', action:\"Purification profonde\", benefit:\"Capte impuretés et toxines, puis régénère les cellules de surface.\" }\n          ]\n        },\n        {\n          id:'mineral', label:'Complexe Minéral', latin:'Fer · Calcium · Silicium · Magnésium · Potassium', family:'aqua',\n          desc:\"Oligo-éléments essentiels qui reminéralisent la peau, renforcent le manteau et lui restituent force et brillance naturelle.\",\n          targets: [\n            { anchor:'derme', action:\"Reminéralisation\", benefit:\"Apporte les oligo-éléments qui renforcent la structure cutanée en profondeur.\" },\n            { anchor:'tige_poil', action:\"Force \u0026 brillance\", benefit:\"Restitue résistance et brillance naturelle au manteau.\" }\n          ]\n        },\n        {\n          id:'menthe', label:'Menthol \u0026 Huile de Tea Tree', latin:'Mentha \u0026 Melaleuca', family:'botanic',\n          desc:\"Duo rafraîchissant, lénitif et purifiant : effet immédiat de bien-être qui apaise les irritations cutanées.\",\n          targets: [\n            { anchor:'epiderme', action:\"Fraîcheur \u0026 lénifiant\", benefit:\"Sensation de fraîcheur immédiate qui apaise les irritations.\" },\n            { anchor:'film_hydro', action:\"Purifiant doux\", benefit:\"Assainit la surface tout en respectant le film protecteur.\" }\n          ]\n        },\n        {\n          id:'romarin', label:'Romarin', latin:'Rosmarinus officinalis', family:'botanic',\n          desc:\"Tonique végétal qui fortifie le poil et améliore la microcirculation cutanée : il favorise un manteau plus résistant et lumineux.\",\n          targets: [\n            { anchor:'follicule', action:\"Stimulation de la pousse\", benefit:\"Active la microcirculation autour du follicule et favorise une repousse vigoureuse.\" },\n            { anchor:'tige_poil', action:\"Fortifie le poil\", benefit:\"Renforce la fibre pour un manteau résistant et lumineux.\" }\n          ]\n        },\n        {\n          id:'ortie', label:\"Extrait d'Ortie\", latin:'Urtica dioica', family:'bio',\n          desc:\"Plante séborégulatrice et anti-pelliculaire : elle régule la production de sébum et stimule la régénération cutanée.\",\n          targets: [\n            { anchor:'glande_seb', action:\"Séborégulation\", benefit:\"Régule la production de sébum à la source.\" },\n            { anchor:'epiderme', action:\"Anti-pelliculaire\", benefit:\"Stimule la régénération cutanée et réduit les squames.\" }\n          ]\n        },\n        {\n          id:'biotine', label:'Biotine \u0026 Niacinamide', latin:'Vitamines B7 \u0026 B3', family:'bio',\n          desc:\"Duo réparateur essentiel : renforce la structure du poil, stimule la croissance et réduit les pellicules.\",\n          targets: [\n            { anchor:'bulbe', action:\"Croissance du poil\", benefit:\"Nourrissent le bulbe et stimulent la pousse d'un poil plus fort.\" },\n            { anchor:'tige_poil', action:\"Renfort structural\", benefit:\"Renforcent la structure de la fibre de l'intérieur.\" }\n          ]\n        },\n        {\n          id:'citron', label:'Citron \u0026 Piroctone Olamine', latin:'Citrus limon \u0026 actif assainissant', family:'cond',\n          desc:\"Action déodorante, antibactérienne et protectrice : neutralise les mauvaises odeurs et protège la peau des agents externes.\",\n          targets: [\n            { anchor:'glande_sud', action:\"Action déodorante\", benefit:\"Neutralise les mauvaises odeurs liées aux déséquilibres cutanés.\" },\n            { anchor:'epiderme', action:\"Protection antibactérienne\", benefit:\"Protège la peau des agents externes et limite la prolifération bactérienne.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e        \u003c\/div\u003e        \u003c!-- BLOCK 4: PROTOCOLS --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/h2\u003e          \u003c!-- DILUTION P4: 3 simple cards (Ratio · Yield · Animated Equivalencies) --\u003e          \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e              \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eReference dilution\u003c\/div\u003e                \u003cdiv class=\"aqr-dilution-grid\"\u003e                    \u003c!-- CARD 1: Ratio --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e20\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eOne part for every 20 parts water\u003cbr\u003e— or pure\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- MAP 2: Yield --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eYield\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e250 mL\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 5 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e1 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 20 L\u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-rend-row\"\u003e  \u003cstrong\u003e5 L\u003c\/strong\u003e  \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 100 L\u003c\/div\u003e                      \u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-note\"\u003eready to use\u003c\/div\u003e                  \u003c\/div\u003e                    \u003c!-- CARD 3: Animated Equivalencies --\u003e                  \u003cdiv class=\"aqr-dilution-cell\"\u003e                      \u003cdiv class=\"aqr-dilution-cell-label\"\u003eFor \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e1 L\u003c\/span\u003e finished product\u003c\/div\u003e                      \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cstrong id=\"aqrCycleMl\"\u003e50\u003c\/strong\u003e mL \u003cspan\u003ein volume\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleG\"\u003e50\u003c\/strong\u003e g \u003cspan\u003ein weight\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCycleSpoon\"\u003e3\u003c\/strong\u003e  \u003cspan id=\"aqrCycleSpoonLabel\"\u003etablespoons\u003c\/span\u003e  \u003c\/div\u003e                          \u003cdiv class=\"aqr-dilution-eq-row\"\u003e  \u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e  \u003cstrong id=\"aqrCyclePump\"\u003e2\u003c\/strong\u003e  \u003cspan id=\"aqrCyclePumpLabel\"\u003epump pressures\u003c\/span\u003e  \u003c\/div\u003e                      \u003c\/div\u003e                  \u003c\/div\u003e                \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e            \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 1 L \/ 2 L \/ 4 L (dilution 1\/20)\n      var cycles = [\n        { target: '1 L', ml: '50',  g: '50',  spoon: '3',  pump: '2' },\n        { target: '2 L', ml: '100', g: '100', spoon: '6',  pump: '4' },\n        { target: '4 L', ml: '200', g: '200', spoon: '12', pump: '8' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e                                      \u003cdetails class=\"aqr-proto-acc\" open\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eQuick grooming \u0026amp; skin to soothe\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eFor an effective and soothing daily bath\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eFirst shampoo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eStart the bath directly with the\u003cstrong\u003eAqua Terme Pro diluted\u003c\/strong\u003e on wet fur. Rinse.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoo\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply a \u003cstrong\u003esecond shampoo\u003c\/strong\u003e,  then rinse again.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eFinishing\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinish with the appropriate conditioner: \u003cstrong\u003eHydrating Cream, Bombastic or Aqua Dolce\u003c\/strong\u003e.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e                \u003cdetails class=\"aqr-proto-acc\"\u003e                  \u003csummary class=\"aqr-proto-summary\"\u003e                      \u003cspan class=\"aqr-proto-title\"\u003eBath \u0026amp; Deep treatment — skin requiring intensive action\u003c\/span\u003e                      \u003cspan class=\"aqr-proto-plus\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e                  \u003c\/summary\u003e                  \u003cdiv class=\"aqr-proto-content\"\u003e                      \u003cp class=\"aqr-proto-subtitle\"\u003eFor skin with marked skin abnormalities\u003c\/p\u003e                      \u003col class=\"aqr-proto-steps\"\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eDetox Pre-Bath Mask\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eApply the pre-bath mask \u003cstrong\u003eDetox Therapy for 10 minutes\u003c\/strong\u003e on dry hair.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eNo-rinse treatment\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eProceed directly to the\u003cstrong\u003eAqua Terme Pro No-Rinse\u003c\/strong\u003e between the two phases.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eDouble shampoo \u0026amp; laid\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eRinse, then shampoo again. \u003cstrong\u003eLeave on for 5 minutes\u003c\/strong\u003e.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                          \u003cli class=\"aqr-proto-step\"\u003e                              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e                              \u003cdiv class=\"aqr-proto-step-body\"\u003e                                  \u003cdiv class=\"aqr-proto-step-title\"\u003eRestorative finish\u003c\/div\u003e                                  \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalize with \u003cstrong\u003eHydrating Cream + 4 Element Oils\u003c\/strong\u003e,  then rinse out the conditioner.\u003c\/div\u003e                              \u003c\/div\u003e                          \u003c\/li\u003e                      \u003c\/ol\u003e                  \u003c\/div\u003e              \u003c\/details\u003e          \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e                \u003c\/div\u003e        \u003c!-- BLOCK 5: ASSOCIATIONS \u0026  RACES --\u003e      \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e          \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/h2\u003e          \u003c!-- Aqua Terme Pro at its core + modular supplements If... → Then --\u003e          \u003cdiv class=\"aqr-assoc\"\u003e              \u003cp class=\"aqr-assoc-intro\"\u003e\u003cstrong\u003eThe entire Special One range\u003c\/strong\u003e is compatible with Aqua Terme Pro. Our favorite combinations:\u003c\/p\u003e                \u003cdiv class=\"aqr-assoc-rules\"\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA pre-swim mask is a must…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eDetox Therapy\u003c\/strong\u003e (always recommended)\u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eA final treatment is necessary…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eAqua Dolce Bombastic Hydrating Cream\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e                  \u003cdiv class=\"aqr-assoc-rule\"\u003e                      \u003cdiv class=\"aqr-assoc-if\"\u003e  \u003cspan class=\"aqr-assoc-if-tag\"\u003eIF\u003c\/span\u003e  \u003cspan\u003eThe skin is very reactive…\u003c\/span\u003e  \u003c\/div\u003e                      \u003cdiv class=\"aqr-assoc-then\"\u003e  \u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e  \u003cstrong\u003eHydrating Cream + 4 Element Oils\u003c\/strong\u003e  \u003c\/div\u003e                  \u003c\/div\u003e              \u003c\/div\u003e          \u003c\/div\u003e            \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e            \u003c!-- Races in rounded pills --\u003e          \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eWhere Aqua Terme Pro makes the difference:\u003c\/h3\u003e          \u003cdiv class=\"aqr-races-mosaic\"\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🦊 Spitz · Alopecia X \u003cspan\u003e(weekly bath: outfit, growth \u0026amp; density)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐩 Grey, red poodles \u0026amp; wild beasts \u003cspan\u003e(fine hair: hold \u0026amp; (regrowth)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐱 Cats \u0026amp; dogs with skin abnormalities \u003cspan\u003e(curative use)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e✂️ Races that are waxed \u003cspan\u003e(regrowth after hair removal)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐶 French Bulldog \u0026amp; Pugs \u003cspan\u003e(folds, seborrhea, irritations)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐕 Chinese Crested Dog \u003cspan\u003e(exposed bare skin)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🦮 Golden Retriever \u003cspan\u003e(irritations \u0026amp; excess sebum)\u003c\/span\u003e\u003c\/span\u003e              \u003cspan class=\"aqr-race-tag\"\u003e🐺 Shar-Pei \u003cspan\u003e(deep folds, skin imbalances)\u003c\/span\u003e\u003c\/span\u003e          \u003c\/div\u003e          \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eNon-exhaustive list — for both curative and preventative use on sensitive and predisposed skin.\u003c\/p\u003e            \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e            \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e              \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | SLS, DEA, Paraben, and Silicone Free | Not Tested on Animals | HDPE Recyclable\u003c\/p\u003e          \u003c\/div\u003e      \u003c\/div\u003e    \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"1 Litre","offer_id":57191767540057,"sku":"(77)","price":51.5,"currency_code":"EUR","in_stock":true},{"title":"5 Litres","offer_id":37819485028531,"sku":"WAQ-AQTE5000 (153)","price":144.2,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/eleven_7.png?v=1771967768"},{"product_id":"aqua-beauty","title":"AQUA BEAUTY : spray bi phase anti statique plombant gainant démêlant","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e\n      \u003cstrong\u003eAQUA BEAUTY\u003c\/strong\u003e est le spray conditionneur professionnel Special One qui se distingue par deux actions majeures : un \u003cstrong\u003edémêlage optimisé, aussi rapide qu'efficace\u003c\/strong\u003e, et un \u003cstrong\u003elissage \/ défrisage immédiat\u003c\/strong\u003e du pelage. Un \"must have\" dans toutes les mallettes de toilettage.\n    \u003c\/div\u003e\n\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/span\u003e\n    \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eTout le monde y trouvera un réel intérêt — de la mallette du toiletteur professionnel à la brosse du particulier au quotidien.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Toiletteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Éleveurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Particuliers\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Compétiteurs\u003c\/td\u003e\n          \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR : DIAGRAMME COSMÉTOLOGIQUE --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:24px 28px 20px;overflow:visible;\"\u003e\n        \u003cspan style=\"font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#999;margin-bottom:22px;display:block;\"\u003eDiagramme cosmétologique de l'Aqua Beauty\u003c\/span\u003e\n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label {\n      position: absolute;\n      transform: translate(-50%, -50%);\n      text-align: center;\n      pointer-events: none;\n      white-space: nowrap;\n      opacity: 0;\n      animation: so-fadeUp 0.5s ease forwards;\n    }\n    .so-label .so-lname {\n      font-size: 9px;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n      color: #999;\n      display: block;\n      margin-bottom: 1px;\n      font-family: inherit;\n    }\n    .so-label .so-lval {\n      font-size: 24px;\n      font-weight: 700;\n      color: #1a1a1a;\n      line-height: 1;\n      font-family: inherit;\n    }\n    .so-label .so-lmax {\n      font-size: 12px;\n      font-weight: 400;\n      color: #bbb;\n      font-family: inherit;\n    }\n    .so-footer-bar {\n      margin-top: 18px;\n      border-top: 1px solid #eee;\n      padding-top: 14px;\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 6px;\n      opacity: 0;\n      animation: so-footerIn 0.5s ease forwards 0.8s;\n    }\n    .so-footer-label {\n      font-size: 9px;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.1em;\n      color: #999;\n      font-family: inherit;\n      margin-right: 2px;\n    }\n    .so-footer-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: 4px;\n      background: #1a1a1a;\n      padding: 4px 10px;\n      font-size: 11px;\n      font-weight: 600;\n      color: #fff;\n      font-family: inherit;\n    }\n    .so-footer-chip-score {\n      font-weight: 400;\n      color: rgba(255,255,255,0.4);\n      font-size: 10px;\n    }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp {\n      from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); }\n      to   { opacity: 1; transform: translate(-50%, -50%); }\n    }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-footer-chip { font-size: 10px !important; padding: 3px 8px !important; }\n      .so-footer-label { font-size: 8px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Brillance\",    value: 5 },\n        { label: \"Gainage\",      value: 5 },\n        { label: \"Volume\",       value: 1 },\n        { label: \"Hydratation\",  value: 4 },\n        { label: \"Démêlant\",     value: 5 }\n      ]\n    };\n\n    var svg  = document.getElementById(\"so-radar-svg\");\n    var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria;\n    var n    = data.length;\n    var cx = 180, cy = 180, maxR = 95;\n\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) {\n      var a = ang(i), r = (v \/ mx) * maxR;\n      return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) };\n    }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n\n    for (var l = 1; l \u003c= 5; l++) {\n      var pts = [];\n      for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); }\n      var poly = svgEl(\"polygon\");\n      poly.setAttribute(\"points\", pts.join(\" \"));\n      poly.setAttribute(\"fill\", \"none\");\n      poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\");\n      poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\");\n      if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\");\n      svg.appendChild(poly);\n    }\n\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, 5, 5);\n      var line = svgEl(\"line\");\n      line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy);\n      line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y);\n      line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\");\n      line.setAttribute(\"stroke-width\", \"0.6\");\n      svg.appendChild(line);\n    }\n\n    var shapePts = [];\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, data[i].value, 5);\n      shapePts.push(p.x + \",\" + p.y);\n    }\n    var ptsStr = shapePts.join(\" \");\n\n    var fillPoly = svgEl(\"polygon\");\n    fillPoly.setAttribute(\"points\", ptsStr);\n    fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\");\n    fillPoly.classList.add(\"so-shape-fill\");\n    svg.appendChild(fillPoly);\n\n    var strokePoly = svgEl(\"polygon\");\n    strokePoly.setAttribute(\"points\", ptsStr);\n    strokePoly.setAttribute(\"fill\", \"none\");\n    strokePoly.setAttribute(\"stroke\", \"#1a1a1a\");\n    strokePoly.setAttribute(\"stroke-width\", \"1.8\");\n    strokePoly.setAttribute(\"stroke-linejoin\", \"round\");\n    strokePoly.classList.add(\"so-shape-stroke\");\n    svg.appendChild(strokePoly);\n\n    for (var i = 0; i \u003c n; i++) {\n      (function(i) {\n        var d = data[i];\n        var p = pt(i, d.value, 5);\n        var delay = 0.5 + i * 0.1;\n\n        var halo = svgEl(\"circle\");\n        halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y);\n        halo.setAttribute(\"r\", \"7\");\n        halo.setAttribute(\"fill\", \"none\");\n        halo.setAttribute(\"stroke\", \"#1a1a1a\");\n        halo.setAttribute(\"stroke-width\", \"1\");\n        halo.setAttribute(\"stroke-opacity\", \"0.12\");\n        halo.classList.add(\"so-dot\");\n        halo.style.animationDelay = delay + \"s\";\n        svg.appendChild(halo);\n\n        var dot = svgEl(\"circle\");\n        dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y);\n        dot.setAttribute(\"r\", \"3\");\n        dot.setAttribute(\"fill\", \"#1a1a1a\");\n        dot.classList.add(\"so-dot\");\n        dot.style.animationDelay = delay + \"s\";\n        svg.appendChild(dot);\n\n        var lp = pt(i, 6.5, 5);\n        var pctX = (lp.x \/ 360) * 100;\n        var pctY = (lp.y \/ 360) * 100;\n\n        var lbl = document.createElement(\"div\");\n        lbl.className = \"so-label\";\n        lbl.style.left = pctX + \"%\";\n        lbl.style.top  = pctY + \"%\";\n        lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\";\n        lbl.innerHTML =\n          '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e' +\n          '\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e';\n        area.appendChild(lbl);\n      })(i);\n    }\n\n    var maxVal = 0;\n    for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; }\n    var bests = [];\n    for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n\n    var chipsHtml = '';\n    for (var i = 0; i \u003c bests.length; i++) {\n      chipsHtml +=\n        '\u003cspan class=\"so-footer-chip\"\u003e' +\n          bests[i].label +\n          '\u003cspan class=\"so-footer-chip-score\"\u003e' + bests[i].value + '\/5\u003c\/span\u003e' +\n        '\u003c\/span\u003e';\n    }\n\n    document.getElementById(\"so-radar-footer\").innerHTML =\n      '\u003cdiv class=\"so-footer-bar\"\u003e' +\n        '\u003cspan class=\"so-footer-label\"\u003e★ ' + (bests.length \u003e 1 ? 'Points forts' : 'Point fort') + '\u003c\/span\u003e' +\n        chipsHtml +\n      '\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eAqua Beauty agit sur le pelage comme un \u003cstrong\u003epuissant agent restructurant et hydratant\u003c\/strong\u003e. Sa double action protège autant la fourrure mal entretenue des clients peu soigneux en salon que les manteaux très sollicités des chiens d'exposition. Un seul spray suffit pour retrouver un poil glissant, détendu et parfaitement lissé.\u003c\/p\u003e\n\n    \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e\n      \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eLissage \u0026amp; défrisage :\u003c\/strong\u003e Supprime les ondulations et les frisottis du pelage immédiatement.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eConditioning intense :\u003c\/strong\u003e Gaine, protège et conditionne fortement le poil.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eDémêlage rapide :\u003c\/strong\u003e Action efficace sur les nœuds, même à sec.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-électricité statique :\u003c\/strong\u003e Élimine l'effet électrostatique pour un brossage fluide.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eHydratation :\u003c\/strong\u003e Apporte de l'eau et de la souplesse à la fibre en profondeur.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-casse :\u003c\/strong\u003e Renforce la résistance du poil et limite les ruptures.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eAnti-nœuds durables :\u003c\/strong\u003e Retarde significativement le retour des nœuds entre les bains.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eBrushing facilité :\u003c\/strong\u003e Rend le poil glissant et détendu, même lorsqu'on ressent de l'accroche en début de séchage.\u003c\/li\u003e\n        \u003cli style=\"margin-bottom: 8px;\"\u003e✅ \u003cstrong\u003eRéparateur :\u003c\/strong\u003e Remédie aux dommages causés par le vent, la pollution et le séchage intensif au sèche-cheveux.\u003c\/li\u003e\n        \u003cli\u003e✅ \u003cstrong\u003eNon gras :\u003c\/strong\u003e Contrairement aux huiles, il démêle sans graisser le poil — utilisable avant le bain sans risque de mauvais rinçage ni de tache sur les manteaux blancs.\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 3 : ACTIFS --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergie d'Actifs Naturels\u003c\/span\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation naturelle ciblée sur la restructuration, l'hydratation et l'éclat — sans parabens.\u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Extrait d'Orchidée\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en minéraux et polysaccharides : hydratant, adoucissant, régénérant et anti-âge. Confère au poil un effet velouté et élastique grâce à sa capacité protectrice.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Tulipe Africaine (Spathodea campanulata)\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eRiche en flavonoïdes, anthocyanes et triterpénoïdes aux propriétés antioxydantes, astringentes et apaisantes. Illumine le manteau, répare les dommages causés par le vent, la pollution et le séchage au sèche-cheveux.\u003c\/span\u003e\n          \u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e\n            \u003cstrong\u003e🍀 Protéines Hydrolysées de Blé\u003c\/strong\u003e\u003cbr\u003e\n            \u003cspan style=\"font-size: 11px; color: #666;\"\u003eExcellent effet antistatique et filmant — sans graisser le poil. Ordonne les manteaux légers et fins, évite l'effet \"volant\" sans alourdir ni tacher.\u003c\/span\u003e\n          \u003c\/td\u003e\n          \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/span\u003e\n\n    \u003cdiv style=\"margin-bottom: 15px; padding: 12px 15px; background: #f6f6f6; border: 1px solid #e5e5e5; font-size: 13px; font-weight: 600;\"\u003e\n      💡 Mode d'emploi de base : vaporiser à \u003cstrong\u003e20–30 cm\u003c\/strong\u003e du poil, puis brosser ou peigner.\n    \u003c\/div\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 1 🔥 Brossage quotidien entre les bains\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Aqua Beauty est \u003cstrong\u003ele compagnon idéal des brossages entre les bains\u003c\/strong\u003e. Au quotidien, vaporisez sur le manteau sec ou légèrement humidifié, à 20–30 cm.\u003cbr\u003e\n        Brossez section par section. Le poil se lisse, se détend et retrouve son éclat naturel sans aucun rinçage. Résultat immédiat, manipulation rapide.\u003cbr\u003e\u003cbr\u003e\n        \u003cstrong\u003e💡 Finition franges Spaniel :\u003c\/strong\u003e vaporisez directement sur les franges et peignez pour les modeler et les définir — touche finale impeccable avant une exposition.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 2 🔥 Démêlage à sec — nœuds \u0026amp; fourrures accrochantes\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Sur les zones à nœuds ou lorsque le poil accroche en début de séchage :\u003cbr\u003e\n        1. Vaporisez Aqua Beauty directement sur la zone concernée, à 20–30 cm.\u003cbr\u003e\n        2. Laissez pénétrer quelques secondes.\u003cbr\u003e\n        3. Démêlez à la main ou au peigne, puis finissez au brosse. Le poil devient \u003cstrong\u003eglissant et détendu\u003c\/strong\u003e, le démêlage s'effectue sans douleur ni casse.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n\n    \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e\n      \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\n        \u003cspan\u003eExemple 3 🔥 Finition après bain — séchage \u0026amp; brushing\u003c\/span\u003e\n        \u003cspan style=\"font-size: 10px; color: #888;\"\u003eDÉROULER ▼\u003c\/span\u003e\n      \u003c\/summary\u003e\n      \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.8;\"\u003e\n        Aqua Beauty s'intègre parfaitement comme \u003cstrong\u003eétape de finition après le bain\u003c\/strong\u003e, en complément de l'Hydrating Cream ou du Bio Energy :\u003cbr\u003e\n        1. Une fois le poil partiellement séché, vaporisez Aqua Beauty sur l'ensemble du manteau.\u003cbr\u003e\n        2. Brossez section par section en continuant le séchage au sèche-cheveux.\u003cbr\u003e\n        Le poil se lisse, l'électricité statique disparaît et le brushing final est nettement facilité — résultat professionnel garanti.\n      \u003c\/div\u003e\n    \u003c\/details\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e\n    \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/span\u003e\n\n    \u003cp style=\"font-size: 13px; margin-bottom: 15px;\"\u003eToute la gamme Special One est compatible avec Aqua Beauty. Nos alliances préférées :\u003c\/p\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003e\n      🤝 \u003cstrong\u003eHydrating Cream \u0026amp; Bio Energy Plus\u003c\/strong\u003e en après-shampoing — synergie parfaite conditioning + lissage\n    \u003c\/p\u003e\n\n    \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px; margin-top: 5px;\"\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ \u003cstrong\u003eToutes les races, sans exception\u003c\/strong\u003e — ce produit s'adapte à tous les types de manteaux.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ \u003cstrong\u003eMaltais\u003c\/strong\u003e — poil fin, électrostatique, sujet aux nœuds et aux taches d'huile sur robe blanche : Aqua Beauty a précisément été conçu pour répondre à ces contraintes. Le \"conditionneur des Maltais\".\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures soyeuses et longues (Yorkshire, Afghans, Cockers, Setters) — lissage et brillance remarquables.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Caniches — allège et ordonne le manteau sans le friser (à la différence d'Absolute 4Poodle, qui lui est dédié au volume).\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Fourrures doubles (Bergers, Golden, Spitz) — démêlage facilité entre les bains.\u003c\/td\u003e\u003c\/tr\u003e\n        \u003ctr\u003e\u003ctd style=\"padding: 10px 0;\"\u003e✔️ Chiens d'exposition — protection renforcée des manteaux très sollicités, fini impeccable.\u003c\/td\u003e\u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans Paraben | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"250 mL","offer_id":48523070013785,"sku":"WAQ-AQBE250 (30)","price":44.0,"currency_code":"EUR","in_stock":true},{"title":"1 Liter","offer_id":57210605470041,"sku":"(17)","price":103.5,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/eleven_3.png?v=1771967180"},{"product_id":"villanelle-special-one-masque-apres-shampoing","title":"VILLANELLE, Ultra-Detangling Cream \u0026 Quick Drying","description":"\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e  \u003cdiv style=\"font-size: 1.1em; margin-bottom: 25px; border-left: 3px solid #1a1a1a; padding-left: 15px;\"\u003e  \u003cstrong\u003eVILLANELLE\u003c\/strong\u003e is Special One's new \u0026quot;Ultra-Detangling\u0026quot; treatment. Designed to dissolve even the most critical matting, it reduces up to \u003cstrong\u003e40% drying time\u003c\/strong\u003e while protecting the hair from heat stress.\u003c\/div\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eWho is this product for?\u003c\/span\u003e  \u003cp style=\"margin-bottom: 15px; font-size: 14px;\"\u003eEssential for efficiency and saving time! It's the go-to product for complex dematting and massive removal of dead hair.\u003c\/p\u003e  \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 5px; margin-left: -5px; table-layout: fixed;\"\u003e  \u003ctbody\u003e  \u003ctr\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Groomers\u003c\/td\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Livestock farmers\u003c\/td\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Individuals\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Competitors\u003c\/td\u003e  \u003ctd style=\"border: 1px solid #e5e5e5; padding: 10px 5px; text-align: center; background: #fff; font-size: 11px; white-space: nowrap;\"\u003e✅ Handlers\u003c\/td\u003e  \u003ctd style=\"border: none; background: transparent;\"\u003e\u003c\/td\u003e  \u003c\/tr\u003e  \u003c\/tbody\u003e  \u003c\/table\u003e  \u003c\/div\u003e  \u003c!-- RADAR BLOCK: COSMETOLOGICAL DIAGRAM --\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e  \u003cdiv style=\"width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border: 1px solid #e5e5e5; font-family: inherit; color: #1a1a1a; line-height: 1.4;\" id=\"so-radar-widget\"\u003e  \u003cdiv style=\"padding: 24px 28px 20px; overflow: visible;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 22px; display: block;\"\u003eVillanelle cosmetic diagram\u003c\/span\u003e  \u003cdiv style=\"position: relative; width: 100%; max-width: 340px; aspect-ratio: 1; margin: 0 auto; overflow: visible;\" id=\"so-radar-area\"\u003e\u003csvg viewbox=\"0 0 360 360\" style=\"width: 100%; height: 100%; overflow: visible;\" id=\"so-radar-svg\"\u003e\u003c\/svg\u003e\u003c\/div\u003e  \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label {\n      position: absolute;\n      transform: translate(-50%, -50%);\n      text-align: center;\n      pointer-events: none;\n      white-space: nowrap;\n      opacity: 0;\n      animation: so-fadeUp 0.5s ease forwards;\n    }\n    .so-label .so-lname {\n      font-size: 9px;\n      font-weight: 600;\n      text-transform: uppercase;\n      letter-spacing: 0.08em;\n      color: #999;\n      display: block;\n      margin-bottom: 1px;\n      font-family: inherit;\n    }\n    .so-label .so-lval {\n      font-size: 24px;\n      font-weight: 700;\n      color: #1a1a1a;\n      line-height: 1;\n      font-family: inherit;\n    }\n    .so-label .so-lmax {\n      font-size: 12px;\n      font-weight: 400;\n      color: #bbb;\n      font-family: inherit;\n    }\n    .so-footer-bar {\n      margin-top: 18px;\n      border-top: 1px solid #eee;\n      padding-top: 14px;\n      display: flex;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 6px;\n      opacity: 0;\n      animation: so-footerIn 0.5s ease forwards 0.8s;\n    }\n    .so-footer-label {\n      font-size: 9px;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 0.1em;\n      color: #999;\n      font-family: inherit;\n      margin-right: 2px;\n    }\n    .so-footer-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: 4px;\n      background: #1a1a1a;\n      padding: 4px 10px;\n      font-size: 11px;\n      font-weight: 600;\n      color: #fff;\n      font-family: inherit;\n    }\n    .so-footer-chip-score {\n      font-weight: 400;\n      color: rgba(255,255,255,0.4);\n      font-size: 10px;\n    }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp {\n      from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); }\n      to   { opacity: 1; transform: translate(-50%, -50%); }\n    }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-footer-chip { font-size: 10px !important; padding: 3px 8px !important; }\n      .so-footer-label { font-size: 8px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e  \u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e  \u003cscript\u003e\n  (function() {\n    var PRODUCT = {\n      criteria: [\n        { label: \"Hydratation\",  value: 5 },\n        { label: \"Brillance\",    value: 4 },\n        { label: \"Soin peau\",    value: 3 },\n        { label: \"Volume\",       value: 4 },\n        { label: \"Démêlant\",     value: 5 }\n      ]\n    };\n\n    var svg  = document.getElementById(\"so-radar-svg\");\n    var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria;\n    var n    = data.length;\n    var cx = 180, cy = 180, maxR = 95;\n\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) {\n      var a = ang(i), r = (v \/ mx) * maxR;\n      return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) };\n    }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n\n    for (var l = 1; l \u003c= 5; l++) {\n      var pts = [];\n      for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); }\n      var poly = svgEl(\"polygon\");\n      poly.setAttribute(\"points\", pts.join(\" \"));\n      poly.setAttribute(\"fill\", \"none\");\n      poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\");\n      poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\");\n      if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\");\n      svg.appendChild(poly);\n    }\n\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, 5, 5);\n      var line = svgEl(\"line\");\n      line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy);\n      line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y);\n      line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\");\n      line.setAttribute(\"stroke-width\", \"0.6\");\n      svg.appendChild(line);\n    }\n\n    var shapePts = [];\n    for (var i = 0; i \u003c n; i++) {\n      var p = pt(i, data[i].value, 5);\n      shapePts.push(p.x + \",\" + p.y);\n    }\n    var ptsStr = shapePts.join(\" \");\n\n    var fillPoly = svgEl(\"polygon\");\n    fillPoly.setAttribute(\"points\", ptsStr);\n    fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\");\n    fillPoly.classList.add(\"so-shape-fill\");\n    svg.appendChild(fillPoly);\n\n    var strokePoly = svgEl(\"polygon\");\n    strokePoly.setAttribute(\"points\", ptsStr);\n    strokePoly.setAttribute(\"fill\", \"none\");\n    strokePoly.setAttribute(\"stroke\", \"#1a1a1a\");\n    strokePoly.setAttribute(\"stroke-width\", \"1.8\");\n    strokePoly.setAttribute(\"stroke-linejoin\", \"round\");\n    strokePoly.classList.add(\"so-shape-stroke\");\n    svg.appendChild(strokePoly);\n\n    for (var i = 0; i \u003c n; i++) {\n      (function(i) {\n        var d = data[i];\n        var p = pt(i, d.value, 5);\n        var delay = 0.5 + i * 0.1;\n\n        var halo = svgEl(\"circle\");\n        halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y);\n        halo.setAttribute(\"r\", \"7\");\n        halo.setAttribute(\"fill\", \"none\");\n        halo.setAttribute(\"stroke\", \"#1a1a1a\");\n        halo.setAttribute(\"stroke-width\", \"1\");\n        halo.setAttribute(\"stroke-opacity\", \"0.12\");\n        halo.classList.add(\"so-dot\");\n        halo.style.animationDelay = delay + \"s\";\n        svg.appendChild(halo);\n\n        var dot = svgEl(\"circle\");\n        dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y);\n        dot.setAttribute(\"r\", \"3\");\n        dot.setAttribute(\"fill\", \"#1a1a1a\");\n        dot.classList.add(\"so-dot\");\n        dot.style.animationDelay = delay + \"s\";\n        svg.appendChild(dot);\n\n        var lp = pt(i, 6.5, 5);\n        var pctX = (lp.x \/ 360) * 100;\n        var pctY = (lp.y \/ 360) * 100;\n\n        var lbl = document.createElement(\"div\");\n        lbl.className = \"so-label\";\n        lbl.style.left = pctX + \"%\";\n        lbl.style.top  = pctY + \"%\";\n        lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\";\n        lbl.innerHTML =\n          '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e' +\n          '\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e';\n        area.appendChild(lbl);\n      })(i);\n    }\n\n    var maxVal = 0;\n    for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; }\n    var bests = [];\n    for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n\n    var chipsHtml = '';\n    for (var i = 0; i \u003c bests.length; i++) {\n      chipsHtml +=\n        '\u003cspan class=\"so-footer-chip\"\u003e' +\n          bests[i].label +\n          '\u003cspan class=\"so-footer-chip-score\"\u003e' + bests[i].value + '\/5\u003c\/span\u003e' +\n        '\u003c\/span\u003e';\n    }\n\n    document.getElementById(\"so-radar-footer\").innerHTML =\n      '\u003cdiv class=\"so-footer-bar\"\u003e' +\n        '\u003cspan class=\"so-footer-label\"\u003e★ ' + (bests.length \u003e 1 ? 'Points forts' : 'Point fort') + '\u003c\/span\u003e' +\n        chipsHtml +\n      '\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eExpertise \u0026amp; Results\u003c\/span\u003e  \u003cp style=\"font-size: 14px;\"\u003eThanks to \u003cstrong\u003einnovative volatile assets\u003c\/strong\u003e,  Villanelle binds to excess moisture to promote its rapid evaporation, thus limiting the hair's exposure to the heat of the dryer.\u003c\/p\u003e  \u003cdiv style=\"background: #f6f6f6; padding: 20px; border: 1px solid #e5e5e5; margin-top: 20px;\"\u003e  \u003cul style=\"padding-left: 20px; margin: 0; font-size: 14px; list-style-type: none;\"\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eExpress Detangler:\u003c\/strong\u003e Penetrates and dissolves knots and felt painlessly.\u003c\/li\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eQuick Drying:\u003c\/strong\u003e Unique drying acceleration technology.\u003c\/li\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003eAnti-molt:\u003c\/strong\u003e Ideal for dead hair removal protocols.\u003c\/li\u003e  \u003cli style=\"margin-bottom: 8px;\"\u003e✅  \u003cstrong\u003ePerfect texture:\u003c\/strong\u003e A rich consistency that leaves the hair silky and light.\u003c\/li\u003e  \u003cli\u003e✅  \u003cstrong\u003eVitality:\u003c\/strong\u003e Strengthens the fiber and protects against external aggressions.\u003c\/li\u003e  \u003c\/ul\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eSynergy of Natural Active Ingredients\u003c\/span\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eA high-quality formulation combining intense nutrition and absolute lightness.\u003c\/p\u003e  \u003ctable style=\"width: 100%; border-collapse: separate; border-spacing: 8px; margin-left: -8px;\"\u003e  \u003ctbody\u003e  \u003ctr\u003e  \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Shea Butter\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eIntensely nourishes, provides softness and a penetrating texture.\u003c\/span\u003e  \u003c\/td\u003e  \u003ctd style=\"width: 50%; border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Organic Cotton Oil\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eVolume, suppleness and antioxidant protection (Vitamin E).\u003c\/span\u003e  \u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Provitamin B5\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eDeeply hydrates and revitalizes elastic fibers.\u003c\/span\u003e  \u003c\/td\u003e  \u003ctd style=\"border: 1px solid #eee; padding: 12px; background: #fff; vertical-align: top; font-size: 13px;\"\u003e  \u003cstrong\u003e🍀 Asian Zedoary\u003c\/strong\u003e\u003cbr\u003e\u003cspan style=\"font-size: 11px; color: #666;\"\u003eAn ancient cousin of turmeric \u003cem\u003e(Curcuma Zedoaria)\u003c\/em\u003e.  Its essential oil purifies and tones the hair.\u003c\/span\u003e  \u003c\/td\u003e  \u003c\/tr\u003e  \u003c\/tbody\u003e  \u003c\/table\u003e  \u003c!-- ZEDOARY STORYTELLING INSERT --\u003e  \u003cdiv style=\"margin-top: 25px; padding: 22px 24px; background: #fff; border-left: 3px solid #1a1a1a;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 12px; display: block;\"\u003e🌺 Villanelle's secret\u003c\/span\u003e  \u003cp style=\"font-size: 14px; margin: 0 0 10px 0;\"\u003e\u003cstrong\u003eZedoary, a botanical treasure of Ayurvedic traditions\u003c\/strong\u003e\u003c\/p\u003e  \u003cp style=\"font-size: 13px; margin: 0; color: #444; line-height: 1.65;\"\u003eA golden root native to the forests of India and Indonesia, the \u003cstrong\u003eZedoary\u003c\/strong\u003e  \u003cem\u003e(Curcuma Zedoaria)\u003c\/em\u003e It has been used for over 2,000 years in Ayurvedic medicine for its purifying and regenerative properties. Rarer and more precious than its famous cousin turmeric, it is nicknamed the \u003cem\u003e\u0026quot;White turmeric of the rajahs\u0026quot;\u003c\/em\u003e.\u003cbr\u003e\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #ffffff;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eProtocols \u0026amp; Suggestions for use\u003c\/span\u003e  \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e  \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExample 1 🔥 Shock detangling \u0026amp; Record drying\u003c\/span\u003e  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eAfter shampooing, on towel-dried hair:\u003cbr\u003e1. Dilute \u003cstrong\u003e1 tbsp\u003c\/strong\u003e in 1L of lukewarm water.\u003cbr\u003e2. Pour the emulsion onto the coat and let it work. \u003cstrong\u003e5 minutes\u003c\/strong\u003e.\u003cbr\u003e3. Rinse gently. The drying accelerator effect is immediately activated.\u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e  \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExample 2 🔥 Emergency treatment (Knots) \u0026amp; Molt)\u003c\/span\u003e  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eFor soft-touch areas or \u003cstrong\u003ethe removal of dead hair\u003c\/strong\u003e :\u003cbr\u003eApply a small amount of pure cream directly to the knots or molting clumps. Massage to allow the buttery texture to penetrate. Leave on for 5 minutes, brush if necessary, then rinse thoroughly.\u003c\/div\u003e  \u003c\/details\u003e  \u003cdetails style=\"border: 1px solid #e5e5e5; background: #fff; margin-bottom: 10px;\"\u003e  \u003csummary style=\"padding: 15px; cursor: pointer; font-weight: 600; display: flex; justify-content: space-between; background-color: #fafafa; font-size: 14px;\"\u003e\u003cspan\u003eExample 3 🔥 Booster Integration (Shampoo\/Mask)\u003c\/span\u003e  \u003cspan style=\"font-size: 10px; color: #888;\"\u003eSCROLL DOWN ▼\u003c\/span\u003e\u003c\/summary\u003e  \u003cdiv style=\"padding: 15px; border-top: 1px solid #eee; font-size: 13px; line-height: 1.5;\"\u003eTo enrich your hair care routine: add a spoonful of Villanelle directly to your favorite shampoo mixture or to your \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e to achieve an ultra-detangling effect and extreme softness from the very first step.\u003c\/div\u003e  \u003c\/details\u003e  \u003cdiv style=\"margin-top: 20px; padding: 20px; background: #f6f6f6; border: 1px dashed #1a1a1a;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: bold; text-transform: uppercase; display: block; margin-bottom: 10px;\"\u003e🛠️ PREPARING YOUR CREAM PROPERLY:\u003c\/span\u003e  \u003cdiv style=\"font-size: 13px; line-height: 1.8;\"\u003e1️⃣ Take a spoonful of cream.\u003cbr\u003e2️⃣ Add 1 press of\u003cstrong\u003e4 Elements Oils\u003c\/strong\u003e (if residual nodes).\u003cbr\u003e3️⃣ Add water \u003cstrong\u003ehot\u003c\/strong\u003e (approximately 5cm) to avoid lumps.\u003cbr\u003e4️⃣ Mix vigorously (Whisk, Mixer or intense shaking).\u003cbr\u003e5️⃣ Add 2 presses of \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (Optional).\u003cbr\u003e6️⃣ Add warm water and mix well. Apply, do not rinse (or rinse very little).\u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003cdiv style=\"padding: 30px 20px; background-color: #f6f6f6;\"\u003e  \u003cspan style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: #999; margin-bottom: 15px; display: block;\"\u003eRecommended Associations \u0026amp; Races\u003c\/span\u003e  \u003cp style=\"font-size: 13px; margin-bottom: 10px;\"\u003e🤝 Perfect synergy with: \u003cstrong\u003eAquarosa Pro\/4Poodle\u003c\/strong\u003e (Shampoos) and \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e (Packaging).\u003c\/p\u003e  \u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 13px;\"\u003e  \u003ctbody\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Double furs (Shepherds, Golden, Spitz, Samoyeds) - Saves drying time.\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Curly fur (Poodles, Bichons, Kerry Blue) - Suppleness and volume.\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Long-haired cats (Maine Coon, Persians) - A valuable aid in detangling.\u003c\/td\u003e  \u003c\/tr\u003e  \u003ctr\u003e  \u003ctd style=\"padding: 10px 0; border-bottom: 1px solid #eee;\"\u003e✔️ Silky furs (Yorkshire, Shih-Tzu, Afghans) - Detangling essential.\u003c\/td\u003e  \u003c\/tr\u003e  \u003c\/tbody\u003e  \u003c\/table\u003e  \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e  \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodegradable +90% | SLES-free, Paraben-free | Recyclable HDPE02 bottle\u003c\/p\u003e  \u003c\/div\u003e  \u003c\/div\u003e  \u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"500 mL","offer_id":55736566677849,"sku":"(49)","price":69.0,"currency_code":"EUR","in_stock":true},{"title":"3 L","offer_id":57730517336409,"sku":"(158)","price":269.1,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/34c8a1cc-3866-467f-803e-43945630c61f.jpg?v=1763633186"},{"product_id":"peach-blossom-edition-limitee-ete-2026","title":"PEACH BLOSSOM - Edition Limitée Eté 2026 format 5L","description":"\u003c!-- ============================================\n     SYSTÈME DE DESIGN — Affinage visuel\n     ============================================ --\u003e\n\u003cstyle id=\"aqr-design-system\"\u003e\n  \/* On garde la police du theme Shopify - juste antialiasing pour le rendu *\/\n  body, body * {\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n  }\n  \n  \/* === Variables du système de design === *\/\n  :root {\n    --ds-black: #1d1d1f;        \/* Noir doux — légèrement plus chaud que le noir pur *\/\n    --ds-text: #1d1d1f;\n    --ds-text-secondary: #86868b; \/* Gris secondaire *\/\n    --ds-text-tertiary: #a1a1a6;\n    --ds-bg: #ffffff;\n    --ds-bg-elevated: #fbfbfd;   \/* Gris très clair *\/\n    --ds-bg-soft: #f5f5f7;       \/* Gris très clair *\/\n    --ds-border: #d2d2d7;\n    --ds-border-soft: #e8e8ed;\n    --ds-gold: #c2a85c;          \/* Or subtil et mat *\/\n    --ds-gold-pale: #f0e6cf;\n    --ds-radius-sm: 8px;\n    --ds-radius-md: 12px;\n    --ds-radius-lg: 18px;\n    --ds-radius-xl: 22px;\n    --ds-ease: cubic-bezier(0.16, 1, 0.3, 1);\n    --ds-duration: 0.35s;\n  }\n\n  \/* === Couleurs noir \/ doré === *\/\n  \/* Cards expertise (Proposition D) *\/\n  .aqr-benefit-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 20px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n    \/* Force l'alignement haut de chaque card dans la grille *\/\n    align-self: stretch !important;\n    margin: 0 !important;\n    vertical-align: top !important;\n  }\n  .aqr-benefits-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  \/* MEME chose pour les audience cards et autres grilles *\/\n  .aqr-audience-grid {\n    align-items: start !important;\n    align-content: start !important;\n  }\n  .aqr-audience-card {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-benefit-card::before {\n    background: var(--ds-text) !important;\n    width: 3px !important;\n  }\n  .aqr-benefit-card:hover {\n    background: var(--ds-bg) !important;\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-benefit-card:hover::before {\n    width: 3px !important;\n    background: var(--ds-gold) !important;\n  }\n  .aqr-benefit-corner {\n    width: 14px !important;\n    height: 14px !important;\n    background: linear-gradient(225deg, var(--ds-gold-pale) 50%, transparent 50%) !important;\n    border-top-right-radius: var(--ds-radius-md) !important;\n  }\n  .aqr-benefit-icon {\n    background: var(--ds-text) !important;\n    color: var(--ds-gold) !important;\n    border-radius: var(--ds-radius-sm) !important;\n  }\n  .aqr-benefit-title {\n    color: var(--ds-text) !important;\n    font-weight: 600 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 14px !important;\n  }\n  .aqr-benefit-desc {\n    color: var(--ds-text-secondary) !important;\n    font-size: 12px !important;\n    line-height: 1.55 !important;\n  }\n\n  \/* === Cards Audience === *\/\n  .aqr-audience-card {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-md) !important;\n    padding: 18px 12px !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                box-shadow var(--ds-duration) var(--ds-ease),\n                border-color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-audience-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 24px rgba(0,0,0,0.06);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-audience-icon {\n    background: var(--ds-bg-soft) !important;\n    border-radius: 50% !important;\n    width: 44px !important;\n    height: 44px !important;\n  }\n  .aqr-audience-icon svg { stroke: var(--ds-text) !important; }\n  .aqr-audience-name {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    font-size: 13px !important;\n    letter-spacing: -0.01em !important;\n  }\n\n  \/* === Eyebrows === *\/\n  span[style*=\"text-transform: uppercase\"][style*=\"color: #999\"] {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n    font-size: 11px !important;\n    margin-bottom: 18px !important;\n  }\n\n  \/* === Blocs principaux : fond uniforme === *\/\n  \/* Les blocs sur fond crème deviennent gris pâle *\/\n  div[style*=\"background-color: #FBF9F5\"] {\n    background-color: var(--ds-bg-soft) !important;\n  }\n\n  \/* === Bloc Dilution === *\/\n  .aqr-dilution {\n    border: none !important;\n    padding: 0 !important;\n    background: transparent !important;\n  }\n  \/* Forcer l'alignement haut + hauteur egale des 3 cartes dilution *\/\n  .aqr-dilution-grid {\n    align-items: stretch !important;\n  }\n  .aqr-dilution-cell {\n    align-self: stretch !important;\n    margin: 0 !important;\n  }\n  .aqr-dilution-eyebrow {\n    color: var(--ds-text-secondary) !important;\n    letter-spacing: 0.08em !important;\n    font-weight: 500 !important;\n    margin-bottom: 20px !important;\n  }\n  .aqr-dilution-eq-target {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 6px !important;\n    padding: 4px 12px !important;\n  }\n  .aqr-dilution-eq-item {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    border-radius: var(--ds-radius-sm) !important;\n    padding: 14px 8px !important;\n  }\n  .aqr-dilution-eq-val {\n    font-weight: 700 !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-eq-name {\n    color: var(--ds-text-secondary) !important;\n  }\n  .aqr-dilution-eq-sep {\n    color: var(--ds-text-tertiary) !important;\n  }\n  .aqr-dilution-eq-or span {\n    color: var(--ds-text-tertiary) !important;\n  }\n\n  \/* === Chips rendement (le trio horizontal) === *\/\n  .aqr-dilution-chips-label {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.08em !important;\n  }\n  .aqr-dilution-chip-from,\n  .aqr-dilution-chip-to {\n    color: var(--ds-text) !important;\n  }\n  .aqr-dilution-chip-arr { color: var(--ds-gold) !important; }\n  .aqr-dilution-chips-foot { color: var(--ds-text-secondary) !important; }\n  \n  \/* === Accordeons Protocoles === *\/\n  .aqr-proto-acc {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    border-radius: var(--ds-radius-md) !important;\n    overflow: hidden;\n    transition: box-shadow var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] {\n    box-shadow: 0 12px 32px rgba(0,0,0,0.08);\n  }\n  \/* Suppression des perforations beige du ticket *\/\n  .aqr-proto-acc::before,\n  .aqr-proto-acc::after {\n    display: none !important;\n  }\n  .aqr-proto-summary {\n    padding: 18px 56px 18px 22px !important; \/* right plus large pour le +, left aere *\/\n  }\n  .aqr-proto-title {\n    word-wrap: break-word;\n    overflow-wrap: break-word;\n    hyphens: auto;\n  }\n  @media (max-width: 600px) {\n    .aqr-proto-summary {\n      padding: 16px 50px 16px 18px !important;\n    }\n    .aqr-proto-plus {\n      right: 16px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 18px 18px !important;\n    }\n  }\n  @media (max-width: 380px) {\n    .aqr-proto-summary {\n      padding: 14px 44px 14px 14px !important;\n    }\n    .aqr-proto-plus {\n      right: 12px !important;\n    }\n    .aqr-proto-content {\n      padding: 4px 14px 16px !important;\n    }\n  }\n  .aqr-proto-title {\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    letter-spacing: -0.01em !important;\n    font-size: 15px !important;\n  }\n  .aqr-proto-plus {\n    border-color: var(--ds-border) !important;\n    color: var(--ds-text-secondary) !important;\n    background: transparent !important;\n    transition: transform var(--ds-duration) var(--ds-ease),\n                background var(--ds-duration) var(--ds-ease),\n                color var(--ds-duration) var(--ds-ease) !important;\n  }\n  .aqr-proto-acc[open] .aqr-proto-plus {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-color: var(--ds-text) !important;\n  }\n  .aqr-proto-content { padding: 4px 24px 22px !important; }\n  .aqr-proto-subtitle {\n    color: var(--ds-text-secondary) !important;\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n  }\n  .aqr-proto-step-marker {\n    background: var(--ds-bg-soft) !important;\n    border-color: transparent !important;\n    color: var(--ds-text) !important;\n  }\n  .aqr-proto-step-title {\n    color: var(--ds-text) !important;\n    letter-spacing: 0.06em !important;\n    font-weight: 600 !important;\n  }\n  .aqr-proto-step-desc {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* === Associations Si → Alors === *\/\n  .aqr-assoc-intro {\n    color: var(--ds-text-secondary) !important;\n    font-size: 14px !important;\n    line-height: 1.6 !important;\n  }\n  .aqr-assoc-rule {\n    border-bottom: 1px solid var(--ds-border-soft) !important;\n    padding: 18px 4px !important;\n  }\n  .aqr-assoc-if-tag {\n    background: var(--ds-text) !important;\n    color: var(--ds-bg) !important;\n    border-radius: 4px !important;\n    font-weight: 600 !important;\n    letter-spacing: 0.04em !important;\n  }\n  .aqr-assoc-if span { color: var(--ds-text-secondary) !important; }\n  .aqr-assoc-then-arrow { color: var(--ds-gold) !important; }\n  .aqr-assoc-then strong { color: var(--ds-text) !important; }\n\n  \/* === Races (pilules) === *\/\n  .aqr-race-tag {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border-soft) !important;\n    color: var(--ds-text) !important;\n    font-weight: 500 !important;\n    transition: transform 0.2s var(--ds-ease), border-color 0.2s var(--ds-ease) !important;\n  }\n  .aqr-race-tag:hover {\n    transform: translateY(-1px);\n    border-color: var(--ds-border) !important;\n  }\n  .aqr-race-tag span { color: var(--ds-text-secondary) !important; }\n\n  \/* === Radar : points forts en pilules === *\/\n  .so-foot-centered-chip {\n    background: var(--ds-bg) !important;\n    border: 1px solid var(--ds-border) !important;\n    color: var(--ds-text) !important;\n    border-radius: 100px !important;\n    padding: 6px 14px !important;\n    font-weight: 500 !important;\n  }\n  .so-foot-centered-chip em {\n    color: var(--ds-gold) !important;\n  }\n  .so-foot-centered-title {\n    color: var(--ds-text-secondary) !important;\n    font-weight: 500 !important;\n    letter-spacing: 0.18em !important;\n  }\n  .so-foot-centered-line {\n    background: var(--ds-border-soft) !important;\n  }\n\n  \/* === Cartographie : ajouter de l'air === *\/\n  #aqr-carto .aqr-list-item {\n    border-radius: var(--ds-radius-sm) !important;\n    transition: background 0.2s var(--ds-ease) !important;\n  }\n  \/* Assurer la visibilite de l'image schema dans tous les contextes *\/\n  #aqr-carto .aqr-schema-wrap {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    overflow: visible !important;\n  }\n  #aqr-carto .aqr-schema-img {\n    display: block !important;\n    visibility: visible !important;\n    opacity: 1 !important;\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  \/* === Le grand 1\/20 — typographie plus light === *\/\n  .aqr-dilution-ratio-num {\n    color: var(--ds-text) !important;\n    font-weight: 700 !important;\n  }\n  .aqr-dilution-ratio-sub {\n    color: var(--ds-text-secondary) !important;\n  }\n\n  \/* Animations apaisees - cible seulement les elements avec transition (pas les animations) *\/\n  .aqr-audience-card,\n  .aqr-race-tag,\n  .aqr-proto-acc,\n  .aqr-proto-plus,\n  .aqr-dilution,\n  .so-foot-centered-chip {\n    transition-timing-function: var(--ds-ease) !important;\n  }\n\n  \/* === Le footer mentions === *\/\n  div[style*=\"text-transform: uppercase\"][style*=\"color: #888\"] {\n    color: var(--ds-text-tertiary) !important;\n    font-size: 10px !important;\n    letter-spacing: 0.05em !important;\n    font-weight: 500 !important;\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 1000px; margin: 0 auto; color: #1a1a1a; line-height: 1.6; font-family: inherit;\"\u003e\n\n  \u003c!-- BLOC 1 : INTRO --\u003e\n  \u003cdiv style=\"padding: 20px 10px; background-color: #ffffff;\"\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 14px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      \u003cstrong\u003ePEACH BLOSSOM — Summer Edition 2026\u003c\/strong\u003e est le shampoing de la saison : \u003cstrong\u003evolume maximal et douceur maximale\u003c\/strong\u003e. Le poil est ultra nourri tout en étant très volumineux, sans nœuds ni sécheresse — là où les autres shampoings volume échouent.\n    \u003c\/div\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 14px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      Idéal en salon comme en entretien hebdomadaire des chiens d'exposition, et parfait pour tous les poils doubles, frisés et complexes.\n    \u003c\/div\u003e\n    \u003cdiv style=\"font-size: 1.1em; margin-bottom: 14px; border-left: 3px solid #1d1d1f; padding-left: 15px;\"\u003e\n      Haute performance (\u003cstrong\u003e1:30\u003c\/strong\u003e), \u003cstrong\u003eSLES \u0026amp; DEA FREE\u003c\/strong\u003e. Sa formule évoluée aux extraits de pêche, abricot et coton transforme chaque lavage en un soin complet : nettoie avec précision, restitue volume et légèreté, améliore la peignabilité et donne au manteau une douceur visiblement saine et naturelle. \u003cstrong\u003eUn seul geste professionnel. Un résultat qu'on n'oublie pas.\u003c\/strong\u003e\n    \u003c\/div\u003e\n    \u003cdiv style=\"margin: 22px 0 10px; padding: 14px 18px; background: #fdf6ef; border: 1px solid #f0d9bf; border-radius: 12px; font-size: 13px; line-height: 1.55; color: #1d1d1f;\"\u003e🍑 \u003cstrong\u003eÉdition limitée\u003c\/strong\u003e — disponible uniquement d'avril à septembre 2026. Cette formule ne sera ni reformulée, ni réintroduite : elle disparaîtra avec la saison. Ceux qui en tombent amoureux font des stocks.\u003c\/div\u003e\n\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003ePour qui est fait ce produit ?\u003c\/h2\u003e\n    \u003cp style=\"margin-bottom: 20px; font-size: 14px;\"\u003ePensé pour le travail quotidien en salon — journées intenses, pelages imparfaits, exigences élevées. Mais tout le monde y trouvera un réel intérêt, particulièrement pour les \u003cstrong\u003ecoupes ciseaux\u003c\/strong\u003e et les \u003cstrong\u003epelages post-hiver\u003c\/strong\u003e.\u003c\/p\u003e\n\n    \u003cdiv class=\"aqr-audience\"\u003e\n      \u003cdiv class=\"aqr-audience-grid\"\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"11.5\" r=\"1\" fill=\"#1a1a1a\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eToiletteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 21 L3 12 L12 5 L21 12 L21 21 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M9 21 L9 15 L15 15 L15 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eÉleveurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"8\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M4 21 Q4 14 12 14 Q20 14 20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eParticuliers\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M7 4 L17 4 L17 10 Q17 15 12 15 Q7 15 7 10 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 5 L7 5 L7 9 L5 9 Q3 9 3 7 Q3 5 5 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M19 5 L17 5 L17 9 L19 9 Q21 9 21 7 Q21 5 19 5 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M10 15 L10 19 L14 19 L14 15\"\u003e\u003c\/path\u003e\u003cpath d=\"M8 21 L16 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eCompétiteurs\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-audience-card\"\u003e\n          \u003cdiv class=\"aqr-audience-icon\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"20\" height=\"20\" fill=\"none\" stroke=\"#1a1a1a\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"8\" cy=\"7\" r=\"3\"\u003e\u003c\/circle\u003e\u003cpath d=\"M2 21 Q2 15 8 15 Q14 15 14 21\"\u003e\u003c\/path\u003e\u003ccircle cx=\"17\" cy=\"11\" r=\"2\"\u003e\u003c\/circle\u003e\u003cpath d=\"M14 21 L14 18 Q14 15 17 15 L20 15 L20 21\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-audience-name\"\u003eHandlers\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-audience, .aqr-audience * { box-sizing: border-box; font-family: inherit; }\n      .aqr-audience-grid {\n        display: grid;\n        grid-template-columns: repeat(5, 1fr);\n        gap: 8px;\n      }\n      .aqr-audience-card {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        gap: 8px;\n        padding: 16px 10px;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        border-radius: 8px;\n        text-align: center;\n        transition: border-color 0.2s, transform 0.2s;\n      }\n      .aqr-audience-card:hover {\n        border-color: #1a1a1a;\n        transform: translateY(-1px);\n      }\n      .aqr-audience-icon {\n        width: 40px;\n        height: 40px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        background: #f6f6f6;\n        border-radius: 50%;\n      }\n      .aqr-audience-name {\n        font-size: 12px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-audience-grid { grid-template-columns: repeat(3, 1fr); }\n      }\n      @media (max-width: 420px) {\n        .aqr-audience-grid { grid-template-columns: repeat(2, 1fr); }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 2 : EXPERTISE \u0026 RÉSULTATS --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #ffffff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eExpertise \u0026amp; Résultats\u003c\/h2\u003e\n    \u003cp style=\"font-size: 14px; margin-bottom: 15px;\"\u003eAprès les mois de froid, d'humidité et de stress cutané, les pelages arrivent au salon avec une demande silencieuse : nettoyage en profondeur, respect, légèreté. Peach Blossom a été formulé pour \u003cstrong\u003eréactiver le manteau, restituer de l'aérien, de l'élasticité et du volume\u003c\/strong\u003e — sans agresser. Un geste unique qui simplifie le travail et améliore le résultat final. Convient parfaitement aux bains fréquents et aux manteaux stressés.\u003c\/p\u003e\n    \u003cdiv class=\"aqr-benefits\" style=\"margin-top: 20px;\"\u003e\n      \u003cdiv class=\"aqr-benefits-grid\"\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 0;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 L21 8 L12 13 L3 8 Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 13 L12 18 L21 13\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eVolume + Douceur en une étape\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eL'équilibre rare — volume de coupe sans texture rêche, douceur sans perdre le contrôle.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 1;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"6\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"18\" cy=\"18\" r=\"2.5\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 16 L20 4\"\u003e\u003c\/path\u003e\u003cpath d=\"M16 16 L4 4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePoil travaillable\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eBase parfaite, propre, soulevée, prête à être sculptée — idéal coupe aux ciseaux.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 2;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3 L20 6 L20 12 Q20 18 12 22 Q4 18 4 12 L4 6 Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePeau sensible\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eSLES \u0026amp; DEA FREE — nettoyage efficace et délicat, parfait pour les peaux sensibles et les bains fréquents.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 3;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 8 Q9 5 15 8 T21 8\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 12 Q9 9 15 12 T21 12\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 16 Q9 13 15 16 T21 16\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003ePeignabilité améliorée\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eLe manteau ressort aérien, gérable et incroyablement facile à travailler.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 4;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8.5 15.5 L15.5 8.5\"\u003e\u003c\/path\u003e\u003ccircle cx=\"9.5\" cy=\"9.5\" r=\"1.3\" fill=\"currentColor\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"14.5\" cy=\"14.5\" r=\"1.3\" fill=\"currentColor\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eUltra économique\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eDilution 1\/30 — haute performance, rentabilité maximale en salon. Jusqu'à 150 L de produit prêt à l'emploi.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 5;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003cpath d=\"M8 12 L11 15 L16 9\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eEffet all-in\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eNettoyage + conditioning en un seul geste professionnel : moins d'étapes, moins de corrections.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-benefit-card\" style=\"--i: 6;\"\u003e\n          \u003cdiv class=\"aqr-benefit-corner\"\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"4\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 2 L12 5 M12 19 L12 22 M2 12 L5 12 M19 12 L22 12 M5 5 L7 7 M17 17 L19 19 M19 5 L17 7 M7 17 L5 19\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n          \u003cdiv class=\"aqr-benefit-content\"\u003e\n            \u003cdiv class=\"aqr-benefit-title\"\u003eParfum solaire \u0026amp; persistant\u003c\/div\u003e\n            \u003cdiv class=\"aqr-benefit-desc\"\u003eUne note raffinée et ensoleillée qui reste dans la mémoire du client — et de son chien.\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cstyle\u003e\n      .aqr-benefits, .aqr-benefits * { box-sizing: border-box; font-family: inherit; }\n      .aqr-benefits-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr);\n        grid-auto-rows: 1fr;\n        align-items: stretch;\n        gap: 10px;\n      }\n      .aqr-benefit-card {\n        position: relative;\n        display: flex;\n        gap: 14px;\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 8px;\n        padding: 16px 18px;\n        align-items: center;\n        overflow: hidden;\n        opacity: 0;\n        animation: aqrBenefitFadeIn 0.5s ease-out forwards;\n        animation-delay: calc(var(--i) * 80ms);\n        transition: background 0.3s;\n      }\n      .aqr-benefit-card::before {\n        content: \"\";\n        position: absolute;\n        top: 0; left: 0; bottom: 0;\n        width: 4px;\n        background: #1a1a1a;\n        transition: width 0.3s, background 0.3s;\n      }\n      .aqr-benefit-card:hover { background: #fafafa; }\n      .aqr-benefit-card:hover::before {\n        width: 6px;\n        background: #D4AF37;\n      }\n      .aqr-benefit-corner {\n        position: absolute;\n        top: 0; right: 0;\n        width: 18px; height: 18px;\n        background: linear-gradient(225deg, #F5E6B8 50%, transparent 50%);\n        border-top-right-radius: 8px;\n        overflow: hidden;\n      }\n      .aqr-benefit-icon {\n        flex-shrink: 0;\n        width: 44px; height: 44px;\n        display: flex; align-items: center; justify-content: center;\n        background: #1a1a1a;\n        color: #F5E6B8;\n        border-radius: 0;\n      }\n      .aqr-benefit-icon svg { width: 22px; height: 22px; }\n      .aqr-benefit-content { flex: 1; min-width: 0; }\n      .aqr-benefit-title {\n        font-size: 14px;\n        font-weight: 700;\n        color: #1a1a1a;\n        margin-bottom: 3px;\n      }\n      .aqr-benefit-desc {\n        font-size: 11px;\n        line-height: 1.5;\n        color: #555;\n      }\n      @keyframes aqrBenefitFadeIn {\n        to { opacity: 1; }\n      }\n      @media (max-width: 600px) {\n        .aqr-benefits-grid { grid-template-columns: 1fr; gap: 8px; }\n      }\n    \u003c\/style\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC RADAR (deplace sous Expertise) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eMieux comprendre les actions de Peach Blossom\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eLe détail de ses performances cosmétologiques, note par note.\u003c\/p\u003e\n    \u003cdiv id=\"so-radar-widget\" style=\"width:100%;max-width:480px;margin:0 auto;background:#fff;border:1px solid #e5e5e5;font-family:inherit;color:#1a1a1a;line-height:1.4;\"\u003e\n      \u003cdiv style=\"padding:16px 28px;overflow:visible;\"\u003e\n        \n        \u003cdiv id=\"so-radar-area\" style=\"position:relative;width:100%;max-width:340px;aspect-ratio:1;margin:0 auto;overflow:visible;\"\u003e\n          \u003csvg id=\"so-radar-svg\" style=\"width:100%;height:100%;overflow:visible;\" viewbox=\"0 0 360 360\"\u003e\u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv id=\"so-radar-footer\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cstyle\u003e\n    #so-radar-widget * { box-sizing: border-box; }\n    .so-label { position: absolute; transform: translate(-50%, -50%); text-align: center; pointer-events: none; white-space: nowrap; opacity: 0; animation: so-fadeUp 0.5s ease forwards; }\n    .so-label .so-lname { font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; color: #999; display: block; margin-bottom: 1px; font-family: inherit; }\n    .so-label .so-lval { font-size: 24px; font-weight: 700; color: #1a1a1a; line-height: 1; font-family: inherit; }\n    .so-label .so-lmax { font-size: 12px; font-weight: 400; color: #bbb; font-family: inherit; }\n    .so-foot-centered { margin-top: 18px; padding-top: 16px; border-top: 1px solid #eee; opacity: 0; animation: so-footerIn 0.5s ease forwards 0.8s; }\n    .so-foot-centered-head { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 14px; }\n    .so-foot-centered-line { flex: 1; height: 1px; background: #1a1a1a; max-width: 50px; }\n    .so-foot-centered-title { font-size: 9px; letter-spacing: 0.3em; font-weight: 700; color: #1a1a1a; font-family: inherit; }\n    .so-foot-centered-chips { display: grid; grid-template-columns: auto auto; justify-content: center; justify-items: center; gap: 6px; }\n    .so-foot-centered-chip { display: inline-flex; align-items: baseline; gap: 6px; background: #fff; border: 1px solid #1a1a1a; color: #1a1a1a; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 600; font-family: inherit; }\n    .so-foot-centered-chip em { font-family: Georgia, \"Times New Roman\", serif; font-style: italic; font-weight: 700; color: #D4AF37; font-size: 11px; }\n    .so-shape-fill   { opacity: 0; animation: so-shapeIn 0.9s ease forwards 0.2s; }\n    .so-shape-stroke { opacity: 0; animation: so-shapeIn 0.7s ease forwards 0.35s; }\n    .so-dot          { opacity: 0; animation: so-dotIn 0.35s ease forwards; }\n    @keyframes so-shapeIn  { to { opacity: 1; } }\n    @keyframes so-dotIn    { to { opacity: 1; } }\n    @keyframes so-footerIn { to { opacity: 1; } }\n    @keyframes so-fadeUp { from { opacity: 0; transform: translate(-50%, calc(-50% + 6px)); } to { opacity: 1; transform: translate(-50%, -50%); } }\n    .so-trace-stroke { opacity: 0; animation: so-traceIn 0.5s ease forwards 0.8s, so-traceMove 3.5s linear infinite 1.3s; }\n    @keyframes so-traceIn { to { opacity: 1; } }\n    @keyframes so-traceMove { from { stroke-dashoffset: 0; } to { stroke-dashoffset: calc(-1 * var(--so-perim, 600)); } }\n    @media (max-width: 480px) {\n      #so-radar-widget \u003e div { padding: 18px 16px 14px !important; }\n      #so-radar-area { max-width: 300px !important; }\n      .so-label .so-lname { font-size: 8px !important; letter-spacing: 0.05em !important; }\n      .so-label .so-lval  { font-size: 19px !important; }\n      .so-label .so-lmax  { font-size: 9px !important; }\n      .so-foot-centered-title { font-size: 8px !important; letter-spacing: 0.25em !important; }\n      .so-foot-centered-chip { font-size: 10px !important; padding: 5px 12px !important; }\n      .so-foot-centered-chip em { font-size: 10px !important; }\n      .so-foot-centered-line { max-width: 30px !important; }\n    }\n    @media (max-width: 360px) {\n      #so-radar-area { max-width: 260px !important; }\n      .so-label .so-lval { font-size: 16px !important; }\n      .so-label .so-lname { font-size: 7px !important; }\n    }\n  \u003c\/style\u003e\n\n  \u003cscript\u003e\n  (function() {\n    var PRODUCT = { criteria: [ { label: \"Volume\", value: 5 }, { label: \"Hydratation\", value: 4 }, { label: \"Douceur\", value: 5 }, { label: \"Peau sensible\", value: 5 } ] };\n    var svg = document.getElementById(\"so-radar-svg\"); var area = document.getElementById(\"so-radar-area\");\n    var data = PRODUCT.criteria; var n = data.length; var cx = 180, cy = 180, maxR = 95;\n    function ang(i) { return (Math.PI * 2 * i \/ n) - Math.PI \/ 2; }\n    function pt(i, v, mx) { var a = ang(i), r = (v \/ mx) * maxR; return { x: cx + r * Math.cos(a), y: cy + r * Math.sin(a) }; }\n    function svgEl(tag) { return document.createElementNS(\"http:\/\/www.w3.org\/2000\/svg\", tag); }\n    for (var l = 1; l \u003c= 5; l++) { var pts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, l, 5); pts.push(p.x + \",\" + p.y); } var poly = svgEl(\"polygon\"); poly.setAttribute(\"points\", pts.join(\" \")); poly.setAttribute(\"fill\", \"none\"); poly.setAttribute(\"stroke\", l === 5 ? \"rgba(0,0,0,0.09)\" : \"rgba(0,0,0,0.04)\"); poly.setAttribute(\"stroke-width\", l === 5 ? \"1\" : \"0.6\"); if (l === 5) poly.setAttribute(\"stroke-dasharray\", \"3,3\"); svg.appendChild(poly); }\n    for (var i = 0; i \u003c n; i++) { var p = pt(i, 5, 5); var line = svgEl(\"line\"); line.setAttribute(\"x1\", cx); line.setAttribute(\"y1\", cy); line.setAttribute(\"x2\", p.x); line.setAttribute(\"y2\", p.y); line.setAttribute(\"stroke\", \"rgba(0,0,0,0.04)\"); line.setAttribute(\"stroke-width\", \"0.6\"); svg.appendChild(line); }\n    var shapePts = []; for (var i = 0; i \u003c n; i++) { var p = pt(i, data[i].value, 5); shapePts.push(p.x + \",\" + p.y); } var ptsStr = shapePts.join(\" \");\n    var fillPoly = svgEl(\"polygon\"); fillPoly.setAttribute(\"points\", ptsStr); fillPoly.setAttribute(\"fill\", \"rgba(0,0,0,0.04)\"); fillPoly.classList.add(\"so-shape-fill\"); svg.appendChild(fillPoly);\n    var strokePoly = svgEl(\"polygon\"); strokePoly.setAttribute(\"points\", ptsStr); strokePoly.setAttribute(\"fill\", \"none\"); strokePoly.setAttribute(\"stroke\", \"#1a1a1a\"); strokePoly.setAttribute(\"stroke-width\", \"1.8\"); strokePoly.setAttribute(\"stroke-linejoin\", \"round\"); strokePoly.classList.add(\"so-shape-stroke\"); svg.appendChild(strokePoly);\n    \/* Trace doree qui parcourt le contour en boucle *\/\n    var perim = 0; for (var i = 0; i \u003c n; i++) { var p1 = pt(i, data[i].value, 5); var p2 = pt((i+1)%n, data[(i+1)%n].value, 5); perim += Math.sqrt((p2.x-p1.x)*(p2.x-p1.x) + (p2.y-p1.y)*(p2.y-p1.y)); }\n    var tracePoly = svgEl(\"polygon\"); tracePoly.setAttribute(\"points\", ptsStr); tracePoly.setAttribute(\"fill\", \"none\"); tracePoly.setAttribute(\"stroke\", \"#D4AF37\"); tracePoly.setAttribute(\"stroke-width\", \"2.2\"); tracePoly.setAttribute(\"stroke-linejoin\", \"round\"); tracePoly.setAttribute(\"stroke-linecap\", \"round\"); tracePoly.setAttribute(\"stroke-dasharray\", \"60 \" + perim); tracePoly.setAttribute(\"stroke-dashoffset\", \"0\"); tracePoly.style.setProperty(\"--so-perim\", perim); tracePoly.classList.add(\"so-trace-stroke\"); svg.appendChild(tracePoly);\n    for (var i = 0; i \u003c n; i++) { (function(i) { var d = data[i]; var p = pt(i, d.value, 5); var delay = 0.5 + i * 0.1; var halo = svgEl(\"circle\"); halo.setAttribute(\"cx\", p.x); halo.setAttribute(\"cy\", p.y); halo.setAttribute(\"r\", \"7\"); halo.setAttribute(\"fill\", \"none\"); halo.setAttribute(\"stroke\", \"#1a1a1a\"); halo.setAttribute(\"stroke-width\", \"1\"); halo.setAttribute(\"stroke-opacity\", \"0.12\"); halo.classList.add(\"so-dot\"); halo.style.animationDelay = delay + \"s\"; svg.appendChild(halo); var dot = svgEl(\"circle\"); dot.setAttribute(\"cx\", p.x); dot.setAttribute(\"cy\", p.y); dot.setAttribute(\"r\", \"3\"); dot.setAttribute(\"fill\", \"#1a1a1a\"); dot.classList.add(\"so-dot\"); dot.style.animationDelay = delay + \"s\"; svg.appendChild(dot); var lp = pt(i, 6.5, 5);\n lp.y += Math.sin(ang(i)) * 16; var pctX = (lp.x \/ 360) * 100; var pctY = (lp.y \/ 360) * 100; var lbl = document.createElement(\"div\"); lbl.className = \"so-label\"; lbl.style.left = pctX + \"%\"; lbl.style.top = pctY + \"%\"; lbl.style.animationDelay = (0.4 + i * 0.1) + \"s\"; lbl.innerHTML = '\u003cspan class=\"so-lname\"\u003e' + d.label + '\u003c\/span\u003e\u003cspan class=\"so-lval\"\u003e' + d.value + '\u003cspan class=\"so-lmax\"\u003e\/5\u003c\/span\u003e\u003c\/span\u003e'; area.appendChild(lbl); })(i); }\n    var maxVal = 0; for (var i = 0; i \u003c n; i++) { if (data[i].value \u003e maxVal) maxVal = data[i].value; } var bests = []; for (var i = 0; i \u003c n; i++) { if (data[i].value === maxVal) bests.push(data[i]); }\n    var chipsHtml = ''; for (var i = 0; i \u003c bests.length; i++) { chipsHtml += '\u003cspan class=\"so-foot-centered-chip\"\u003e' + bests[i].label + '\u003cem\u003e' + bests[i].value + '\/5\u003c\/em\u003e\u003c\/span\u003e'; }\n    var labelTxt = (bests.length \u003e 1 ? 'POINTS FORTS' : 'POINT FORT');\n    document.getElementById(\"so-radar-footer\").innerHTML = '\u003cdiv class=\"so-foot-centered\"\u003e\u003cdiv class=\"so-foot-centered-head\"\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003cspan class=\"so-foot-centered-title\"\u003e★ ' + labelTxt + ' ★\u003c\/span\u003e\u003cspan class=\"so-foot-centered-line\"\u003e\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"so-foot-centered-chips\"\u003e' + chipsHtml + '\u003c\/div\u003e\u003c\/div\u003e';\n  })();\n  \u003c\/script\u003e\n\n  \u003c!-- BLOC 3 : COMPOSITION (CARTOGRAPHIE JS actifs Peach Blossom - fiabilisee) --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #fff;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eComposition de Peach Blossom : actifs naturels \u0026amp; action ciblée\u003c\/h2\u003e\n    \u003cp style=\"font-size: 13px; margin-bottom: 20px;\"\u003eUne formulation concentrée aux extraits de \u003cstrong\u003epêche, abricot et coton\u003c\/strong\u003e — sans SLES, sans DEA, sans colorants. Chaque actif et son action ciblée sur la peau et le poil.\u003c\/p\u003e\n\n    \u003c!-- CARTOGRAPHIE --\u003e\n    \u003cdiv id=\"aqr-carto\" style=\"background:#fff;border:1px solid #e5e5e5;padding:18px;\"\u003e\n      \u003cdiv class=\"aqr-grid\"\u003e\n\n        \u003cdiv class=\"aqr-col-list\"\u003e\n          \u003cul class=\"aqr-list\" id=\"aqrList\"\u003e\u003c\/ul\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-schema\"\u003e\n          \u003cdiv class=\"aqr-schema-wrap\" id=\"aqrSchemaWrap\"\u003e\n            \u003cimg class=\"aqr-schema-img\" id=\"aqrSchemaImg\" style=\"display:block;width:100%;height:auto;\" alt=\"Schéma de l'anatomie de la peau et du poil illustrant l'action ciblée de Peach Blossom\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/schema-peau-poil.webp?v=1779972667\"\u003e\n            \u003csvg class=\"aqr-overlay\" id=\"aqrOverlay\" preserveaspectratio=\"none\" viewbox=\"0 0 100 225\"\u003e\u003c\/svg\u003e\n            \u003cdiv class=\"aqr-connectors\" id=\"aqrConnectors\"\u003e\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdiv class=\"aqr-col-info\"\u003e\n          \u003cdiv class=\"aqr-info\" id=\"aqrInfo\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      #aqr-carto, #aqr-carto * { box-sizing: border-box; }\n      #aqr-carto {\n        font-family: inherit;\n        color: #1a1a1a;\n        line-height: 1.5;\n        position: relative;\n      }\n      #aqr-carto .aqr-grid {\n        display: grid;\n        grid-template-columns: 170px 1fr 280px;\n        gap: 16px;\n        align-items: start;\n      }\n\n      \/* LISTE — cadres encadres *\/\n      #aqr-carto .aqr-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }\n      #aqr-carto .aqr-list-item {\n        display: block;\n        width: 100%;\n        text-align: left;\n        background: #fff;\n        border: 1px solid #e5e5e5;\n        padding: 8px 10px;\n        cursor: pointer;\n        font-family: inherit;\n        color: #888;\n        transition: all 0.3s;\n        position: relative;\n        min-height: 0;\n      }\n      #aqr-carto .aqr-list-item:hover {\n        color: #1a1a1a;\n        border-color: #bbb;\n        background: #fafafa;\n      }\n      #aqr-carto .aqr-list-item.aqr-active {\n        color: #1a1a1a;\n        background: #fff;\n        border-color: var(--c, #1a1a1a);\n        border-left-width: 3px;\n        padding-left: 8px;\n        box-shadow: 0 2px 6px rgba(0,0,0,0.04);\n      }\n\n      #aqr-carto .aqr-li-name {\n        font-size: 13px;\n        line-height: 1.25;\n        font-weight: 500;\n      }\n\n      \/* SCHEMA *\/\n      #aqr-carto .aqr-col-schema {\n        display: flex;\n        justify-content: center;\n        align-items: flex-start;\n      }\n      #aqr-carto .aqr-schema-wrap {\n        position: relative;\n        width: 100%;\n        max-width: 200px;\n        margin: 0 auto;\n        z-index: 1;\n      }\n      #aqr-carto .aqr-schema-img {\n        display: block;\n        width: 100%;\n        height: auto;\n      }\n\n      #aqr-carto .aqr-overlay {\n        position: absolute;\n        inset: 0;\n        width: 100%;\n        height: 100%;\n        pointer-events: none;\n        overflow: visible;\n        z-index: 3;\n      }\n      #aqr-carto .aqr-connectors {\n        position: absolute;\n        inset: 0;\n        pointer-events: none;\n        z-index: 2;\n      }\n      #aqr-carto \u003e svg.aqr-connector-svg {\n        position: absolute;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        overflow: visible;\n        pointer-events: none;\n        z-index: 5;\n      }\n\n      \/* Ligne connector (depuis la liste vers le point) *\/\n      #aqr-carto .aqr-conn-line {\n        fill: none;\n        stroke: var(--c);\n        stroke-width: 1;\n        opacity: 0;\n        stroke-dasharray: 600;\n        stroke-dashoffset: 600;\n        animation: aqrConnDraw 0.9s cubic-bezier(.5,.05,.2,1) forwards;\n      }\n      @keyframes aqrConnDraw {\n        0% { opacity: 0; stroke-dashoffset: 600; }\n        25% { opacity: 0.6; }\n        100% { opacity: 0.6; stroke-dashoffset: 0; }\n      }\n\n      \/* IRRADIATION CIRCULAIRE DOREE — toujours identique *\/\n      \/* Le groupe entier qui contient halo + cercle + branches étoilées *\/\n      #aqr-carto .aqr-star-group {\n        transform-origin: center;\n        transform-box: fill-box;\n      }\n\n      \/* Halo doré central qui pulse doucement *\/\n      #aqr-carto .aqr-star-halo {\n        fill: #D4AF37;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        filter: blur(1.4px);\n        animation: aqrHaloIn 0.7s ease-out forwards, aqrHaloPulse 3s ease-in-out infinite 0.7s;\n      }\n      @keyframes aqrHaloIn { to { opacity: 0.5; } }\n      @keyframes aqrHaloPulse {\n        0%, 100% { opacity: 0.4; transform: scale(1); }\n        50% { opacity: 0.75; transform: scale(1.2); }\n      }\n\n      \/* Cercle d'irradiation qui se diffuse (anneau lent) *\/\n      #aqr-carto .aqr-star-ring {\n        fill: none;\n        stroke: #D4AF37;\n        stroke-width: 0.5;\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrStarRing 3.2s ease-out infinite;\n      }\n      @keyframes aqrStarRing {\n        0%   { opacity: 0; r: 3; stroke-width: 0.6; }\n        15%  { opacity: 0.5; }\n        100% { opacity: 0; r: 12; stroke-width: 0.15; }\n      }\n\n      \/* Point coloré A\/B\/C (par-dessus le doré) *\/\n      #aqr-carto .aqr-marker-dot {\n        fill: var(--c);\n        opacity: 0;\n        transform-origin: center;\n        transform-box: fill-box;\n        animation: aqrDotIn 0.5s ease-out forwards;\n      }\n      @keyframes aqrDotIn {\n        0% { opacity: 0; transform: scale(0); }\n        70% { transform: scale(1.4); }\n        100% { opacity: 1; transform: scale(1); }\n      }\n      #aqr-carto .aqr-marker-text {\n        fill: white;\n        font-family: 'Courier New', monospace;\n        font-size: 2.8px;\n        font-weight: 700;\n        text-anchor: middle;\n        dominant-baseline: central;\n        opacity: 0;\n        animation: aqrDotIn 0.5s ease-out forwards;\n        pointer-events: none;\n      }\n\n      #aqr-carto .aqr-leaving {\n        animation: aqrFadeOut 0.4s ease-out forwards !important;\n      }\n      @keyframes aqrFadeOut { to { opacity: 0; } }\n\n      \/* INFO *\/\n      #aqr-carto .aqr-info {\n        background: #fafafa;\n        border: 1px solid #e5e5e5;\n        padding: 16px 16px;\n        transition: opacity 0.4s;\n      }\n      #aqr-carto .aqr-info.aqr-fading { opacity: 0.2; }\n      #aqr-carto .aqr-info-family {\n        font-size: 9px;\n        letter-spacing: 0.25em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 6px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-info-name {\n        font-size: 16px;\n        font-weight: 700;\n        line-height: 1.2;\n        margin: 0 0 4px;\n        color: #1a1a1a;\n      }\n      #aqr-carto .aqr-info-latin {\n        font-size: 11px;\n        color: #999;\n        font-style: italic;\n        margin-bottom: 12px;\n      }\n      #aqr-carto .aqr-info-desc {\n        font-size: 12px;\n        line-height: 1.55;\n        color: #333;\n        margin-bottom: 14px;\n        padding-bottom: 14px;\n        border-bottom: 1px solid #ececec;\n      }\n      #aqr-carto .aqr-info-section {\n        font-size: 9px;\n        letter-spacing: 0.22em;\n        text-transform: uppercase;\n        color: #888;\n        font-weight: 600;\n        margin-bottom: 10px;\n      }\n      #aqr-carto .aqr-action-row {\n        display: flex;\n        align-items: baseline;\n        gap: 10px;\n        margin-bottom: 10px;\n        padding-bottom: 10px;\n        border-bottom: 1px dotted #ececec;\n      }\n      #aqr-carto .aqr-action-row:last-child {\n        border-bottom: none;\n        padding-bottom: 0;\n        margin-bottom: 0;\n      }\n      #aqr-carto .aqr-action-marker {\n        flex-shrink: 0;\n        width: 18px;\n        height: 18px;\n        background: var(--c);\n        color: white;\n        text-align: center;\n        line-height: 18px;\n        font-family: 'Courier New', monospace;\n        font-size: 10px;\n        font-weight: 700;\n        transition: background 0.5s;\n      }\n      #aqr-carto .aqr-action-content { flex: 1; min-width: 0; }\n      #aqr-carto .aqr-action-zone {\n        font-size: 9px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: var(--c, #888);\n        font-weight: 600;\n        margin-bottom: 2px;\n        transition: color 0.5s;\n      }\n      #aqr-carto .aqr-action-name {\n        font-size: 13px;\n        color: #1a1a1a;\n        font-weight: 600;\n        line-height: 1.25;\n        margin-bottom: 3px;\n      }\n      #aqr-carto .aqr-action-benefit {\n        font-size: 11px;\n        color: #666;\n        line-height: 1.5;\n      }\n\n      \/* TABLET : liste + schema cote a cote, info en dessous *\/\n      @media (max-width: 900px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 130px;\n          grid-template-rows: auto auto;\n          gap: 14px;\n        }\n        #aqr-carto .aqr-col-list { grid-column: 1; grid-row: 1; }\n        #aqr-carto .aqr-col-schema { grid-column: 2; grid-row: 1; }\n        #aqr-carto .aqr-col-info { grid-column: 1 \/ -1; grid-row: 2; }\n        #aqr-carto .aqr-schema-wrap { max-width: 130px; }\n        #aqr-carto .aqr-li-name { font-size: 12px; }\n        #aqr-carto .aqr-list-item { padding: 7px 8px; }\n        #aqr-carto .aqr-list { gap: 5px; }\n      }\n      \/* MOBILE : meme structure mais photo encore plus petite *\/\n      @media (max-width: 640px) {\n        #aqr-carto { padding: 12px !important; }\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 100px;\n          gap: 10px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 100px; }\n        #aqr-carto .aqr-li-name { font-size: 11px; line-height: 1.2; }\n        #aqr-carto .aqr-li-num { font-size: 8px; margin-bottom: 1px; }\n        #aqr-carto .aqr-list-item { padding: 6px 8px; }\n        #aqr-carto .aqr-list-item.aqr-active { padding-left: 6px; }\n        #aqr-carto .aqr-info-name { font-size: 15px; }\n        #aqr-carto .aqr-info { padding: 14px; }\n        #aqr-carto .aqr-list { gap: 4px; }\n      }\n      \/* TRES PETIT : photo minimale *\/\n      @media (max-width: 420px) {\n        #aqr-carto .aqr-grid {\n          grid-template-columns: 1fr 80px;\n          gap: 8px;\n        }\n        #aqr-carto .aqr-schema-wrap { max-width: 80px; }\n        #aqr-carto .aqr-li-name { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      var familyColors = {\n        botanic: '#7BA05B',\n        aqua: '#4A90B8',\n        bio: '#C84876',\n        cond: '#B07BA0'\n      };\n      var families = {\n        botanic: 'Botanique',\n        aqua: 'Aquatique',\n        bio: 'Biochimique',\n        cond: 'Conditionneur'\n      };\n\n      \/\/ Anchors PRECIS sur l'image 500x1125 (viewBox 100 x 225)\n      var anchors = {\n        tige_poil:  { x: 60,  y: 25 },     \/\/ mi-tige\n        cuticule:   { x: 56,  y: 65 },     \/\/ ecailles visibles\n        epiderme:   { x: 25,  y: 115 },    \/\/ surface peau gauche\n        film_hydro: { x: 32,  y: 100 },    \/\/ surface peau clairement, ecarte du poil\n        glande_seb: { x: 62,  y: 142 },    \/\/ grappe jaune\n        glande_sud: { x: 25,  y: 168 },    \/\/ enchevetrement gauche\n        muscle:     { x: 78,  y: 170 },    \/\/ faisceau diagonal\n        follicule:  { x: 43,  y: 185 },    \/\/ cloche autour du poil\n        bulbe:      { x: 43,  y: 193 },    \/\/ boule au fond, remonte encore\n        derme:      { x: 12,  y: 190 }     \/\/ bloc peau gauche bas\n      };\n      var anchorLabels = {\n        tige_poil: 'Tige du poil', cuticule: 'Cuticule', film_hydro: 'Film hydrolipidique',\n        epiderme: 'Épiderme', derme: 'Derme', bulbe: 'Bulbe pilaire',\n        glande_seb: 'Glande sébacée', glande_sud: 'Glande sudoripare',\n        follicule: 'Follicule pileux', muscle: 'Muscle arrecteur'\n      };\n\n      var ingredients = [\n        {\n          id:'vitamines', label:'Vitamines A · C · E', latin:'Pêche \u0026 Abricot', family:'bio',\n          desc:\"Trio antioxydant majeur des extraits de pêche et d’abricot : provitamine A (β-carotène), vitamine C et vitamine E neutralisent les radicaux libres et soutiennent l’éclat naturel du pelage.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Protection antioxydante\", benefit:\"Préservent la fibre du stress oxydatif (UV, pollution) et entretiennent sa vitalité et son mouvement.\" },\n            { anchor:'epiderme', action:\"Éclat \u0026 luminosité\", benefit:\"La vitamine C ravive l’éclat tandis que la vitamine E protège le film cutané superficiel.\" }\n          ]\n        },\n        {\n          id:'polysaccharides', label:'Polysaccharides de fruit', latin:'Sucres naturels de pulpe', family:'aqua',\n          desc:\"Sucres végétaux (polysaccharides) issus de la pulpe de pêche et d’abricot, reconnus pour leurs propriétés humectantes : ils captent et retiennent l’eau au cœur de la fibre.\",\n          targets: [\n            { anchor:'cuticule', action:\"Rétention d’hydratation\", benefit:\"Forment un voile hydrophile qui maintient l’eau dans la fibre — souplesse, légèreté et mouvement.\" },\n            { anchor:'film_hydro', action:\"Confort hydrolipidique\", benefit:\"Renforcent la teneur en eau de la surface cutanée sans jamais l’alourdir.\" }\n          ]\n        },\n        {\n          id:'acidesgras', label:'Acides gras d’abricot', latin:'Acides oléique \u0026 linoléique', family:'botanic',\n          desc:\"L’amande d’abricot est riche en acides gras insaturés (oléique, linoléique), émollients et nourrissants, proches des lipides naturels du pelage.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Nutrition \u0026 mouvement\", benefit:\"Nourrissent la fibre sans l’alourdir : le poil retrouve présence, mouvement et matière travaillable.\" },\n            { anchor:'epiderme', action:\"Émollience\", benefit:\"Adoucissent et assouplissent la couche superficielle de la peau.\" }\n          ]\n        },\n        {\n          id:'proteines', label:'Protéines \u0026 acides aminés de coton', latin:'Gossypium herbaceum', family:'cond',\n          desc:\"La graine de coton apporte protéines et acides aminés ayant une affinité naturelle avec la kératine du poil : ils se fixent là où la fibre est fragilisée.\",\n          targets: [\n            { anchor:'cuticule', action:\"Lissage de la cuticule\", benefit:\"Comblent les écailles soulevées : peignabilité nettement améliorée et toucher lisse.\" },\n            { anchor:'tige_poil', action:\"Renfort de la fibre\", benefit:\"Se lient à la kératine pour discipliner et renforcer le poil.\" }\n          ]\n        },\n        {\n          id:'linoleique', label:'Acide linoléique de coton', latin:'Oméga-6 (huile de coton)', family:'cond',\n          desc:\"L’huile de coton est l’une des plus riches en acide linoléique (oméga-6), lipide clé de réparation de la barrière cutanée et capillaire.\",\n          targets: [\n            { anchor:'film_hydro', action:\"Restauration lipidique\", benefit:\"Recompose le film protecteur des manteaux stressés ou déshydratés par l’hiver.\" },\n            { anchor:'epiderme', action:\"Apaisement\", benefit:\"Soutient la barrière cutanée et limite la perte en eau.\" }\n          ]\n        },\n        {\n          id:'filmcoton', label:'Film conditionnant de coton', latin:'Le grand équilibreur', family:'cond',\n          desc:\"Le coton est le « grand équilibreur » : il dépose un film conditionnant léger et respirant qui met de l’ordre sans alourdir.\",\n          targets: [\n            { anchor:'tige_poil', action:\"Douceur \u0026 anti-statique\", benefit:\"Discipline le poil et apporte douceur, ordre et un fini élégant, prêt pour la coupe.\" },\n            { anchor:'cuticule', action:\"Effet conditionnant\", benefit:\"Lisse la surface pour un manteau brillant, fluide et facile à travailler.\" }\n          ]\n        }\n      ];\n\n      var listEl = document.getElementById('aqrList');\n      var schemaWrap = document.getElementById('aqrSchemaWrap');\n      var schemaImg = document.getElementById('aqrSchemaImg');\n      var overlay = document.getElementById('aqrOverlay');\n      var connectorsEl = document.getElementById('aqrConnectors');\n      var infoEl = document.getElementById('aqrInfo');\n            try { ingredients.forEach(function(ing, i) {\n        var li = document.createElement('li');\n        var btn = document.createElement('button');\n        btn.className = 'aqr-list-item' + (i === 0 ? ' aqr-active' : '');\n        btn.setAttribute('type', 'button');\n        btn.dataset.idx = i;\n        btn.style.setProperty('--c', familyColors[ing.family]);\n        btn.innerHTML = '\u003cspan class=\"aqr-li-name\"\u003e' + ing.label + '\u003c\/span\u003e';\n        btn.addEventListener('click', function() { focusIngredient(i); });\n        li.appendChild(btn);\n        listEl.appendChild(li);\n      }); } catch (e) {}\n\n      function clearAll() {\n        var inside = overlay.querySelectorAll('*');\n        for (var i = 0; i \u003c inside.length; i++) inside[i].classList.add('aqr-leaving');\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) {\n          var conns = connSvg.querySelectorAll('*');\n          for (var i = 0; i \u003c conns.length; i++) conns[i].classList.add('aqr-leaving');\n        }\n        setTimeout(function() {\n          overlay.innerHTML = '';\n          if (connSvg) connSvg.innerHTML = '';\n        }, 420);\n      }\n\n      var currentIdx = 0;\n      var playing = true;\n      var autoTimer = null;\n\n      function focusIngredient(idx) {\n        currentIdx = ((idx % ingredients.length) + ingredients.length) % ingredients.length;\n        var ing = ingredients[currentIdx];\n        var color = familyColors[ing.family];\n\n        var items = document.querySelectorAll('#aqr-carto .aqr-list-item');\n        for (var i = 0; i \u003c items.length; i++) {\n          if (i === currentIdx) items[i].classList.add('aqr-active');\n          else items[i].classList.remove('aqr-active');\n        }\n        infoEl.classList.add('aqr-fading');\n        setTimeout(function() {\n          infoEl.style.setProperty('--c', color);\n          var actionsHtml = ing.targets.map(function(t, i) {\n            return '\u003cdiv class=\"aqr-action-row\"\u003e' +\n                     '\u003cdiv class=\"aqr-action-marker\"\u003e' + String.fromCharCode(65 + i) + '\u003c\/div\u003e' +\n                     '\u003cdiv class=\"aqr-action-content\"\u003e' +\n                       '\u003cdiv class=\"aqr-action-zone\"\u003e' + anchorLabels[t.anchor] + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-name\"\u003e' + t.action + '\u003c\/div\u003e' +\n                       '\u003cdiv class=\"aqr-action-benefit\"\u003e' + t.benefit + '\u003c\/div\u003e' +\n                     '\u003c\/div\u003e' +\n                   '\u003c\/div\u003e';\n          }).join('');\n          infoEl.innerHTML =\n            '\u003cdiv class=\"aqr-info-family\"\u003e' + families[ing.family] + '\u003c\/div\u003e' +\n            '\u003ch3 class=\"aqr-info-name\"\u003e' + ing.label + '\u003c\/h3\u003e' +\n            '\u003cdiv class=\"aqr-info-latin\"\u003e' + ing.latin + '\u003c\/div\u003e' +\n            '\u003cp class=\"aqr-info-desc\"\u003e' + ing.desc + '\u003c\/p\u003e' +\n            '\u003cdiv class=\"aqr-info-section\"\u003eActions ciblées\u003c\/div\u003e' +\n            actionsHtml;\n          infoEl.classList.remove('aqr-fading');\n        }, 300);\n\n        clearAll();\n        setTimeout(function() { drawTargets(ing); }, 450);\n        scheduleNext();\n      }\n\n      function ensureConnectorSvg() {\n        var carto = document.getElementById('aqr-carto');\n        \/\/ Recherche sans :scope pour compatibilite navigateurs anciens\n        var svg = null;\n        var children = carto.children;\n        for (var i = 0; i \u003c children.length; i++) {\n          if (children[i].tagName \u0026\u0026 children[i].tagName.toLowerCase() === 'svg' \u0026\u0026\n              children[i].classList \u0026\u0026 children[i].classList.contains('aqr-connector-svg')) {\n            svg = children[i];\n            break;\n          }\n        }\n        if (!svg) {\n          svg = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'svg');\n          svg.setAttribute('class', 'aqr-connector-svg');\n          carto.appendChild(svg);\n        }\n        return svg;\n      }\n\n      function getListItemAnchor(idx) {\n        var item = document.querySelectorAll('#aqr-carto .aqr-list-item')[idx];\n        var r = item.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: r.right - cRect.left,\n          y: r.top + r.height \/ 2 - cRect.top\n        };\n      }\n      function pctToCartoPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        var cRect = document.getElementById('aqr-carto').getBoundingClientRect();\n        return {\n          x: (wRect.left - cRect.left) + (px \/ 100) * wRect.width,\n          y: (wRect.top - cRect.top) + (py \/ 225) * wRect.height\n        };\n      }\n\n      function pctToOverlayPx(px, py) {\n        var wRect = schemaWrap.getBoundingClientRect();\n        return { x: (px \/ 100) * wRect.width, y: (py \/ 225) * wRect.height };\n      }\n\n      function drawTargets(ing) {\n        var color = familyColors[ing.family];\n        var startPt = getListItemAnchor(currentIdx);\n        var connSvg = ensureConnectorSvg();\n\n        ing.targets.forEach(function(target, i) {\n          var anchor = anchors[target.anchor];\n          var endPtCarto = pctToCartoPx(anchor.x, anchor.y);\n          var delay = i * 280;\n\n          \/\/ Ligne courbe : coords en pixels du aqr-carto\n          var dx = endPtCarto.x - startPt.x;\n          var cp1x = startPt.x + dx * 0.4;\n          var cp1y = startPt.y;\n          var cp2x = startPt.x + dx * 0.6;\n          var cp2y = endPtCarto.y;\n          var d = 'M ' + startPt.x + ' ' + startPt.y +\n                  ' C ' + cp1x + ' ' + cp1y + ', ' + cp2x + ' ' + cp2y +\n                  ', ' + endPtCarto.x + ' ' + endPtCarto.y;\n          var connPath = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          connPath.setAttribute('d', d);\n          connPath.setAttribute('class', 'aqr-conn-line');\n          connPath.style.setProperty('--c', color);\n          connPath.style.animationDelay = delay + 'ms';\n          connSvg.appendChild(connPath);\n\n          \/\/ IRRADIATION DORÉE — toujours identique sur chaque point\n          var cx = anchor.x;\n          var cy = anchor.y;\n\n          \/\/ 1. Halo doré flou central\n          var halo = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          halo.setAttribute('cx', cx);\n          halo.setAttribute('cy', cy);\n          halo.setAttribute('r', '5');\n          halo.setAttribute('class', 'aqr-star-halo');\n          halo.style.animationDelay = (delay + 500) + 'ms, ' + (delay + 1200) + 'ms';\n          overlay.appendChild(halo);\n\n          \/\/ 2. Anneaux d'irradiation qui se diffusent en boucle continue (4 décalés)\n          for (var r = 0; r \u003c 4; r++) {\n            var ring = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n            ring.setAttribute('cx', cx);\n            ring.setAttribute('cy', cy);\n            ring.setAttribute('r', '3');\n            ring.setAttribute('class', 'aqr-star-ring');\n            ring.style.animationDelay = (delay + 600 + r * 800) + 'ms';\n            overlay.appendChild(ring);\n          }\n\n          \/\/ 3. Point coloré A\/B\/C avec sa lettre (par-dessus le doré)\n          var dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          dot.setAttribute('cx', cx);\n          dot.setAttribute('cy', cy);\n          dot.setAttribute('r', '2.6');\n          dot.setAttribute('class', 'aqr-marker-dot');\n          dot.style.setProperty('--c', color);\n          dot.style.animationDelay = (delay + 850) + 'ms';\n          overlay.appendChild(dot);\n\n          var txt = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'text');\n          txt.setAttribute('x', cx);\n          txt.setAttribute('y', cy);\n          txt.setAttribute('class', 'aqr-marker-text');\n          txt.textContent = String.fromCharCode(65 + i);\n          txt.style.animationDelay = (delay + 950) + 'ms';\n          overlay.appendChild(txt);\n        });\n      }\n\n      function scheduleNext() {\n        if (autoTimer) clearTimeout(autoTimer);\n        if (playing) autoTimer = setTimeout(function() { focusIngredient(currentIdx + 1); }, 6500);\n      }\n\n      var __started = false;\n      function start() {\n        if (__started) return; __started = true;\n        setTimeout(function() { try { focusIngredient(0); } catch (e) {} }, 200);\n      }\n      \/\/ Filets de securite multiples : l'image et la liste s'affichent toujours,\n      \/\/ et l'animation demarre des que possible quel que soit l'environnement.\n      try {\n        if (schemaImg \u0026\u0026 schemaImg.complete) start();\n        if (schemaImg) {\n          schemaImg.addEventListener('load', start);\n          schemaImg.addEventListener('error', start);\n        }\n      } catch (e) {}\n      if (document.readyState === 'complete') start();\n      else window.addEventListener('load', start);\n      setTimeout(start, 1500);\n\n      var resizeTimer = null;\n      function fullRedraw() {\n        overlay.innerHTML = '';\n        var connSvg = document.querySelector('#aqr-carto \u003e svg.aqr-connector-svg');\n        if (connSvg) connSvg.innerHTML = '';\n        \/\/ double rAF to wait for layout to stabilize\n        requestAnimationFrame(function() {\n          requestAnimationFrame(function() {\n            drawTargets(ingredients[currentIdx]);\n          });\n        });\n      }\n      window.addEventListener('resize', function() {\n        if (resizeTimer) clearTimeout(resizeTimer);\n        resizeTimer = setTimeout(fullRedraw, 200);\n      });\n      \/\/ ResizeObserver pour reagir aussi aux changements de taille du conteneur\n      if (typeof ResizeObserver !== 'undefined') {\n        var ro = new ResizeObserver(function() {\n          if (resizeTimer) clearTimeout(resizeTimer);\n          resizeTimer = setTimeout(fullRedraw, 200);\n        });\n        ro.observe(document.getElementById('aqr-carto'));\n      }\n    })();\n    \u003c\/script\u003e\n\n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 4 : PROTOCOLES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eProtocoles \u0026amp; Suggestions d'utilisations\u003c\/h2\u003e\n    \u003c!-- DILUTION P4 : 3 cartes sobres (Ratio · Rendement · Équivalences animées) --\u003e\n    \u003cdiv class=\"aqr-dilution\" style=\"margin-bottom: 12px;\"\u003e\n      \u003cdiv class=\"aqr-dilution-eyebrow\"\u003eDilution de référence\u003c\/div\u003e\n\n      \u003cdiv class=\"aqr-dilution-grid\"\u003e\n\n        \u003c!-- CARTE 1 : Ratio --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRatio\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-value\"\u003e1\u003cspan class=\"aqr-dilution-slash\"\u003e\/\u003c\/span\u003e30\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eUne part de shampoing\u003cbr\u003epour 30 parts d'eau\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 2 : Rendement --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003eRendement\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e250 mL\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 7,5 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e1 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 30 L\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-rend-row\"\u003e\n\u003cstrong\u003e5 L\u003c\/strong\u003e \u003cspan class=\"aqr-dilution-rend-arrow\"\u003e→\u003c\/span\u003e 150 L\u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-note\"\u003eprêts à l'emploi\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CARTE 3 : Équivalences animées --\u003e\n        \u003cdiv class=\"aqr-dilution-cell\"\u003e\n          \u003cdiv class=\"aqr-dilution-cell-label\"\u003ePour \u003cspan id=\"aqrCycleTarget\" class=\"aqr-dilution-cycle-target\"\u003e750 mL\u003c\/span\u003e de produit fini\u003c\/div\u003e\n          \u003cdiv class=\"aqr-dilution-cell-rows\"\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cstrong id=\"aqrCycleMl\"\u003e25\u003c\/strong\u003e mL \u003cspan\u003een volume\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleG\"\u003e25\u003c\/strong\u003e g \u003cspan\u003een poids\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCycleSpoon\"\u003e1,5\u003c\/strong\u003e \u003cspan id=\"aqrCycleSpoonLabel\"\u003ecuillère à soupe\u003c\/span\u003e\n\u003c\/div\u003e\n            \u003cdiv class=\"aqr-dilution-eq-row\"\u003e\n\u003cspan class=\"aqr-dilution-eq-eq\"\u003e=\u003c\/span\u003e \u003cstrong id=\"aqrCyclePump\"\u003e1\u003c\/strong\u003e \u003cspan id=\"aqrCyclePumpLabel\"\u003epression de pompe\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-dilution, .aqr-dilution * { box-sizing: border-box; font-family: inherit; }\n      .aqr-dilution-eyebrow {\n        font-size: 11px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 14px;\n      }\n      .aqr-dilution-grid {\n        display: grid;\n        grid-template-columns: repeat(3, 1fr);\n        gap: 10px;\n      }\n      .aqr-dilution-cell {\n        background: #fff;\n        border: 1px solid #e8e8ed;\n        border-radius: 12px;\n        padding: 18px 16px;\n        display: flex;\n        flex-direction: column;\n      }\n      .aqr-dilution-cell-label {\n        font-size: 10px;\n        letter-spacing: 0.15em;\n        text-transform: uppercase;\n        color: #86868b;\n        font-weight: 500;\n        margin-bottom: 12px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cell-value {\n        font-size: 38px;\n        font-weight: 600;\n        color: #1d1d1f;\n        letter-spacing: -0.02em;\n        line-height: 1;\n        margin-bottom: 10px;\n      }\n      .aqr-dilution-slash {\n        color: #d2d2d7;\n        font-weight: 300;\n        margin: 0 2px;\n      }\n      .aqr-dilution-cell-rows {\n        display: flex;\n        flex-direction: column;\n        gap: 5px;\n        font-size: 13px;\n        color: #1d1d1f;\n        flex: 1;\n      }\n      .aqr-dilution-cell-rows strong {\n        font-weight: 600;\n        color: #1d1d1f;\n        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-rend-row strong {\n        min-width: 48px;\n        display: inline-block;\n      }\n      .aqr-dilution-rend-arrow {\n        color: #c2a85c;\n        font-weight: 600;\n        margin: 0 2px;\n      }\n      .aqr-dilution-eq-eq {\n        color: #c2a85c;\n        font-weight: 600;\n        margin-right: 2px;\n      }\n      .aqr-dilution-cell-rows span {\n        color: #86868b;\n      }\n      .aqr-dilution-cell-note {\n        font-size: 11px;\n        color: #86868b;\n        margin-top: 10px;\n        line-height: 1.4;\n      }\n      .aqr-dilution-cycle-target {\n        display: inline-block;\n        background: #1d1d1f;\n        color: #fff;\n        padding: 2px 8px;\n        border-radius: 4px;\n        font-weight: 600;\n        letter-spacing: 0.04em;\n        transition: background 0.35s cubic-bezier(0.16, 1, 0.3, 1);\n      }\n      .aqr-dilution-cycle-fade {\n        opacity: 0.2;\n      }\n      @media (max-width: 700px) {\n        .aqr-dilution-grid { grid-template-columns: 1fr; }\n        .aqr-dilution-cell-value { font-size: 32px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cscript\u003e\n    (function(){\n      \/\/ Animation: cycle entre 750 mL \/ 1,5 L \/ 3 L (dilution 1\/30)\n      var cycles = [\n        { target: '750 mL', ml: '25',  g: '25',  spoon: '1,5', pump: '1' },\n        { target: '1,5 L',  ml: '50',  g: '50',  spoon: '3',   pump: '2' },\n        { target: '3 L',    ml: '100', g: '100', spoon: '6',   pump: '4' }\n      ];\n      var idx = 0;\n      var targetEl = document.getElementById('aqrCycleTarget');\n      var mlEl = document.getElementById('aqrCycleMl');\n      var gEl = document.getElementById('aqrCycleG');\n      var spoonEl = document.getElementById('aqrCycleSpoon');\n      var pumpEl = document.getElementById('aqrCyclePump');\n      var spoonLabelEl = document.getElementById('aqrCycleSpoonLabel');\n      var pumpLabelEl = document.getElementById('aqrCyclePumpLabel');\n      \/\/ Regle FR : pluriel uniquement a partir de 2 (0, 1, 1,5 -\u003e singulier)\n      function frPlural(valStr, sing, plur) {\n        var n = parseFloat(String(valStr).replace(',', '.'));\n        return (n \u003e= 2) ? plur : sing;\n      }\n      \n      function tick() {\n        idx = (idx + 1) % cycles.length;\n        var c = cycles[idx];\n        \/\/ Fade out, swap, fade in\n        [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n          if (el) el.classList.add('aqr-dilution-cycle-fade');\n        });\n        setTimeout(function(){\n          if (targetEl) targetEl.textContent = c.target;\n          if (mlEl) mlEl.textContent = c.ml;\n          if (gEl) gEl.textContent = c.g;\n          if (spoonEl) spoonEl.textContent = c.spoon;\n          if (pumpEl) pumpEl.textContent = c.pump;\n          if (spoonLabelEl) spoonLabelEl.textContent = frPlural(c.spoon, 'cuillère à soupe', 'cuillères à soupe');\n          if (pumpLabelEl) pumpLabelEl.textContent = frPlural(c.pump, 'pression de pompe', 'pressions de pompe');\n          [targetEl, mlEl, gEl, spoonEl, pumpEl, spoonLabelEl, pumpLabelEl].forEach(function(el){\n            if (el) el.classList.remove('aqr-dilution-cycle-fade');\n          });\n        }, 350);\n      }\n      \n      setInterval(tick, 3500);\n    })();\n    \u003c\/script\u003e\n      \u003cdetails class=\"aqr-proto-acc\" open\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003eBain salon quotidien — volume \u0026amp; coupe ciseaux\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003eLe protocole de référence pour les journées chargées en salon\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eDilution \u0026amp; application\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eDiluez Peach Blossom à \u003cstrong\u003e1\/30\u003c\/strong\u003e. Appliquez sur le poil mouillé, massez délicatement. Rincez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRenouvellement\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eRenouvelez le shampoing si nécessaire.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec le \u003cstrong\u003econditionneur adapté au type de pelage\u003c\/strong\u003e pour fermer les écailles et sublimer le résultat — \u003cstrong\u003eVillanelle\u003c\/strong\u003e est particulièrement adapté.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRésultat\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eLe poil est \u003cstrong\u003evolumineux, propre, conditionné et prêt pour la coupe\u003c\/strong\u003e — avec moins d'étapes et moins de corrections.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n      \u003cdetails class=\"aqr-proto-acc\"\u003e\n        \u003csummary class=\"aqr-proto-summary\"\u003e\n          \u003cspan class=\"aqr-proto-title\"\u003ePelages post-hiver — réactivation \u0026amp; légèreté retrouvée\u003c\/span\u003e\n          \u003cspan class=\"aqr-proto-plus\"\u003e\n            \u003csvg viewbox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\u003e\u003cpath d=\"M12 5 L12 19 M5 12 L19 12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n          \u003c\/span\u003e\n        \u003c\/summary\u003e\n        \u003cdiv class=\"aqr-proto-content\"\u003e\n          \u003cp class=\"aqr-proto-subtitle\"\u003ePour les manteaux fatigués, alourdis ou déshydratés par les mois froids\u003c\/p\u003e\n          \u003col class=\"aqr-proto-steps\"\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e01\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eMasque pré-bain\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003ePréparez avec le masque pré-bain \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e pour amplifier l'action dès la phase initiale.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e02\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003ePeach Blossom sur masque\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eAppliquez Peach Blossom dilué à \u003cstrong\u003e1\/30\u003c\/strong\u003e directement sur le masque, sans rinçage intermédiaire. Massez. Rincez.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e03\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eSecond shampoing enrichi\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eRenouvelez en ajoutant une petite cuillère à café de \u003cstrong\u003eVillanelle\u003c\/strong\u003e dans le second shampoing.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e04\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eFinition\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eFinalisez avec le conditionneur \u003cstrong\u003eVillanelle\u003c\/strong\u003e, que vous rincerez bien.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n            \u003cli class=\"aqr-proto-step\"\u003e\n              \u003cspan class=\"aqr-proto-step-marker\"\u003e★\u003c\/span\u003e\n              \u003cdiv class=\"aqr-proto-step-body\"\u003e\n                \u003cdiv class=\"aqr-proto-step-title\"\u003eRésultat\u003c\/div\u003e\n                \u003cdiv class=\"aqr-proto-step-desc\"\u003eLe manteau retrouve aérien, élasticité et volume — comme si l'hiver n'avait jamais existé.\u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/li\u003e\n          \u003c\/ol\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003cstyle\u003e\n      .aqr-proto-acc, .aqr-proto-acc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-proto-acc {\n        background: #fff;\n        border: 1px solid #1a1a1a;\n        border-radius: 0;\n        margin-bottom: 8px;\n        overflow: hidden;\n        position: relative;\n      }\n      \/* Perforations verticales SUBTILES en beige, n'interferent jamais avec le texte *\/\n      .aqr-proto-acc::before, .aqr-proto-acc::after {\n        content: \"\";\n        position: absolute;\n        top: 12px; bottom: 12px;\n        width: 1px;\n        background-image: linear-gradient(to bottom, #c8b896 50%, transparent 50%);\n        background-size: 1px 5px;\n        background-repeat: repeat-y;\n        pointer-events: none;\n      }\n      .aqr-proto-acc::before { left: 10px; }\n      .aqr-proto-acc::after { right: 10px; }\n      .aqr-proto-summary {\n        cursor: pointer;\n        list-style: none;\n        padding: 16px 56px 16px 28px;\n        display: flex;\n        align-items: center;\n        gap: 14px;\n        position: relative;\n      }\n      .aqr-proto-summary::-webkit-details-marker { display: none; }\n      .aqr-proto-title {\n        flex: 1;\n        font-size: 14px;\n        font-weight: 600;\n        color: #1a1a1a;\n        line-height: 1.3;\n        min-width: 0;\n      }\n      .aqr-proto-plus {\n        position: absolute;\n        right: 22px; top: 50%; transform: translateY(-50%);\n        width: 22px; height: 22px;\n        display: flex; align-items: center; justify-content: center;\n        border: 1px solid #1a1a1a; border-radius: 50%;\n        color: #1a1a1a; background: transparent;\n        transition: transform 0.3s, background 0.3s, color 0.3s;\n        flex-shrink: 0;\n      }\n      .aqr-proto-acc[open] .aqr-proto-plus {\n        transform: translateY(-50%) rotate(45deg);\n        background: #1a1a1a; color: #F5E6B8;\n      }\n      .aqr-proto-content {\n        padding: 4px 28px 22px;\n        animation: aqrProtoFade 0.4s ease-out;\n      }\n      @keyframes aqrProtoFade { from { opacity: 0; } to { opacity: 1; } }\n      .aqr-proto-subtitle {\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-size: 13px;\n        color: #555;\n        margin: 0 0 18px;\n        padding-bottom: 12px;\n        border-bottom: 1px dashed #c8b896;\n      }\n      .aqr-proto-steps {\n        list-style: none;\n        padding: 0;\n        margin: 0;\n        display: flex;\n        flex-direction: column;\n        gap: 12px;\n      }\n      .aqr-proto-step {\n        display: flex;\n        gap: 12px;\n        align-items: flex-start;\n      }\n      .aqr-proto-step-marker {\n        flex-shrink: 0;\n        width: 26px; height: 26px;\n        display: flex; align-items: center; justify-content: center;\n        background: transparent;\n        border: 1px solid #1a1a1a;\n        color: #1a1a1a;\n        font-family: Georgia, \"Times New Roman\", serif;\n        font-style: italic;\n        font-weight: 700;\n        font-size: 12px;\n        border-radius: 50%;\n      }\n      .aqr-proto-step-body { flex: 1; padding-top: 2px; }\n      .aqr-proto-step-title {\n        font-size: 11px;\n        letter-spacing: 0.12em;\n        text-transform: uppercase;\n        color: #1a1a1a;\n        font-weight: 700;\n        margin-bottom: 3px;\n      }\n      .aqr-proto-step-desc {\n        font-size: 12px;\n        line-height: 1.6;\n        color: #444;\n      }\n      @media (max-width: 600px) {\n        .aqr-proto-summary { padding: 14px 48px 14px 22px; gap: 10px; }\n        .aqr-proto-title { font-size: 13px; }\n        .aqr-proto-plus { right: 16px; }\n        .aqr-proto-acc::before { left: 8px; }\n        .aqr-proto-acc::after { right: 8px; }\n        .aqr-proto-content { padding: 4px 22px 18px; }\n      }\n      @media (max-width: 380px) {\n        .aqr-proto-summary { padding: 12px 42px 12px 18px; }\n        .aqr-proto-acc::before { left: 6px; }\n        .aqr-proto-acc::after { right: 6px; }\n        .aqr-proto-content { padding: 4px 18px 16px; }\n      }\n    \u003c\/style\u003e\n    \n  \u003c\/div\u003e\n\n  \u003c!-- BLOC 5 : ASSOCIATIONS \u0026 RACES --\u003e\n  \u003cdiv style=\"padding: 12px 20px 14px; background-color: #f6f6f6;\"\u003e\n    \u003ch2 style=\"font-size: 11px; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; color: #999; margin: 0 0 10px; line-height: 1.4; display: block;\"\u003eAssociations Recommandées \u0026amp; Races\u003c\/h2\u003e\n    \u003c!-- Peach Blossom au cœur + compléments modulaires Si... → Alors --\u003e\n    \u003cdiv class=\"aqr-assoc\"\u003e\n      \u003cp class=\"aqr-assoc-intro\"\u003eCompatible avec toute la gamme Special One. \u003cstrong\u003eNos alliances préférées :\u003c\/strong\u003e\u003c\/p\u003e\n\n      \u003cdiv class=\"aqr-assoc-rules\"\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun masque pré-bain est souhaité…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eBio Energy Plus\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eune finition s'impose…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eHydrating Cream · Villanelle\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"aqr-assoc-rule\"\u003e\n          \u003cdiv class=\"aqr-assoc-if\"\u003e\n\u003cspan class=\"aqr-assoc-if-tag\"\u003eSI\u003c\/span\u003e \u003cspan\u003eun effet volume est recherché…\u003c\/span\u003e\n\u003c\/div\u003e\n          \u003cdiv class=\"aqr-assoc-then\"\u003e\n\u003cspan class=\"aqr-assoc-then-arrow\"\u003e→\u003c\/span\u003e \u003cstrong\u003eAbsolute 4Poodle · Style 360\u003c\/strong\u003e\n\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cstyle\u003e\n      .aqr-assoc, .aqr-assoc * { box-sizing: border-box; font-family: inherit; }\n      .aqr-assoc { margin-bottom: 24px; }\n      .aqr-assoc-intro {\n        font-size: 13px; color: #444; line-height: 1.5;\n        margin: 0 0 16px;\n      }\n      .aqr-assoc-rules {\n        display: flex; flex-direction: column;\n      }\n      .aqr-assoc-rule {\n        display: grid; grid-template-columns: 1fr 1.3fr;\n        gap: 18px; align-items: center;\n        padding: 16px 8px;\n        border-bottom: 1px dashed #d8d8d8;\n      }\n      .aqr-assoc-rule:last-child { border-bottom: none; }\n      .aqr-assoc-if {\n        display: flex; align-items: center; gap: 10px;\n        color: #888; font-size: 13px; font-style: italic;\n      }\n      .aqr-assoc-if-tag {\n        background: #1a1a1a; color: #F5E6B8;\n        padding: 3px 10px;\n        font-family: Georgia, \"Times New Roman\", serif; font-weight: 700;\n        font-size: 11px; letter-spacing: 0.05em;\n        font-style: normal;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then {\n        display: flex; align-items: center; gap: 10px;\n        font-size: 13px;\n      }\n      .aqr-assoc-then-arrow {\n        color: #D4AF37; font-size: 18px; font-weight: 700;\n        flex-shrink: 0;\n      }\n      .aqr-assoc-then strong { color: #1a1a1a; }\n      @media (max-width: 600px) {\n        .aqr-assoc-rule { grid-template-columns: 1fr; gap: 4px; }\n      }\n    \u003c\/style\u003e\n\n    \u003c!-- Races en pilules arrondies --\u003e\n    \u003ch3 style=\"font-size: 13px; font-weight: 600; color: #1a1a1a; margin: 0 0 12px;\"\u003eLà où Peach Blossom fait vraiment la différence :\u003c\/h3\u003e\n    \u003cdiv class=\"aqr-races-mosaic\"\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐺 Spitz, Samoyèdes \u0026amp; primitifs \u003cspan\u003e(volume, texture souple, zéro pesanteur)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🐩 Fourrures frisées \u003cspan\u003e(Caniches, Bichons Frisés)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🧸 Poils doubles complexes \u003cspan\u003e(Bouvier Bernois, Berger Australien, Terre-Neuve, Berger Allemand)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e🌬️ Fourrures mi-longues \u003cspan\u003e(volume doux, sous contrôle)\u003c\/span\u003e\u003c\/span\u003e\n      \u003cspan class=\"aqr-race-tag\"\u003e✂️ Coupe ciseaux \u003cspan\u003e(base propre, soulevée, prête à sculpter)\u003c\/span\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cp style=\"margin-top: 14px; font-size: 11px; color: #888; font-style: italic;\"\u003eListe non exhaustive — idéal pour toutes les fourrures recherchant volume et légèreté.\u003c\/p\u003e\n\n    \u003cstyle\u003e\n      .aqr-races-mosaic {\n        display: flex;\n        flex-wrap: wrap;\n        gap: 8px;\n      }\n      .aqr-race-tag {\n        display: inline-flex;\n        align-items: center;\n        gap: 6px;\n        background: #fff;\n        color: #1a1a1a;\n        padding: 9px 16px;\n        border-radius: 100px;\n        font-size: 12px;\n        font-weight: 600;\n        border: 1px solid #e5e5e5;\n        line-height: 1.3;\n      }\n      .aqr-race-tag span {\n        opacity: 0.6;\n        font-weight: 400;\n        font-size: 11px;\n      }\n      @media (max-width: 560px) {\n        .aqr-race-tag { font-size: 11px; padding: 8px 13px; }\n        .aqr-race-tag span { font-size: 10px; }\n      }\n    \u003c\/style\u003e\n\n    \u003cdiv style=\"margin-top: 30px; text-align: center; border-top: 1px solid #eee; padding-top: 20px;\"\u003e\n      \u003cp style=\"font-size: 11px; color: #888; text-transform: uppercase;\"\u003eBiodégradable +90% | Sans SLES, DEA, Paraben, Silicone | Non testé sur les animaux | PEHD02 Recyclable\u003c\/p\u003e\n      \u003cp style=\"font-size: 11px; color: #c0392b; font-weight: 600; margin-top: 8px; text-transform: uppercase;\"\u003e⏳ Édition limitée — disponible jusqu'au 31 août 2026 uniquement, dans la limite des stocks disponibles\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e","brand":"Endemik Sas","offers":[{"title":"Default Title","offer_id":57896607842649,"sku":"(447)","price":169.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6305\/9635\/files\/Peach_Blossom_Special_One.jpg?v=1778064993"}],"url":"https:\/\/petdesign.fr\/en\/collections\/les-cosmetiques-indispensables.oembed","provider":"Petdesign.fr","version":"1.0","type":"link"}