{"title":"SERVICES","description":"","products":[{"product_id":"service-de-fermeture","title":"Fermeture de piscine et de spa","description":"\u003cdiv id=\"afi-fermeture\" class=\"afi-fm\" lang=\"fr\" data-fm-of=\"sur\"\u003e\n\n\u003cp class=\"fm-lede\"\u003eUn technicien AFI ferme votre piscine ou votre spa selon des procédures adaptées aux bassins en fibre de verre et à l’hiver québécois. Le forfait de 330 $ comprend la main-d’œuvre, le déplacement et le matériel d’hivernage. Pour un spa, seuls les bouchons de jets s’ajoutent, à 5 $ chacun.\u003c\/p\u003e\n\n\u003cdiv class=\"fm-hero\"\u003e\n  \u003cp class=\"fm-eyebrow\"\u003eService de fermeture AFI\u003c\/p\u003e\n  \u003cp class=\"fm-display\"\u003e\u003cspan class=\"fm-dl\"\u003eUne visite.\u003c\/span\u003e \u003cspan class=\"fm-dl\"\u003eTout le matériel.\u003c\/span\u003e \u003cspan class=\"fm-dl fm-dl-ice\"\u003eProtégé contre \u003cspan class=\"fm-nw\"\u003ele gel.\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n  \u003cul class=\"fm-stats\"\u003e\n    \u003cli\u003e\n\u003cstrong class=\"fm-n\"\u003e330 \u003cspan class=\"fm-u\"\u003e$\u003c\/span\u003e\u003c\/strong\u003e \u003cspan class=\"fm-sl\"\u003eforfait : \u003cspan class=\"fm-nw\"\u003emain-d’œuvre\u003c\/span\u003e, déplacement et matériel\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong class=\"fm-n\"\u003e5 \u003cspan class=\"fm-u\"\u003e$\u003c\/span\u003e\u003c\/strong\u003e \u003cspan class=\"fm-sl\"\u003epar bouchon de jet, pour un spa seulement\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong class=\"fm-n\"\u003eAutomne\u003c\/strong\u003e \u003cspan class=\"fm-sl\"\u003epériode d’intervention\u003c\/span\u003e\n\u003c\/li\u003e\n    \u003cli\u003e\n\u003cstrong class=\"fm-n\"\u003e6 \u003cspan class=\"fm-u\"\u003esecteurs\u003c\/span\u003e\u003c\/strong\u003e \u003cspan class=\"fm-sl\"\u003eQuébec, Lévis, Montréal, Laval, Longueuil et \u003cspan class=\"fm-nw\"\u003eSaint-Hubert\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n  \u003c\/ul\u003e\n  \u003cp class=\"fm-cta\"\u003e\u003ca class=\"fm-btn fm-btn-main\" href=\"#MainContent\" data-fm-book\u003eRéserver ma fermeture\u003c\/a\u003e \u003ca class=\"fm-btn fm-btn-ghost\" href=\"tel:+14188710658\"\u003e(418) 871-0658\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\n\u003cnav class=\"fm-toc\" aria-label=\"Sur cette page\"\u003e\n  \u003cp class=\"fm-toc-t\"\u003eSur cette page\u003c\/p\u003e\n  \u003col\u003e\n    \u003cli\u003e\u003ca href=\"#fm-h-eau\"\u003eLe niveau d’eau\u003c\/a\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003ca href=\"#fm-h-kit\"\u003eLe matériel fourni\u003c\/a\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003ca href=\"#fm-h-prix\"\u003eLes prix\u003c\/a\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003ca href=\"#fm-h-jour\"\u003eQui fait quoi\u003c\/a\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003ca href=\"#fm-h-res\"\u003eRéserver\u003c\/a\u003e\u003c\/li\u003e\n    \u003cli\u003e\u003ca href=\"#fm-h-faq\"\u003eQuestions fréquentes\u003c\/a\u003e\u003c\/li\u003e\n  \u003c\/ol\u003e\n\u003c\/nav\u003e\n\n\u003csection class=\"fm-sec fm-water\" aria-labelledby=\"fm-h-eau\"\u003e\n  \u003cdiv class=\"fm-water-txt\"\u003e\n    \u003cp class=\"fm-kicker fm-rv\"\u003eÀ faire le matin du rendez-vous\u003c\/p\u003e\n    \u003ch2 id=\"fm-h-eau\" class=\"fm-rv\"\u003eBaissez l’eau, sans jamais vider le bassin\u003c\/h2\u003e\n    \u003cp class=\"fm-big\"\u003e\u003cstrong\u003eLe matin de votre \u003cspan class=\"fm-nw\"\u003erendez-vous\u003c\/span\u003e, baissez le niveau d’eau juste sous les retours d’eau pour une piscine, ou juste sous les jets pour un spa.\u003c\/strong\u003e Si ce n’est pas fait à notre arrivée, le technicien s’en charge et 50 $ s’ajoutent à la facture.\u003c\/p\u003e\n    \u003cp class=\"fm-warn\"\u003e\u003cstrong\u003eNe videz jamais le bassin.\u003c\/strong\u003e Une coque en fibre de verre peut se déformer sous la pression de la nappe phréatique. Juste sous les retours ou les jets, c’est suffisant ; plus bas, c’est risqué.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cfigure class=\"fm-fig\"\u003e\n    \u003csvg class=\"fm-svg\" viewbox=\"0 0 640 380\" role=\"img\" aria-labelledby=\"fm-svg-t fm-svg-d\" focusable=\"false\"\u003e\n      \u003ctitle id=\"fm-svg-t\"\u003eSchéma simplifié d’une piscine : jusqu’où baisser l’eau\u003c\/title\u003e\n      \u003cdesc id=\"fm-svg-d\"\u003eL’eau descend du niveau habituel jusqu’à juste sous le retour d’eau. Sous la coque, la nappe phréatique exerce une pression : on ne vide jamais le bassin.\u003c\/desc\u003e\n      \u003cdefs\u003e\n        \u003cclippath id=\"fm-hull-clip\"\u003e\u003cpath d=\"M78 86 L82 180 Q84 206 110 210 L300 228 Q326 231 342 252 L366 286 Q376 300 396 300 L528 300 Q556 300 560 272 L566 86 Z\"\u003e\u003c\/path\u003e\u003c\/clippath\u003e\n        \u003clineargradient id=\"fm-wg\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"\u003e\u003cstop offset=\"0\" class=\"s-w1\" stop-color=\"#a6dcf7\"\u003e\u003c\/stop\u003e\u003cstop offset=\"1\" class=\"s-w2\" stop-color=\"#2b8fd0\"\u003e\u003c\/stop\u003e\u003c\/lineargradient\u003e\n      \u003c\/defs\u003e\n      \u003crect class=\"s-ground\" x=\"0\" y=\"86\" width=\"640\" height=\"294\" fill=\"#eef2f5\"\u003e\u003c\/rect\u003e\n      \u003cpath class=\"s-gwz\" fill=\"#dcecf7\" d=\"M0 262 q20 -7 40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 V380 H0 Z\"\u003e\u003c\/path\u003e\n      \u003cpath class=\"s-gwl\" fill=\"none\" stroke=\"#6fb3e0\" stroke-width=\"2\" stroke-dasharray=\"6 6\" d=\"M0 262 q20 -7 40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0 t40 0\"\u003e\u003c\/path\u003e\n      \u003cpath class=\"s-pipe\" fill=\"none\" stroke=\"#c9d4dd\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M72 140 H36 V380\"\u003e\u003c\/path\u003e\n      \u003cpath class=\"s-pipe\" fill=\"none\" stroke=\"#c9d4dd\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M604 128 V380\"\u003e\u003c\/path\u003e\n      \u003cpath class=\"s-pipe\" fill=\"none\" stroke=\"#c9d4dd\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M460 302 V334 H604\"\u003e\u003c\/path\u003e\n      \u003cpath class=\"s-air\" fill=\"#ffffff\" d=\"M78 86 L82 180 Q84 206 110 210 L300 228 Q326 231 342 252 L366 286 Q376 300 396 300 L528 300 Q556 300 560 272 L566 86 Z\"\u003e\u003c\/path\u003e\n      \u003cg clip-path=\"url(#fm-hull-clip)\"\u003e\n        \u003cg id=\"fm-water\"\u003e\n          \u003crect x=\"50\" y=\"156\" width=\"540\" height=\"170\" fill=\"url(#fm-wg)\"\u003e\u003c\/rect\u003e\n          \u003cpath class=\"s-surf\" fill=\"none\" stroke=\"#e9f7ff\" stroke-width=\"3\" stroke-opacity=\".85\" d=\"M50 156 q15 -4 30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0 t30 0\"\u003e\u003c\/path\u003e\n        \u003c\/g\u003e\n      \u003c\/g\u003e\n      \u003cpath class=\"s-hull\" fill=\"none\" stroke=\"#8fa6b8\" stroke-width=\"7\" stroke-linejoin=\"round\" stroke-linecap=\"round\" d=\"M78 86 L82 180 Q84 206 110 210 L300 228 Q326 231 342 252 L366 286 Q376 300 396 300 L528 300 Q556 300 560 272 L566 86\"\u003e\u003c\/path\u003e\n      \u003cpath class=\"s-deck\" fill=\"none\" stroke=\"#8fa6b8\" stroke-width=\"7\" stroke-linecap=\"round\" d=\"M0 86 H76 M568 86 H640\"\u003e\u003c\/path\u003e\n      \u003crect class=\"s-skim\" fill=\"#ffffff\" stroke=\"#8fa6b8\" stroke-width=\"3\" x=\"566\" y=\"94\" width=\"46\" height=\"34\" rx=\"5\"\u003e\u003c\/rect\u003e\n      \u003crect class=\"s-noz\" fill=\"#2a4563\" x=\"70\" y=\"133\" width=\"18\" height=\"14\" rx=\"3\"\u003e\u003c\/rect\u003e\n      \u003crect class=\"s-noz\" fill=\"#2a4563\" x=\"448\" y=\"295\" width=\"24\" height=\"7\" rx=\"2\"\u003e\u003c\/rect\u003e\n      \u003ctext class=\"s-lbl\" fill=\"#2a4563\" stroke=\"#ffffff\" stroke-width=\"5\" stroke-linejoin=\"round\" paint-order=\"stroke\" font-size=\"21\" font-weight=\"600\" x=\"636\" y=\"72\" text-anchor=\"end\"\u003eÉcumoire\u003c\/text\u003e\n      \u003ctext class=\"s-lbl\" fill=\"#2a4563\" stroke=\"#ffffff\" stroke-width=\"5\" stroke-linejoin=\"round\" paint-order=\"stroke\" font-size=\"21\" font-weight=\"600\" x=\"98\" y=\"131\"\u003eRetour d’eau\u003c\/text\u003e\n      \u003cpath class=\"s-old\" fill=\"none\" stroke=\"#6f8292\" stroke-width=\"2\" stroke-dasharray=\"8 7\" d=\"M94 108 H516\"\u003e\u003c\/path\u003e\n      \u003ccircle class=\"s-num\" fill=\"#0b72b9\" cx=\"536\" cy=\"108\" r=\"16\"\u003e\u003c\/circle\u003e\u003ctext class=\"s-numt\" fill=\"#ffffff\" font-size=\"19\" font-weight=\"700\" text-anchor=\"middle\" x=\"536\" y=\"115\"\u003e1\u003c\/text\u003e\n      \u003cg class=\"fm-drop\"\u003e\u003cpath class=\"s-drop\" fill=\"none\" stroke=\"#e08600\" stroke-width=\"3.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M330 112 V150 M322 141 L330 151 L338 141\"\u003e\u003c\/path\u003e\u003c\/g\u003e\n      \u003ccircle class=\"fm-ring s-ring\" fill=\"none\" stroke=\"#e08600\" stroke-width=\"3.5\" cx=\"79\" cy=\"140\" r=\"18\"\u003e\u003c\/circle\u003e\n      \u003cg class=\"fm-target\"\u003e\n        \u003cpath class=\"s-tgt\" fill=\"none\" stroke=\"#e08600\" stroke-width=\"3\" stroke-linecap=\"round\" d=\"M92 155 H352\"\u003e\u003c\/path\u003e\n        \u003ccircle class=\"s-num s-num-o\" fill=\"#b35f00\" cx=\"372\" cy=\"155\" r=\"16\"\u003e\u003c\/circle\u003e\u003ctext class=\"s-numt\" fill=\"#ffffff\" font-size=\"19\" font-weight=\"700\" text-anchor=\"middle\" x=\"372\" y=\"162\"\u003e2\u003c\/text\u003e\n        \u003ctext class=\"s-lbl s-lbl-o\" fill=\"#94540a\" stroke=\"#ffffff\" stroke-width=\"5\" stroke-linejoin=\"round\" paint-order=\"stroke\" font-size=\"21\" font-weight=\"700\" x=\"396\" y=\"152\"\u003eVisez ici\u003c\/text\u003e\n      \u003c\/g\u003e\n      \u003cg class=\"fm-gw\" data-dy=\"26\"\u003e\u003cpath class=\"s-arr\" fill=\"none\" stroke=\"#0b72b9\" stroke-width=\"4.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M420 356 V318 M410 329 L420 316 L430 329\"\u003e\u003c\/path\u003e\u003c\/g\u003e\n      \u003cg class=\"fm-gw\" data-dy=\"26\"\u003e\u003cpath class=\"s-arr\" fill=\"none\" stroke=\"#0b72b9\" stroke-width=\"4.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M470 356 V318 M460 329 L470 316 L480 329\"\u003e\u003c\/path\u003e\u003c\/g\u003e\n      \u003cg class=\"fm-gw\" data-dy=\"26\"\u003e\u003cpath class=\"s-arr\" fill=\"none\" stroke=\"#0b72b9\" stroke-width=\"4.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M520 356 V318 M510 329 L520 316 L530 329\"\u003e\u003c\/path\u003e\u003c\/g\u003e\n      \u003cg class=\"fm-gw\" data-dx=\"26\"\u003e\u003cpath class=\"s-arr\" fill=\"none\" stroke=\"#0b72b9\" stroke-width=\"4.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M628 286 H578 M590 276 L576 286 L590 296\"\u003e\u003c\/path\u003e\u003c\/g\u003e\n      \u003ccircle class=\"s-num\" fill=\"#0b72b9\" cx=\"38\" cy=\"300\" r=\"16\"\u003e\u003c\/circle\u003e\u003ctext class=\"s-numt\" fill=\"#ffffff\" font-size=\"19\" font-weight=\"700\" text-anchor=\"middle\" x=\"38\" y=\"307\"\u003e3\u003c\/text\u003e\n      \u003ctext class=\"s-lbl\" fill=\"#2a4563\" stroke=\"#ffffff\" stroke-width=\"5\" stroke-linejoin=\"round\" paint-order=\"stroke\" font-size=\"21\" font-weight=\"600\" x=\"62\" y=\"307\"\u003eNappe phréatique\u003c\/text\u003e\n      \u003cg class=\"fm-never\"\u003e\u003crect class=\"s-stamp\" fill=\"#c0392b\" x=\"40\" y=\"324\" width=\"214\" height=\"40\" rx=\"20\"\u003e\u003c\/rect\u003e\u003ctext class=\"s-stampt\" fill=\"#ffffff\" font-size=\"20\" font-weight=\"700\" text-anchor=\"middle\" x=\"147\" y=\"351\"\u003eNe jamais vider\u003c\/text\u003e\u003c\/g\u003e\n    \u003c\/svg\u003e\n    \u003cfigcaption\u003e\n      \u003col class=\"fm-legend\"\u003e\n        \u003cli\u003eNiveau habituel de l’eau pendant la saison.\u003c\/li\u003e\n        \u003cli\u003eVisez juste sous le retour d’eau (piscine) ou juste sous les jets (spa).\u003c\/li\u003e\n        \u003cli\u003eSous la coque, la nappe phréatique exerce une pression : un bassin vidé peut se déformer.\u003c\/li\u003e\n      \u003c\/ol\u003e\n      \u003cp class=\"fm-figcap\"\u003eSchéma simplifié, à titre indicatif : la disposition varie d’un bassin à l’autre.\u003c\/p\u003e\n    \u003c\/figcaption\u003e\n  \u003c\/figure\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"fm-sec fm-kit-sec\" aria-labelledby=\"fm-h-kit\"\u003e\n  \u003cdiv class=\"fm-head\"\u003e\n    \u003cp class=\"fm-kicker fm-rv\"\u003eMatériel fourni\u003c\/p\u003e\n    \u003ch2 id=\"fm-h-kit\" class=\"fm-rv\"\u003eTout le matériel d’hivernage est fourni\u003c\/h2\u003e\n    \u003cp class=\"fm-rv\"\u003ePour une piscine, tout ce qui suit est \u003cstrong\u003ecompris dans le forfait de 330 $\u003c\/strong\u003e. Pour un spa aussi, sauf les bouchons de jets, à 5 $ chacun. Vous n’avez rien à acheter d’avance.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"fm-kit\"\u003e\n    \u003cdiv class=\"fm-card fm-rv\"\u003e\n      \u003cp class=\"fm-tag\"\u003ePiscine\u003c\/p\u003e\n      \u003ch3\u003eMatériel fourni pour une piscine\u003c\/h3\u003e\n      \u003cul class=\"fm-items\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003e2 bouchons n\u003csup\u003eo\u003c\/sup\u003e 10\u003c\/strong\u003e \u003cspan\u003eObturation des sorties de 1½ po.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003e1 bouchon n\u003csup\u003eo\u003c\/sup\u003e 11\u003c\/strong\u003e \u003cspan\u003eObturation de la sortie de 2 po.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003e1 Gizzmo\u003c\/strong\u003e \u003cspan\u003eInstallé dans l’écumoire, il absorbe l’expansion de la glace et évite que le boîtier se fissure durant l’hiver.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eAntigel\u003c\/strong\u003e \u003cspan\u003eJusqu’à 2 gallons, selon les besoins de votre réseau.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eStyromousse\u003c\/strong\u003e \u003cspan\u003ePlacée dans le drain de fond pour absorber la pression de la glace.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"fm-card fm-rv\"\u003e\n      \u003cp class=\"fm-tag\"\u003eSpa\u003c\/p\u003e\n      \u003ch3\u003eMatériel fourni pour un spa\u003c\/h3\u003e\n      \u003cul class=\"fm-items\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003eAntigel\u003c\/strong\u003e \u003cspan\u003eJusqu’à 2 gallons, selon les besoins de votre réseau.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eBouchon d’écumoire\u003c\/strong\u003e \u003cspan\u003eInclus, sans supplément.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eBouchons de drain de fond\u003c\/strong\u003e \u003cspan\u003eInclus, quel que soit le nombre requis par votre bassin : le technicien pose ce qu’il faut.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp class=\"fm-card-x\"\u003e\u003cstrong\u003eEn sus : bouchons de jets, 5 $ chacun\u003c\/strong\u003e \u003cspan\u003eUn par jet. C’est le seul matériel qui s’ajoute au forfait de 330 $ (voir la tarification).\u003c\/span\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"fm-sec fm-price\" aria-labelledby=\"fm-h-prix\"\u003e\n  \u003cdiv class=\"fm-price-txt\"\u003e\n    \u003cp class=\"fm-kicker fm-rv\"\u003eTarification\u003c\/p\u003e\n    \u003ch2 id=\"fm-h-prix\" class=\"fm-rv\"\u003e330 $, plus 5 $ par jet \u003cspan class=\"fm-nw\"\u003epour un spa\u003c\/span\u003e\n\u003c\/h2\u003e\n    \u003cp\u003e\u003cstrong\u003ePiscine : 330 $, tout compris.\u003c\/strong\u003e La \u003cspan class=\"fm-nw\"\u003emain-d’œuvre\u003c\/span\u003e, le déplacement et le matériel listé plus haut sont inclus. À la commande, choisissez simplement « 0 » comme nombre de jets : les autres choix concernent les spas.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eSpa : 330 $ plus les bouchons de jets.\u003c\/strong\u003e Vous ne payez que les bouchons de jets, à 5 $ l’unité, à raison d’un par jet. Ceux de l’écumoire et des drains de fond sont inclus, quel que soit leur nombre, tout comme l’antigel.\u003c\/p\u003e\n    \u003cp\u003eSi vous possédez déjà vos bouchons de jets, choisissez « 0 » et rendez-les accessibles le jour de l’intervention.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"fm-price-box\"\u003e\n    \u003ctable class=\"fm-tbl\"\u003e\n      \u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eVotre bassin\u003c\/th\u003e \u003cth scope=\"col\"\u003ePrix\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n      \u003ctbody\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\" style=\"--w:57.9%;--b:100%\"\u003e\n\u003cspan class=\"fm-t\"\u003ePiscine, ou spa avec vos propres bouchons\u003c\/span\u003e \u003cbr\u003e \u003cspan class=\"fm-d\"\u003e\u003cspan class=\"fm-k1\"\u003eForfait 330 $\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/th\u003e \u003ctd\u003e330 $\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\" style=\"--w:68.4%;--b:84.6%\"\u003e\n\u003cspan class=\"fm-t\"\u003eSpa de 12 jets\u003c\/span\u003e \u003cbr\u003e \u003cspan class=\"fm-d\"\u003e\u003cspan class=\"fm-k1\"\u003e330 $\u003c\/span\u003e \u003cspan class=\"fm-k2\"\u003e+ 12 bouchons de jets à 5 $\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/th\u003e \u003ctd\u003e390 $\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\" style=\"--w:75.4%;--b:76.7%\"\u003e\n\u003cspan class=\"fm-t\"\u003eSpa de 20 jets\u003c\/span\u003e \u003cbr\u003e \u003cspan class=\"fm-d\"\u003e\u003cspan class=\"fm-k1\"\u003e330 $\u003c\/span\u003e \u003cspan class=\"fm-k2\"\u003e+ 20 bouchons de jets à 5 $\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/th\u003e \u003ctd\u003e430 $\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\" style=\"--w:84.2%;--b:68.75%\"\u003e\n\u003cspan class=\"fm-t\"\u003eSpa de 30 jets\u003c\/span\u003e \u003cbr\u003e \u003cspan class=\"fm-d\"\u003e\u003cspan class=\"fm-k1\"\u003e330 $\u003c\/span\u003e \u003cspan class=\"fm-k2\"\u003e+ 30 bouchons de jets à 5 $\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/th\u003e \u003ctd\u003e480 $\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003ctr\u003e\n\u003cth scope=\"row\" style=\"--w:100%;--b:57.9%\"\u003e\n\u003cspan class=\"fm-t\"\u003eSpa de 48 jets\u003c\/span\u003e \u003cbr\u003e \u003cspan class=\"fm-d\"\u003e\u003cspan class=\"fm-k1\"\u003e330 $\u003c\/span\u003e \u003cspan class=\"fm-k2\"\u003e+ 48 bouchons de jets à 5 $\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/th\u003e \u003ctd\u003e570 $\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n    \u003cul class=\"fm-other\"\u003e\n      \u003cli\u003e\n\u003cstrong\u003eVous ne connaissez pas le nombre de jets ?\u003c\/strong\u003e Choisissez « autre » : nous vous contactons pour confirmer le nombre de bouchons et le prix avant l’intervention.\u003c\/li\u003e\n      \u003cli\u003e\n\u003cstrong\u003eDescente du niveau d’eau par notre technicien : 50 $\u003c\/strong\u003e, si l’eau n’est pas baissée à notre arrivée.\u003c\/li\u003e\n    \u003c\/ul\u003e\n    \u003cp class=\"fm-note\"\u003eTaxes (TPS et TVQ) en sus.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"fm-price-cta fm-rv\"\u003e\n    \u003cp class=\"fm-pc-l\"\u003eForfait de fermeture\u003c\/p\u003e\n    \u003cp class=\"fm-pc-n\"\u003e330 \u003cspan class=\"fm-u\"\u003e$\u003c\/span\u003e\u003c\/p\u003e\n    \u003cp class=\"fm-pc-x\"\u003e\u003cspan class=\"fm-nw\"\u003eMain-d’œuvre\u003c\/span\u003e, déplacement et matériel inclus. Spa : 5 $ par bouchon de jet. Taxes en sus.\u003c\/p\u003e\n    \u003cp class=\"fm-cta\"\u003e\u003ca class=\"fm-btn fm-btn-main\" href=\"#MainContent\" data-fm-book\u003eRéserver ma fermeture\u003c\/a\u003e\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"fm-sec fm-day\" aria-labelledby=\"fm-h-jour\"\u003e\n  \u003cdiv class=\"fm-day-head\"\u003e\n    \u003cp class=\"fm-kicker fm-rv\"\u003eÉtape par étape\u003c\/p\u003e\n    \u003ch2 id=\"fm-h-jour\" class=\"fm-rv\"\u003eQui fait quoi, \u003cspan class=\"fm-nw\"\u003eet quand\u003c\/span\u003e\n\u003c\/h2\u003e\n    \u003cp class=\"fm-rv\"\u003eNous vous confirmons une journée d’intervention, et le passage est garanti dans cette journée. Voici les étapes, de votre commande jusqu’à la fin de l’hiver.\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003col class=\"fm-steps\"\u003e\n    \u003cli class=\"fm-step\" style=\"--c:#0b72b9;--c2:#e08600\"\u003e\n      \u003cspan class=\"fm-node\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6.5 3h3l1.6 4.4-2.2 1.4a11 11 0 0 0 6.3 6.3l1.4-2.2L21 14.5v3a2 2 0 0 1-2.2 2A16.5 16.5 0 0 1 4.5 5.2 2 2 0 0 1 6.5 3z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003cp class=\"fm-when\"\u003eAprès votre commande\u003c\/p\u003e\n      \u003ch3\u003eNous fixons votre journée\u003c\/h3\u003e\n      \u003cp\u003eNotre équipe vous appelle pour fixer la journée d’intervention selon votre secteur. \u003cstrong\u003eUne journée, sans heure précise :\u003c\/strong\u003e nous ne pouvons pas donner d’heure exacte, car le nombre d’arrêts et les conditions sur place font varier l’horaire.\u003c\/p\u003e\n    \u003c\/li\u003e\n    \u003cli class=\"fm-step\" style=\"--c:#e08600;--c2:#0b72b9\"\u003e\n      \u003cspan class=\"fm-node\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 3v3M4.6 8.6l2 2M19.4 8.6l-2 2M2.5 17h19M7 17a5 5 0 0 1 10 0M6 21h12\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003cp class=\"fm-when\"\u003eLe matin du rendez-vous\u003c\/p\u003e\n      \u003ch3\u003eVous préparez trois choses\u003c\/h3\u003e\n      \u003cul class=\"fm-pts\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003eNiveau d’eau baissé\u003c\/strong\u003e \u003cspan\u003eJuste sous les retours d’eau (piscine) ou juste sous les jets (spa). Sinon, notre technicien le fait et 50 $ s’ajoutent.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eAccès au disjoncteur\u003c\/strong\u003e \u003cspan\u003eLe technicien doit pouvoir couper l’alimentation électrique de la piscine ou du spa. Assurez-vous que le panneau ou le disjoncteur est accessible.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eAccès dégagé\u003c\/strong\u003e \u003cspan\u003eChemin libre jusqu’au bassin et jusqu’aux équipements, pour permettre au technicien de travailler.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/li\u003e\n    \u003cli class=\"fm-step\" style=\"--c:#0b72b9;--c2:#2a4563\"\u003e\n      \u003cspan class=\"fm-node\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M14.7 6.3a4 4 0 0 0-5.3 5.3L3.5 17.5l3 3 5.9-5.9a4 4 0 0 0 5.3-5.3l-2.5 2.5-2.6-.4-.4-2.6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003cp class=\"fm-when\"\u003eDans la journée\u003c\/p\u003e\n      \u003ch3\u003eLe technicien ferme votre bassin\u003c\/h3\u003e\n      \u003cul class=\"fm-pts\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003eDéplacement et \u003cspan class=\"fm-nw\"\u003emain-d’œuvre\u003c\/span\u003e\u003c\/strong\u003e \u003cspan\u003eLa visite du technicien et le travail sur vos équipements sont inclus, sans frais de déplacement en sus.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eArrêt de la filtration\u003c\/strong\u003e \u003cspan\u003eMise hors service sécuritaire du système de filtration et des équipements connexes.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eProtection contre le gel\u003c\/strong\u003e \u003cspan\u003ePose des bouchons, du Gizzmo, de l’antigel et de la styromousse aux endroits appropriés.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eVérification visuelle\u003c\/strong\u003e \u003cspan\u003eContrôle général pour confirmer que les conditions sont adéquates au moment de la fermeture.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp class=\"fm-small\"\u003e\u003cstrong\u003eVotre présence n’est pas requise\u003c\/strong\u003e, à condition que l’eau soit baissée, le disjoncteur accessible et le chemin dégagé. Le passage du technicien est minuté pour desservir tous les clients de la journée : il n’offre ni formation ni démonstration sur place.\u003c\/p\u003e\n    \u003c\/li\u003e\n    \u003cli class=\"fm-step\" style=\"--c:#2a4563;--c2:#03b0ed\"\u003e\n      \u003cspan class=\"fm-node\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 9.5c3-2 6 2 9 0s6-2 9 0M3 14.5c3-2 6 2 9 0s6-2 9 0M3 9.5v5M21 9.5v5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003cp class=\"fm-when\"\u003eAprès son passage\u003c\/p\u003e\n      \u003ch3\u003eVous posez la toile d’hiver\u003c\/h3\u003e\n      \u003cp\u003eL’installation de la toile d’hiver (la bâche) vous revient, après le passage du technicien.\u003c\/p\u003e\n    \u003c\/li\u003e\n    \u003cli class=\"fm-step\" style=\"--c:#03b0ed\"\u003e\n      \u003cspan class=\"fm-node\" aria-hidden=\"true\"\u003e\u003csvg viewbox=\"0 0 24 24\" width=\"22\" height=\"22\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 2.5v19M3.8 7.25l16.4 9.5M3.8 16.75l16.4-9.5M9.3 4.2 12 6l2.7-1.8M9.3 19.8 12 18l2.7 1.8\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n      \u003cp class=\"fm-when\"\u003eTout l’hiver\u003c\/p\u003e\n      \u003ch3\u003eCe qui demeure sous votre responsabilité\u003c\/h3\u003e\n      \u003cul class=\"fm-pts\"\u003e\n        \u003cli\u003e\n\u003cstrong\u003ePuits d’assèchement\u003c\/strong\u003e \u003cspan\u003eSurveillance du drain de coque durant tout l’hiver : c’est indispensable pour un bassin en fibre de verre.\u003c\/span\u003e\n\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eNiveau d’eau\u003c\/strong\u003e \u003cspan\u003eNe videz jamais le bassin, même partiellement, après la fermeture.\u003c\/span\u003e\n\u003c\/li\u003e\n      \u003c\/ul\u003e\n      \u003cp class=\"fm-note\"\u003eLe respect de ces consignes, y compris la pose de la toile d’hiver, est essentiel pour maintenir la garantie AFI et éviter tout dommage structurel à votre bassin.\u003c\/p\u003e\n    \u003c\/li\u003e\n  \u003c\/ol\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"fm-sec fm-book-sec\" aria-labelledby=\"fm-h-res\"\u003e\n  \u003cdiv class=\"fm-head\"\u003e\n    \u003cp class=\"fm-kicker fm-rv\"\u003eRéservation\u003c\/p\u003e\n    \u003ch2 id=\"fm-h-res\" class=\"fm-rv\"\u003eComment réserver\u003c\/h2\u003e\n  \u003c\/div\u003e\n  \u003col class=\"fm-book\"\u003e\n    \u003cli class=\"fm-rv\"\u003e\n\u003ch3\u003eChoisissez\u003c\/h3\u003e \u003cp\u003eVotre type de bassin. Pour une piscine, choisissez toujours « 0 » : le matériel est déjà inclus. Pour un spa, indiquez le nombre de jets, ou « 0 » si vous avez vos bouchons.\u003c\/p\u003e\n\u003c\/li\u003e\n    \u003cli class=\"fm-rv\"\u003e\n\u003ch3\u003eCommandez\u003c\/h3\u003e \u003cp\u003eLe paiement en ligne confirme votre place dans le calendrier de fermeture.\u003c\/p\u003e\n\u003c\/li\u003e\n    \u003cli class=\"fm-rv\"\u003e\n\u003ch3\u003eNous vous appelons\u003c\/h3\u003e \u003cp\u003eNotre équipe vous contacte pour fixer la journée d’intervention selon votre secteur.\u003c\/p\u003e\n\u003c\/li\u003e\n    \u003cli class=\"fm-rv\"\u003e\n\u003ch3\u003eLe matin venu\u003c\/h3\u003e \u003cp\u003eBaissez l’eau juste sous les retours d’eau (piscine) ou juste sous les jets (spa), puis dégagez l’accès au bassin et au disjoncteur.\u003c\/p\u003e\n\u003c\/li\u003e\n  \u003c\/ol\u003e\n  \u003cdiv class=\"fm-book-foot fm-rv\"\u003e\n    \u003cp class=\"fm-zones\"\u003e\u003cstrong\u003eSecteurs desservis :\u003c\/strong\u003e Québec, Lévis, Montréal, Laval, Longueuil et \u003cspan class=\"fm-nw\"\u003eSaint-Hubert\u003c\/span\u003e.\u003c\/p\u003e\n    \u003cp class=\"fm-cta\"\u003e\u003ca class=\"fm-btn fm-btn-main\" href=\"#MainContent\" data-fm-book\u003eChoisir mon bassin et réserver\u003c\/a\u003e\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"fm-sec fm-faq-sec\" aria-labelledby=\"fm-h-faq\"\u003e\n  \u003cdiv class=\"fm-head\"\u003e\n    \u003cp class=\"fm-kicker fm-rv\"\u003eQuestions\u003c\/p\u003e\n    \u003ch2 id=\"fm-h-faq\" class=\"fm-rv\"\u003eQuestions fréquentes\u003c\/h2\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"fm-faq\"\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eQu’est-ce qui est fourni pour une piscine ?\u003c\/h3\u003e \u003cp\u003eDeux bouchons n\u003csup\u003eo\u003c\/sup\u003e 10 (1½ po), un bouchon n\u003csup\u003eo\u003c\/sup\u003e 11 (2 po), un Gizzmo pour l’écumoire, jusqu’à deux gallons d’antigel et la styromousse du drain de fond. Tout est compris dans le 330 $ : vous n’avez rien à acheter.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eEt pour un spa ?\u003c\/h3\u003e \u003cp\u003eL’antigel, le bouchon d’écumoire et les bouchons de drain de fond sont inclus, quel que soit leur nombre. Vous ne payez que les bouchons de jets, à 5 $ chacun.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eQu’est-ce qu’un Gizzmo ?\u003c\/h3\u003e \u003cp\u003eC’est une pièce qui se visse dans l’écumoire pour l’hiver. Elle absorbe l’expansion de la glace et empêche le boîtier de l’écumoire de se fissurer : une réparation coûteuse qu’on évite pour presque rien.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eJusqu’où dois-je baisser l’eau ?\u003c\/h3\u003e \u003cp\u003eLe matin de votre \u003cspan class=\"fm-nw\"\u003erendez-vous\u003c\/span\u003e : juste sous les retours d’eau pour une piscine, juste sous les jets pour un spa. N’allez pas plus bas et ne videz jamais le bassin : une coque en fibre de verre peut se déformer sous la pression de la nappe phréatique.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eEt si je ne peux pas baisser l’eau \u003cspan class=\"fm-nw\"\u003emoi-même\u003c\/span\u003e ?\u003c\/h3\u003e \u003cp\u003eNotre technicien s’en charge sur place pour 50 $ de plus. Aucun problème : c’est simplement un service qui s’ajoute au forfait.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003ePourquoi les spas paient-ils des bouchons en plus ?\u003c\/h3\u003e \u003cp\u003eParce qu’un spa a beaucoup plus de sorties qu’une piscine : il faut un bouchon par jet, et le nombre varie d’un modèle à l’autre. Une piscine a un nombre de sorties standard, déjà couvert par le forfait.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003ePouvez-vous me donner une heure de passage ?\u003c\/h3\u003e \u003cp\u003eNon. Nous confirmons une journée et le passage est garanti dans cette journée, mais l’heure exacte dépend du nombre d’arrêts et des conditions rencontrées avant vous.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003ePourquoi avez-vous besoin de mon disjoncteur ?\u003c\/h3\u003e \u003cp\u003ePour couper l’alimentation de la piscine ou du spa avant de travailler sur les équipements. Sans accès au panneau électrique, la fermeture ne peut pas se faire en toute sécurité.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eLe technicien peut-il m’expliquer comment faire une fermeture ?\u003c\/h3\u003e \u003cp\u003eNon, son passage est minuté pour desservir tous les clients de la journée. Mais vos questions techniques, on y répond avec plaisir par téléphone ou par courriel.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eLa toile d’hiver est-elle installée par le technicien ?\u003c\/h3\u003e \u003cp\u003eNon. La pose de la toile d’hiver vous revient, après le passage du technicien.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"fm-qa fm-rv\"\u003e\n\u003ch3\u003eQue se passe-t-il si la météo empêche l’intervention ?\u003c\/h3\u003e \u003cp\u003eNous reportons la visite et vous prévenons. Votre réservation reste valide.\u003c\/p\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/section\u003e\n\n\u003csection class=\"fm-sec fm-contact fm-rv\" aria-labelledby=\"fm-h-ctc\"\u003e\n  \u003cdiv class=\"fm-contact-txt\"\u003e\n    \u003ch2 id=\"fm-h-ctc\"\u003eUne question avant de réserver ?\u003c\/h2\u003e\n    \u003cp\u003e\u003cstrong\u003eVos questions, on y répond.\u003c\/strong\u003e Dites-nous le type de bassin et votre secteur : on valide tout avec vous avant l’intervention. Pour tout ce qui touche l’hivernage ou l’entretien, écrivez-nous ou appelez-nous : on prend le temps de vous répondre comme il faut.\u003c\/p\u003e\n    \u003cp class=\"fm-small\"\u003eDu lundi au vendredi, de 9 h à 17 h. Courriel : \u003ca href=\"mailto:commercial@aquafibreinnovation.ca\"\u003ecommercial@aquafibreinnovation.ca\u003c\/a\u003e\u003c\/p\u003e\n    \u003cp class=\"fm-id\"\u003eAqua Fibre Innovation, fabricant québécois de piscines en fibre de verre\u003c\/p\u003e\n  \u003c\/div\u003e\n  \u003cp class=\"fm-cta fm-contact-b\"\u003e\u003ca class=\"fm-btn fm-btn-main\" href=\"mailto:commercial@aquafibreinnovation.ca\"\u003eNous écrire\u003c\/a\u003e \u003ca class=\"fm-btn fm-btn-line\" href=\"tel:+14188710658\"\u003e(418) 871-0658\u003c\/a\u003e \u003ca class=\"fm-btn fm-btn-line\" href=\"tel:+18007087789\"\u003e\u003cspan\u003eSans frais : \u003cspan class=\"fm-nw\"\u003e1 800 708-7789\u003c\/span\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n#afi-fermeture{--ink:#0f2236;--txt:#24323f;--mut:#3f4c58;--bt:#0b72b9;--ct:#0779a6;--line:#d6e1ea;--soft:#f3f8fc;--card:#ffffff;--card2:#f7fafc;--warm-bg:#fff6ea;--warm-line:#f2c98a;--warm-txt:#5c3f0f;--warm-st:#94540a;--red:#b8352a;--red-bg:#fdf0ee;--red-txt:#6b1f17;--g-ground:#eef2f5;--g-gwz:#dcecf7;--g-gwl:#6fb3e0;--g-air:#ffffff;--g-hull:#8fa6b8;--g-pipe:#c9d4dd;--g-noz:#2a4563;--g-old:#6f8292;--g-lbl:#2a4563;--g-halo:#ffffff;--g-w1:#a6dcf7;--g-w2:#2b8fd0;--g-arr:#0b72b9;--g-num:#0b72b9;\n  container-type:inline-size;container-name:fm;box-sizing:border-box;display:flex;flex-direction:column;width:100%;max-width:1200px;margin:28px 0 8px;padding:0;font-family:\"Bai Jamjuree\",-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif;font-size:16px;line-height:1.6;letter-spacing:normal;color:var(--txt);text-align:left;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}\n#afi-fermeture *,#afi-fermeture *::before,#afi-fermeture *::after{box-sizing:border-box}\n#afi-fermeture.fm-wide{margin:56px auto 24px}\n#afi-fermeture p{margin:0 0 12px}\n#afi-fermeture strong{color:inherit;font-weight:700}\n#afi-fermeture sup{position:static;font-size:.68em;line-height:0;vertical-align:.42em}\n#afi-fermeture .fm-nw{white-space:nowrap}\n#afi-fermeture ul,#afi-fermeture ol{margin:0;padding:0;list-style:none}\n#afi-fermeture li{margin:0;list-style:none}\n#afi-fermeture h2,#afi-fermeture h3{font-family:inherit;font-style:normal;letter-spacing:-.01em;color:var(--ink);word-break:normal;overflow-wrap:break-word;hyphens:manual}\n#afi-fermeture h2{font-size:28px;line-height:1.12;font-weight:700;margin:0 0 14px;scroll-margin-top:130px}\n#afi-fermeture h2:focus:not(:focus-visible){outline:none}\n#afi-fermeture h3{font-size:19px;line-height:1.25;font-weight:700;margin:0 0 6px}\n#afi-fermeture a{color:var(--bt);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}\n#afi-fermeture br{display:none}\n\n\/* Accroche *\/\n#afi-fermeture .fm-lede{order:0;margin:22px 0 0;font-size:18px;line-height:1.55;font-weight:500;color:var(--ink);max-width:760px}\n\n\/* Sommaire *\/\n#afi-fermeture .fm-toc{margin:22px 0 0}\n#afi-fermeture .fm-toc-t{margin:0 0 10px;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}\n#afi-fermeture .fm-toc ol{display:flex;flex-wrap:wrap;gap:8px}\n#afi-fermeture .fm-toc a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:15.5px;line-height:1.2;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s}\n#afi-fermeture .fm-toc a:hover{border-color:var(--bt);color:var(--bt)}\n@media (min-width:990px){\n  #afi-fermeture.fm-wide{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);column-gap:56px;align-items:start}\n  #afi-fermeture.fm-wide\u003e*{grid-column:1\/-1}\n  #afi-fermeture.fm-wide\u003e.fm-lede{grid-column:1}\n  #afi-fermeture.fm-wide\u003e.fm-toc{grid-column:2;margin-top:30px}\n  #afi-fermeture.fm-wide .fm-toc ol{display:block;border-top:1px solid var(--line)}\n  #afi-fermeture.fm-wide .fm-toc a{display:flex;min-height:0;padding:10px 2px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:16px}\n  #afi-fermeture.fm-wide .fm-toc a::after{content:\"\";margin-left:auto;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.5;transition:transform .2s,opacity .2s}\n  #afi-fermeture.fm-wide .fm-toc a:hover::after{opacity:1;transform:translateX(3px) rotate(-45deg)}\n}\n#afi-fermeture .fm-now{display:none}\n\n\/* Bandeau d'ouverture *\/\n#afi-fermeture .fm-hero{order:-1;position:relative;overflow:hidden;isolation:isolate;border-radius:20px;padding:22px 18px 20px;color:#dcebf6;background:radial-gradient(110% 70% at 100% 0%,rgba(3,176,237,.38) 0,rgba(3,176,237,0) 62%),radial-gradient(90% 70% at 0% 100%,rgba(11,114,185,.5) 0,rgba(11,114,185,0) 70%),linear-gradient(165deg,#081321 0%,#0f2640 48%,#183c60 100%)}\n#afi-fermeture .fm-hero::after{content:\"\";position:absolute;z-index:-1;right:-70px;top:-60px;width:300px;height:300px;opacity:.13;background:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 100 100' fill='none' stroke='%23ffffff' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M50 4v92M10.2 27l79.6 46M10.2 73l79.6-46M50 4l-8 8M50 4l8 8M50 96l-8-8M50 96l8-8M10.2 27l3 11M10.2 27l11-3M89.8 73l-3-11M89.8 73l-11 3M10.2 73l11 3M10.2 73l3-11M89.8 27l-11-3M89.8 27l-3 11M50 24l-5 5M50 24l5 5M50 76l-5-5M50 76l5 5'\/%3E%3C\/svg%3E\") center\/contain no-repeat}\n#afi-fermeture .fm-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;line-height:1.3;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8fdcff}\n#afi-fermeture .fm-eyebrow::before{content:\"\";flex:0 0 8px;width:8px;height:8px;border-radius:50%;background:#03b0ed;box-shadow:0 0 0 4px rgba(3,176,237,.22)}\n#afi-fermeture .fm-display{margin:0 0 18px;font-size:34px;line-height:1.04;font-weight:700;letter-spacing:-.03em;color:#ffffff;font-kerning:none}\n#afi-fermeture .fm-dl{display:block}\n#afi-fermeture .fm-dl-ice{color:#8fdcff}\n#afi-fermeture .fm-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 14px;margin:0 0 20px}\n#afi-fermeture .fm-stats li{padding-top:10px;border-top:1px solid rgba(255,255,255,.22)}\n#afi-fermeture .fm-n{display:block;color:#ffffff;font-size:28px;line-height:1.05;font-weight:700;letter-spacing:-.02em;white-space:nowrap}\n#afi-fermeture .fm-u{font-size:.6em;font-weight:600;letter-spacing:0;color:#bfe3f7}\n#afi-fermeture .fm-sl{display:block;margin-top:5px;font-size:15px;line-height:1.4;color:#c6dbeb}\n#afi-fermeture .fm-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0}\n\n\/* Boutons *\/\n#afi-fermeture a.fm-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;border:1px solid transparent;font-size:16px;line-height:1.2;font-weight:600;letter-spacing:.01em;text-decoration:none;text-align:center;transition:background-color .2s,border-color .2s,color .2s,transform .2s}\n#afi-fermeture a.fm-btn:hover{transform:translateY(-1px)}\n#afi-fermeture a.fm-btn-main{background:#0b72b9;border-color:#0b72b9;color:#ffffff}\n#afi-fermeture a.fm-btn-main:hover{background:#095f9b;border-color:#095f9b}\n#afi-fermeture a.fm-btn-ghost{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.42);color:#ffffff}\n#afi-fermeture a.fm-btn-ghost:hover{background:rgba(255,255,255,.14)}\n#afi-fermeture a.fm-btn-light{background:#ffffff;border-color:#ffffff;color:#0b5f9b}\n#afi-fermeture a.fm-btn-line{background:transparent;border-color:#a9cfe9;color:#0a65a4}\n#afi-fermeture a.fm-btn-line:hover{border-color:var(--bt)}\n#afi-fermeture a.fm-btn:focus-visible{outline:3px solid #03b0ed;outline-offset:3px}\n\n\/* Sections *\/\n#afi-fermeture .fm-sec{margin:56px 0 0}\n#afi-fermeture .fm-kicker{display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bt)}\n#afi-fermeture .fm-kicker::before{content:\"\";flex:0 0 26px;height:2px;border-radius:2px;background:linear-gradient(90deg,#0b72b9,#03b0ed)}\n#afi-fermeture .fm-head{margin:0 0 18px}\n#afi-fermeture .fm-big{font-size:17.5px;line-height:1.55}\n#afi-fermeture .fm-small{font-size:15.5px;line-height:1.55;color:var(--mut)}\n#afi-fermeture .fm-note{margin:14px 0 0;padding:12px 14px;border-left:3px solid #e08600;border-radius:0 10px 10px 0;background:var(--warm-bg);font-size:15.5px;line-height:1.55;color:var(--warm-txt)}\n\n\/* 01 Niveau d'eau *\/\n#afi-fermeture .fm-water{padding:22px 18px 18px;border:1px solid var(--warm-line);border-radius:22px;background:var(--warm-bg)}\n#afi-fermeture .fm-water .fm-kicker{color:var(--warm-st)}\n#afi-fermeture .fm-water .fm-kicker::before{background:linear-gradient(90deg,#e08600,#f5b65a)}\n#afi-fermeture .fm-water .fm-big{color:var(--warm-txt)}\n#afi-fermeture .fm-water .fm-big strong{color:var(--ink)}\n#afi-fermeture .fm-warn{margin:0;padding:12px 14px;border-left:4px solid var(--red);border-radius:0 12px 12px 0;background:var(--red-bg);font-size:16px;line-height:1.55;color:var(--red-txt)}\n#afi-fermeture .fm-warn strong{color:var(--red)}\n#afi-fermeture .fm-fig{margin:18px 0 0;padding:10px 10px 12px;border:1px solid var(--line);border-radius:16px;background:var(--g-air)}\n#afi-fermeture .fm-svg{display:block;width:100%;height:auto;overflow:visible}\n#afi-fermeture .fm-svg text{font-family:inherit;font-weight:600}\n#afi-fermeture .s-ground{fill:var(--g-ground)}\n#afi-fermeture .s-gwz{fill:var(--g-gwz)}\n#afi-fermeture .s-gwl{fill:none;stroke:var(--g-gwl);stroke-width:2;stroke-dasharray:6 6}\n#afi-fermeture .s-air{fill:var(--g-air)}\n#afi-fermeture .s-w1{stop-color:var(--g-w1)}\n#afi-fermeture .s-w2{stop-color:var(--g-w2)}\n#afi-fermeture .s-surf{fill:none;stroke:#e9f7ff;stroke-width:3;stroke-opacity:.85}\n#afi-fermeture .s-hull{fill:none;stroke:var(--g-hull);stroke-width:7;stroke-linejoin:round;stroke-linecap:round}\n#afi-fermeture .s-deck{fill:none;stroke:var(--g-hull);stroke-width:7;stroke-linecap:round}\n#afi-fermeture .s-pipe{fill:none;stroke:var(--g-pipe);stroke-width:6;stroke-linejoin:round}\n#afi-fermeture .s-skim{fill:var(--g-air);stroke:var(--g-hull);stroke-width:3}\n#afi-fermeture .s-noz{fill:var(--g-noz)}\n#afi-fermeture .s-old{fill:none;stroke:var(--g-old);stroke-width:2;stroke-dasharray:8 7}\n#afi-fermeture .s-tgt{fill:none;stroke:#e08600;stroke-width:3;stroke-linecap:round}\n#afi-fermeture .s-drop{fill:none;stroke:#e08600;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}\n#afi-fermeture .s-ring{fill:none;stroke:#e08600;stroke-width:3.5}\n#afi-fermeture .s-num{fill:var(--g-num)}\n#afi-fermeture .s-num-o{fill:#b35f00}\n#afi-fermeture .s-numt{fill:#ffffff;font-size:19px;font-weight:700;text-anchor:middle}\n#afi-fermeture .s-lbl{fill:var(--g-lbl);font-size:21px;paint-order:stroke;stroke:var(--g-halo);stroke-width:5px;stroke-linejoin:round}\n#afi-fermeture .s-lbl-o{fill:#94540a;font-weight:700}\n#afi-fermeture .s-arr{fill:none;stroke:var(--g-arr);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}\n#afi-fermeture .s-stamp{fill:#c0392b}\n#afi-fermeture .s-stampt{fill:#ffffff;font-size:20px;font-weight:700;text-anchor:middle;letter-spacing:.02em}\n#afi-fermeture .fm-legend{counter-reset:fmlg;display:grid;gap:6px;margin:10px 4px 0;font-size:15.5px;line-height:1.45;color:var(--txt)}\n#afi-fermeture .fm-legend li{counter-increment:fmlg;display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;padding:6px 6px;border-radius:10px;transition:background-color .35s,color .35s}\n#afi-fermeture .fm-legend li::before{content:counter(fmlg);display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--g-num);color:#ffffff;font-size:13px;font-weight:700}\n#afi-fermeture .fm-legend li:nth-child(2)::before{background:#b35f00}\n#afi-fermeture .fm-legend li.is-on{background:var(--soft);color:var(--ink)}\n#afi-fermeture .fm-figcap{margin:8px 6px 0;padding-top:8px;border-top:1px solid var(--line);font-size:15px;line-height:1.45;font-style:italic;color:var(--mut)}\n\n\/* 02 Matériel *\/\n#afi-fermeture .fm-kit{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}\n#afi-fermeture .fm-card{padding:20px 18px 8px;border:1px solid var(--line);border-radius:18px;background:var(--soft)}\n#afi-fermeture .fm-tag{display:inline-block;margin:0 0 8px;padding:4px 11px;border-radius:999px;background:#0b72b9;color:#ffffff;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.1em;text-transform:uppercase}\n#afi-fermeture .fm-card h3{margin-bottom:10px}\n#afi-fermeture .fm-items li{padding:12px 0;border-top:1px solid var(--line)}\n#afi-fermeture .fm-items strong{display:block;color:var(--bt);font-size:17px;line-height:1.3}\n#afi-fermeture .fm-items li\u003espan{display:block;margin-top:3px;font-size:16px;line-height:1.55;color:var(--mut)}\n#afi-fermeture .fm-card-x{margin:4px 0 12px;padding:12px 14px;border:1px dashed #03b0ed;border-radius:12px;background:var(--card)}\n#afi-fermeture .fm-card-x strong{display:block;color:var(--ct);font-size:17px;line-height:1.3}\n#afi-fermeture .fm-card-x span{display:block;margin-top:3px;font-size:16px;line-height:1.55;color:var(--mut)}\n\n\/* 03 Tarification *\/\n#afi-fermeture .fm-price-box{margin-top:6px}\n#afi-fermeture table.fm-tbl{width:100%;margin:0;border-collapse:collapse;border:0;table-layout:auto;font-size:16px;background:transparent;box-shadow:none}\n#afi-fermeture .fm-tbl tr{background:transparent}\n#afi-fermeture .fm-tbl th,#afi-fermeture .fm-tbl td{padding:14px 0;border:0;border-top:1px solid var(--line);background:transparent;vertical-align:top;text-align:left;hyphens:auto;overflow-wrap:break-word;word-break:normal}\n#afi-fermeture .fm-tbl thead th{padding:0 0 8px;border-top:0;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}\n#afi-fermeture .fm-tbl thead th:last-child,#afi-fermeture .fm-tbl tbody td{text-align:right;padding-left:14px}\n#afi-fermeture .fm-tbl tbody th{width:100%;font-weight:400;color:var(--txt)}\n#afi-fermeture .fm-tbl tbody th::after{content:\"\";display:block;width:var(--w,0);height:8px;margin-top:9px;border-radius:4px;background:linear-gradient(90deg,#0b72b9 0,#0b72b9 var(--b,100%),#03b0ed var(--b,100%),#03b0ed 100%);transform:scaleX(var(--s,1));transform-origin:0 50%}\n#afi-fermeture .fm-tbl .fm-t{display:block;font-size:17px;line-height:1.3;font-weight:600;color:var(--ink)}\n#afi-fermeture .fm-tbl .fm-d{display:block;margin-top:3px;font-size:15px;line-height:1.45;color:var(--mut)}\n#afi-fermeture .fm-k1,#afi-fermeture .fm-k2{display:inline-flex;align-items:center;gap:6px;color:var(--txt);font-weight:600}\n#afi-fermeture .fm-k1::before,#afi-fermeture .fm-k2::before{content:\"\";flex:0 0 10px;width:10px;height:10px;border-radius:3px;background:#0b72b9}\n#afi-fermeture .fm-k2::before{background:#03b0ed}\n#afi-fermeture .fm-k2{display:inline;font-weight:500;color:var(--mut)}\n#afi-fermeture .fm-k2::before{display:inline-block;margin:0 6px 0 2px;vertical-align:-1px}\n#afi-fermeture .fm-tbl tbody td{font-size:22px;line-height:1.2;font-weight:700;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}\n#afi-fermeture .fm-other{margin:16px 0 0;display:grid;gap:10px}\n#afi-fermeture .fm-other li{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card2);font-size:16px;line-height:1.55}\n#afi-fermeture .fm-other strong{color:var(--ink)}\n#afi-fermeture .fm-price-cta{position:relative;overflow:hidden;isolation:isolate;margin:22px 0 0;padding:22px 20px;border-radius:20px;color:#dcebf6;background:radial-gradient(90% 90% at 100% 0%,rgba(3,176,237,.3) 0,rgba(3,176,237,0) 65%),linear-gradient(160deg,#0b1a2c 0%,#12304f 100%)}\n#afi-fermeture .fm-price-cta p{margin:0}\n#afi-fermeture .fm-pc-l{font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8fdcff}\n#afi-fermeture .fm-price-cta .fm-pc-n{margin:4px 0 2px;font-size:48px;line-height:1.05;font-weight:700;letter-spacing:-.03em;color:#ffffff;white-space:nowrap}\n#afi-fermeture .fm-pc-x{max-width:440px;font-size:15.5px;line-height:1.5;color:#c6dbeb}\n#afi-fermeture .fm-price-cta .fm-cta{margin-top:16px}\n\n\/* 04 Journée *\/\n#afi-fermeture .fm-day{padding:24px 16px 6px;border-radius:24px;background:linear-gradient(180deg,#fff7ec 0%,#ffffff 28%,#ffffff 62%,#eaf5fd 100%);border:1px solid var(--line)}\n#afi-fermeture .fm-day-head{margin:0 0 20px}\n#afi-fermeture .fm-steps{position:relative;padding:0 0 0 58px}\n#afi-fermeture .fm-step{position:relative;padding:0 0 30px}\n#afi-fermeture .fm-step::before,#afi-fermeture .fm-step::after{content:\"\";position:absolute;left:-37px;top:51px;bottom:5px;width:3px;border-radius:3px}\n#afi-fermeture .fm-step::before{background:var(--line)}\n#afi-fermeture .fm-step::after{background:linear-gradient(180deg,var(--c) 0,var(--c2,var(--c)) 100%);transform:scaleY(var(--seg,1));transform-origin:50% 0}\n#afi-fermeture .fm-step:last-child::before,#afi-fermeture .fm-step:last-child::after{display:none}\n#afi-fermeture .fm-node{position:absolute;z-index:1;left:-58px;top:0;display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;border:2px solid var(--c);background:var(--c);color:#ffffff;transition:background-color .45s,border-color .45s,color .45s,transform .45s}\n#afi-fermeture .fm-node svg{display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}\n#afi-fermeture .fm-when{margin:10px 0 2px;font-size:13px;line-height:1.3;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}\n#afi-fermeture .fm-step h3{font-size:20px;margin-bottom:8px}\n#afi-fermeture .fm-pts{display:grid;gap:8px;margin:4px 0 0}\n#afi-fermeture .fm-pts li{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}\n#afi-fermeture .fm-pts strong{display:block;color:var(--ink);font-size:17px;line-height:1.3}\n#afi-fermeture .fm-pts li\u003espan{display:block;margin-top:3px;font-size:16px;line-height:1.55;color:var(--mut)}\n#afi-fermeture .fm-step .fm-small{margin:12px 0 0}\n#afi-fermeture .fm-step .fm-small strong{color:var(--ink)}\n#afi-fermeture.fm-js .fm-step:not(.is-on) .fm-node{background:var(--card);border-color:var(--line);color:var(--mut);transform:scale(.86)}\n\n\/* 05 Réserver *\/\n#afi-fermeture .fm-book{counter-reset:fmbk;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}\n#afi-fermeture .fm-book li{counter-increment:fmbk;position:relative;padding:18px 18px 8px;border:1px solid var(--line);border-radius:18px;background:var(--card)}\n#afi-fermeture .fm-book li::before{content:counter(fmbk,decimal-leading-zero);display:block;margin:0 0 6px;font-size:40px;line-height:1;font-weight:700;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px #0b72b9}\n#afi-fermeture .fm-book p{font-size:16px;line-height:1.55;color:var(--mut)}\n#afi-fermeture .fm-book-foot{display:flex;flex-direction:column;gap:12px;margin:16px 0 0}\n#afi-fermeture .fm-zones{margin:0;font-size:16px;line-height:1.5}\n#afi-fermeture .fm-zones strong{color:var(--ink)}\n\n\/* Pack à faire soi-même *\/\n#afi-fermeture .fm-pack{display:flex;flex-direction:column;gap:14px;margin:48px 0 0;padding:22px 20px;border-radius:20px;background:linear-gradient(135deg,#0b6aac 0%,#0a5a94 100%);color:#eef6fc}\n#afi-fermeture .fm-pack p{margin:0}\n#afi-fermeture .fm-pack-txt p+p{margin-top:6px;font-size:16px;line-height:1.55}\n#afi-fermeture .fm-pack-t{font-size:20px;line-height:1.25;font-weight:700;color:#ffffff}\n\n\/* 06 FAQ *\/\n#afi-fermeture .fm-faq{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}\n#afi-fermeture .fm-qa{padding:16px 16px 6px;border:1px solid var(--line);border-radius:14px;background:var(--card)}\n#afi-fermeture .fm-qa h3{font-size:18px;line-height:1.3;color:var(--bt)}\n#afi-fermeture .fm-qa p{font-size:16px;line-height:1.6;color:var(--mut)}\n\n\/* Contact *\/\n#afi-fermeture .fm-contact{padding:24px 20px;border:1px solid var(--line);border-radius:22px;background:var(--soft)}\n#afi-fermeture .fm-contact h2{font-size:24px}\n#afi-fermeture .fm-contact-txt p{font-size:16.5px}\n#afi-fermeture .fm-contact-txt .fm-small{font-size:15.5px}\n#afi-fermeture .fm-contact-txt strong{color:var(--ink)}\n#afi-fermeture .fm-contact-txt .fm-id{margin:16px 0 18px;padding-top:12px;border-top:1px solid var(--line);font-size:15px;line-height:1.45;font-weight:600;color:var(--ink)}\n#afi-fermeture .fm-contact a:not(.fm-btn){overflow-wrap:anywhere}\n\n\/* Mise en page selon la largeur réelle du bloc *\/\n@container fm (max-width:519px){\n  #afi-fermeture .fm-hero a.fm-btn{flex:1 1 100%}\n  #afi-fermeture .fm-price-cta a.fm-btn{flex:1 1 100%}\n  #afi-fermeture .s-lbl{font-size:31px;stroke-width:7px}\n  #afi-fermeture .s-numt{font-size:25px}\n  #afi-fermeture .s-stampt{font-size:24px}\n  #afi-fermeture .fm-water{padding:22px 10px 18px}\n  #afi-fermeture .fm-water-txt{padding:0 6px}\n  #afi-fermeture .fm-fig{padding:4px 0 8px}\n  #afi-fermeture .fm-legend{margin:10px 6px 0}\n  \/* Chronologie : nœuds plus petits, points en liste à plat, pour élargir le texte *\/\n  #afi-fermeture .fm-day{padding:22px 12px 4px}\n  #afi-fermeture .fm-steps{padding-left:46px}\n  #afi-fermeture .fm-node{left:-46px;width:36px;height:36px}\n  #afi-fermeture .fm-node svg{width:18px;height:18px}\n  #afi-fermeture .fm-step::before,#afi-fermeture .fm-step::after{left:-29.5px;top:42px}\n  #afi-fermeture .fm-when{margin-top:9px}\n  #afi-fermeture .fm-pts{gap:0}\n  #afi-fermeture .fm-pts li{padding:12px 0 12px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent}\n  #afi-fermeture .fm-pts li:last-child{padding-bottom:4px}\n}\n@container fm (max-width:899px){\n  #afi-fermeture .fm-price{display:flex;flex-direction:column}\n  #afi-fermeture .fm-price-txt{display:contents}\n  #afi-fermeture .fm-price-box{order:1;margin:0 0 22px}\n  #afi-fermeture .fm-price-txt\u003ep:not(.fm-kicker){order:2}\n  #afi-fermeture .fm-price-cta{order:3}\n}\n@container fm (max-width:339px){\n  #afi-fermeture .fm-hero{padding:20px 16px 18px}\n  #afi-fermeture .fm-contact{padding:22px 14px}\n  #afi-fermeture .fm-contact .fm-small a{font-size:14px}\n  #afi-fermeture .fm-display{font-size:28px}\n  #afi-fermeture .fm-n{font-size:25px}\n  #afi-fermeture .fm-stats{gap:12px 12px}\n  #afi-fermeture .fm-sl{font-size:15px}\n}\n@container fm (min-width:520px){\n  #afi-fermeture .fm-hero{padding:34px 30px 30px;border-radius:22px}\n  #afi-fermeture .fm-display{font-size:54px;line-height:1.02;margin-bottom:24px}\n  #afi-fermeture .fm-n{font-size:36px}\n  #afi-fermeture .fm-stats{gap:18px 16px;margin-bottom:24px}\n  #afi-fermeture h2{font-size:34px}\n  #afi-fermeture .fm-lede{font-size:19px}\n  #afi-fermeture .fm-water{padding:28px 26px 24px}\n  #afi-fermeture .fm-kit{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}\n  #afi-fermeture .fm-book{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}\n  #afi-fermeture .fm-day{padding:30px 26px 8px}\n  #afi-fermeture .fm-pack{padding:26px 28px}\n  #afi-fermeture .fm-contact{padding:28px 28px}\n  #afi-fermeture .fm-price-cta{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:24px;align-items:center;padding:24px 26px}\n  #afi-fermeture .fm-pc-l{grid-column:1\/-1}\n  #afi-fermeture .fm-pc-n{grid-column:1;grid-row:2}\n  #afi-fermeture .fm-pc-x{grid-column:2;grid-row:2}\n  #afi-fermeture .fm-price-cta .fm-cta{grid-column:1\/-1}\n}\n@container fm (min-width:760px){\n  #afi-fermeture .fm-display{font-size:72px}\n  #afi-fermeture .fm-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}\n  #afi-fermeture .fm-hero{padding:46px 44px 40px;border-radius:28px}\n  #afi-fermeture .fm-hero::after{width:440px;height:440px;right:-90px;top:-90px}\n  #afi-fermeture .fm-lede{font-size:21px;margin-top:28px}\n  #afi-fermeture .fm-sec{margin-top:88px}\n  #afi-fermeture h2{font-size:40px}\n  #afi-fermeture .fm-faq{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}\n  #afi-fermeture .fm-qa:last-child:nth-child(odd){grid-column:1\/-1}\n  #afi-fermeture .fm-pack{flex-direction:row;align-items:center;justify-content:space-between;gap:28px;margin-top:72px;padding:30px 36px}\n  #afi-fermeture .fm-pack-b{flex:0 0 auto}\n  #afi-fermeture .fm-book-foot{flex-direction:row;align-items:center;justify-content:space-between;gap:24px}\n  #afi-fermeture .fm-contact{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:center;padding:36px 40px}\n  #afi-fermeture .fm-contact .fm-cta{flex-direction:column;align-items:stretch}\n  #afi-fermeture .fm-contact h2{font-size:30px}\n  \/* Grand écran : texte courant un cran plus grand (lecteurs de 45 à 65 ans) *\/\n  #afi-fermeture .fm-sec,#afi-fermeture .fm-items li\u003espan,#afi-fermeture .fm-card-x span,#afi-fermeture .fm-pts li\u003espan,#afi-fermeture .fm-qa p,#afi-fermeture .fm-book p,#afi-fermeture .fm-other li,#afi-fermeture .fm-contact-txt p{font-size:17px}\n  #afi-fermeture .fm-small,#afi-fermeture .fm-note,#afi-fermeture .fm-legend,#afi-fermeture .fm-contact-txt .fm-small{font-size:16px}\n  #afi-fermeture .fm-pc-x{font-size:16px}\n}\n@container fm (min-width:900px){\n  #afi-fermeture .fm-display{font-size:88px}\n  #afi-fermeture .fm-n{font-size:44px}\n  #afi-fermeture .fm-water{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:40px;align-items:center;padding:40px 40px 36px;border-radius:28px}\n  #afi-fermeture .fm-fig{margin:0}\n  #afi-fermeture .fm-price{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto 1fr;column-gap:48px;align-items:start}\n  #afi-fermeture .fm-price-txt{grid-column:1;grid-row:1}\n  #afi-fermeture .fm-price-box{grid-column:2;grid-row:1\/span 2;margin-top:0;padding:26px 28px;border:1px solid var(--line);border-radius:22px;background:var(--card)}\n  #afi-fermeture .fm-price-cta{grid-column:1;grid-row:2;margin-top:12px}\n  #afi-fermeture .fm-day{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:56px;padding:44px 44px 14px;border-radius:28px}\n  #afi-fermeture .fm-day-head{position:sticky;top:130px;align-self:start}\n  #afi-fermeture .fm-now{display:flex;align-items:baseline;gap:14px;margin:26px 0 0;padding-top:18px;border-top:1px solid var(--line)}\n  #afi-fermeture .fm-now-n{display:inline-block;font-size:64px;line-height:1;font-weight:700;letter-spacing:-.04em;color:var(--ink);font-variant-numeric:tabular-nums}\n  #afi-fermeture .fm-now-n b{display:inline-block;font-weight:700}\n  #afi-fermeture .fm-now-of{font-size:16px;font-weight:600;color:var(--mut)}\n  #afi-fermeture .fm-now-t{display:block;margin-top:4px;font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bt)}\n  #afi-fermeture .fm-book{grid-template-columns:repeat(4,minmax(0,1fr))}\n  #afi-fermeture .fm-book li::before{font-size:52px}\n  #afi-fermeture .fm-step h3{font-size:22px}\n}\n\n\/* Mode sombre (suit le réglage de l'appareil, comme le thème) *\/\n@media (prefers-color-scheme:dark){\n  html body #afi-fermeture{--ink:#f1f4f7;--txt:#dbe2e8;--mut:#b9c3cc;--bt:#5aaee8;--ct:#4fcdf8;--line:#36434f;--soft:#1b2229;--card:#1b2229;--card2:#222d38;--warm-bg:#2a2116;--warm-line:#5a4220;--warm-txt:#f0d3a6;--warm-st:#f5b65a;--red:#ff8a7a;--red-bg:#2e1a1a;--red-txt:#f3c2bb;--g-ground:#232c35;--g-gwz:#16314a;--g-gwl:#4f9fd6;--g-air:#161c22;--g-hull:#6f8597;--g-pipe:#3b4752;--g-noz:#9cc3e0;--g-old:#8b98a5;--g-lbl:#e8eaed;--g-halo:#161c22;--g-w1:#3c8fc4;--g-w2:#123f63;--g-arr:#5aaee8;--g-num:#0b72b9;color:var(--txt);background:#12161a;box-shadow:0 0 0 12px #12161a;border-radius:12px}\n  html body #afi-fermeture .fm-hero{background:radial-gradient(110% 70% at 100% 0%,rgba(3,176,237,.28) 0,rgba(3,176,237,0) 62%),radial-gradient(90% 70% at 0% 100%,rgba(11,114,185,.4) 0,rgba(11,114,185,0) 70%),linear-gradient(165deg,#060d16 0%,#0c1f33 48%,#14324f 100%);box-shadow:inset 0 0 0 1px #24323f}\n  html body #afi-fermeture .fm-price-cta{background:radial-gradient(90% 90% at 100% 0%,rgba(3,176,237,.22) 0,rgba(3,176,237,0) 65%),linear-gradient(160deg,#08121e 0%,#0f2740 100%);box-shadow:inset 0 0 0 1px #24323f}\n  html body #afi-fermeture .fm-day{background:linear-gradient(180deg,#241d14 0%,#1b2229 28%,#1b2229 62%,#132637 100%)}\n  html body #afi-fermeture .s-lbl-o{fill:#f5b65a}\n  html body #afi-fermeture .s-num-o,html body #afi-fermeture .fm-legend li:nth-child(2)::before{fill:#b35f00;background:#b35f00}\n  html body #afi-fermeture .s-surf{stroke:#9fdcff;stroke-opacity:.6}\n  html body #afi-fermeture .fm-warn strong{color:#ff9b8f}\n  html body #afi-fermeture .fm-note{border-left-color:#f5b65a}\n  html body #afi-fermeture .fm-book li::before{-webkit-text-stroke-color:#5aaee8}\n  html body #afi-fermeture a.fm-btn-line{border-color:#3d5163;color:#6cb9ee}\n  html body #afi-fermeture a.fm-btn-line:hover{border-color:#5aaee8}\n  html body #afi-fermeture .fm-pack{background:linear-gradient(135deg,#0b5f9b 0%,#0a3f66 100%);box-shadow:inset 0 0 0 1px #1d5f8f}\n  html body #afi-fermeture a.fm-btn-light{background:#ffffff;color:#0b5f9b}\n  html body #afi-fermeture .fm-legend li.is-on{background:#222d38}\n}\n\n\/* Moins d'animations : tout reste visible et immobile *\/\n@media (prefers-reduced-motion:reduce){\n  #afi-fermeture a.fm-btn,#afi-fermeture .fm-node,#afi-fermeture .fm-legend li{transition:none}\n  #afi-fermeture a.fm-btn:hover{transform:none}\n}\n\n\/* Impression : tout le texte, état final des schémas, fonds sombres conservés *\/\n@media print{\n  #afi-fermeture .fm-rv,#afi-fermeture .fm-stats li,#afi-fermeture .fm-display *,#afi-fermeture .fm-svg g,#afi-fermeture .fm-ring{opacity:1 !important;visibility:visible !important;transform:none !important}\n  #afi-fermeture .fm-tbl tbody th::after{transform:none !important}\n  #afi-fermeture .fm-hero,#afi-fermeture .fm-price-cta,#afi-fermeture .fm-pack,#afi-fermeture a.fm-btn,#afi-fermeture .fm-tag,#afi-fermeture .fm-svg{-webkit-print-color-adjust:exact;print-color-adjust:exact}\n  #afi-fermeture .fm-now{display:none !important}\n}\n\u003c\/style\u003e\n\u003cscript\u003e\n(function () {\n  var root = document.getElementById('afi-fermeture');\n  if (!root || root.getAttribute('data-fm') === 'on') return;\n  root.setAttribute('data-fm', 'on');\n  var reduce = !!(window.matchMedia \u0026\u0026 window.matchMedia('(prefers-reduced-motion: reduce)').matches);\n  var started = false, gaveUp = false, mm = null;\n\n  \/* Délai de secours, lancé dès l'analyse de ce script. Rien n'est masqué avant que GSAP soit chargé et prêt :\n     si GSAP n'a pas démarré en 2,5 s et que le bloc a déjà été vu à son arrivée, le bloc reste statique. *\/\n  var safety = setTimeout(function () { if (!started) gaveUp = true; }, 2500);\n  function fallback() {\n    clearTimeout(safety);\n    try { if (mm) mm.revert(); } catch (e) {}\n    mm = null;\n    root.classList.remove('fm-js');\n  }\n  \/* Impression : tout le texte, sans animation. *\/\n  window.addEventListener('beforeprint', fallback);\n\n  \/* Déjà à l'écran ou dépassé : jamais masqué ni rejoué. *\/\n  function seen(el) { return !!el \u0026\u0026 el.getBoundingClientRect().top \u003c (window.innerHeight || document.documentElement.clientHeight); }\n  function domReady(fn) { if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', fn); else fn(); }\n\n  \/* Focus après le défilement doux, sans redéfiler (clavier, lecteurs d'écran). *\/\n  function focusAfter(el) {\n    var done = false;\n    function go() {\n      if (done) return;\n      done = true;\n      window.removeEventListener('scrollend', go);\n      if (!el.matches('a[href],button,input,select,textarea,[tabindex]')) el.setAttribute('tabindex', '-1');\n      try { el.focus({ preventScroll: true }); } catch (e) { el.focus(); }\n    }\n    if (!reduce \u0026\u0026 'onscrollend' in window) window.addEventListener('scrollend', go);\n    setTimeout(go, reduce ? 0 : 1000);\n  }\n\n  \/* Boutons « Réserver » : ramènent au choix du bassin, sans toucher aux variantes. Sommaire : défilement doux. *\/\n  root.addEventListener('click', function (e) {\n    if (!e.target || !e.target.closest) return;\n    var book = e.target.closest('[data-fm-book]'), jump = e.target.closest('a[href^=\"#fm-\"]'), t = null, f = null;\n    if (book) {\n      var vs = document.querySelector('section[id*=\"__main\"] variant-selects');\n      t = vs || document.querySelector('section[id*=\"__main\"] .product__info-container');\n      if (vs) f = vs.querySelector('input[type=\"radio\"]:checked') || vs.querySelector('select, input[type=\"radio\"]');\n    } else if (jump) {\n      t = f = document.getElementById(jump.getAttribute('href').slice(1));\n    }\n    if (!t) return;\n    e.preventDefault();\n    window.scrollTo({ top: Math.max(0, t.getBoundingClientRect().top + window.pageYOffset - 120), behavior: reduce ? 'auto' : 'smooth' });\n    if (f) focusAfter(f);\n  });\n\n  \/* Tablette et ordinateur (750 px et plus, quand Dawn met la fiche sur deux colonnes) : le bloc passe en pleine\n     largeur sous la zone d'achat. Fait tout de suite, pendant l'analyse de la page (le bloc est complet quand ce\n     script s'exécute) : aucun saut plus tard, même si le CDN tarde. Seulement dans la fiche produit principale. *\/\n  var home = document.createElement('span');\n  home.hidden = true;\n  root.parentNode.insertBefore(home, root);\n  var grid = root.closest ? root.closest('section[id*=\"__main\"] .product') : null; \/* grille média + infos qui contient le bloc *\/\n  var wideQ = window.matchMedia ? window.matchMedia('(min-width: 750px)') : null;\n  function place() {\n    try {\n      if (wideQ \u0026\u0026 wideQ.matches \u0026\u0026 grid \u0026\u0026 grid.parentNode \u0026\u0026 grid.contains(home)) {\n        if (grid.nextElementSibling !== root) grid.parentNode.insertBefore(root, grid.nextSibling);\n        root.classList.add('fm-wide');\n      } else {\n        if (home.parentNode \u0026\u0026 home.nextSibling !== root) home.parentNode.insertBefore(root, home.nextSibling);\n        root.classList.remove('fm-wide');\n      }\n    } catch (e) {}\n    if (window.ScrollTrigger \u0026\u0026 mm) window.ScrollTrigger.refresh();\n  }\n  place();\n  domReady(place);\n  if (wideQ) { if (wideQ.addEventListener) wideQ.addEventListener('change', place); else if (wideQ.addListener) wideQ.addListener(place); }\n\n  function animate() {\n    var gsap = window.gsap, ST = window.ScrollTrigger, Split = window.SplitText;\n    if (reduce || !gsap || !ST) { fallback(); return; }\n    if (gaveUp \u0026\u0026 seen(root)) { fallback(); return; } \/* GSAP arrivé en retard, bloc déjà vu : il reste statique *\/\n    started = true;\n    clearTimeout(safety);\n    try {\n      gsap.registerPlugin(ST);\n      if (Split) gsap.registerPlugin(Split);\n      mm = gsap.matchMedia();\n      mm.add('(prefers-reduced-motion: no-preference)', function () {\n        var q = gsap.utils.selector(root);\n        var later = function (els) { return els.filter(function (el) { return !seen(el); }); };\n        root.classList.add('fm-js');\n\n        \/* 1. Titre du bandeau : chaque ligne monte dans son masque (SplitText). Sans SplitText : titre statique.\n           Chiffres clés : statiques, une seule entrée décalée des tuiles (opacité seulement : le texte reste lisible\n           par les lecteurs d'écran et la recherche dans la page). *\/\n        var disp = q('.fm-display')[0];\n        if (disp \u0026\u0026 Split \u0026\u0026 !seen(disp)) {\n          Split.create(disp, { type: 'lines', mask: 'lines', autoSplit: true, onSplit: function (s) {\n            gsap.set(s.masks, { paddingBottom: '0.2em', marginBottom: '-0.2em', paddingTop: '0.06em', marginTop: '-0.06em' }); \/* garde les jambages (p, j) *\/\n            return gsap.from(s.lines, { yPercent: 110, duration: 0.8, ease: 'power4.out', stagger: 0.08, scrollTrigger: { trigger: disp, start: 'top 88%', once: true } });\n          } });\n        }\n        var tiles = later(q('.fm-stats li'));\n        if (tiles.length) gsap.from(tiles, { opacity: 0, y: 16, duration: 0.6, ease: 'power3.out', stagger: 0.08, scrollTrigger: { trigger: tiles[0], start: 'top 94%', once: true } });\n\n        \/* 2. Schéma du bassin : l'eau descend avec le défilement, puis la nappe phréatique pousse. Le texte du schéma\n           (« Visez ici », « Ne jamais vider ») ne change jamais d'opacité : seuls l'eau et les tracés bougent.\n           L'animation se termine quand le schéma est au milieu de l'écran. *\/\n        var fig = q('.fm-fig')[0], legend = q('.fm-legend li');\n        if (fig \u0026\u0026 !seen(fig)) {\n          var tl = gsap.timeline({ defaults: { ease: 'none' }, scrollTrigger: { trigger: fig, start: 'top 85%', end: 'top 45%', scrub: 0.6,\n            onUpdate: function (self) { var k = self.progress \u003c 0.46 ? 0 : self.progress \u003c 0.62 ? 1 : 2; legend.forEach(function (li, i) { li.classList.toggle('is-on', i === k); }); } } });\n          if (legend[0]) legend[0].classList.add('is-on');\n          tl.from(q('#fm-water'), { y: -48, duration: 1 }, 0.2)\n            .from(q('.fm-drop'), { scaleY: 0, transformOrigin: '50% 0%', duration: 1 }, 0.2)\n            .from(q('.fm-ring'), { autoAlpha: 0, scale: 0.3, transformOrigin: '50% 50%', duration: 0.35 }, 1.1)\n            .from(q('.fm-target'), { x: -18, duration: 0.35 }, 1.2)\n            .from(q('.fm-gw'), { autoAlpha: 0, x: function (i, el) { return +(el.getAttribute('data-dx') || 0); }, y: function (i, el) { return +(el.getAttribute('data-dy') || 0); }, stagger: 0.07, duration: 0.4 }, 1.55)\n            .from(q('.fm-never'), { scale: 0.8, transformOrigin: '50% 50%', duration: 0.3 }, 1.95)\n            .to({}, { duration: 0.3 });\n        }\n\n        \/* 3. Prix : chaque barre = forfait (bleu) + bouchons de jets (turquoise), une seule fois *\/\n        var tbl = q('.fm-tbl')[0];\n        if (tbl \u0026\u0026 !seen(tbl)) gsap.fromTo(q('.fm-tbl tbody th'), { '--s': 0 }, { '--s': 1, duration: 1.1, ease: 'power3.out', stagger: 0.12, scrollTrigger: { trigger: tbl, start: 'top 82%', once: true } });\n\n        \/* 4. Étapes : le trait se remplit au défilement, chaque étape s'allume dès qu'elle est lisible *\/\n        var steps = q('.fm-step'), head = q('.fm-day-head')[0], now = null, setNow = function () {};\n        if (head \u0026\u0026 steps.length) {\n          var pad = function (n) { return (n \u003c 10 ? '0' : '') + n; };\n          now = document.createElement('p');\n          now.className = 'fm-now';\n          now.setAttribute('aria-hidden', 'true');\n          var nN = document.createElement('span'), nB = document.createElement('b'), nW = document.createElement('span'), nO = document.createElement('span'), nT = document.createElement('span');\n          nN.className = 'fm-now-n'; nO.className = 'fm-now-of'; nT.className = 'fm-now-t';\n          nN.appendChild(nB); nW.appendChild(nO); nW.appendChild(nT); now.appendChild(nN); now.appendChild(nW);\n          nO.textContent = (root.getAttribute('data-fm-of') || '\/') + ' ' + pad(steps.length);\n          head.appendChild(now);\n          setNow = function (i) { var w = steps[i].querySelector('.fm-when'); nB.textContent = pad(i + 1); nT.textContent = w ? w.textContent : ''; };\n          setNow(0);\n        }\n        var day = gsap.timeline({ defaults: { ease: 'none' }, scrollTrigger: { trigger: q('.fm-steps')[0], start: 'top 65%', end: 'bottom 65%', scrub: 0.5, invalidateOnRefresh: true } });\n        steps.forEach(function (s, i) {\n          if (i \u003c steps.length - 1) day.fromTo(s, { '--seg': 0 }, { '--seg': 1, duration: s.offsetHeight });\n          else day.to({}, { duration: s.offsetHeight });\n          ST.create({ trigger: s, start: 'top 80%', onEnter: function () { s.classList.add('is-on'); setNow(i); }, onLeaveBack: function () { s.classList.remove('is-on'); setNow(Math.max(0, i - 1)); } });\n        });\n\n        \/* 5. Apparitions douces et discrètes, en lot, seulement pour ce qui n'a pas encore été vu.\n           Opacité seulement (jamais visibility) : titres et questions restent dans l'arbre d'accessibilité. *\/\n        var rv = later(q('.fm-rv'));\n        if (rv.length) {\n          gsap.set(rv, { opacity: 0, y: 16 });\n          ST.batch(rv, { start: 'top 94%', once: true, onEnter: function (b) {\n            var vis = b.filter(function (el) { return el.getBoundingClientRect().bottom \u003e 0; }); \/* déjà dépassés : affichés sans attendre *\/\n            gsap.set(b.filter(function (el) { return vis.indexOf(el) \u003c 0; }), { opacity: 1, y: 0 });\n            gsap.to(vis, { opacity: 1, y: 0, duration: 0.6, ease: 'power2.out', stagger: Math.min(0.06, 0.4 \/ (vis.length || 1)), overwrite: true });\n          } });\n        }\n\n        return function () { root.classList.remove('fm-js'); if (now \u0026\u0026 now.parentNode) now.parentNode.removeChild(now); };\n      });\n      ST.refresh();\n    } catch (err) { fallback(); }\n  }\n\n  \/* GSAP 3.15.0 (cdnjs), chargé par le script lui-même : ne retarde ni l'affichage ni le DOMContentLoaded de la page.\n     Empreintes SRI : un fichier altéré est refusé et le bloc reste statique. Rien n'est chargé en mouvement réduit\n     ni quand le bloc est masqué (ajout rapide). *\/\n  var CDN = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.15.0\/';\n  var LIBS = [\n    ['gsap.min.js', 'sha384-XmJ9SoHtVOHoQUcKvFAzVXwdkKo1Ie3bhmSoIAkcdsHGaIrVJIkmozyq0FJeb\/Ly'],\n    ['ScrollTrigger.min.js', 'sha384-wl5TeDVvOWt30Pbf8aSo2ZrzsOjddu3avOBvHe+p+OhJt9gP6w9YXmDkN5DK2\/dF'],\n    ['SplitText.min.js', 'sha384-SWJ0lLVRoipvHh59xj0pL7uC7Ih51F+5smaFtrG+2nr+TlDZU5SYJHmxfolbeNTr']\n  ];\n  function load() {\n    if (reduce || !root.getClientRects().length) { fallback(); return; }\n    if (window.gsap \u0026\u0026 window.ScrollTrigger) { domReady(animate); return; }\n    var left = LIBS.length, head = document.head || document.documentElement;\n    LIBS.forEach(function (l) {\n      var s = document.createElement('script');\n      s.src = CDN + l[0];\n      s.integrity = l[1];\n      s.crossOrigin = 'anonymous';\n      s.async = false; \/* ordre d'exécution garanti : gsap, puis ScrollTrigger, puis SplitText *\/\n      s.onload = s.onerror = function () { if (--left === 0) domReady(animate); };\n      head.appendChild(s);\n    });\n  }\n  try { load(); } catch (e) { fallback(); }\n  window.addEventListener('load', function () { if (window.ScrollTrigger \u0026\u0026 mm) setTimeout(function () { window.ScrollTrigger.refresh(); }, 300); });\n})();\n\u003c\/script\u003e\n","brand":"AQUA FIBRE INNOVATION","offers":[{"title":"Piscine \/ 0","offer_id":51870757257515,"sku":null,"price":330.0,"currency_code":"CAD","in_stock":true},{"title":"Piscine \/ 12","offer_id":51870757290283,"sku":null,"price":390.0,"currency_code":"CAD","in_stock":true},{"title":"Piscine \/ 20","offer_id":51870757323051,"sku":null,"price":430.0,"currency_code":"CAD","in_stock":true},{"title":"Piscine \/ 30","offer_id":51870757355819,"sku":null,"price":480.0,"currency_code":"CAD","in_stock":true},{"title":"Piscine \/ 48","offer_id":51870757388587,"sku":null,"price":570.0,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 0","offer_id":51870757454123,"sku":null,"price":330.0,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 12","offer_id":51870757486891,"sku":null,"price":390.0,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 20","offer_id":51870757519659,"sku":null,"price":430.0,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 30","offer_id":51870757552427,"sku":null,"price":480.0,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 48","offer_id":51870757585195,"sku":null,"price":570.0,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ autre","offer_id":51870757617963,"sku":null,"price":330.0,"currency_code":"CAD","in_stock":true},{"title":"Piscine \/ autre","offer_id":51870879056171,"sku":null,"price":330.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0968\/6168\/4011\/files\/785d7641-f7e8-4c50-a589-d2d60d9b7378.png?v=1785951475"},{"product_id":"depot-sur-appel-de-service","title":"Dépôt sur appel de service","description":"\u003cp\u003eCe dépôt de 75 $ confirme votre rendez-vous et réserve votre plage dans notre calendrier de service.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e✅ Entièrement crédité sur votre facture finale \u003c\/p\u003e\n\u003cp\u003e✅ Remboursé en totalité si AFI ne peut compléter le service prévu\u003c\/p\u003e\n\u003cp\u003e✅ Garantit votre place dans la planification régionale\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003eDès réception du dépôt, votre dossier passe en planification et un membre de l'équipe AFI vous contacte pour confirmer la date et l'heure.\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003eLes tarifs d'intervention (main-d'œuvre 110 $\/h, déplacement 150 $\/300 $ selon la zone, taxes en sus) vous sont communiqués lors de votre demande de service. Toute réparation additionnelle est chiffrée et approuvée avant exécution.\u003c\/p\u003e","brand":"AQUA FIBRE INNOVATION","offers":[{"title":"Default Title","offer_id":51870707679531,"sku":null,"price":75.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0968\/6168\/4011\/files\/b31f5bfd-4ff4-42d7-8891-ab465dca4a1c.png?v=1769154254"},{"product_id":"entretien-piscine-spa-1","title":"Entretien de piscine et de spa","description":"\u003cstyle\u003e\n  .afi-container {\n    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;\n    color: #333;\n    max-width: 1000px;\n    margin: 40px auto;\n    padding: 20px;\n  }\n\n  .afi-header {\n    text-align: center;\n    margin-bottom: 40px;\n  }\n\n  .afi-header h2 {\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 2px;\n    color: #1a1a1a;\n    margin-bottom: 10px;\n  }\n\n  .afi-table-wrapper {\n    overflow-x: auto;\n    border-radius: 8px;\n    box-shadow: 0 4px 20px rgba(0,0,0,0.05);\n  }\n\n  .afi-table {\n    width: 100%;\n    border-collapse: collapse;\n    background-color: #fff;\n    text-align: left;\n  }\n\n  .afi-table th, .afi-table td {\n    padding: 18px 15px;\n    border-bottom: 1px solid #f0f0f0;\n  }\n\n  .afi-table th {\n    background-color: #f8f9fa;\n    font-weight: 600;\n    color: #1a1a1a;\n  }\n\n  .afi-table tr:hover {\n    background-color: #fafafa;\n  }\n\n  .price-row {\n    font-size: 1.2rem;\n    font-weight: bold;\n    color: #2c3e50;\n  }\n\n  .check-mark {\n    color: #27ae60;\n    font-weight: bold;\n    text-align: center;\n  }\n\n  .afi-footer {\n    margin-top: 30px;\n    background: #fdfdfd;\n    padding: 20px;\n    border-left: 4px solid #1a1a1a;\n    font-size: 0.9rem;\n  }\n\n  .afi-badge {\n    display: inline-block;\n    padding: 4px 12px;\n    background: #1a1a1a;\n    color: #fff;\n    font-size: 0.7rem;\n    border-radius: 20px;\n    margin-bottom: 10px;\n  }\n\n  @media (max-width: 600px) {\n    .afi-table th, .afi-table td {\n      padding: 12px 8px;\n      font-size: 0.85rem;\n    }\n  }\n\u003c\/style\u003e\n\n\u003cdiv class=\"afi-container\"\u003e\n  \u003cdiv class=\"afi-header\"\u003e\n    \u003cspan class=\"afi-badge\"\u003eSERVICE CLÉ EN MAIN\u003c\/span\u003e\n    \u003ch2\u003eEntretien Piscine \u0026amp; Spa\u003c\/h2\u003e\n    \u003cp\u003eTranquillité d'esprit et prévention pour une eau cristalline.\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"afi-table-wrapper\"\u003e\n    \u003ctable class=\"afi-table\"\u003e\n      \u003cthead\u003e\n        \u003ctr\u003e\n          \u003cth\u003eServices Inclus\u003c\/th\u003e\n          \u003cth style=\"text-align:center;\"\u003eHebdomadaire\u003c\/th\u003e\n          \u003cth style=\"text-align:center;\"\u003eBi-hebdomadaire\u003c\/th\u003e\n          \u003cth style=\"text-align:center;\"\u003eMensuel\u003c\/th\u003e\n        \u003c\/tr\u003e\n      \u003c\/thead\u003e\n      \u003ctbody\u003e\n        \u003ctr class=\"price-row\"\u003e\n          \u003ctd\u003eTarif par visite\u003c\/td\u003e\n          \u003ctd style=\"text-align:center;\"\u003e78 $\u003c\/td\u003e\n          \u003ctd style=\"text-align:center;\"\u003e104 $\u003c\/td\u003e\n          \u003ctd style=\"text-align:center;\"\u003e129 $\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eNettoyage complet (fond, surface, parois, cernes)\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eTest et ajustement des valeurs chimiques*\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eLavage à contre-courant (Backwash)\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eNettoyage des cartouches et paniers\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eInspection préventive du système de filtration\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n        \u003c\/tr\u003e\n        \u003ctr\u003e\n          \u003ctd\u003eCompte rendu numérique après chaque visite\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n          \u003ctd class=\"check-mark\"\u003e✓\u003c\/td\u003e\n        \u003c\/tr\u003e\n      \u003c\/tbody\u003e\n    \u003c\/table\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"afi-footer\"\u003e\n    \u003cstrong\u003eNote :\u003c\/strong\u003e\n    \u003cul\u003e\n      \u003cli\u003eProduits chimiques en sus (utilisation de vos produits ou facturation selon usage).\u003c\/li\u003e\n      \u003cli\u003eService selon disponibilité régionale.\u003c\/li\u003e\n      \u003cli\u003eFréquence ajustable en tout temps selon vos besoins.\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"AQUA FIBRE INNOVATION","offers":[{"title":"Hebdomadaire","offer_id":53360385917227,"sku":null,"price":78.0,"currency_code":"CAD","in_stock":true},{"title":"Bi-hebdomadaire","offer_id":53360385949995,"sku":null,"price":104.0,"currency_code":"CAD","in_stock":true},{"title":"Mensuel","offer_id":53360385982763,"sku":null,"price":129.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0968\/6168\/4011\/files\/9bcbcabe-7ee1-4c2c-a8ed-2e3d00ff4487_052edefe-d689-46a2-9171-a865c3e5eb4f.png?v=1777391969"},{"product_id":"pack-de-fermeture-piscine-et-spa-a-faire-soi-meme","title":"Pack de fermeture piscine et spa – à faire soi-même","description":"\u003cdiv class=\"afi-fiche\"\u003e\n\n  \u003cp class=\"afi-f-lede\"\u003eVous préférez fermer votre piscine ou votre spa vous-même ? Ce pack réunit tout le matériel d'hivernage : antigel, bouchons d'hiver, Gizzmo pour l'écumoire et produits d'hivernage de Lawrason's (marques Aqua et Spa Life). Choisissez votre type de bassin et votre nombre de jets, on vous envoie un pack complet, prêt à poser.\u003c\/p\u003e\n\n  \u003cdiv class=\"afi-f-specs\"\u003e\n    \u003cdiv class=\"afi-f-spec\"\u003e\n\u003cspan class=\"afi-f-num\"\u003e3,78 L\u003c\/span\u003e\u003cspan class=\"afi-f-lbl\"\u003eAntigel inclus\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-spec\"\u003e\n\u003cspan class=\"afi-f-num\"\u003e2 ou 3\u003c\/span\u003e\u003cspan class=\"afi-f-lbl\"\u003eProduits d'hivernage\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-spec\"\u003e\n\u003cspan class=\"afi-f-num\"\u003e5 $\u003c\/span\u003e\u003cspan class=\"afi-f-lbl\"\u003ePar bouchon de jet\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-spec\"\u003e\n\u003cspan class=\"afi-f-num\"\u003eLivré\u003c\/span\u003e\u003cspan class=\"afi-f-lbl\"\u003eChez vous\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"afi-f-xsell\"\u003e\n    \u003cspan class=\"afi-f-xsell-t\"\u003eVous trouvez ça compliqué ? On s'en occupe.\u003c\/span\u003e\n    \u003cspan class=\"afi-f-xsell-x\"\u003ePas de problème : confiez votre fermeture à Aqua Fibre Innovation. Un de nos professionnels se déplace chez vous avec tout le matériel, à partir de 330 $.\u003c\/span\u003e\n    \u003ca class=\"afi-f-btn afi-f-btn3\" href=\"\/products\/service-de-fermeture\"\u003eRéserver avec un professionnel\u003c\/a\u003e\n  \u003c\/div\u003e\n\n  \u003ch2 class=\"afi-f-h2\"\u003eContenu du pack piscine\u003c\/h2\u003e\n  \u003ctable class=\"afi-f-tbl\"\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003e1 gallon d'antigel (3,78 L)\u003c\/th\u003e\n\u003ctd\u003eVersé dans les conduites pour les protéger du gel durant l'hiver.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003e3 bouchons no 10\u003c\/th\u003e\n\u003ctd\u003eUn pour l'écumoire et deux pour les retours d'eau.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBouchons no 11\u003c\/th\u003e\n\u003ctd\u003eUn par jet, seulement si votre piscine en a. Sans jets, choisissez « 0 ».\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003e1 Gizzmo\u003c\/th\u003e\n\u003ctd\u003eVissé dans l'écumoire, il absorbe l'expansion de la glace et évite que le boîtier se fissure.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003e1 trousse Aqua d'ouverture et de fermeture\u003c\/th\u003e\n\u003ctd\u003eAlgicide Aqua Nok-Out (1 L), séquestrant Aqua Cop-Out (1 L), qui prévient les taches de métal et le tartre, et choc Aqua Easy Shock Plus (1 kg). Pour les piscines jusqu'à 50 000 L, dont tous les modèles AFI. Suivez l'étiquette de chaque produit.\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n\n  \u003ch2 class=\"afi-f-h2\"\u003eContenu du pack spa\u003c\/h2\u003e\n  \u003ctable class=\"afi-f-tbl\"\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003e1 gallon d'antigel (3,78 L)\u003c\/th\u003e\n\u003ctd\u003eVersé dans les conduites pour les protéger du gel durant l'hiver.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003e4 bouchons no 10\u003c\/th\u003e\n\u003ctd\u003eUn pour l'écumoire et trois pour les drains de fond, ce qui couvre tous les modèles. Pas de Gizzmo pour un spa.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eBouchons no 11\u003c\/th\u003e\n\u003ctd\u003eUn par jet, selon le nombre choisi à la commande : 12, 20, 30 ou 48.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSpa Life Secure (1 L)\u003c\/th\u003e\n\u003ctd\u003eSéquestrant pour spa : prévient le tartre et les taches de métal pendant l'hiver.\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eAqua Brite Plus (1 kg)\u003c\/th\u003e\n\u003ctd\u003eChoc sans chlore : il élimine les contaminants pour fermer le spa avec une eau propre.\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n  \u003cp class=\"afi-f-note\"\u003e\u003cstrong\u003eSpa : dosez selon le volume de votre bassin.\u003c\/strong\u003e Spa Life Secure et Aqua Brite Plus suffisent pour plusieurs traitements. Suivez l'étiquette de chaque produit selon le volume de votre spa et gardez le reste pour la prochaine saison.\u003c\/p\u003e\n\n  \u003ch2 class=\"afi-f-h2\"\u003eTarification\u003c\/h2\u003e\n  \u003ctable class=\"afi-f-tbl\"\u003e\n    \u003ctbody\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003ePiscine, sans jets\u003c\/th\u003e\n\u003ctd\u003e64,97 $\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003ePiscine, 12 jets\u003c\/th\u003e\n\u003ctd\u003e124,97 $  ·  64,97 $ + 12 bouchons de jets à 5 $\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSpa, 12 jets\u003c\/th\u003e\n\u003ctd\u003e119,98 $  ·  59,98 $ + 12 bouchons de jets à 5 $\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSpa, 20 jets\u003c\/th\u003e\n\u003ctd\u003e159,98 $  ·  59,98 $ + 20 bouchons de jets à 5 $\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSpa, 30 jets\u003c\/th\u003e\n\u003ctd\u003e209,98 $  ·  59,98 $ + 30 bouchons de jets à 5 $\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr\u003e\n\u003cth scope=\"row\"\u003eSpa, 48 jets\u003c\/th\u003e\n\u003ctd\u003e299,98 $  ·  59,98 $ + 48 bouchons de jets à 5 $\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n  \u003cp class=\"afi-f-note\"\u003eTaxes (TPS et TVQ) et frais de livraison en sus, calculés au paiement. Le prix affiché correspond au type de bassin et au nombre de jets sélectionnés.\u003c\/p\u003e\n\n  \u003ch2 class=\"afi-f-h2\"\u003eLes étapes d'une fermeture\u003c\/h2\u003e\n  \u003cdiv class=\"afi-f-cards\"\u003e\n    \u003cdiv class=\"afi-f-card\"\u003e\n\u003cspan class=\"afi-f-chk\"\u003e\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"afi-f-ct\"\u003e1. Traitez l'eau\u003c\/span\u003e\u003cspan class=\"afi-f-cx\"\u003eNettoyez le bassin, équilibrez l'eau et ajoutez les produits d'hivernage en suivant l'étiquette de chacun.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-card\"\u003e\n\u003cspan class=\"afi-f-chk\"\u003e\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"afi-f-ct\"\u003e2. Baissez le niveau\u003c\/span\u003e\u003cspan class=\"afi-f-cx\"\u003eJuste sous les retours d'eau pour une piscine, juste sous les jets pour un spa. Pas plus bas, et ne videz jamais le bassin.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-card\"\u003e\n\u003cspan class=\"afi-f-chk\"\u003e\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"afi-f-ct\"\u003e3. Coupez l'alimentation\u003c\/span\u003e\u003cspan class=\"afi-f-cx\"\u003eFermez le disjoncteur de la piscine ou du spa avant de toucher aux équipements.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-card\"\u003e\n\u003cspan class=\"afi-f-chk\"\u003e\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"afi-f-ct\"\u003e4. Purgez les conduites\u003c\/span\u003e\u003cspan class=\"afi-f-cx\"\u003eChassez l'eau des conduites, puis vidangez la pompe, le filtre et le chauffe-eau par leurs bouchons de vidange.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-card\"\u003e\n\u003cspan class=\"afi-f-chk\"\u003e\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"afi-f-ct\"\u003e5. Ajoutez l'antigel\u003c\/span\u003e\u003cspan class=\"afi-f-cx\"\u003eVersez l'antigel dans les conduites purgées pour protéger ce qui pourrait rester d'eau.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-card\"\u003e\n\u003cspan class=\"afi-f-chk\"\u003e\u003c\/span\u003e\u003cdiv\u003e\n\u003cspan class=\"afi-f-ct\"\u003e6. Posez les bouchons\u003c\/span\u003e\u003cspan class=\"afi-f-cx\"\u003eBouchons no 10 et no 11 aux retours, aux jets et aux drains, puis le Gizzmo dans l'écumoire d'une piscine.\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cp class=\"afi-f-note\"\u003eNon inclus : l'appareil pour souffler ou aspirer l'eau des conduites, et la toile d'hiver. Pour un spa, suivez aussi les directives du fabricant de votre modèle.\u003c\/p\u003e\n\n  \u003cp class=\"afi-f-alert\"\u003e\u003cstrong\u003eBassin en fibre de verre : ne le videz jamais.\u003c\/strong\u003e Une coque vide peut se déformer sous la pression de la nappe phréatique. Baissez l'eau juste sous les retours d'eau (ou sous les jets d'un spa) et surveillez votre puits d'assèchement tout l'hiver.\u003c\/p\u003e\n\n  \u003ch2 class=\"afi-f-h2\"\u003eQuestions fréquentes\u003c\/h2\u003e\n  \u003cdiv class=\"afi-f-faq\"\u003e\n    \u003cdiv class=\"afi-f-qa\"\u003e\n\u003cspan class=\"afi-f-q\"\u003eMa piscine n'a pas de jets. Qu'est-ce que je choisis ?\u003c\/span\u003e\u003cspan class=\"afi-f-a\"\u003eChoisissez « Piscine » puis « 0 ». Le pack contient alors l'antigel, les trois bouchons no 10, le Gizzmo et la trousse Aqua.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-qa\"\u003e\n\u003cspan class=\"afi-f-q\"\u003eMon nombre de jets n'est pas dans la liste.\u003c\/span\u003e\u003cspan class=\"afi-f-a\"\u003ePrenez le format juste au-dessus de votre nombre de jets, ou appelez-nous : on ajuste le nombre de bouchons avec vous. Les bouchons se vendent aussi à l'unité, à 5 $.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-qa\"\u003e\n\u003cspan class=\"afi-f-q\"\u003ePourquoi pas de Gizzmo pour un spa ?\u003c\/span\u003e\u003cspan class=\"afi-f-a\"\u003eL'écumoire d'un spa se ferme avec un bouchon no 10. Le Gizzmo sert à protéger le boîtier d'écumoire d'une piscine contre la glace.\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"afi-f-qa\"\u003e\n\u003cspan class=\"afi-f-q\"\u003eUn gallon d'antigel, c'est suffisant ?\u003c\/span\u003e\u003cspan class=\"afi-f-a\"\u003ePour la plupart des installations, oui. Si votre réseau est long ou complexe, ajoutez un gallon à votre commande ou appelez-nous pour valider.\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"afi-f-cta\"\u003e\n    \u003cspan class=\"afi-f-cta-t\"\u003eUne question avant de commander ?\u003c\/span\u003e\n    \u003cspan class=\"afi-f-cta-x\"\u003eDites-nous votre type de bassin et votre nombre de jets, on vous confirme le bon pack.\u003c\/span\u003e\n    \u003cspan class=\"afi-f-cta-b\"\u003e\n      \u003ca class=\"afi-f-btn afi-f-btn1\" href=\"mailto:commercial@aquafibreinnovation.ca\"\u003eNous écrire\u003c\/a\u003e\n      \u003ca class=\"afi-f-btn afi-f-btn2\" href=\"tel:+14188710658\"\u003e(418) 871-0658\u003c\/a\u003e\n    \u003c\/span\u003e\n  \u003c\/div\u003e\n\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n.afi-fiche{max-width:850px;margin:20px auto;padding:26px;background:#fff;border:1px solid #e8e8e8;border-radius:14px;box-shadow:0 8px 26px rgba(11,114,185,.07);font-size:17px;line-height:1.6;color:#1e1e1e;}\n.afi-fiche .afi-f-lede{font-size:18px;color:#333;margin:0 0 22px;}\n.afi-fiche .afi-f-p{margin:0 0 12px;}\n.afi-fiche strong{color:#0b72b9;font-weight:600;}\n.afi-fiche a{color:#0b72b9;}\n.afi-fiche .afi-f-h2{font-size:24px;line-height:1.25;font-weight:700;color:#0b72b9;margin:30px 0 14px;padding-bottom:10px;border-bottom:1px solid #dde6ee;}\n.afi-fiche .afi-f-specs{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px;}\n.afi-fiche .afi-f-spec{flex:1 1 130px;background:#f5f9fc;border:1px solid #d6e8f5;border-radius:12px;padding:15px 10px;text-align:center;}\n.afi-fiche .afi-f-num{display:block;font-size:26px;font-weight:700;color:#0b72b9;line-height:1.15;}\n.afi-fiche .afi-f-lbl{display:block;font-size:12px;color:#777;margin-top:5px;text-transform:uppercase;letter-spacing:.6px;}\n.afi-fiche .afi-f-note{display:block;margin:14px 0 0;padding:13px 15px;border-left:3px solid #e08600;background:#fff8ef;border-radius:0 10px 10px 0;font-size:15px;line-height:1.55;color:#6b4a12;}\n.afi-fiche .afi-f-note strong{color:#6b4a12;}\n.afi-fiche .afi-f-alert{display:block;margin:26px 0 6px;padding:18px 20px;border:2px solid #e08600;background:#fff8ef;border-radius:12px;font-size:16px;line-height:1.6;color:#5c3f0f;}\n.afi-fiche .afi-f-alert strong{color:#a35f00;}\n.afi-fiche .afi-f-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;}\n.afi-fiche .afi-f-card{display:flex;align-items:flex-start;gap:12px;padding:15px;background:#f5f9fc;border:1px solid #d6e8f5;border-radius:12px;}\n.afi-fiche .afi-f-card:last-child:nth-child(odd){grid-column:1\/-1;}\n.afi-fiche .afi-f-chk{position:relative;flex:0 0 24px;width:24px;height:24px;margin-top:2px;border-radius:7px;background:#0b72b9;}\n.afi-fiche .afi-f-chk::after{content:\"\";position:absolute;left:8px;top:5px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);}\n.afi-fiche .afi-f-ct{display:block;font-weight:700;font-size:16px;color:#0b72b9;margin-bottom:3px;}\n.afi-fiche .afi-f-cx{display:block;font-size:15px;line-height:1.5;color:#444;}\n.afi-fiche table.afi-f-tbl{width:100%;border-collapse:collapse;font-size:16px;border:1px solid #e5e5e5;border-radius:12px;overflow:hidden;margin:0;}\n.afi-fiche table.afi-f-tbl th,.afi-fiche table.afi-f-tbl td{text-align:left;padding:12px 15px;border-bottom:1px solid #e5e5e5;vertical-align:top;background:#fff;}\n.afi-fiche table.afi-f-tbl th{color:#0b72b9;font-weight:600;width:38%;background:#f5f9fc;}\n.afi-fiche table.afi-f-tbl tr:last-child th,.afi-fiche table.afi-f-tbl tr:last-child td{border-bottom:0;}\n.afi-fiche .afi-f-faq{display:grid;gap:12px;}\n.afi-fiche .afi-f-qa{padding:14px 16px;background:#f5f9fc;border:1px solid #d6e8f5;border-radius:12px;}\n.afi-fiche .afi-f-q{display:block;color:#0b72b9;font-weight:700;font-size:16px;margin-bottom:4px;}\n.afi-fiche .afi-f-a{display:block;font-size:15px;line-height:1.55;color:#444;}\n.afi-fiche .afi-f-cta{display:block;margin-top:30px;padding:20px 22px;background:#f5f9fc;border:1px solid #d6e8f5;border-radius:12px;}\n.afi-fiche .afi-f-cta-t{display:block;font-size:18px;font-weight:700;color:#0b72b9;margin-bottom:4px;}\n.afi-fiche .afi-f-cta-x{display:block;font-size:15px;color:#555;margin-bottom:14px;}\n.afi-fiche .afi-f-cta-b{display:flex;flex-wrap:wrap;gap:10px;}\n.afi-fiche a.afi-f-btn{display:inline-block;padding:11px 20px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;}\n.afi-fiche a.afi-f-btn1{background:#0b72b9;color:#fff;border:1px solid #0b72b9;}\n.afi-fiche a.afi-f-btn2{background:#fff;color:#0b72b9;border:1px solid #b9d9ef;}\n.afi-fiche .afi-f-xsell{display:block;margin:22px 0;padding:20px 22px;background:#0b72b9;border-radius:12px;}\n.afi-fiche .afi-f-xsell-t{display:block;font-size:20px;line-height:1.3;font-weight:700;color:#fff;margin-bottom:6px;}\n.afi-fiche .afi-f-xsell-x{display:block;font-size:16px;line-height:1.55;color:#eaf4fb;margin-bottom:14px;}\n.afi-fiche a.afi-f-btn3{background:#fff;color:#0b72b9;border:1px solid #fff;}\n@media (max-width:600px){\n.afi-fiche{padding:18px;font-size:16px;}\n.afi-fiche .afi-f-lede{font-size:16px;}\n.afi-fiche .afi-f-h2{font-size:20px;}\n.afi-fiche .afi-f-num{font-size:22px;}\n.afi-fiche .afi-f-alert{padding:15px 16px;font-size:15px;}\n.afi-fiche .afi-f-xsell{padding:18px;}\n.afi-fiche .afi-f-xsell-t{font-size:18px;}\n.afi-fiche .afi-f-cards{grid-template-columns:1fr;}\n.afi-fiche table.afi-f-tbl,.afi-fiche table.afi-f-tbl th,.afi-fiche table.afi-f-tbl td{font-size:15px;}\n.afi-fiche table.afi-f-tbl th{width:40%;}\n}\n\u003c\/style\u003e","brand":"AQUA FIBRE INNOVATION","offers":[{"title":"Piscine \/ 0","offer_id":67598634418475,"sku":null,"price":64.97,"currency_code":"CAD","in_stock":true},{"title":"Piscine \/ 12","offer_id":67598634451243,"sku":null,"price":124.97,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 12","offer_id":67598634484011,"sku":null,"price":119.98,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 20","offer_id":67598634516779,"sku":null,"price":159.98,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 30","offer_id":67598634549547,"sku":null,"price":209.98,"currency_code":"CAD","in_stock":true},{"title":"Spa \/ 48","offer_id":67598634582315,"sku":null,"price":299.98,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0968\/6168\/4011\/files\/3ac11af2-3431-4e12-bace-596a1659f5b9.jpg?v=1790693606"}],"url":"https:\/\/boutique.aquafibreinnovation.ca\/collections\/services.oembed","provider":"AQUA FIBRE INNOVATION","version":"1.0","type":"link"}