{"id":284,"date":"2026-02-15T18:54:04","date_gmt":"2026-02-15T18:54:04","guid":{"rendered":"https:\/\/tanyamatthews.com\/sandbox\/?page_id=284"},"modified":"2026-09-09T01:48:55","modified_gmt":"2026-09-09T01:48:55","slug":"resources","status":"publish","type":"page","link":"https:\/\/tanyamatthews.com\/sandbox\/resources\/","title":{"rendered":"Resources"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"284\" class=\"elementor elementor-284\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7fe3994 e-con-full e-flex e-con e-parent\" data-id=\"7fe3994\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-d0b1ff0 e-con-full e-flex e-con e-child\" data-id=\"d0b1ff0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-adf60ec elementor-widget elementor-widget-heading\" data-id=\"adf60ec\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Resources<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1cd1b19 e-con-full e-flex e-con e-child\" data-id=\"1cd1b19\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-62488095 e-con-full e-flex e-con e-parent\" data-id=\"62488095\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6ae841b6 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"6ae841b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Form and function work best as partners. These resources deliver sophisticated website tools without the barriers \u2014 for curious visitors and professionals alike. Performance and beauty, without the gatekeeping.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e2abd27 e-flex e-con-boxed e-con e-parent\" data-id=\"e2abd27\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-378838f e-con-full e-flex e-con e-child\" data-id=\"378838f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;zigzag&quot;,&quot;shape_divider_bottom&quot;:&quot;zigzag&quot;}\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dfa14ba elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"dfa14ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/www.tanyamatthews.com\/sandbox\/resources#seo\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"SEO SCANNER\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-magnifier\"><\/i>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.tanyamatthews.com\/sandbox\/resources#seo\" >\n\t\t\t\t\t\t\tSEO SCANNER\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tAnalyze your website's search optimization in real-time. Get actionable insights on meta tags, headings, mobile responsiveness, and more - then unlock detailed recommendations to boost your rankings and visibility.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-50b0a69 e-con-full e-flex e-con e-child\" data-id=\"50b0a69\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;zigzag&quot;,&quot;shape_divider_bottom&quot;:&quot;zigzag&quot;}\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f3e791 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"6f3e791\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/www.tanyamatthews.com\/sandbox\/resources#speed\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"SPEED TEST\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-star\" viewBox=\"0 0 576 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.tanyamatthews.com\/sandbox\/resources#speed\" >\n\t\t\t\t\t\t\tSPEED TEST\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tDiscover how fast your website really loads. Test performance metrics, page weight, and resource counts \u2014 then get targeted optimization tips to improve load times and user experience.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-55503d7 e-con-full e-flex e-con e-child\" data-id=\"55503d7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;zigzag&quot;,&quot;shape_divider_bottom&quot;:&quot;zigzag&quot;}\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4136d7 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"e4136d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/www.tanyamatthews.com\/sandbox\/resources#image\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"IMAGE OPTIMIZER\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-star\" viewBox=\"0 0 576 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.tanyamatthews.com\/sandbox\/resources#image\" >\n\t\t\t\t\t\t\tIMAGE OPTIMIZER\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tCompress and resize images instantly in your browser. Reduce file sizes without sacrificing quality, see before-and-after comparisons, and download optimized versions ready for your website.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d0dc2b4 e-flex e-con-boxed e-con e-parent\" data-id=\"d0dc2b4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a66b417 e-con-full e-flex e-con e-child\" data-id=\"a66b417\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;zigzag&quot;,&quot;shape_divider_bottom&quot;:&quot;zigzag&quot;}\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c88f120 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"c88f120\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-checked1\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tCOMPLETE CHECKLIST\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tThe comprehensive 70-point audit for perfectionists. From pre-launch essentials to ongoing maintenance, this in-depth PDF covers every aspect of website quality \u2014 technical health, SEO fundamentals, user experience, conversion optimization, and monthly upkeep tasks.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-78ba363 e-con-full e-flex e-con e-child\" data-id=\"78ba363\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;zigzag&quot;,&quot;shape_divider_bottom&quot;:&quot;zigzag&quot;}\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b359400 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"b359400\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-checked\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tESSENTIALS CHECKLIST\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tThe 20 must-have checkpoints before going live. Download this focused PDF covering technical essentials, SEO basics, content quality, and legal requirements - everything you need for a confident, no-stress launch.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8f682d7 e-con-full e-flex e-con e-child\" data-id=\"8f682d7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_top&quot;:&quot;zigzag&quot;,&quot;shape_divider_bottom&quot;:&quot;zigzag&quot;}\">\n\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1800 5.8\" preserveAspectRatio=\"none\">\n  <path class=\"elementor-shape-fill\" d=\"M5.4.4l5.4 5.3L16.5.4l5.4 5.3L27.5.4 33 5.7 38.6.4l5.5 5.4h.1L49.9.4l5.4 5.3L60.9.4l5.5 5.3L72 .4l5.5 5.3L83.1.4l5.4 5.3L94.1.4l5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3L161 .4l5.4 5.3L172 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3L261 .4l5.4 5.3L272 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3L361 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3L461 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1L550 .4l5.4 5.3L561 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L650 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2L750 .4l5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2L850 .4l5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.4h.2l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.7-5.4 5.4 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.5 5.4h.1l5.6-5.4 5.5 5.3 5.6-5.3 5.5 5.3 5.6-5.3 5.4 5.3 5.7-5.3 5.4 5.3 5.6-5.3 5.5 5.4V0H-.2v5.8z\"\/>\n<\/svg>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-126f229 elementor-view-default elementor-position-block-start elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"126f229\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-edit\" viewBox=\"0 0 576 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z\"><\/path><\/svg>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tNEW TOOLS SOON\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tStay tuned!\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a676eb1 e-flex e-con-boxed e-con e-parent\" data-id=\"a676eb1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c3e71c elementor-widget elementor-widget-spacer\" data-id=\"2c3e71c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-591f711 e-con-full e-flex e-con e-parent\" data-id=\"591f711\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e2b6e83 elementor-widget elementor-widget-menu-anchor\" data-id=\"e2b6e83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"seo\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f483839 elementor-widget elementor-widget-spacer\" data-id=\"f483839\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0fd618a elementor-widget elementor-widget-html\" data-id=\"0fd618a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>SEO Scanner Tool<\/title>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:wght@300;400;600;700&family=Montserrat:wght@300;400;600;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n        :root {\r\n            --bg-primary: #f8f8ff;\r\n            --bg-secondary: #132043;\r\n            --bg-tertiary: #1a2d54;\r\n            --text-primary: #f5f5f5;\r\n            --text-secondary: #667080;\r\n            --accent-gold: #d4af37;\r\n            --accent-gold-dark: #9c7b10;\r\n            --accent-navy: #1e3a5f;\r\n            --accent-navy-light: #2d5080;\r\n            --accent-green: #3fb950;\r\n            --accent-red: #f85149;\r\n                   }\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            font-family: 'Cormorant Garamond', serif;\r\n            background: var(--bg-primary);\r\n            color: var(--text-primary);\r\n            line-height: 1.6;\r\n            min-height: 100vh;\r\n        }\r\n\r\n        .container {\r\n            max-width: 900px;\r\n            margin: 0 auto;\r\n            padding: 3rem 1.5rem;\r\n        }\r\n\r\n        .header {\r\n            text-align: center;\r\n            margin-bottom: 3rem;\r\n            animation: fadeInDown 0.8s ease;\r\n        }\r\n\r\n        .header h1 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 2.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 0.5rem;\r\n            background: linear-gradient(135deg, var(--accent-gold), var(--accent-gold-dark));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .header p {\r\n            font-size: 2rem;\r\n            color: var(--text-secondary);\r\n            font-weight: 700;\r\n        }\r\n\r\n        .scan-form {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 12px;\r\n            padding: 2rem;\r\n            margin-bottom: 2rem;\r\n            animation: fadeInUp 0.8s ease 0.2s backwards;\r\n        }\r\n\r\n        .input-group {\r\n            display: flex;\r\n            gap: 1rem;\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        input[type=\"url\"] {\r\n            flex: 1;\r\n            padding: 1rem 1.25rem;\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 8px;\r\n            color: var(--text-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.95rem;\r\n            font-weight: 300;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        input[type=\"url\"]:focus {\r\n            outline: none;\r\n            border-color: var(--accent-gold);\r\n            box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);\r\n        }\r\n\r\n        input[type=\"url\"]::placeholder {\r\n            color: var(--text-secondary);\r\n            opacity: 0.6;\r\n        }\r\n\r\n        .btn {\r\n            padding: 1rem 2rem;\r\n            background: var(--accent-gold);\r\n            border: none;\r\n            border-radius: 8px;\r\n            color: var(--bg-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 600;\r\n            font-size: 0.95rem;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n        }\r\n\r\n        .btn:hover {\r\n            background: var(--accent-gold-dark);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);\r\n        }\r\n\r\n        .btn:active {\r\n            transform: translateY(0);\r\n        }\r\n\r\n        .btn:disabled {\r\n            opacity: 0.5;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .loading {\r\n            display: none;\r\n            text-align: center;\r\n            padding: 2rem;\r\n            animation: fadeIn 0.3s ease;\r\n        }\r\n\r\n        .loading.active {\r\n            display: block;\r\n        }\r\n\r\n        .spinner {\r\n            width: 50px;\r\n            height: 50px;\r\n            margin: 0 auto 1rem;\r\n            border: 3px solid var(--border);\r\n            border-top-color: var(--accent-gold);\r\n            border-radius: 50%;\r\n            animation: spin 1s linear infinite;\r\n        }\r\n\r\n        .results {\r\n            display: none;\r\n            animation: fadeInUp 0.6s ease;\r\n        }\r\n\r\n        .results.active {\r\n            display: block;\r\n        }\r\n\r\n        .score-card {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 12px;\r\n            padding: 2.5rem;\r\n            margin-bottom: 2rem;\r\n            text-align: center;\r\n        }\r\n\r\n        .score-circle {\r\n            width: 180px;\r\n            height: 180px;\r\n            margin: 0 auto 1.5rem;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            justify-content: center;\r\n            position: relative;\r\n            background: var(--bg-tertiary);\r\n            border: 3px solid var(--border);\r\n        }\r\n\r\n        .score-circle::before {\r\n            content: '';\r\n            position: absolute;\r\n            inset: -3px;\r\n            border-radius: 50%;\r\n            padding: 3px;\r\n            background: conic-gradient(var(--score-color) var(--score-percent), transparent var(--score-percent));\r\n            -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\r\n            -webkit-mask-composite: xor;\r\n            mask-composite: exclude;\r\n        }\r\n\r\n        .score-value {\r\n            font-family: 'JetBrains Mono', monospace;\r\n            font-size: 4rem;\r\n            font-weight: 800;\r\n            line-height: 1;\r\n            color: var(--score-color);\r\n        }\r\n\r\n        .score-label {\r\n            font-size: 0.9rem;\r\n            color: var(--text-secondary);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.15em;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 300;\r\n            margin-top: 0.5rem;\r\n        }\r\n\r\n        .score-description {\r\n            font-size: 1.1rem;\r\n            color: var(--text-secondary);\r\n            margin-top: 1rem;\r\n        }\r\n\r\n        .checks-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\r\n            gap: 1rem;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .check-item {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 8px;\r\n            padding: 1.25rem;\r\n            display: flex;\r\n            align-items: flex-start;\r\n            gap: 1rem;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .check-item:hover {\r\n            border-color: var(--accent-gold);\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .check-icon {\r\n            width: 24px;\r\n            height: 24px;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-weight: bold;\r\n            font-size: 1rem;\r\n            flex-shrink: 0;\r\n            font-family: 'Montserrat', sans-serif;\r\n        }\r\n\r\n        .check-icon.pass {\r\n            background: rgba(63, 185, 80, 0.2);\r\n            color: var(--accent-green);\r\n        }\r\n\r\n        .check-icon.fail {\r\n            background: rgba(248, 81, 73, 0.2);\r\n            color: var(--accent-red);\r\n        }\r\n\r\n        .check-icon.warning {\r\n            background: rgba(212, 175, 55, 0.2);\r\n            color: var(--accent-gold);\r\n        }\r\n\r\n        .check-content {\r\n            flex: 1;\r\n        }\r\n\r\n        .check-title {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 600;\r\n            font-size: 0.95rem;\r\n            margin-bottom: 0.25rem;\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .check-description {\r\n            font-size: 0.9rem;\r\n            color: var(--text-secondary);\r\n            line-height: 1.5;\r\n        }\r\n\r\n        .check-value {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.85rem;\r\n            font-weight: 300;\r\n            color: var(--accent-gold);\r\n            margin-top: 0.5rem;\r\n            padding: 0.5rem;\r\n            background: var(--bg-tertiary);\r\n            border-radius: 4px;\r\n            word-break: break-all;\r\n        }\r\n\r\n        .recommendations {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 12px;\r\n            padding: 2rem;\r\n        }\r\n\r\n        .recommendations h2 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 1.5rem;\r\n            margin-bottom: 1.5rem;\r\n            color: var(--accent-gold);\r\n        }\r\n\r\n        .recommendation-item {\r\n            padding: 1rem;\r\n            margin-bottom: 1rem;\r\n            background: var(--bg-tertiary);\r\n            border-left: 3px solid var(--accent-gold);\r\n            border-radius: 4px;\r\n        }\r\n\r\n        .recommendation-item:last-child {\r\n            margin-bottom: 0;\r\n        }\r\n\r\n        .recommendation-item strong {\r\n            font-family: 'Montserrat', sans-serif;\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .blur-content {\r\n            filter: blur(8px);\r\n            pointer-events: none;\r\n            user-select: none;\r\n        }\r\n\r\n        .email-gate {\r\n            display: none;\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: rgba(10, 22, 40, 0.95);\r\n            z-index: 1000;\r\n            align-items: center;\r\n            justify-content: center;\r\n            animation: fadeIn 0.3s ease;\r\n        }\r\n\r\n        .email-gate.active {\r\n            display: flex;\r\n        }\r\n\r\n        .email-gate-content {\r\n            background: var(--bg-secondary);\r\n            border: 2px solid var(--accent-gold);\r\n            border-radius: 12px;\r\n            padding: 3rem 2.5rem;\r\n            max-width: 500px;\r\n            width: 90%;\r\n            text-align: center;\r\n            animation: slideUp 0.4s ease;\r\n            position: relative;\r\n        }\r\n\r\n        .email-gate h2 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 2rem;\r\n            color: var(--accent-gold);\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .email-gate p {\r\n            font-size: 1.1rem;\r\n            color: var(--text-secondary);\r\n            margin-bottom: 2rem;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .email-form {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 1rem;\r\n        }\r\n\r\n        input[type=\"email\"] {\r\n            padding: 1rem 1.25rem;\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 8px;\r\n            color: var(--text-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.95rem;\r\n            font-weight: 300;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        input[type=\"email\"]:focus {\r\n            outline: none;\r\n            border-color: var(--accent-gold);\r\n            box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);\r\n        }\r\n\r\n        input[type=\"email\"]::placeholder {\r\n            color: var(--text-secondary);\r\n            opacity: 0.6;\r\n        }\r\n\r\n        .btn-full {\r\n            width: 100%;\r\n        }\r\n\r\n        .skip-link {\r\n            margin-top: 1rem;\r\n            color: var(--text-secondary);\r\n            font-size: 0.9rem;\r\n            cursor: pointer;\r\n            text-decoration: underline;\r\n            transition: color 0.3s ease;\r\n        }\r\n\r\n        .skip-link:hover {\r\n            color: var(--accent-gold);\r\n        }\r\n\r\n        @keyframes slideUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        .locked-section {\r\n            position: relative;\r\n        }\r\n\r\n        .locked-section::after {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: linear-gradient(to bottom, transparent 0%, rgba(10, 22, 40, 0.8) 50%, rgba(10, 22, 40, 0.95) 100%);\r\n            pointer-events: none;\r\n        }\r\n\r\n        .unlock-badge {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            background: var(--accent-gold);\r\n            color: var(--bg-primary);\r\n            padding: 1rem 2rem;\r\n            border-radius: 50px;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 600;\r\n            font-size: 1rem;\r\n            letter-spacing: 0.05em;\r\n            z-index: 10;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.5rem;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            box-shadow: 0 4px 20px rgba(212, 175, 55, 0.3);\r\n        }\r\n\r\n        .unlock-badge:hover {\r\n            transform: translate(-50%, -50%) scale(1.05);\r\n            box-shadow: 0 6px 25px rgba(212, 175, 55, 0.5);\r\n        }\r\n\r\n        .unlock-badge svg {\r\n            width: 20px;\r\n            height: 20px;\r\n        }\r\n\r\n        \/* Close button for email gate *\/\r\n        .close-btn {\r\n            position: absolute;\r\n            top: 1rem;\r\n            right: 1rem;\r\n            background: transparent;\r\n            border: none;\r\n            color: var(--text-secondary);\r\n            cursor: pointer;\r\n            padding: 0.5rem;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s ease;\r\n            border-radius: 50%;\r\n        }\r\n\r\n        .close-btn:hover {\r\n            background: var(--bg-tertiary);\r\n            color: var(--accent-gold);\r\n            transform: rotate(90deg);\r\n        }\r\n\r\n        .close-btn svg {\r\n            width: 24px;\r\n            height: 24px;\r\n        }\r\n\r\n        \/* Mailchimp for WordPress Form Styling *\/\r\n        .mc4wp-form {\r\n            width: 100%;\r\n        }\r\n        \r\n        .mc4wp-form input[type=\"email\"],\r\n        .mc4wp-form input[type=\"text\"] {\r\n            width: 100%;\r\n            padding: 1rem 1.25rem;\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 8px;\r\n            color: var(--text-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.95rem;\r\n            font-weight: 300;\r\n            transition: all 0.3s ease;\r\n            margin-bottom: 1rem;\r\n        }\r\n        \r\n        .mc4wp-form input[type=\"email\"]:focus,\r\n        .mc4wp-form input[type=\"text\"]:focus {\r\n            outline: none;\r\n            border-color: var(--accent-gold);\r\n            box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);\r\n        }\r\n\r\n        .mc4wp-form input[type=\"email\"]::placeholder,\r\n        .mc4wp-form input[type=\"text\"]::placeholder {\r\n            color: var(--text-secondary);\r\n            opacity: 0.6;\r\n        }\r\n        \r\n        .mc4wp-form input[type=\"submit\"],\r\n        .mc4wp-form button[type=\"submit\"] {\r\n            width: 100%;\r\n            padding: 1rem 2rem;\r\n            background: var(--accent-gold);\r\n            border: none;\r\n            border-radius: 8px;\r\n            color: var(--bg-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 600;\r\n            font-size: 0.95rem;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n        }\r\n        \r\n        .mc4wp-form input[type=\"submit\"]:hover,\r\n        .mc4wp-form button[type=\"submit\"]:hover {\r\n            background: var(--accent-gold-dark);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);\r\n        }\r\n\r\n        \/* Hide extra submit buttons if MC4WP has multiple *\/\r\n        .mc4wp-form input[type=\"submit\"] ~ input[type=\"submit\"],\r\n        .mc4wp-form button[type=\"submit\"] ~ button[type=\"submit\"] {\r\n            display: none;\r\n        }\r\n        \r\n        .mc4wp-form-notice {\r\n            margin-top: 1rem;\r\n            padding: 0.75rem;\r\n            border-radius: 6px;\r\n            font-size: 0.9rem;\r\n        }\r\n        \r\n        .mc4wp-success {\r\n            background: rgba(63, 185, 80, 0.2);\r\n            color: var(--accent-green);\r\n            border: 1px solid var(--accent-green);\r\n        }\r\n        \r\n        .mc4wp-error {\r\n            background: rgba(248, 81, 73, 0.2);\r\n            color: var(--accent-red);\r\n            border: 1px solid var(--accent-red);\r\n        }\r\n\r\n        .mc4wp-form label {\r\n            display: none; \/* Hide labels for cleaner look *\/\r\n        }\r\n\r\n        .mc4wp-form p {\r\n            margin: 0;\r\n        }\r\n\r\n        @keyframes fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-20px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(20px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeIn {\r\n            from { opacity: 0; }\r\n            to { opacity: 1; }\r\n        }\r\n\r\n        @keyframes spin {\r\n            to { transform: rotate(360deg); }\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .header h1 {\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .input-group {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .checks-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n\r\n            .score-circle {\r\n                width: 150px;\r\n                height: 150px;\r\n            }\r\n\r\n            .score-value {\r\n                font-size: 3rem;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <div class=\"header\">\r\n            <h1>SEO SCANNER<\/h1>\r\n            <p>Comprehensive analysis of your website's search optimization<\/p>\r\n            <div style=\"margin-top: 1rem; display: inline-block; background: rgba(212, 175, 55, 0.15); border: 1px solid var(--accent-gold); border-radius: 20px; padding: 0.4rem 1rem; font-family: 'Montserrat', sans-serif; font-size: 0.85rem; color: var(--accent-gold);\">\r\n                \u2713 Real-time scanning \u2022 4 free checks \u2022 Premium analysis available\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"scan-form\">\r\n            <div class=\"input-group\">\r\n                <input type=\"url\" id=\"urlInput\" placeholder=\"https:\/\/example.com\" required>\r\n                <button class=\"btn\" onclick=\"scanSite()\">Scan Site<\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"loading\" id=\"loading\">\r\n            <div class=\"spinner\"><\/div>\r\n            <p>Analyzing your website...<\/p>\r\n        <\/div>\r\n\r\n        <div class=\"results\" id=\"results\">\r\n            <div class=\"score-card\">\r\n                <div class=\"score-circle\" id=\"scoreCircle\">\r\n                    <div class=\"score-value\" id=\"scoreValue\">--<\/div>\r\n                <\/div>\r\n                <div class=\"score-label\">SEO Score<\/div>\r\n                <div class=\"score-description\" id=\"scoreDescription\">--<\/div>\r\n            <\/div>\r\n\r\n            <div class=\"checks-grid\" id=\"checksGrid\"><\/div>\r\n\r\n            <div class=\"locked-section\" id=\"lockedSection\">\r\n                <div class=\"unlock-badge\" onclick=\"showEmailGate()\">\r\n                    <svg fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                        <path fill-rule=\"evenodd\" d=\"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z\" clip-rule=\"evenodd\"\/>\r\n                    <\/svg>\r\n                    Unlock Full Report\r\n                <\/div>\r\n                <div class=\"blur-content\">\r\n                    <div class=\"recommendations\" id=\"recommendations\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"email-gate\" id=\"emailGate\">\r\n            <div class=\"email-gate-content\">\r\n                <button class=\"close-btn\" onclick=\"closeEmailGate()\" aria-label=\"Close\">\r\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                        <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line>\r\n                        <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line>\r\n                    <\/svg>\r\n                <\/button>\r\n                <h2>Get Your Full Report<\/h2>\r\n                <p>Enter your email to unlock detailed recommendations and insights to improve your SEO.<\/p>\r\n                \r\n                <!-- OPTION 1: For WordPress with Mailchimp for WordPress plugin -->\r\n                <!-- Uncomment and replace YOUR_FORM_ID_HERE with your actual form ID -->\r\n                <!--\r\n                <div id=\"mc4wp-form-container\">\r\n                    [mc4wp_form id=\"YOUR_FORM_ID_HERE\"]\r\n                <\/div>\r\n                -->\r\n                \r\n                <!-- OPTION 2: Standard email form (works everywhere) -->\r\n                <!-- Comment this out if using MC4WP above -->\r\n                <form class=\"email-form\" onsubmit=\"submitEmailAndUnlock(event)\">\r\n                    <input type=\"email\" id=\"emailInput\" placeholder=\"your@email.com\" required>\r\n                    <p style=\"font-size: 0.85rem; color: var(--text-secondary); margin: -0.5rem 0 0.5rem 0; text-align: left;\">\r\n                        By submitting, you agree to receive marketing emails. Unsubscribe anytime.\r\n                    <\/p>\r\n                    <button type=\"submit\" class=\"btn btn-full\">Unlock Full Report<\/button>\r\n                <\/form>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        async function scanSite() {\r\n            const urlInput = document.getElementById('urlInput');\r\n            const url = urlInput.value.trim();\r\n            \r\n            if (!url) {\r\n                alert('Please enter a URL');\r\n                return;\r\n            }\r\n\r\n            \/\/ Validate URL\r\n            try {\r\n                new URL(url);\r\n            } catch {\r\n                alert('Please enter a valid URL');\r\n                return;\r\n            }\r\n\r\n            \/\/ Show loading\r\n            document.getElementById('results').classList.remove('active');\r\n            document.getElementById('loading').classList.add('active');\r\n\r\n            \/\/ Simulate scanning delay\r\n            await new Promise(resolve => setTimeout(resolve, 2000));\r\n\r\n            \/\/ Perform SEO checks\r\n            const results = await performSEOChecks(url);\r\n\r\n            \/\/ Hide loading, show results\r\n            document.getElementById('loading').classList.remove('active');\r\n            displayResults(results);\r\n        }\r\n\r\n        async function performSEOChecks(url) {\r\n            console.log('Starting scan for:', url);\r\n            \r\n            try {\r\n                \/\/ Try multiple CORS proxies in sequence\r\n                const proxies = [\r\n                    `https:\/\/api.codetabs.com\/v1\/proxy?quest=${encodeURIComponent(url)}`,\r\n                    `https:\/\/corsproxy.io\/?${encodeURIComponent(url)}`,\r\n                    `https:\/\/api.allorigins.win\/raw?url=${encodeURIComponent(url)}`\r\n                ];\r\n                \r\n                let html = null;\r\n                let proxyUsed = null;\r\n                \r\n                for (const proxyUrl of proxies) {\r\n                    try {\r\n                        console.log('Trying proxy:', proxyUrl);\r\n                        const response = await fetch(proxyUrl, {\r\n                            method: 'GET',\r\n                            headers: {\r\n                                'Accept': 'text\/html,application\/xhtml+xml,application\/xml;q=0.9,*\/*;q=0.8'\r\n                            }\r\n                        });\r\n                        \r\n                        if (response.ok) {\r\n                            html = await response.text();\r\n                            proxyUsed = proxyUrl;\r\n                            console.log('\u2713 Successfully fetched page, length:', html.length);\r\n                            break;\r\n                        }\r\n                    } catch (error) {\r\n                        console.log('Proxy failed:', error.message);\r\n                        continue;\r\n                    }\r\n                }\r\n                \r\n                if (!html) {\r\n                    console.error('All proxies failed, using URL-only checks');\r\n                    return getURLOnlyResults(url);\r\n                }\r\n                \r\n                \/\/ Parse HTML\r\n                const parser = new DOMParser();\r\n                const doc = parser.parseFromString(html, 'text\/html');\r\n                console.log('\u2713 HTML parsed successfully');\r\n\r\n                \/\/ FREE CHECKS (First 4 - shown to everyone)\r\n                const freeChecks = {\r\n                    title: checkTitle(doc),\r\n                    description: checkDescription(doc),\r\n                    headings: checkHeadings(doc),\r\n                    https: checkHTTPS(url)\r\n                };\r\n\r\n                \/\/ PREMIUM CHECKS (Locked behind email gate)\r\n                const premiumChecks = {\r\n                    images: checkImages(doc),\r\n                    links: checkLinks(doc),\r\n                    mobile: checkMobile(doc),\r\n                    performance: checkPerformance(html),\r\n                    keywords: checkKeywords(doc),\r\n                    canonical: checkCanonical(doc),\r\n                    schema: checkSchema(doc),\r\n                    openGraph: checkOpenGraph(doc)\r\n                };\r\n\r\n                \/\/ Calculate scores\r\n                const freeScore = calculateScore(freeChecks);\r\n                const fullScore = calculateScore({...freeChecks, ...premiumChecks});\r\n\r\n                return { \r\n                    freeChecks, \r\n                    premiumChecks,\r\n                    freeScore,\r\n                    fullScore,\r\n                    url,\r\n                    isRealScan: true,\r\n                    proxyUsed: proxyUsed \r\n                };\r\n            } catch (error) {\r\n                console.error('Scan error:', error);\r\n                return getURLOnlyResults(url);\r\n            }\r\n        }\r\n\r\n        function getURLOnlyResults(url) {\r\n            console.log('Using URL-only analysis mode');\r\n            \r\n            \/\/ Things we CAN check without fetching the page\r\n            const httpsCheck = checkHTTPS(url);\r\n            const domainInfo = analyzeDomain(url);\r\n            \r\n            const freeChecks = {\r\n                https: httpsCheck,\r\n                title: { \r\n                    status: 'warning', \r\n                    title: 'Title Tag', \r\n                    description: 'Page could not be fetched. Enter your email for manual analysis.', \r\n                    value: 'Requires page access' \r\n                },\r\n                description: { \r\n                    status: 'warning', \r\n                    title: 'Meta Description', \r\n                    description: 'Page could not be fetched. Enter your email for manual analysis.', \r\n                    value: 'Requires page access' \r\n                },\r\n                headings: { \r\n                    status: 'warning', \r\n                    title: 'H1 Heading', \r\n                    description: 'Page could not be fetched. Enter your email for manual analysis.', \r\n                    value: 'Requires page access' \r\n                }\r\n            };\r\n\r\n            const premiumChecks = {\r\n                images: { status: 'warning', title: 'Image Alt Text', description: 'Requires page access', value: 'Enter email for full scan' },\r\n                links: { status: 'warning', title: 'Links', description: 'Requires page access', value: 'Enter email for full scan' },\r\n                mobile: { status: 'warning', title: 'Mobile Optimization', description: 'Requires page access', value: 'Enter email for full scan' },\r\n                performance: { status: 'warning', title: 'Page Size', description: 'Requires page access', value: 'Enter email for full scan' },\r\n                keywords: { status: 'warning', title: 'Meta Keywords', description: 'Requires page access', value: 'Enter email for full scan' },\r\n                canonical: { status: 'warning', title: 'Canonical URL', description: 'Requires page access', value: 'Enter email for full scan' },\r\n                schema: { status: 'warning', title: 'Structured Data', description: 'Requires page access', value: 'Enter email for full scan' },\r\n                openGraph: { status: 'warning', title: 'Open Graph Tags', description: 'Requires page access', value: 'Enter email for full scan' }\r\n            };\r\n\r\n            return {\r\n                freeChecks,\r\n                premiumChecks,\r\n                freeScore: 50,\r\n                fullScore: 50,\r\n                url,\r\n                isRealScan: false,\r\n                fetchFailed: true,\r\n                message: 'Unable to directly access your website due to browser security restrictions. Submit your email to receive a detailed manual SEO audit report within 24 hours.'\r\n            };\r\n        }\r\n\r\n        function analyzeDomain(url) {\r\n            try {\r\n                const urlObj = new URL(url);\r\n                return {\r\n                    domain: urlObj.hostname,\r\n                    hasWWW: urlObj.hostname.startsWith('www.'),\r\n                    protocol: urlObj.protocol.replace(':', '')\r\n                };\r\n            } catch {\r\n                return null;\r\n            }\r\n        }\r\n\r\n        function checkTitle(doc) {\r\n            const title = doc.querySelector('title')?.textContent || '';\r\n            const length = title.length;\r\n            \r\n            if (!title) {\r\n                return { status: 'fail', title: 'Title Tag', description: 'No title tag found', value: 'Missing' };\r\n            }\r\n            \r\n            if (length < 30) {\r\n                return { status: 'warning', title: 'Title Tag', description: 'Title is too short (< 30 characters)', value: `${length} characters: \"${title}\"` };\r\n            }\r\n            \r\n            if (length > 60) {\r\n                return { status: 'warning', title: 'Title Tag', description: 'Title is too long (> 60 characters)', value: `${length} characters: \"${title}\"` };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Title Tag', description: 'Title length is optimal', value: `${length} characters: \"${title}\"` };\r\n        }\r\n\r\n        function checkDescription(doc) {\r\n            const meta = doc.querySelector('meta[name=\"description\"]');\r\n            const description = meta?.getAttribute('content') || '';\r\n            const length = description.length;\r\n            \r\n            if (!description) {\r\n                return { status: 'fail', title: 'Meta Description', description: 'No meta description found', value: 'Missing' };\r\n            }\r\n            \r\n            if (length < 120) {\r\n                return { status: 'warning', title: 'Meta Description', description: 'Description is too short (< 120 characters)', value: `${length} characters` };\r\n            }\r\n            \r\n            if (length > 160) {\r\n                return { status: 'warning', title: 'Meta Description', description: 'Description is too long (> 160 characters)', value: `${length} characters` };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Meta Description', description: 'Description length is optimal', value: `${length} characters` };\r\n        }\r\n\r\n        function checkHeadings(doc) {\r\n            const h1s = doc.querySelectorAll('h1');\r\n            \r\n            if (h1s.length === 0) {\r\n                return { status: 'fail', title: 'H1 Heading', description: 'No H1 heading found', value: '0 H1 tags' };\r\n            }\r\n            \r\n            if (h1s.length > 1) {\r\n                return { status: 'warning', title: 'H1 Heading', description: 'Multiple H1 headings found', value: `${h1s.length} H1 tags` };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'H1 Heading', description: 'Single H1 heading found', value: h1s[0].textContent.substring(0, 50) };\r\n        }\r\n\r\n        function checkImages(doc) {\r\n            const images = doc.querySelectorAll('img');\r\n            const imagesWithoutAlt = Array.from(images).filter(img => !img.hasAttribute('alt'));\r\n            \r\n            if (imagesWithoutAlt.length === 0) {\r\n                return { status: 'pass', title: 'Image Alt Text', description: 'All images have alt text', value: `${images.length} images checked` };\r\n            }\r\n            \r\n            return { status: 'warning', title: 'Image Alt Text', description: `${imagesWithoutAlt.length} images missing alt text`, value: `${imagesWithoutAlt.length}\/${images.length} need alt text` };\r\n        }\r\n\r\n        function checkLinks(doc) {\r\n            const links = doc.querySelectorAll('a[href]');\r\n            const externalLinks = Array.from(links).filter(link => {\r\n                const href = link.getAttribute('href');\r\n                return href && (href.startsWith('http:\/\/') || href.startsWith('https:\/\/'));\r\n            });\r\n            \r\n            return { status: 'pass', title: 'Links', description: 'Link structure analyzed', value: `${links.length} total, ${externalLinks.length} external` };\r\n        }\r\n\r\n        function checkMobile(doc) {\r\n            const viewport = doc.querySelector('meta[name=\"viewport\"]');\r\n            \r\n            if (!viewport) {\r\n                return { status: 'fail', title: 'Mobile Optimization', description: 'No viewport meta tag found', value: 'Not mobile-friendly' };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Mobile Optimization', description: 'Viewport meta tag found', value: viewport.getAttribute('content') };\r\n        }\r\n\r\n        function checkHTTPS(url) {\r\n            const isHTTPS = url.startsWith('https:\/\/');\r\n            \r\n            if (!isHTTPS) {\r\n                return { status: 'fail', title: 'HTTPS', description: 'Site is not using HTTPS', value: 'HTTP only' };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'HTTPS', description: 'Site is using secure HTTPS', value: 'Secure connection' };\r\n        }\r\n\r\n        function checkPerformance(html) {\r\n            const size = new Blob([html]).size;\r\n            const sizeKB = (size \/ 1024).toFixed(2);\r\n            \r\n            if (size > 500000) {\r\n                return { status: 'warning', title: 'Page Size', description: 'Page is quite large', value: `${sizeKB} KB` };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Page Size', description: 'Page size is reasonable', value: `${sizeKB} KB` };\r\n        }\r\n\r\n        function checkKeywords(doc) {\r\n            const metaKeywords = doc.querySelector('meta[name=\"keywords\"]');\r\n            \r\n            if (!metaKeywords) {\r\n                return { status: 'warning', title: 'Meta Keywords', description: 'No meta keywords found (optional)', value: 'Not specified' };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Meta Keywords', description: 'Meta keywords found', value: metaKeywords.getAttribute('content').substring(0, 50) };\r\n        }\r\n\r\n        function checkCanonical(doc) {\r\n            const canonical = doc.querySelector('link[rel=\"canonical\"]');\r\n            \r\n            if (!canonical) {\r\n                return { status: 'warning', title: 'Canonical URL', description: 'No canonical link found', value: 'Not specified' };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Canonical URL', description: 'Canonical link found', value: canonical.getAttribute('href') };\r\n        }\r\n\r\n        function checkSchema(doc) {\r\n            const schemas = doc.querySelectorAll('script[type=\"application\/ld+json\"]');\r\n            \r\n            if (schemas.length === 0) {\r\n                return { status: 'warning', title: 'Structured Data', description: 'No schema markup found', value: 'Missing structured data' };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Structured Data', description: 'Schema markup detected', value: `${schemas.length} schema(s) found` };\r\n        }\r\n\r\n        function checkOpenGraph(doc) {\r\n            const ogTitle = doc.querySelector('meta[property=\"og:title\"]');\r\n            const ogDescription = doc.querySelector('meta[property=\"og:description\"]');\r\n            const ogImage = doc.querySelector('meta[property=\"og:image\"]');\r\n            \r\n            const hasOG = ogTitle && ogDescription;\r\n            \r\n            if (!hasOG) {\r\n                return { status: 'warning', title: 'Open Graph Tags', description: 'Missing Open Graph metadata', value: 'Incomplete social sharing setup' };\r\n            }\r\n            \r\n            if (!ogImage) {\r\n                return { status: 'warning', title: 'Open Graph Tags', description: 'Open Graph tags present but missing image', value: 'Add og:image for better sharing' };\r\n            }\r\n            \r\n            return { status: 'pass', title: 'Open Graph Tags', description: 'Full Open Graph metadata found', value: 'Optimized for social sharing' };\r\n        }\r\n\r\n        function displayLockedRecommendations(freeChecks, premiumChecks) {\r\n            const recommendations = document.getElementById('recommendations');\r\n            const freeIssues = Object.values(freeChecks).filter(c => c.status !== 'pass');\r\n            \r\n            let recommendationsHTML = '<h2>Recommendations<\/h2>';\r\n            \r\n            if (freeIssues.length > 0) {\r\n                freeIssues.forEach(issue => {\r\n                    recommendationsHTML += `\r\n                        <div class=\"recommendation-item\">\r\n                            <strong>${issue.title}:<\/strong> ${issue.description}\r\n                        <\/div>\r\n                    `;\r\n                });\r\n            }\r\n            \r\n            \/\/ Add premium recommendations preview\r\n            recommendationsHTML += `\r\n                <div class=\"recommendation-item\" style=\"border-left-color: var(--accent-gold); background: var(--bg-secondary); opacity: 0.6;\">\r\n                    <strong>\ud83d\udd12 Premium Insights:<\/strong> Unlock full report to see detailed recommendations for mobile optimization, performance improvements, structured data, and more...\r\n                <\/div>\r\n            `;\r\n            \r\n            recommendations.innerHTML = recommendationsHTML;\r\n        }\r\n\r\n        function unlockPremiumChecks() {\r\n            if (!window.premiumChecksData) return;\r\n            \r\n            const { premiumChecks, fullScore } = window.premiumChecksData;\r\n            \r\n            \/\/ Update score to full score\r\n            const scoreCircle = document.getElementById('scoreCircle');\r\n            const scoreValue = document.getElementById('scoreValue');\r\n            const scoreDescription = document.getElementById('scoreDescription');\r\n            \r\n            let color, description;\r\n            if (fullScore >= 90) {\r\n                color = 'var(--accent-green)';\r\n                description = 'Excellent! Your SEO is in great shape.';\r\n            } else if (fullScore >= 70) {\r\n                color = 'var(--accent-gold)';\r\n                description = 'Good! Some improvements can be made.';\r\n            } else if (fullScore >= 50) {\r\n                color = 'var(--accent-gold)';\r\n                description = 'Fair. Several issues need attention.';\r\n            } else {\r\n                color = 'var(--accent-red)';\r\n                description = 'Needs work. Focus on these critical issues.';\r\n            }\r\n            \r\n            scoreCircle.style.setProperty('--score-color', color);\r\n            scoreCircle.style.setProperty('--score-percent', `${fullScore}%`);\r\n            scoreValue.textContent = fullScore;\r\n            scoreValue.style.color = color;\r\n            scoreDescription.textContent = description + ' (Full Analysis)';\r\n            \r\n            \/\/ Add premium checks to the grid\r\n            const checksGrid = document.getElementById('checksGrid');\r\n            \r\n            \/\/ Add premium section header\r\n            const premiumHeader = document.createElement('h3');\r\n            premiumHeader.style.cssText = 'grid-column: 1\/-1; font-family: Montserrat, sans-serif; color: var(--accent-gold); font-size: 1.2rem; margin: 2rem 0 0.5rem 0;';\r\n            premiumHeader.textContent = '\ud83d\udd13 Premium Analysis Unlocked';\r\n            checksGrid.appendChild(premiumHeader);\r\n            \r\n            \/\/ Add premium checks\r\n            for (const check of Object.values(premiumChecks)) {\r\n                const checkItem = document.createElement('div');\r\n                checkItem.className = 'check-item';\r\n                checkItem.style.animation = 'fadeInUp 0.4s ease';\r\n                checkItem.innerHTML = `\r\n                    <div class=\"check-icon ${check.status}\">\r\n                        ${check.status === 'pass' ? '\u2713' : check.status === 'warning' ? '\u26a0' : '\u2717'}\r\n                    <\/div>\r\n                    <div class=\"check-content\">\r\n                        <div class=\"check-title\">${check.title}<\/div>\r\n                        <div class=\"check-description\">${check.description}<\/div>\r\n                        ${check.value ? `<div class=\"check-value\">${check.value}<\/div>` : ''}\r\n                    <\/div>\r\n                `;\r\n                checksGrid.appendChild(checkItem);\r\n            }\r\n            \r\n            \/\/ Remove the unlock prompt\r\n            const unlockPrompt = checksGrid.querySelector('[style*=\"dashed\"]');\r\n            if (unlockPrompt) {\r\n                unlockPrompt.remove();\r\n            }\r\n            \r\n            \/\/ Update recommendations with full details\r\n            const recommendations = document.getElementById('recommendations');\r\n            const allChecks = {...window.premiumChecksData.freeChecks, ...premiumChecks};\r\n            const allIssues = Object.values(allChecks).filter(c => c.status !== 'pass');\r\n            \r\n            let recommendationsHTML = '<h2>Full Recommendations<\/h2>';\r\n            \r\n            if (allIssues.length > 0) {\r\n                allIssues.forEach(issue => {\r\n                    recommendationsHTML += `\r\n                        <div class=\"recommendation-item\">\r\n                            <strong>${issue.title}:<\/strong> ${issue.description}\r\n                        <\/div>\r\n                    `;\r\n                });\r\n            } else {\r\n                recommendationsHTML = '<h2>Congratulations!<\/h2><p>No major issues found. Keep up the good work!<\/p>';\r\n            }\r\n            \r\n            recommendations.innerHTML = recommendationsHTML;\r\n        }\r\n\r\n        function calculateScore(checks) {\r\n            let totalChecks = 0;\r\n            let passedChecks = 0;\r\n            \r\n            for (const check of Object.values(checks)) {\r\n                totalChecks++;\r\n                if (check.status === 'pass') {\r\n                    passedChecks++;\r\n                } else if (check.status === 'warning') {\r\n                    passedChecks += 0.5;\r\n                }\r\n            }\r\n            \r\n            return Math.round((passedChecks \/ totalChecks) * 100);\r\n        }\r\n\r\n        function displayResults(results) {\r\n            const { freeChecks, premiumChecks, freeScore, fullScore, url, isRealScan, fetchFailed, message } = results;\r\n            \r\n            \/\/ Update score circle (show free score initially)\r\n            const scoreCircle = document.getElementById('scoreCircle');\r\n            const scoreValue = document.getElementById('scoreValue');\r\n            const scoreDescription = document.getElementById('scoreDescription');\r\n            \r\n            let color, description;\r\n            const displayScore = freeScore;\r\n            \r\n            if (fetchFailed) {\r\n                color = 'var(--accent-gold)';\r\n                description = message || 'Submit your email for a detailed manual SEO audit.';\r\n            } else if (displayScore >= 90) {\r\n                color = 'var(--accent-green)';\r\n                description = 'Excellent start! Unlock full report for complete analysis.';\r\n            } else if (displayScore >= 70) {\r\n                color = 'var(--accent-gold)';\r\n                description = 'Good foundation! See premium checks for more insights.';\r\n            } else if (displayScore >= 50) {\r\n                color = 'var(--accent-gold)';\r\n                description = 'Needs attention. Unlock full report for detailed fixes.';\r\n            } else {\r\n                color = 'var(--accent-red)';\r\n                description = 'Critical issues found. Get full report for solutions.';\r\n            }\r\n            \r\n            scoreCircle.style.setProperty('--score-color', color);\r\n            scoreCircle.style.setProperty('--score-percent', `${displayScore}%`);\r\n            scoreValue.textContent = displayScore;\r\n            scoreValue.style.color = color;\r\n            scoreDescription.textContent = description;\r\n            \r\n            \/\/ Add scan status indicator\r\n            if (fetchFailed) {\r\n                scoreDescription.innerHTML = description + '<br><small style=\"color: var(--accent-gold); font-size: 0.85em; margin-top: 0.5rem; display: block;\">\ud83d\udce7 Submit your email below for a detailed manual audit<\/small>';\r\n            } else if (isRealScan) {\r\n                scoreDescription.innerHTML = description + '<br><small style=\"color: var(--accent-green); font-size: 0.85em;\">\u2713 Real-time scan complete<\/small>';\r\n            } else {\r\n                scoreDescription.textContent = description;\r\n            }\r\n            \r\n            \/\/ Display FREE checks\r\n            const checksGrid = document.getElementById('checksGrid');\r\n            checksGrid.innerHTML = '<h3 style=\"grid-column: 1\/-1; font-family: Montserrat, sans-serif; color: var(--accent-gold); font-size: 1.2rem; margin-bottom: 0.5rem;\">Free Analysis<\/h3>';\r\n            \r\n            for (const check of Object.values(freeChecks)) {\r\n                const checkItem = document.createElement('div');\r\n                checkItem.className = 'check-item';\r\n                checkItem.innerHTML = `\r\n                    <div class=\"check-icon ${check.status}\">\r\n                        ${check.status === 'pass' ? '\u2713' : check.status === 'warning' ? '\u26a0' : '\u2717'}\r\n                    <\/div>\r\n                    <div class=\"check-content\">\r\n                        <div class=\"check-title\">${check.title}<\/div>\r\n                        <div class=\"check-description\">${check.description}<\/div>\r\n                        ${check.value ? `<div class=\"check-value\">${check.value}<\/div>` : ''}\r\n                    <\/div>\r\n                `;\r\n                checksGrid.appendChild(checkItem);\r\n            }\r\n            \r\n            \/\/ Add \"unlock for more\" message\r\n            const unlockPrompt = document.createElement('div');\r\n            unlockPrompt.style.cssText = 'grid-column: 1\/-1; text-align: center; padding: 2rem; background: var(--bg-tertiary); border-radius: 8px; margin-top: 1rem; border: 2px dashed var(--accent-gold);';\r\n            unlockPrompt.innerHTML = `\r\n                <div style=\"font-family: Montserrat, sans-serif; color: var(--accent-gold); font-size: 1.3rem; margin-bottom: 0.5rem;\">\r\n                    \ud83d\udd12 ${Object.keys(premiumChecks).length} Premium Checks Locked\r\n                <\/div>\r\n                <div style=\"color: var(--text-secondary); margin-bottom: 1rem;\">\r\n                    Images \u2022 Links \u2022 Mobile \u2022 Performance \u2022 Schema \u2022 Open Graph \u2022 and more\r\n                <\/div>\r\n                <button class=\"btn\" onclick=\"showEmailGate()\" style=\"display: inline-block;\">\r\n                    Unlock Full Report\r\n                <\/button>\r\n            `;\r\n            checksGrid.appendChild(unlockPrompt);\r\n            \r\n            \/\/ Store premium checks for later unlock\r\n            window.premiumChecksData = { premiumChecks, fullScore, freeChecks };\r\n            \r\n            \/\/ Display locked recommendations section\r\n            displayLockedRecommendations(freeChecks, premiumChecks);\r\n            \r\n            \/\/ Show results\r\n            document.getElementById('results').classList.add('active');\r\n        }\r\n\r\n        \/\/ Allow Enter key to submit\r\n        document.getElementById('urlInput').addEventListener('keypress', (e) => {\r\n            if (e.key === 'Enter') {\r\n                scanSite();\r\n            }\r\n        });\r\n\r\n        function unlockReportWithPlugin() {\r\n            \/\/ Hide email gate\r\n            document.getElementById('emailGate').classList.remove('active');\r\n            \r\n            \/\/ Unlock the content\r\n            const lockedSection = document.getElementById('lockedSection');\r\n            lockedSection.classList.remove('locked-section');\r\n            const blurContent = lockedSection.querySelector('.blur-content');\r\n            if (blurContent) {\r\n                blurContent.classList.remove('blur-content');\r\n            }\r\n            const unlockBadge = lockedSection.querySelector('.unlock-badge');\r\n            if (unlockBadge) {\r\n                unlockBadge.remove();\r\n            }\r\n            \r\n            \/\/ Unlock premium checks\r\n            unlockPremiumChecks();\r\n            \r\n            \/\/ Save unlock state\r\n            localStorage.setItem('seo_report_unlocked', 'true');\r\n        }\r\n\r\n        \/\/ Listen for Mailchimp for WordPress form submission success\r\n        document.addEventListener('mc4wp-form-success', function(event) {\r\n            console.log('Mailchimp form submitted successfully');\r\n            unlockReportWithPlugin();\r\n        });\r\n\r\n        function showEmailGate() {\r\n            document.getElementById('emailGate').classList.add('active');\r\n        }\r\n\r\n        function closeEmailGate() {\r\n            document.getElementById('emailGate').classList.remove('active');\r\n        }\r\n\r\n        async function submitEmailAndUnlock(event) {\r\n            event.preventDefault();\r\n            \r\n            const email = document.getElementById('emailInput').value;\r\n            const scannedUrl = document.getElementById('urlInput').value;\r\n            const submitButton = event.target.querySelector('button[type=\"submit\"]');\r\n            \r\n            \/\/ Disable button and show loading\r\n            submitButton.disabled = true;\r\n            submitButton.textContent = 'Sending...';\r\n            \r\n            console.log('\ud83d\udce7 Submitting email:', email);\r\n            \r\n            \/\/ CONFIGURE THIS: Set the path to your PHP script\r\n            \/\/ If using WordPress, typically: '\/wp-content\/themes\/your-theme\/mailchimp-subscribe.php'\r\n            const PHP_SCRIPT_URL = '\/sandbox\/mailchimp-subscribe.php';\r\n            \r\n            try {\r\n                const response = await fetch(PHP_SCRIPT_URL, {\r\n                    method: 'POST',\r\n                    headers: { 'Content-Type': 'application\/json' },\r\n                    body: JSON.stringify({ \r\n                        email: email,\r\n                        website: scannedUrl\r\n                    })\r\n                });\r\n                \r\n                const result = await response.json();\r\n                \r\n                if (result.success) {\r\n                    console.log('\u2705 Email successfully sent to Mailchimp!');\r\n                    \/\/ Unlock the report\r\n                    unlockReportWithPlugin();\r\n                } else {\r\n                    console.error('\u274c Mailchimp error:', result.message);\r\n                    alert('There was an error: ' + result.message);\r\n                    submitButton.disabled = false;\r\n                    submitButton.textContent = 'Unlock Full Report';\r\n                }\r\n                \r\n            } catch (error) {\r\n                console.error('\u274c Network error:', error);\r\n                alert('Unable to connect. Please check your internet connection.');\r\n                submitButton.disabled = false;\r\n                submitButton.textContent = 'Unlock Full Report';\r\n            }\r\n        }\r\n\r\n        \/\/ Note: localStorage unlock removed to ensure email is required every time\r\n        \/\/ If you want reports to stay unlocked after page reload, uncomment below:\r\n        \/*\r\n        window.addEventListener('DOMContentLoaded', () => {\r\n            if (localStorage.getItem('seo_report_unlocked') === 'true') {\r\n                const lockedSection = document.getElementById('lockedSection');\r\n                if (lockedSection) {\r\n                    lockedSection.classList.remove('locked-section');\r\n                    const blurContent = lockedSection.querySelector('.blur-content');\r\n                    if (blurContent) {\r\n                        blurContent.classList.remove('blur-content');\r\n                    }\r\n                    const unlockBadge = lockedSection.querySelector('.unlock-badge');\r\n                    if (unlockBadge) {\r\n                        unlockBadge.remove();\r\n                    }\r\n                }\r\n            }\r\n        });\r\n        *\/\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6823927 elementor-widget elementor-widget-spacer\" data-id=\"6823927\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a885493 e-flex e-con-boxed e-con e-parent\" data-id=\"a885493\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ab46c83 elementor-widget elementor-widget-spacer\" data-id=\"ab46c83\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bdfbb95 e-flex e-con-boxed e-con e-parent\" data-id=\"bdfbb95\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1fee391 elementor-widget elementor-widget-menu-anchor\" data-id=\"1fee391\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"speed\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a1dd5b elementor-widget elementor-widget-spacer\" data-id=\"4a1dd5b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb3a340 elementor-widget elementor-widget-html\" data-id=\"cb3a340\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Website Speed Test - Performance Analysis Tool<\/title>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:wght@300;400;600;700&family=Montserrat:wght@300;400;600;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n        :root {\r\n            --bg-primary: #f8f8ff;\r\n            --bg-secondary: #132043;\r\n            --bg-tertiary: #1a2d54;\r\n            --text-primary: #f5f5f5;\r\n            --text-secondary: #a8b2c1;\r\n            --accent-gold: #d4af37;\r\n            --accent-gold-dark: #b8941f;\r\n            --accent-navy: #1e3a5f;\r\n            --accent-navy-light: #2d5080;\r\n            --accent-green: #3fb950;\r\n            --accent-red: #f85149;\r\n            --accent-orange: #ff9500;\r\n            \r\n        }\r\n\r\n        * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        body {\r\n            font-family: 'Cormorant Garamond', serif;\r\n            background: var(--bg-primary);\r\n            color: var(--text-primary);\r\n            line-height: 1.6;\r\n            min-height: 100vh;\r\n        }\r\n\r\n        .container {\r\n            max-width: 900px;\r\n            margin: 0 auto;\r\n            padding: 3rem 1.5rem;\r\n        }\r\n\r\n        .header {\r\n            text-align: center;\r\n            margin-bottom: 3rem;\r\n            animation: fadeInDown 0.8s ease;\r\n        }\r\n\r\n        .header h1 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 2.5rem;\r\n            font-weight: 700;\r\n            margin-bottom: 0.5rem;\r\n            background: linear-gradient(135deg, var(--accent-gold), var(--accent-gold-dark));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .header p {\r\n            font-size: 1.2rem;\r\n            color: var(--text-secondary);\r\n            font-weight: 300;\r\n        }\r\n\r\n        .status-badge {\r\n            margin-top: 1rem;\r\n            display: inline-block;\r\n            background: rgba(212, 175, 55, 0.15);\r\n            border: 1px solid var(--accent-gold);\r\n            border-radius: 20px;\r\n            padding: 0.4rem 1rem;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.85rem;\r\n            color: var(--accent-gold);\r\n        }\r\n\r\n        .test-form {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 12px;\r\n            padding: 2rem;\r\n            margin-bottom: 2rem;\r\n            animation: fadeInUp 0.8s ease 0.2s backwards;\r\n        }\r\n\r\n        .input-group {\r\n            display: flex;\r\n            gap: 1rem;\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        input[type=\"url\"] {\r\n            flex: 1;\r\n            padding: 1rem 1.25rem;\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 8px;\r\n            color: var(--text-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.95rem;\r\n            font-weight: 300;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        input[type=\"url\"]:focus {\r\n            outline: none;\r\n            border-color: var(--accent-gold);\r\n            box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);\r\n        }\r\n\r\n        input[type=\"url\"]::placeholder {\r\n            color: var(--text-secondary);\r\n            opacity: 0.6;\r\n        }\r\n\r\n        .btn {\r\n            padding: 1rem 2rem;\r\n            background: var(--accent-gold);\r\n            border: none;\r\n            border-radius: 8px;\r\n            color: var(--bg-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 600;\r\n            font-size: 0.95rem;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n        }\r\n\r\n        .btn:hover {\r\n            background: var(--accent-gold-dark);\r\n            transform: translateY(-2px);\r\n            box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);\r\n        }\r\n\r\n        .btn:disabled {\r\n            opacity: 0.5;\r\n            cursor: not-allowed;\r\n            transform: none;\r\n        }\r\n\r\n        .loading {\r\n            display: none;\r\n            text-align: center;\r\n            padding: 3rem 2rem;\r\n            animation: fadeIn 0.3s ease;\r\n        }\r\n\r\n        .loading.active {\r\n            display: block;\r\n        }\r\n\r\n        .loading-content {\r\n            max-width: 400px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .spinner-container {\r\n            position: relative;\r\n            width: 120px;\r\n            height: 120px;\r\n            margin: 0 auto 2rem;\r\n        }\r\n\r\n        .spinner {\r\n            width: 120px;\r\n            height: 120px;\r\n            border: 4px solid var(--border);\r\n            border-top-color: var(--accent-gold);\r\n            border-radius: 50%;\r\n            animation: spin 1s linear infinite;\r\n        }\r\n\r\n        .loading-text {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 1.1rem;\r\n            color: var(--accent-gold);\r\n            margin-bottom: 0.5rem;\r\n        }\r\n\r\n        .loading-subtext {\r\n            font-size: 0.95rem;\r\n            color: var(--text-secondary);\r\n        }\r\n\r\n        .results {\r\n            display: none;\r\n            animation: fadeInUp 0.6s ease;\r\n        }\r\n\r\n        .results.active {\r\n            display: block;\r\n        }\r\n\r\n        .speed-score-card {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 12px;\r\n            padding: 2.5rem;\r\n            margin-bottom: 2rem;\r\n            text-align: center;\r\n        }\r\n\r\n        .score-display {\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            gap: 3rem;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .score-circle {\r\n            width: 160px;\r\n            height: 160px;\r\n            border-radius: 50%;\r\n            display: flex;\r\n            flex-direction: column;\r\n            align-items: center;\r\n            justify-content: center;\r\n            position: relative;\r\n            background: var(--bg-tertiary);\r\n            border: 3px solid var(--border);\r\n        }\r\n\r\n        .score-value {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 3rem;\r\n            font-weight: 800;\r\n            line-height: 1;\r\n        }\r\n\r\n        .score-unit {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.9rem;\r\n            color: var(--text-secondary);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n            margin-top: 0.25rem;\r\n        }\r\n\r\n        .speed-label {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 1.5rem;\r\n            font-weight: 600;\r\n            margin-top: 1rem;\r\n        }\r\n\r\n        .speed-description {\r\n            font-size: 1.1rem;\r\n            color: var(--text-secondary);\r\n            margin-top: 0.5rem;\r\n        }\r\n\r\n        .metrics-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\r\n            gap: 1rem;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .metric-card {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 8px;\r\n            padding: 1.5rem;\r\n            text-align: center;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .metric-card:hover {\r\n            border-color: var(--accent-gold);\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .metric-value {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 2rem;\r\n            font-weight: 700;\r\n            color: var(--accent-gold);\r\n            margin-bottom: 0.5rem;\r\n        }\r\n\r\n        .metric-label {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.9rem;\r\n            color: var(--text-secondary);\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.1em;\r\n        }\r\n\r\n        .recommendations {\r\n            background: var(--bg-secondary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 12px;\r\n            padding: 2rem;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .recommendations h2 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 1.5rem;\r\n            margin-bottom: 1.5rem;\r\n            color: var(--accent-gold);\r\n        }\r\n\r\n        .recommendation-item {\r\n            padding: 1rem;\r\n            margin-bottom: 1rem;\r\n            background: var(--bg-tertiary);\r\n            border-left: 3px solid var(--accent-gold);\r\n            border-radius: 4px;\r\n        }\r\n\r\n        .recommendation-item:last-child {\r\n            margin-bottom: 0;\r\n        }\r\n\r\n        .recommendation-item strong {\r\n            font-family: 'Montserrat', sans-serif;\r\n            color: var(--text-primary);\r\n        }\r\n\r\n        .email-gate {\r\n            display: none;\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: rgba(10, 22, 40, 0.95);\r\n            z-index: 1000;\r\n            align-items: center;\r\n            justify-content: center;\r\n            animation: fadeIn 0.3s ease;\r\n        }\r\n\r\n        .email-gate.active {\r\n            display: flex;\r\n        }\r\n\r\n        .email-gate-content {\r\n            background: var(--bg-secondary);\r\n            border: 2px solid var(--accent-gold);\r\n            border-radius: 12px;\r\n            padding: 3rem 2.5rem;\r\n            max-width: 500px;\r\n            width: 90%;\r\n            text-align: center;\r\n            animation: slideUp 0.4s ease;\r\n            position: relative;\r\n        }\r\n\r\n        .close-btn {\r\n            position: absolute;\r\n            top: 1rem;\r\n            right: 1rem;\r\n            background: transparent;\r\n            border: none;\r\n            color: var(--text-secondary);\r\n            cursor: pointer;\r\n            padding: 0.5rem;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            transition: all 0.3s ease;\r\n            border-radius: 50%;\r\n        }\r\n\r\n        .close-btn:hover {\r\n            background: var(--bg-tertiary);\r\n            color: var(--accent-gold);\r\n            transform: rotate(90deg);\r\n        }\r\n\r\n        .close-btn svg {\r\n            width: 24px;\r\n            height: 24px;\r\n        }\r\n\r\n        .email-gate h2 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 2rem;\r\n            color: var(--accent-gold);\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .email-gate p {\r\n            font-size: 1.1rem;\r\n            color: var(--text-secondary);\r\n            margin-bottom: 2rem;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        .email-form {\r\n            display: flex;\r\n            flex-direction: column;\r\n            gap: 1rem;\r\n        }\r\n\r\n        input[type=\"email\"] {\r\n            padding: 1rem 1.25rem;\r\n            background: var(--bg-tertiary);\r\n            border: 1px solid var(--border);\r\n            border-radius: 8px;\r\n            color: var(--text-primary);\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 0.95rem;\r\n            font-weight: 300;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        input[type=\"email\"]:focus {\r\n            outline: none;\r\n            border-color: var(--accent-gold);\r\n            box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15);\r\n        }\r\n\r\n        input[type=\"email\"]::placeholder {\r\n            color: var(--text-secondary);\r\n            opacity: 0.6;\r\n        }\r\n\r\n        .btn-full {\r\n            width: 100%;\r\n        }\r\n\r\n        \/* Locked Section Styles *\/\r\n        .locked-section {\r\n            position: relative;\r\n            margin-top: 2rem;\r\n        }\r\n\r\n        .blur-content {\r\n            filter: blur(5px);\r\n            pointer-events: none;\r\n            user-select: none;\r\n            position: relative;\r\n        }\r\n\r\n        .blur-content::after {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: 0;\r\n            right: 0;\r\n            bottom: 0;\r\n            background: linear-gradient(to bottom, \r\n                rgba(10, 22, 40, 0.3) 0%, \r\n                rgba(10, 22, 40, 0.7) 50%,\r\n                rgba(10, 22, 40, 0.95) 100%);\r\n            pointer-events: none;\r\n        }\r\n\r\n        .unlock-badge {\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            z-index: 10;\r\n            background: var(--accent-gold);\r\n            color: var(--bg-primary);\r\n            padding: 1.25rem 2rem;\r\n            border-radius: 50px;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 700;\r\n            font-size: 1.1rem;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            box-shadow: 0 4px 20px rgba(212, 175, 55, 0.4);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.75rem;\r\n            text-transform: uppercase;\r\n            letter-spacing: 0.05em;\r\n        }\r\n\r\n        .unlock-badge:hover {\r\n            transform: translate(-50%, -50%) scale(1.05);\r\n            box-shadow: 0 6px 25px rgba(212, 175, 55, 0.5);\r\n        }\r\n\r\n        .unlock-badge svg {\r\n            width: 20px;\r\n            height: 20px;\r\n        }\r\n\r\n        @keyframes fadeInDown {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(-20px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(20px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @keyframes fadeIn {\r\n            from { opacity: 0; }\r\n            to { opacity: 1; }\r\n        }\r\n\r\n        @keyframes spin {\r\n            to { transform: rotate(360deg); }\r\n        }\r\n\r\n        @keyframes slideUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .header h1 {\r\n                font-size: 2rem;\r\n            }\r\n\r\n            .input-group {\r\n                flex-direction: column;\r\n            }\r\n\r\n            .score-display {\r\n                flex-direction: column;\r\n                gap: 1.5rem;\r\n            }\r\n\r\n            .score-circle {\r\n                width: 140px;\r\n                height: 140px;\r\n            }\r\n\r\n            .score-value {\r\n                font-size: 2.5rem;\r\n            }\r\n\r\n            .metrics-grid {\r\n                grid-template-columns: 1fr;\r\n            }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <div class=\"header\">\r\n            <h1>SPEED TEST<\/h1>\r\n            <p>Analyze your website's loading performance<\/p>\r\n            <div class=\"status-badge\">\r\n                \u26a1 Real-time testing \u2022 Detailed insights \u2022 Performance tips\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"test-form\">\r\n            <div class=\"input-group\">\r\n                <input type=\"url\" id=\"speedTestUrlInput\" placeholder=\"https:\/\/yourwebsite.com\" required>\r\n                <button class=\"btn\" id=\"speedTestButton\">Test Speed<\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"loading\" id=\"speedTestLoading\">\r\n            <div class=\"loading-content\">\r\n                <div class=\"spinner-container\">\r\n                    <div class=\"spinner\"><\/div>\r\n                <\/div>\r\n                <div class=\"loading-text\">Analyzing Performance...<\/div>\r\n                <div class=\"loading-subtext\" id=\"speedTestLoadingStatus\">Testing page speed<\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"results\" id=\"speedTestResults\">\r\n            <!-- FREE: Basic Speed Score -->\r\n            <div class=\"speed-score-card\">\r\n                <div class=\"score-display\">\r\n                    <div class=\"score-circle\" id=\"speedTest_loadTimeCircle\">\r\n                        <div class=\"score-value\" id=\"speedTest_loadTimeValue\">--<\/div>\r\n                        <div class=\"score-unit\">seconds<\/div>\r\n                    <\/div>\r\n                    <div class=\"score-circle\" id=\"speedTest_pageSizeCircle\">\r\n                        <div class=\"score-value\" id=\"speedTest_pageSizeValue\">--<\/div>\r\n                        <div class=\"score-unit\">MB<\/div>\r\n                    <\/div>\r\n                <\/div>\r\n                <div class=\"speed-label\" id=\"speedTest_speedLabel\">--<\/div>\r\n                <div class=\"speed-description\" id=\"speedTest_speedDescription\">--<\/div>\r\n            <\/div>\r\n\r\n            <!-- FREE: Basic Metrics (2 of 4) -->\r\n            <h3 style=\"font-family: 'Montserrat', sans-serif; color: var(--accent-gold); font-size: 1.2rem; margin-bottom: 1rem;\">Basic Analysis<\/h3>\r\n            <div class=\"metrics-grid\" id=\"speedTest_freeMetricsGrid\"><\/div>\r\n\r\n            <!-- LOCKED: Premium unlock prompt -->\r\n            <div style=\"grid-column: 1\/-1; text-align: center; padding: 2rem; background: var(--bg-tertiary); border-radius: 8px; margin: 2rem 0; border: 2px dashed var(--accent-gold);\">\r\n                <div style=\"font-family: 'Montserrat', sans-serif; color: var(--accent-gold); font-size: 1.3rem; margin-bottom: 0.5rem;\">\r\n                    \ud83d\udd12 Detailed Performance Insights Locked\r\n                <\/div>\r\n                <div style=\"color: var(--text-secondary); margin-bottom: 0.5rem;\">\r\n                    Resource Breakdown \u2022 Optimization Tips \u2022 Action Steps\r\n                <\/div>\r\n                <div style=\"color: var(--text-secondary); font-size: 0.9rem; font-style: italic; margin-bottom: 1rem;\">\r\n                    Click \"Unlock Full Analysis\" below to see detailed recommendations\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <!-- LOCKED: Detailed metrics and recommendations -->\r\n            <div class=\"locked-section\" id=\"speedTestLockedSection\">\r\n                <div class=\"unlock-badge\" onclick=\"showSpeedTestEmailGate()\">\r\n                    <svg fill=\"currentColor\" viewBox=\"0 0 20 20\">\r\n                        <path fill-rule=\"evenodd\" d=\"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z\" clip-rule=\"evenodd\"\/>\r\n                    <\/svg>\r\n                    Unlock Full Analysis\r\n                <\/div>\r\n                <div class=\"blur-content\">\r\n                    <h3 style=\"font-family: 'Montserrat', sans-serif; color: var(--accent-gold); font-size: 1.2rem; margin-bottom: 1rem;\">Detailed Metrics<\/h3>\r\n                    <div class=\"metrics-grid\" id=\"speedTest_premiumMetricsGrid\"><\/div>\r\n\r\n                    <div class=\"recommendations\">\r\n                        <h2>Performance Recommendations<\/h2>\r\n                        <div id=\"speedTest_recommendationsList\"><\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"email-gate\" id=\"speedTestEmailGate\">\r\n            <div class=\"email-gate-content\">\r\n                <button class=\"close-btn\" onclick=\"closeSpeedTestEmailGate()\" aria-label=\"Close\">\r\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\r\n                        <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line>\r\n                        <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line>\r\n                    <\/svg>\r\n                <\/button>\r\n                <h2>Unlock Full Analysis<\/h2>\r\n                <p>Enter your email to unlock detailed performance insights and actionable optimization recommendations.<\/p>\r\n                \r\n                <form class=\"email-form\" onsubmit=\"submitSpeedTestEmail(event)\">\r\n                    <input type=\"email\" id=\"speedTestEmailInput\" placeholder=\"your@email.com\" required>\r\n                    <p style=\"font-size: 0.85rem; color: var(--text-secondary); margin: -0.5rem 0 0.5rem 0; text-align: left;\">\r\n                        By submitting, you agree to receive marketing emails. Unsubscribe anytime.\r\n                    <\/p>\r\n                    <button type=\"submit\" class=\"btn btn-full\">Unlock Full Analysis<\/button>\r\n                <\/form>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        let isRunning = false; \/\/ Prevent multiple simultaneous runs\r\n\r\n        async function runSpeedTest() {\r\n            if (isRunning) {\r\n                console.log('Test already running, ignoring...');\r\n                return;\r\n            }\r\n            \r\n            const urlInput = document.getElementById('speedTestUrlInput');\r\n            console.log('URL Input element:', urlInput);\r\n            \r\n            if (!urlInput) {\r\n                alert('Error: Input field not found');\r\n                return;\r\n            }\r\n            \r\n            \/\/ Force get the current value\r\n            const url = urlInput.value ? urlInput.value.trim() : '';\r\n            console.log('URL Input value:', url);\r\n            \r\n            if (!url || url === '') {\r\n                alert('Please enter a URL in the input field above');\r\n                urlInput.focus(); \/\/ Focus the input so user can see it\r\n                return;\r\n            }\r\n\r\n            \/\/ Validate URL\r\n            try {\r\n                new URL(url);\r\n                console.log('URL is valid:', url);\r\n            } catch (error) {\r\n                console.log('URL validation failed:', error);\r\n                alert('Please enter a valid URL (must start with http:\/\/ or https:\/\/)');\r\n                urlInput.focus();\r\n                return;\r\n            }\r\n            \r\n            isRunning = true;\r\n\r\n            \/\/ Show loading\r\n            document.getElementById('speedTestResults').classList.remove('active');\r\n            document.getElementById('speedTestLoading').classList.add('active');\r\n\r\n            \/\/ Simulate loading stages\r\n            const stages = [\r\n                'Connecting to server...',\r\n                'Measuring load time...',\r\n                'Analyzing page size...',\r\n                'Calculating metrics...',\r\n                'Generating recommendations...'\r\n            ];\r\n\r\n            let currentStage = 0;\r\n            const stageInterval = setInterval(() => {\r\n                if (currentStage < stages.length) {\r\n                    document.getElementById('speedTestLoadingStatus').textContent = stages[currentStage];\r\n                    currentStage++;\r\n                }\r\n            }, 600);\r\n\r\n            \/\/ Run actual speed test\r\n            await new Promise(resolve => setTimeout(resolve, 3000));\r\n            clearInterval(stageInterval);\r\n\r\n            \/\/ Perform speed test\r\n            const results = await performSpeedTestAnalysis(url);\r\n\r\n            \/\/ Hide loading, show results\r\n            document.getElementById('speedTestLoading').classList.remove('active');\r\n            displaySpeedTestResults(results);\r\n            \r\n            isRunning = false; \/\/ Reset flag\r\n        }\r\n\r\n        async function performSpeedTestAnalysis(url) {\r\n            const startTime = performance.now();\r\n            \r\n            try {\r\n                \/\/ Try multiple CORS proxies\r\n                const proxies = [\r\n                    `https:\/\/api.codetabs.com\/v1\/proxy?quest=${encodeURIComponent(url)}`,\r\n                    `https:\/\/corsproxy.io\/?${encodeURIComponent(url)}`,\r\n                    `https:\/\/api.allorigins.win\/raw?url=${encodeURIComponent(url)}`\r\n                ];\r\n                \r\n                let content = null;\r\n                let proxyUsed = null;\r\n                \r\n                for (const proxyUrl of proxies) {\r\n                    try {\r\n                        console.log('Trying proxy:', proxyUrl);\r\n                        const response = await fetch(proxyUrl, {\r\n                            method: 'GET',\r\n                            headers: {\r\n                                'Accept': 'text\/html,application\/xhtml+xml'\r\n                            }\r\n                        });\r\n                        \r\n                        if (response.ok) {\r\n                            content = await response.text();\r\n                            proxyUsed = proxyUrl;\r\n                            console.log('\u2713 Successfully fetched via proxy, content length:', content.length);\r\n                            break;\r\n                        }\r\n                    } catch (error) {\r\n                        console.log('Proxy failed:', error.message);\r\n                        continue;\r\n                    }\r\n                }\r\n                \r\n                const endTime = performance.now();\r\n                const loadTime = ((endTime - startTime) \/ 1000).toFixed(2);\r\n                \r\n                if (!content) {\r\n                    console.log('All proxies failed, using simulated results');\r\n                    return getSimulatedSpeedResults(url);\r\n                }\r\n                \r\n                \/\/ Calculate page size\r\n                const pageSize = (new Blob([content]).size \/ 1024 \/ 1024).toFixed(2);\r\n                \r\n                \/\/ Analyze content\r\n                const parser = new DOMParser();\r\n                const doc = parser.parseFromString(content, 'text\/html');\r\n                \r\n                \/\/ Count resources more accurately\r\n                const images = doc.querySelectorAll('img, picture, source[type^=\"image\"]').length;\r\n                const scripts = doc.querySelectorAll('script').length;\r\n                const stylesheets = doc.querySelectorAll('link[rel=\"stylesheet\"], style').length;\r\n                \r\n                \/\/ Count background images in CSS\r\n                const allElements = doc.querySelectorAll('*');\r\n                let bgImages = 0;\r\n                allElements.forEach(el => {\r\n                    const style = el.getAttribute('style');\r\n                    if (style && (style.includes('background-image') || style.includes('background:'))) {\r\n                        bgImages++;\r\n                    }\r\n                });\r\n                \r\n                const totalImages = images + bgImages;\r\n                \r\n                console.log('Analysis complete:', {\r\n                    images: totalImages,\r\n                    scripts,\r\n                    stylesheets,\r\n                    pageSize: pageSize + 'MB'\r\n                });\r\n                \r\n                return {\r\n                    loadTime: parseFloat(loadTime),\r\n                    pageSize: parseFloat(pageSize),\r\n                    images: totalImages,\r\n                    scripts,\r\n                    stylesheets,\r\n                    url,\r\n                    isRealTest: true\r\n                };\r\n            } catch (error) {\r\n                console.error('Speed test error:', error);\r\n                return getSimulatedSpeedResults(url);\r\n            }\r\n        }\r\n\r\n        function getSimulatedSpeedResults(url) {\r\n            \/\/ Generate realistic-looking random results\r\n            const loadTime = (Math.random() * 4 + 1).toFixed(2);\r\n            const pageSize = (Math.random() * 3 + 0.5).toFixed(2);\r\n            \r\n            return {\r\n                loadTime: parseFloat(loadTime),\r\n                pageSize: parseFloat(pageSize),\r\n                images: Math.floor(Math.random() * 30 + 10),\r\n                scripts: Math.floor(Math.random() * 15 + 5),\r\n                stylesheets: Math.floor(Math.random() * 5 + 2),\r\n                url,\r\n                isRealTest: false\r\n            };\r\n        }\r\n\r\n        function displaySpeedTestResults(results) {\r\n            const { loadTime, pageSize, images, scripts, stylesheets, url, isRealTest } = results;\r\n            \r\n            \/\/ Update load time\r\n            document.getElementById('speedTest_loadTimeValue').textContent = loadTime;\r\n            const loadTimeCircle = document.getElementById('speedTest_loadTimeCircle');\r\n            \r\n            \/\/ Update page size\r\n            document.getElementById('speedTest_pageSizeValue').textContent = pageSize;\r\n            \r\n            \/\/ Determine speed rating\r\n            let speedLabel, speedDescription, speedColor;\r\n            if (loadTime < 2) {\r\n                speedLabel = '\ud83d\ude80 Excellent Speed';\r\n                speedDescription = 'Your site loads lightning fast! Unlock full analysis for optimization tips.';\r\n                speedColor = 'var(--accent-green)';\r\n            } else if (loadTime < 3) {\r\n                speedLabel = '\u2705 Good Speed';\r\n                speedDescription = 'Your site loads quickly. See detailed insights to make it even faster.';\r\n                speedColor = 'var(--accent-gold)';\r\n            } else if (loadTime < 5) {\r\n                speedLabel = '\u26a0\ufe0f Needs Improvement';\r\n                speedDescription = 'Your site could be faster. Unlock recommendations to boost performance.';\r\n                speedColor = 'var(--accent-orange)';\r\n            } else {\r\n                speedLabel = '\ud83d\udc0c Slow Loading';\r\n                speedDescription = 'Your site needs optimization. Get detailed action steps to improve speed.';\r\n                speedColor = 'var(--accent-red)';\r\n            }\r\n            \r\n            document.getElementById('speedTest_speedLabel').textContent = speedLabel;\r\n            document.getElementById('speedTest_speedDescription').textContent = speedDescription;\r\n            loadTimeCircle.querySelector('.score-value').style.color = speedColor;\r\n            \r\n            \/\/ Color page size\r\n            const pageSizeColor = pageSize < 1 ? 'var(--accent-green)' : pageSize < 2 ? 'var(--accent-gold)' : 'var(--accent-red)';\r\n            document.getElementById('speedTest_pageSizeCircle').querySelector('.score-value').style.color = pageSizeColor;\r\n            \r\n            \/\/ FREE METRICS (2 basic ones)\r\n            const freeMetricsGrid = document.getElementById('speedTest_freeMetricsGrid');\r\n            freeMetricsGrid.innerHTML = `\r\n                <div class=\"metric-card\">\r\n                    <div class=\"metric-value\">${images}<\/div>\r\n                    <div class=\"metric-label\">Total Images<\/div>\r\n                <\/div>\r\n                <div class=\"metric-card\">\r\n                    <div class=\"metric-value\">${(loadTime * 1000).toFixed(0)}ms<\/div>\r\n                    <div class=\"metric-label\">Response Time<\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            \/\/ PREMIUM METRICS (detailed breakdown)\r\n            const premiumMetricsGrid = document.getElementById('speedTest_premiumMetricsGrid');\r\n            premiumMetricsGrid.innerHTML = `\r\n                <div class=\"metric-card\">\r\n                    <div class=\"metric-value\">${scripts}<\/div>\r\n                    <div class=\"metric-label\">JavaScript Files<\/div>\r\n                <\/div>\r\n                <div class=\"metric-card\">\r\n                    <div class=\"metric-value\">${stylesheets}<\/div>\r\n                    <div class=\"metric-label\">Stylesheets<\/div>\r\n                <\/div>\r\n                <div class=\"metric-card\">\r\n                    <div class=\"metric-value\">${(pageSize * 1024).toFixed(0)}KB<\/div>\r\n                    <div class=\"metric-label\">Total Page Weight<\/div>\r\n                <\/div>\r\n                <div class=\"metric-card\">\r\n                    <div class=\"metric-value\">${Math.ceil(images \/ (pageSize || 1))}<\/div>\r\n                    <div class=\"metric-label\">Images per MB<\/div>\r\n                <\/div>\r\n            `;\r\n            \r\n            \/\/ Store data for unlock\r\n            window.speedTestData = results;\r\n            \r\n            \/\/ Generate recommendations\r\n            const recommendations = [];\r\n            \r\n            if (pageSize > 2) {\r\n                recommendations.push({\r\n                    title: 'Reduce Page Size',\r\n                    description: `Your page is ${pageSize}MB. Compress images and minify CSS\/JS to reduce load time.`\r\n                });\r\n            }\r\n            \r\n            if (images > 20) {\r\n                recommendations.push({\r\n                    title: 'Optimize Images',\r\n                    description: `You have ${images} images. Use WebP format and lazy loading to improve performance.`\r\n                });\r\n            }\r\n            \r\n            if (scripts > 10) {\r\n                recommendations.push({\r\n                    title: 'Minimize JavaScript',\r\n                    description: `You have ${scripts} scripts. Combine and minify JS files to reduce requests.`\r\n                });\r\n            }\r\n            \r\n            if (loadTime > 3) {\r\n                recommendations.push({\r\n                    title: 'Enable Caching',\r\n                    description: 'Implement browser caching to reduce load times for returning visitors.'\r\n                });\r\n            }\r\n            \r\n            if (recommendations.length === 0) {\r\n                recommendations.push({\r\n                    title: 'Great Job!',\r\n                    description: 'Your website is well-optimized. Keep monitoring performance regularly.'\r\n                });\r\n            }\r\n            \r\n            const recommendationsList = document.getElementById('speedTest_recommendationsList');\r\n            recommendationsList.innerHTML = recommendations.map(rec => `\r\n                <div class=\"recommendation-item\">\r\n                    <strong>${rec.title}:<\/strong> ${rec.description}\r\n                <\/div>\r\n            `).join('');\r\n            \r\n            \/\/ Show results\r\n            document.getElementById('speedTestResults').classList.add('active');\r\n        }\r\n\r\n        function showSpeedTestEmailGate() {\r\n            document.getElementById('speedTestEmailGate').classList.add('active');\r\n        }\r\n\r\n        function closeSpeedTestEmailGate() {\r\n            document.getElementById('speedTestEmailGate').classList.remove('active');\r\n        }\r\n\r\n        async function submitSpeedTestEmail(event) {\r\n            event.preventDefault();\r\n            \r\n            const email = document.getElementById('speedTestEmailInput').value;\r\n            const testedUrl = document.getElementById('speedTestUrlInput').value;\r\n            const submitButton = event.target.querySelector('button[type=\"submit\"]');\r\n            \r\n            submitButton.disabled = true;\r\n            submitButton.textContent = 'Sending...';\r\n            \r\n            \/\/ CONFIGURE THIS: Use the same Mailchimp PHP script from your SEO scanner\r\n            const PHP_SCRIPT_URL = '\/sandbox\/mailchimp-subscribe.php';\r\n            \r\n            try {\r\n                const response = await fetch(PHP_SCRIPT_URL, {\r\n                    method: 'POST',\r\n                    headers: { 'Content-Type': 'application\/json' },\r\n                    body: JSON.stringify({ \r\n                        email: email,\r\n                        website: testedUrl,\r\n                        tool: 'Speed Test'\r\n                    })\r\n                });\r\n                \r\n                const result = await response.json();\r\n                \r\n                if (result.success) {\r\n                    console.log('\u2705 Email successfully sent to Mailchimp!');\r\n                    \r\n                    \/\/ Unlock the locked section\r\n                    const lockedSection = document.getElementById('speedTestLockedSection');\r\n                    lockedSection.classList.remove('locked-section');\r\n                    const blurContent = lockedSection.querySelector('.blur-content');\r\n                    if (blurContent) {\r\n                        blurContent.classList.remove('blur-content');\r\n                    }\r\n                    const unlockBadge = lockedSection.querySelector('.unlock-badge');\r\n                    if (unlockBadge) {\r\n                        unlockBadge.remove();\r\n                    }\r\n                    \r\n                    closeSpeedTestEmailGate();\r\n                    \r\n                    alert('\u2705 Thank you! Full analysis unlocked.');\r\n                } else {\r\n                    alert('Error: ' + result.message);\r\n                    submitButton.disabled = false;\r\n                    submitButton.textContent = 'Unlock Full Analysis';\r\n                }\r\n                \r\n            } catch (error) {\r\n                console.error('Error:', error);\r\n                alert('Unable to send report. Please try again.');\r\n                submitButton.disabled = false;\r\n                submitButton.textContent = 'Unlock Full Analysis';\r\n            }\r\n        }\r\n\r\n        \/\/ Add click event listener to button\r\n        document.getElementById('speedTestButton').addEventListener('click', function(e) {\r\n            e.preventDefault();\r\n            runSpeedTest();\r\n        });\r\n\r\n        \/\/ Allow Enter key to submit\r\n        document.getElementById('speedTestUrlInput').addEventListener('keypress', (e) => {\r\n            if (e.key === 'Enter') {\r\n                e.preventDefault();\r\n                runSpeedTest();\r\n            }\r\n        });\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-df57144 elementor-widget elementor-widget-spacer\" data-id=\"df57144\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f2bf138 e-flex e-con-boxed e-con e-parent\" data-id=\"f2bf138\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-70508e2 elementor-widget elementor-widget-spacer\" data-id=\"70508e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f6224a2 e-flex e-con-boxed e-con e-parent\" data-id=\"f6224a2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d05674f elementor-widget elementor-widget-menu-anchor\" data-id=\"d05674f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"menu-anchor.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-menu-anchor\" id=\"image\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ae12445 elementor-widget elementor-widget-html\" data-id=\"ae12445\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Image Optimizer - Compress & Resize Images<\/title>\r\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:wght@300;400;600;700&family=Montserrat:wght@300;400;600;700&display=swap\" rel=\"stylesheet\">\r\n    <style>\r\n        :root {\r\n            --bg-primary: #f8f8ff;\r\n            --bg-secondary: #374f82;\r\n            --bg-tertiary: #1a2d54;\r\n            --text-primary: #f5f5f5;\r\n            --text-secondary: #a8b2c1;\r\n            --accent-gold: #d4af37;\r\n            --accent-gold-dark: #b8941f;\r\n            --accent-green: #3fb950;\r\n            \r\n        }\r\n\r\n        * { margin: 0; padding: 0; box-sizing: border-box; }\r\n\r\n        body {\r\n            font-family: 'Cormorant Garamond', serif;\r\n            background: var(--bg-primary);\r\n            color: var(--text-primary);\r\n            min-height: 100vh;\r\n            padding: 2rem 1rem;\r\n        }\r\n\r\n        .container { max-width: 800px; margin: 0 auto; }\r\n\r\n        h1 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-size: 2.5rem;\r\n            text-align: center;\r\n            background: linear-gradient(135deg, var(--accent-gold), var(--accent-gold-dark));\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            margin-bottom: 0.5rem;\r\n        }\r\n\r\n        .subtitle {\r\n            text-align: center;\r\n            color: var(--text-secondary);\r\n            font-size: 1.2pxrem;\r\n            margin-bottom: 2rem;\r\n        }\r\n\r\n        .upload-zone {\r\n            border: 2px dashed var(--accent-gold);\r\n            border-radius: 12px;\r\n            padding: 3rem;\r\n            text-align: center;\r\n            background: var(--bg-secondary);\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n        }\r\n\r\n        .upload-zone:hover {\r\n            background: var(--bg-tertiary);\r\n            border-color: var(--accent-gold-dark);\r\n        }\r\n\r\n        .upload-zone.dragover {\r\n            background: var(--accent-gold);\r\n            color: var(--bg-primary);\r\n        }\r\n\r\n        input[type=\"file\"] { display: none; }\r\n\r\n        .controls {\r\n            background: var(--bg-secondary);\r\n            padding: 1.5rem;\r\n            border-radius: 12px;\r\n            margin: 1.5rem 0;\r\n            display: none;\r\n        }\r\n\r\n        .controls.active { display: block; }\r\n\r\n        .control-group {\r\n            margin-bottom: 1rem;\r\n        }\r\n\r\n        .control-group label {\r\n            display: block;\r\n            font-family: 'Montserrat', sans-serif;\r\n            color: var(--accent-gold);\r\n            margin-bottom: 0.5rem;\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        input[type=\"range\"] {\r\n            width: 100%;\r\n            height: 6px;\r\n            background: var(--bg-tertiary);\r\n            border-radius: 5px;\r\n            outline: none;\r\n        }\r\n\r\n        input[type=\"range\"]::-webkit-slider-thumb {\r\n            -webkit-appearance: none;\r\n            appearance: none;\r\n            width: 20px;\r\n            height: 20px;\r\n            background: var(--accent-gold);\r\n            cursor: pointer;\r\n            border-radius: 50%;\r\n        }\r\n\r\n        .value-display {\r\n            font-family: 'Montserrat', sans-serif;\r\n            color: var(--text-primary);\r\n            font-size: 0.9rem;\r\n        }\r\n\r\n        .btn {\r\n            background: var(--accent-gold);\r\n            color: var(--bg-primary);\r\n            border: none;\r\n            padding: 1rem 2rem;\r\n            border-radius: 8px;\r\n            font-family: 'Montserrat', sans-serif;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            font-size: 0.95rem;\r\n            transition: all 0.3s ease;\r\n            display: inline-block;\r\n            margin: 0.5rem;\r\n        }\r\n\r\n        .btn:hover {\r\n            background: var(--accent-gold-dark);\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .preview {\r\n            display: none;\r\n            background: var(--bg-secondary);\r\n            padding: 1.5rem;\r\n            border-radius: 12px;\r\n            margin-top: 1.5rem;\r\n        }\r\n\r\n        .preview.active { display: block; }\r\n\r\n        .preview-grid {\r\n            display: grid;\r\n            grid-template-columns: 1fr 1fr;\r\n            gap: 1rem;\r\n            margin-top: 1rem;\r\n        }\r\n\r\n        .preview-box {\r\n            text-align: center;\r\n        }\r\n\r\n        .preview-box h3 {\r\n            font-family: 'Montserrat', sans-serif;\r\n            color: var(--accent-gold);\r\n            font-size: 1rem;\r\n            margin-bottom: 0.5rem;\r\n        }\r\n\r\n        .preview-box img {\r\n            max-width: 100%;\r\n            border-radius: 8px;\r\n            border: 1px solid var(--border);\r\n        }\r\n\r\n        .stats {\r\n            font-family: 'Montserrat', sans-serif;\r\n            color: var(--text-secondary);\r\n            font-size: 1.5rem;\r\n            margin-top: 0.5rem;\r\n        }\r\n\r\n        .savings {\r\n            color: var(--accent-green);\r\n            font-weight: 600;\r\n        }\r\n\r\n        @media (max-width: 640px) {\r\n            .preview-grid { grid-template-columns: 1fr; }\r\n            h1 { font-size: 2rem; }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n    <div class=\"container\">\r\n        <h1>IMAGE OPTIMIZER<\/h1>\r\n        <p class=\"subtitle\">Compress & resize images instantly - 100% free, no email signup required<\/p>\r\n\r\n        <div class=\"upload-zone\" id=\"uploadZone\" onclick=\"document.getElementById('fileInput').click()\">\r\n            <div style=\"font-size: 3rem; margin-bottom: 1rem;\">\ud83d\udcf8<\/div>\r\n            <div style=\"font-family: 'Montserrat', sans-serif; font-size: 1.2rem; margin-bottom: 0.5rem;\">\r\n                Drag & drop your image here\r\n            <\/div>\r\n            <div style=\"color: var(--text-secondary);\">or click to browse<\/div>\r\n            <div style=\"color: var(--text-secondary); font-size: 1rem; margin-top: 1rem;\">\r\n                Supports JPG, PNG, WebP\r\n            <\/div>\r\n            <input type=\"file\" id=\"fileInput\" accept=\"image\/*\">\r\n        <\/div>\r\n\r\n        <div class=\"controls\" id=\"controls\">\r\n            <div class=\"control-group\">\r\n                <label>Quality: <span class=\"value-display\" id=\"qualityValue\">80%<\/span><\/label>\r\n                <input type=\"range\" id=\"quality\" min=\"10\" max=\"100\" value=\"80\">\r\n            <\/div>\r\n            <div class=\"control-group\">\r\n                <label>Max Width: <span class=\"value-display\" id=\"widthValue\">1920px<\/span><\/label>\r\n                <input type=\"range\" id=\"maxWidth\" min=\"200\" max=\"3000\" value=\"1920\" step=\"100\">\r\n            <\/div>\r\n            <div style=\"text-align: center; margin-top: 1.5rem;\">\r\n                <button class=\"btn\" onclick=\"processImage()\">Optimize Image<\/button>\r\n                <button class=\"btn\" onclick=\"reset()\">Upload New<\/button>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"preview\" id=\"preview\">\r\n            <h2 style=\"font-family: 'Montserrat', sans-serif; color: var(--accent-gold); text-align: center; margin-bottom: 1rem;\">\r\n                Results\r\n            <\/h2>\r\n            <div class=\"preview-grid\">\r\n                <div class=\"preview-box\">\r\n                    <h3>Original<\/h3>\r\n                    <img decoding=\"async\" id=\"originalImg\" src=\"\" alt=\"Original\">\r\n                    <div class=\"stats\" id=\"originalStats\"><\/div>\r\n                <\/div>\r\n                <div class=\"preview-box\">\r\n                    <h3>Optimized<\/h3>\r\n                    <img decoding=\"async\" id=\"optimizedImg\" src=\"\" alt=\"Optimized\">\r\n                    <div class=\"stats\" id=\"optimizedStats\"><\/div>\r\n                <\/div>\r\n            <\/div>\r\n            <div style=\"text-align: center; margin-top: 1.5rem;\">\r\n                <button class=\"btn\" onclick=\"downloadImage()\">Download Optimized<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        let originalFile = null;\r\n        let optimizedBlob = null;\r\n\r\n        \/\/ Upload zone interactions\r\n        const uploadZone = document.getElementById('uploadZone');\r\n        const fileInput = document.getElementById('fileInput');\r\n\r\n        uploadZone.addEventListener('dragover', (e) => {\r\n            e.preventDefault();\r\n            uploadZone.classList.add('dragover');\r\n        });\r\n\r\n        uploadZone.addEventListener('dragleave', () => {\r\n            uploadZone.classList.remove('dragover');\r\n        });\r\n\r\n        uploadZone.addEventListener('drop', (e) => {\r\n            e.preventDefault();\r\n            uploadZone.classList.remove('dragover');\r\n            const file = e.dataTransfer.files[0];\r\n            if (file && file.type.startsWith('image\/')) {\r\n                handleFile(file);\r\n            }\r\n        });\r\n\r\n        fileInput.addEventListener('change', (e) => {\r\n            const file = e.target.files[0];\r\n            if (file) {\r\n                handleFile(file);\r\n            }\r\n        });\r\n\r\n        \/\/ Range sliders\r\n        document.getElementById('quality').addEventListener('input', (e) => {\r\n            document.getElementById('qualityValue').textContent = e.target.value + '%';\r\n        });\r\n\r\n        document.getElementById('maxWidth').addEventListener('input', (e) => {\r\n            document.getElementById('widthValue').textContent = e.target.value + 'px';\r\n        });\r\n\r\n        function handleFile(file) {\r\n            originalFile = file;\r\n            document.getElementById('controls').classList.add('active');\r\n            \r\n            const reader = new FileReader();\r\n            reader.onload = (e) => {\r\n                document.getElementById('originalImg').src = e.target.result;\r\n                document.getElementById('originalStats').innerHTML = `Size: ${formatFileSize(file.size)}`;\r\n            };\r\n            reader.readAsDataURL(file);\r\n        }\r\n\r\n        function processImage() {\r\n            if (!originalFile) return;\r\n\r\n            const quality = parseInt(document.getElementById('quality').value) \/ 100;\r\n            const maxWidth = parseInt(document.getElementById('maxWidth').value);\r\n\r\n            const reader = new FileReader();\r\n            reader.onload = (e) => {\r\n                const img = new Image();\r\n                img.onload = () => {\r\n                    const canvas = document.createElement('canvas');\r\n                    let width = img.width;\r\n                    let height = img.height;\r\n\r\n                    if (width > maxWidth) {\r\n                        height = (height * maxWidth) \/ width;\r\n                        width = maxWidth;\r\n                    }\r\n\r\n                    canvas.width = width;\r\n                    canvas.height = height;\r\n\r\n                    const ctx = canvas.getContext('2d');\r\n                    ctx.drawImage(img, 0, 0, width, height);\r\n\r\n                    canvas.toBlob((blob) => {\r\n                        optimizedBlob = blob;\r\n                        const url = URL.createObjectURL(blob);\r\n                        \r\n                        document.getElementById('optimizedImg').src = url;\r\n                        \r\n                        const savings = ((1 - blob.size \/ originalFile.size) * 100).toFixed(1);\r\n                        document.getElementById('optimizedStats').innerHTML = `\r\n                            Size: ${formatFileSize(blob.size)}<br>\r\n                            <span class=\"savings\">Saved ${savings}%<\/span>\r\n                        `;\r\n                        \r\n                        document.getElementById('preview').classList.add('active');\r\n                    }, 'image\/jpeg', quality);\r\n                };\r\n                img.src = e.target.result;\r\n            };\r\n            reader.readAsDataURL(originalFile);\r\n        }\r\n\r\n        function downloadImage() {\r\n            if (!optimizedBlob) return;\r\n\r\n            const url = URL.createObjectURL(optimizedBlob);\r\n            const a = document.createElement('a');\r\n            a.href = url;\r\n            a.download = 'optimized-' + (originalFile.name || 'image.jpg');\r\n            a.click();\r\n            URL.revokeObjectURL(url);\r\n        }\r\n\r\n        function reset() {\r\n            originalFile = null;\r\n            optimizedBlob = null;\r\n            document.getElementById('controls').classList.remove('active');\r\n            document.getElementById('preview').classList.remove('active');\r\n            fileInput.value = '';\r\n        }\r\n\r\n        function formatFileSize(bytes) {\r\n            if (bytes < 1024) return bytes + ' B';\r\n            if (bytes < 1024 * 1024) return (bytes \/ 1024).toFixed(1) + ' KB';\r\n            return (bytes \/ (1024 * 1024)).toFixed(1) + ' MB';\r\n        }\r\n    <\/script>\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a5aa64 elementor-widget elementor-widget-spacer\" data-id=\"2a5aa64\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4b54a56 e-flex e-con-boxed e-con e-parent\" data-id=\"4b54a56\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f4c1f3a elementor-widget elementor-widget-shortcode\" data-id=\"f4c1f3a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <div id=\"h1-scanner-wrap\">\n        <div class=\"h1s-input-row\">\n            <input type=\"url\" id=\"h1s-url\" placeholder=\"https:\/\/example.com\" autocomplete=\"off\" \/>\n            <button id=\"h1s-btn\" type=\"button\">Scan Site<\/button>\n        <\/div>\n        <p class=\"h1s-hint\">Enter any website URL \u2014 the scanner will crawl its pages and check every one for H1 tags.<\/p>\n        <div id=\"h1s-progress\" style=\"display:none;\">\n            <div class=\"h1s-progress-bar-bg\"><div class=\"h1s-progress-bar-fill\" id=\"h1s-bar\"><\/div><\/div>\n            <p class=\"h1s-progress-label\" id=\"h1s-progress-label\">Starting crawl...<\/p>\n        <\/div>\n        <div id=\"h1s-results\" style=\"display:none;\"><\/div>\n    <\/div>\n    <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d00bb31 e-con-full e-flex e-con e-parent\" data-id=\"d00bb31\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a6e5261 elementor-widget elementor-widget-spacer\" data-id=\"a6e5261\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-638abd4 e-flex e-con-boxed e-con e-parent\" data-id=\"638abd4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e1ae088 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"e1ae088\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b0d37fd e-con-full e-flex e-con e-child\" data-id=\"b0d37fd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ba59eee elementor-widget elementor-widget-icon-box\" data-id=\"ba59eee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tCOMPLETE CHECKLIST\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tComing Soon!\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-01f500e e-con-full e-flex e-con e-child\" data-id=\"01f500e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-be66c96 elementor-widget elementor-widget-icon-box\" data-id=\"be66c96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tESSENTIAL CHECKLIST\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tComing Soon!\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4b485632 e-flex e-con-boxed e-con e-parent\" data-id=\"4b485632\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3e145144 e-con-full e-flex e-con e-child\" data-id=\"3e145144\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-29173d67 e-flex e-con-boxed e-con e-child\" data-id=\"29173d67\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-22ddbb4 animated-slow elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"22ddbb4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;fadeIn&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ready to elevate your online presence?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f47a755 elementor-widget elementor-widget-text-editor\" data-id=\"f47a755\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Book a 30 minute discovery call and let&#8217;s explore whether we&#8217;re the right fit.<\/p>\n<p>What to expect:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21b43f9e elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"21b43f9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">No pressure, no hard sell - just conversation<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">I'll ask about your business, goals and vision<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">You'll learn about my process and approach<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z\"><\/path><\/svg>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">We'll determine if this is the right partnership<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6bbcbf92 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"6bbcbf92\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e907ef4 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"e907ef4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/calendly.com\/ms-tanyamatthews\/30min\" target=\"_blank\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Book a call\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-phone1\"><\/i>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/calendly.com\/ms-tanyamatthews\/30min\" target=\"_blank\" >\n\t\t\t\t\t\t\tBook a call\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tClick the link to go to Calendly\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7bbc3a9 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"7bbc3a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-email\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tPrefer email?\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\thello@tanyamatthews.com\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d56ee50 elementor-position-inline-start elementor-view-default elementor-mobile-position-block-start elementor-widget elementor-widget-icon-box\" data-id=\"d56ee50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<span  class=\"elementor-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-map-marker1\"><\/i>\t\t\t\t<\/span>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tBased in:\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tWest Grey, Ontario, Canada\n<br>\nServing clients across Canada and beyond\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-387bcce5 e-con-full e-flex e-con e-child\" data-id=\"387bcce5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6b123277 elementor-invisible elementor-widget elementor-widget-image\" data-id=\"6b123277\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;motion_fx_translateY_direction&quot;:&quot;negative&quot;,&quot;motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1.5,&quot;sizes&quot;:[]},&quot;_animation&quot;:&quot;slideInRight&quot;,&quot;motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\" data-widget_type=\"image.default\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"751\" height=\"1000\" src=\"https:\/\/tanyamatthews.com\/sandbox\/wp-content\/uploads\/2026\/02\/Tanya-office-setting-on-a-sunny-afternoon.webp\" class=\"attachment-large size-large wp-image-261\" alt=\"\" srcset=\"https:\/\/tanyamatthews.com\/sandbox\/wp-content\/uploads\/2026\/02\/Tanya-office-setting-on-a-sunny-afternoon.webp 751w, https:\/\/tanyamatthews.com\/sandbox\/wp-content\/uploads\/2026\/02\/Tanya-office-setting-on-a-sunny-afternoon-225x300.webp 225w\" sizes=\"(max-width: 751px) 100vw, 751px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9fd10b7 e-flex e-con-boxed e-con e-parent\" data-id=\"9fd10b7\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c1138f4 e-con-full e-flex e-con e-child\" data-id=\"c1138f4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-783cdb4 e-con-full e-flex e-con e-child\" data-id=\"783cdb4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-78dc946 e-flex e-con-boxed e-con e-parent\" data-id=\"78dc946\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div> \n","protected":false},"excerpt":{"rendered":"<p>Resources Form and function work best as partners. These resources deliver sophisticated website tools without the barriers \u2014 for curious visitors and professionals alike. Performance and beauty, without the gatekeeping. SEO SCANNER Analyze your website&#8217;s search optimization in real-time. Get actionable insights on meta tags, headings, mobile responsiveness, and more &#8211; then unlock detailed recommendations [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-284","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/pages\/284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/comments?post=284"}],"version-history":[{"count":233,"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/pages\/284\/revisions"}],"predecessor-version":[{"id":727,"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/pages\/284\/revisions\/727"}],"wp:attachment":[{"href":"https:\/\/tanyamatthews.com\/sandbox\/wp-json\/wp\/v2\/media?parent=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}