{"id":1579,"date":"2026-09-12T03:36:31","date_gmt":"2026-09-12T03:36:31","guid":{"rendered":"https:\/\/jwwebsites.com\/frederick-young\/?page_id=1579"},"modified":"2026-09-12T23:28:27","modified_gmt":"2026-09-12T23:28:27","slug":"carpet-cleaning","status":"publish","type":"page","link":"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/","title":{"rendered":"Carpet Cleaning"},"content":{"rendered":"<div id=\"pl-1579\"  class=\"panel-layout\" ><div id=\"pg-1579-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1579-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1579-0-0-0\" class=\"widget_text so-panel widget widget_custom_html panel-first-child panel-last-child\" data-index=\"0\" ><div class=\"textwidget custom-html-widget\"><!-- =========================================================\n     FRESHSTEP CARPET CLEANING \u2014 HOME\n     JW Websites Protected Block: ads_home\n     Self-contained \/ SiteOrigin Standard Row safe\n     ========================================================= -->\n\n<style>\n\/* =========================================================\n   ADS HOME \u2014 MASTER VARIABLES \/ SAFETY\n   ========================================================= *\/\n\n#ads-home,\n#ads-home *{\n    box-sizing:border-box;\n}\n\n#ads-home{\n    --ads-navy:#172033;\n    --ads-deep:#0d2430;\n    --ads-deeper:#071820;\n    --ads-teal:#0b7f95;\n    --ads-teal-bright:#2fb7c7;\n    --ads-teal-light:#c8edf1;\n    --ads-blue:#246b7b;\n    --ads-mist:#f4fafb;\n    --ads-line:#cfe2e6;\n    --ads-white:#ffffff;\n    --ads-max:1380px;\n\n    position:relative;\n    isolation:isolate;\n\n    width:100vw;\n    max-width:100vw;\n\n    margin-left:calc(50% - 50vw);\n    margin-right:calc(50% - 50vw);\n    margin-top:-30px;\n\n    padding:0;\n\n    overflow:hidden;\n\n    color:#1f3037;\n    background:#fff;\n    font-family:Arial,Helvetica,sans-serif;\n    line-height:1.6;\n}\n\n#ads-home img{\n    max-width:100%;\n}\n\n#ads-home a{\n    color:inherit;\n    text-decoration:none;\n}\n\n#ads-home .ads-home-breakout{\n    width:100vw;\n    max-width:100vw;\n    margin-left:calc(50% - 50vw);\n}\n\n#ads-home .ads-home-wrap{\n    width:min(var(--ads-max),calc(100% - 44px));\n    margin:0 auto;\n}\n\n\n\/* =========================================================\n   GLOBAL REVEAL MOTION\n   ========================================================= *\/\n\n#ads-home.js-motion .ads-reveal{\n    opacity:0;\n    transform:translate3d(0,34px,0);\n    transition:\n        opacity .72s ease,\n        transform .72s cubic-bezier(.22,1,.36,1);\n    will-change:opacity,transform;\n}\n\n#ads-home.js-motion .ads-reveal-left{\n    opacity:0;\n    transform:translate3d(-34px,0,0);\n    transition:\n        opacity .74s ease,\n        transform .74s cubic-bezier(.22,1,.36,1);\n    will-change:opacity,transform;\n}\n\n#ads-home.js-motion .ads-reveal-right{\n    opacity:0;\n    transform:translate3d(34px,0,0);\n    transition:\n        opacity .74s ease,\n        transform .74s cubic-bezier(.22,1,.36,1);\n    will-change:opacity,transform;\n}\n\n#ads-home.js-motion .ads-motion-section.is-motion-visible .ads-reveal,\n#ads-home.js-motion .ads-motion-section.is-motion-visible .ads-reveal-left,\n#ads-home.js-motion .ads-motion-section.is-motion-visible .ads-reveal-right{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n#ads-home.js-motion .ads-motion-section.motion-complete .ads-reveal,\n#ads-home.js-motion .ads-motion-section.motion-complete .ads-reveal-left,\n#ads-home.js-motion .ads-motion-section.motion-complete .ads-reveal-right{\n    will-change:auto;\n}\n\n\n\/* =========================================================\n   HERO ROTATOR\n   ========================================================= *\/\n\n#ads-home .ads-home-hero{\n    position:relative;\n    isolation:isolate;\n    min-height:600px;\n    overflow:hidden;\n    background:#0c2029;\n    color:#fff;\n}\n\n#ads-home .ads-hero-slides{\n    position:absolute;\n    inset:0;\n    z-index:0;\n    overflow:hidden;\n}\n\n#ads-home .ads-hero-slide{\n    position:absolute;\n    inset:0;\n    z-index:0;\n    opacity:0;\n    width:100%;\n    height:100%;\n    background-position:center center;\n    background-repeat:no-repeat;\n    \/* Final frame always reveals the complete source image. *\/\n    background-size:contain;\n    transform:scale(1.22);\n    transform-origin:center center;\n    transition:opacity 1.15s ease-in-out;\n    will-change:opacity,transform;\n    pointer-events:none;\n}\n\n#ads-home .ads-hero-slide.is-active{\n    z-index:2;\n    opacity:1;\n    \/* Incoming image fades in while zooming outward to the complete\n       uncropped source image. *\/\n    animation:adsHeroZoomOutToFull 4.95s cubic-bezier(.22,.61,.36,1) both;\n}\n\n#ads-home .ads-hero-slide.is-leaving{\n    z-index:1;\n    opacity:0;\n    \/* Keep the completed zoom frame in place while the old image\n       fades away underneath the incoming image. *\/\n    transform:scale(1);\n    animation:none;\n}\n\n@keyframes adsHeroZoomOutToFull{\n    0%{transform:scale(1.22)}\n    100%{transform:scale(1)}\n}\n\n#ads-home .ads-hero-slide-1{\n    \/* image-2 *\/\n    background-image:url('https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-2.webp');\n}\n\n#ads-home .ads-hero-slide-2{\n    \/* image-3 *\/\n    background-image:url('https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-3.webp');\n}\n\n#ads-home .ads-hero-slide-3{\n    \/* image-4 *\/\n    background-image:url('https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-4.webp');\n}\n\n#ads-home .ads-home-hero::after{\n    content:none;\n    display:none;\n}\n\n#ads-home .ads-hero-content{\n    position:relative;\n    z-index:3;\n    width:100%;\n    max-width:1280px;\n    margin:0 auto;\n    padding:64px clamp(22px,4vw,54px) 48px;\n}\n\n#ads-home .ads-hero-copybox{\n    width:clamp(300px,46%,585px);\n    max-width:100%;\n}\n\n#ads-home .ads-hero-kicker{\n    margin:0 0 13px;\n    color:#d8b66f;\n    font-size:13px;\n    line-height:1.4;\n    font-weight:700;\n    letter-spacing:.09em;\n    text-transform:uppercase;\n}\n\n#ads-home .ads-home-hero h1{\n    margin:0;\n    color:#fff;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:clamp(36px,4.1vw,55px);\n    line-height:1.04;\n    font-weight:700;\n}\n\n#ads-home .ads-home-hero h1 span{\n    display:block;\n    color:#2fb7c7;\n}\n\n#ads-home .ads-hero-intro{\n    max-width:540px;\n    margin:20px 0 0;\n    color:#f8f3e9;\n    font-size:clamp(15px,1.35vw,17px);\n    line-height:1.62;\n}\n\n#ads-home .ads-hero-buttons{\n    width:100%;\n    max-width:430px;\n    margin:34px 0 30px;\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:18px;\n}\n\n#ads-home .ads-image-button{\n    display:block;\n    position:relative;\n    transition:\n        transform .22s ease,\n        filter .22s ease;\n}\n\n#ads-home .ads-image-button:hover{\n    transform:translateY(-5px);\n    filter:drop-shadow(0 10px 14px rgba(0,0,0,.22));\n}\n\n#ads-home .ads-image-button:active{\n    transform:translateY(-1px);\n}\n\n#ads-home .ads-image-button img{\n    display:block;\n    width:100%;\n    height:auto;\n    border:0;\n}\n\n#ads-home .ads-hero-benefits{\n    width:100%;\n    max-width:430px;\n    display:grid;\n    grid-template-columns:repeat(4,1fr);\n    gap:10px;\n    margin-top:34px;\n}\n\n#ads-home .ads-hero-benefit{\n    text-align:center;\n    color:#fff;\n    font-size:10px;\n    line-height:1.2;\n    font-weight:700;\n    letter-spacing:.035em;\n    text-transform:uppercase;\n    transition:\n        transform .24s ease,\n        filter .24s ease;\n}\n\n#ads-home .ads-hero-benefit:hover{\n    transform:translateY(-4px);\n    filter:drop-shadow(0 7px 9px rgba(0,0,0,.18));\n}\n\n#ads-home .ads-hero-benefit img{\n    display:block;\n    width:42px;\n    height:42px;\n    object-fit:contain;\n    margin:0 auto 10px;\n}\n\n\n\/* =========================================================\n   HERO ENTRANCE SEQUENCE\n   SAFE PROGRESSIVE ENHANCEMENT:\n   Content is visible by default. JavaScript temporarily adds\n   .hero-motion-reset before replaying the entrance sequence.\n   ========================================================= *\/\n\n#ads-home .ads-home-hero .ads-hero-kicker,\n#ads-home .ads-home-hero h1,\n#ads-home .ads-home-hero .ads-hero-intro,\n#ads-home .ads-home-hero .ads-hero-buttons,\n#ads-home .ads-home-hero .ads-hero-benefit{\n    opacity:1;\n    transform:translate3d(0,0,0);\n    transition:\n        opacity .58s ease,\n        transform .68s cubic-bezier(.22,1,.36,1);\n}\n\n#ads-home .ads-home-hero.hero-motion-reset .ads-hero-kicker,\n#ads-home .ads-home-hero.hero-motion-reset h1,\n#ads-home .ads-home-hero.hero-motion-reset .ads-hero-intro,\n#ads-home .ads-home-hero.hero-motion-reset .ads-hero-buttons,\n#ads-home .ads-home-hero.hero-motion-reset .ads-hero-benefit{\n    opacity:0;\n    transform:translate3d(0,24px,0);\n}\n\n\/* STAGGERED TIMING *\/\n\n#ads-home .ads-home-hero .ads-hero-kicker{\n    transition-delay:.12s;\n}\n\n#ads-home .ads-home-hero h1{\n    transition-delay:.26s;\n}\n\n#ads-home .ads-home-hero .ads-hero-intro{\n    transition-delay:.44s;\n}\n\n#ads-home .ads-home-hero .ads-hero-buttons{\n    transition-delay:.62s;\n}\n\n#ads-home .ads-home-hero .ads-hero-benefit:nth-child(1){\n    transition-delay:.82s;\n}\n\n#ads-home .ads-home-hero .ads-hero-benefit:nth-child(2){\n    transition-delay:.94s;\n}\n\n#ads-home .ads-home-hero .ads-hero-benefit:nth-child(3){\n    transition-delay:1.06s;\n}\n\n#ads-home .ads-home-hero .ads-hero-benefit:nth-child(4){\n    transition-delay:1.18s;\n}\n\n\/* ACCESSIBILITY \u2014 NO MOTION WHEN USER REQUESTS REDUCED MOTION *\/\n\n@media(prefers-reduced-motion:reduce){\n\n    #ads-home .ads-home-hero .ads-hero-kicker,\n    #ads-home .ads-home-hero h1,\n    #ads-home .ads-home-hero .ads-hero-intro,\n    #ads-home .ads-home-hero .ads-hero-buttons,\n    #ads-home .ads-home-hero .ads-hero-benefit{\n        opacity:1!important;\n        transform:none!important;\n        transition:none!important;\n    }\n\n}\n\n\n\/* =========================================================\n   SIX BENEFITS\n   ========================================================= *\/\n\n#ads-home .ads-benefits-section{\n    position:relative;\n    isolation:isolate;\n    overflow:hidden;\n    padding:66px clamp(18px,4vw,58px) 70px;\n    background:\n        radial-gradient(circle at 15% 15%,rgba(26,166,166,.08),transparent 23%),\n        radial-gradient(circle at 88% 15%,rgba(20,120,212,.06),transparent 24%),\n        #f4fafb;\n}\n\n#ads-home .ads-benefits-section::before,\n#ads-home .ads-benefits-section::after{\n    content:\"\";\n    position:absolute;\n    z-index:0;\n    pointer-events:none;\n    border-radius:50%;\n    width:430px;\n    height:430px;\n    opacity:.72;\n    background:\n        radial-gradient(circle at 50% 50%,\n            rgba(53,190,193,.18) 0 7%,\n            rgba(53,190,193,.09) 8% 20%,\n            transparent 21%),\n        radial-gradient(circle at 34% 28%,\n            rgba(72,224,220,.26) 0 3px,\n            transparent 4px),\n        radial-gradient(circle at 70% 22%,\n            rgba(20,120,212,.18) 0 4px,\n            transparent 5px),\n        radial-gradient(circle at 79% 63%,\n            rgba(53,190,193,.20) 0 3px,\n            transparent 4px),\n        radial-gradient(circle at 28% 73%,\n            rgba(9,38,85,.12) 0 4px,\n            transparent 5px),\n        repeating-radial-gradient(circle at 50% 50%,\n            transparent 0 42px,\n            rgba(26,166,166,.13) 43px 44px,\n            transparent 45px 72px);\n    filter:drop-shadow(0 0 28px rgba(53,190,193,.08));\n}\n\n#ads-home .ads-benefits-section::before{\n    left:-135px;\n    top:-125px;\n    animation:adsBenefitsOrbitLeft 20s ease-in-out infinite;\n}\n\n#ads-home .ads-benefits-section::after{\n    right:-125px;\n    bottom:-165px;\n    animation:adsBenefitsOrbitRight 23s ease-in-out infinite;\n}\n\n#ads-home .ads-benefits-section > .ads-home-wrap{\n    position:relative;\n    z-index:2;\n}\n\n#ads-home .ads-benefits-heading{\n    max-width:840px;\n    margin:0 auto 38px;\n    text-align:center;\n}\n\n#ads-home .ads-eyebrow{\n    margin:0 0 10px;\n    color:#0c8096;\n    font-size:13px;\n    line-height:1.3;\n    font-weight:700;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n}\n\n#ads-home .ads-benefits-heading h2{\n    margin:0;\n    color:#15313b;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:clamp(34px,4vw,48px);\n    line-height:1.1;\n}\n\n#ads-home .ads-heading-line{\n    width:86px;\n    height:3px;\n    margin:16px auto 0;\n    border-radius:3px;\n    background:#159bb0;\n}\n\n#ads-home .ads-benefits-heading p{\n    max-width:820px;\n    margin:16px auto 0;\n    color:#425a63;\n    font-size:16px;\n    line-height:1.65;\n}\n\n#ads-home .ads-benefit-grid{\n    display:grid;\n    grid-template-columns:repeat(6,minmax(0,1fr));\n    gap:14px;\n}\n\n#ads-home .ads-benefit-card{\n    position:relative;\n    overflow:hidden;\n    min-height:320px;\n    padding:22px 18px 26px;\n    color:#fff;\n    text-align:left;\n    background:\n        radial-gradient(circle at 100% 0%,rgba(37,185,189,.15),transparent 38%),\n        linear-gradient(180deg,#12303b 0%,#0c2731 48%,#0c2029 100%);\n    border:1px solid #0c8096;\n    border-top:4px solid #159bb0;\n    border-radius:14px;\n    box-shadow:0 10px 24px rgba(4,26,58,.10);\n    transition:\n        transform .24s ease,\n        box-shadow .24s ease,\n        border-color .24s ease;\n}\n\n#ads-home .ads-benefit-card:hover{\n    transform:translateY(-8px);\n    border-color:#68cfda;\n    box-shadow:\n        0 20px 36px rgba(4,26,58,.19),\n        0 0 20px rgba(37,185,189,.13);\n}\n\n#ads-home .ads-benefit-top{\n    display:grid;\n    grid-template-columns:52px 1fr;\n    align-items:center;\n    margin-bottom:18px;\n}\n\n#ads-home .ads-benefit-icon{\n    width:44px;\n    height:44px;\n    display:grid;\n    place-items:center;\n    border:1px solid #159bb0;\n    border-radius:50%;\n    background:#12303b;\n    transition:\n        transform .24s ease,\n        box-shadow .24s ease;\n}\n\n#ads-home .ads-benefit-card:hover .ads-benefit-icon{\n    transform:scale(1.08);\n    box-shadow:0 0 16px rgba(37,185,189,.28);\n}\n\n#ads-home .ads-benefit-icon img{\n    display:block;\n    width:27px;\n    height:27px;\n    object-fit:contain;\n}\n\n#ads-home .ads-benefit-number{\n    color:#159bb0;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:29px;\n    line-height:1;\n    font-weight:700;\n}\n\n#ads-home .ads-benefit-card h3{\n    margin:0 0 12px;\n    color:#fff;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:19px;\n    line-height:1.12;\n}\n\n#ads-home .ads-benefit-card p{\n    margin:0;\n    color:#f3eadc;\n    font-size:13px;\n    line-height:1.55;\n}\n\n\/* slower, deliberate staggered reveal for the six benefit cards *\/\n#ads-home.js-motion .ads-benefits-section:not(.motion-complete) .ads-benefit-card{\n    transition:\n        opacity .85s ease,\n        transform .85s cubic-bezier(.22,1,.36,1),\n        box-shadow .24s ease,\n        border-color .24s ease;\n}\n\n#ads-home.js-motion .ads-benefits-section:not(.motion-complete) .ads-benefit-card:nth-child(1){transition-delay:.10s}\n#ads-home.js-motion .ads-benefits-section:not(.motion-complete) .ads-benefit-card:nth-child(2){transition-delay:.55s}\n#ads-home.js-motion .ads-benefits-section:not(.motion-complete) .ads-benefit-card:nth-child(3){transition-delay:1.00s}\n#ads-home.js-motion .ads-benefits-section:not(.motion-complete) .ads-benefit-card:nth-child(4){transition-delay:1.45s}\n#ads-home.js-motion .ads-benefits-section:not(.motion-complete) .ads-benefit-card:nth-child(5){transition-delay:1.90s}\n#ads-home.js-motion .ads-benefits-section:not(.motion-complete) .ads-benefit-card:nth-child(6){transition-delay:2.35s}\n\n\/* restore immediate hover response after the entrance sequence is finished *\/\n#ads-home.js-motion .ads-benefits-section.motion-complete .ads-benefit-card{\n    transition:\n        transform .24s ease,\n        box-shadow .24s ease,\n        border-color .24s ease;\n    transition-delay:0s;\n}\n\n#ads-home .ads-context-button{\n    width:min(410px,100%);\n    margin:34px auto 0;\n}\n\n#ads-home .ads-context-button img{\n    display:block;\n    width:100%;\n    height:auto;\n}\n\n#ads-home .ads-context-button a{\n    display:block;\n    transition:\n        transform .22s ease,\n        filter .22s ease;\n}\n\n#ads-home .ads-context-button a:hover{\n    transform:translateY(-4px);\n    filter:drop-shadow(0 10px 13px rgba(4,26,58,.18));\n}\n\n\n\/* =========================================================\n   DIGITAL HOME BASE \/ CUSTOMER PATH\n   ========================================================= *\/\n\n#ads-home .ads-story-section{\n    position:relative;\n    isolation:isolate;\n    overflow:hidden;\n    padding:70px clamp(18px,4vw,58px) 74px;\n    color:#fff;\n    background:\n        radial-gradient(circle at 16% 14%,rgba(72,224,220,.11),transparent 24%),\n        radial-gradient(circle at 85% 16%,rgba(64,202,198,.13),transparent 27%),\n        linear-gradient(115deg,#2c241b 0%,#4a3927 48%,#7a5d34 100%);\n}\n\n#ads-home .ads-story-section::before{\n    content:\"\";\n    position:absolute;\n    z-index:-1;\n    width:620px;\n    height:620px;\n    right:-280px;\n    top:-220px;\n    border:1px solid rgba(115,234,228,.14);\n    border-radius:50%;\n    box-shadow:\n        inset 0 0 0 90px rgba(115,234,228,.018),\n        inset 0 0 0 180px rgba(115,234,228,.014);\n    animation:adsHomeAmbientRing 19s ease-in-out infinite;\n}\n\n#ads-home .ads-story-section::after{\n    content:\"\";\n    position:absolute;\n    z-index:-1;\n    width:520px;\n    height:520px;\n    left:-245px;\n    bottom:-250px;\n    border:1px solid rgba(115,234,228,.13);\n    border-radius:50%;\n    box-shadow:\n        inset 0 0 0 76px rgba(115,234,228,.018),\n        inset 0 0 0 152px rgba(115,234,228,.013);\n    animation:adsHomeAmbientRing 19s ease-in-out 4.5s infinite;\n}\n\n#ads-home .ads-story-grid{\n    display:grid;\n    grid-template-columns:minmax(0,.92fr) minmax(320px,1.04fr) minmax(0,.92fr);\n    gap:36px;\n    align-items:center;\n}\n\n#ads-home .ads-story-kicker{\n    margin:0 0 10px;\n    color:#c8edf1;\n    font-size:12px;\n    line-height:1.3;\n    font-weight:700;\n    letter-spacing:.12em;\n    text-transform:uppercase;\n}\n\n#ads-home .ads-story-section h2{\n    margin:0 0 18px;\n    color:#fff;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:34px;\n    line-height:1.08;\n    font-weight:400;\n}\n\n#ads-home .ads-story-section p{\n    margin:0 0 24px;\n    color:#eefcfd;\n    font-size:14px;\n    line-height:1.65;\n}\n\n#ads-home .ads-check-list{\n    margin:0;\n    padding:0;\n    list-style:none;\n}\n\n#ads-home .ads-check-list li{\n    display:grid;\n    grid-template-columns:30px 1fr;\n    gap:8px;\n    align-items:start;\n    margin-bottom:14px;\n    color:#fff;\n    font-size:13px;\n    line-height:1.5;\n}\n\n#ads-home .ads-check-dot{\n    width:21px;\n    height:21px;\n    display:grid;\n    place-items:center;\n    color:#fff;\n    background:#0c8096;\n    border-radius:50%;\n    font-size:13px;\n    line-height:1;\n    font-weight:700;\n}\n\n#ads-home .ads-browser{\n    position:relative;\n    width:100%;\n    max-width:390px;\n    margin:0 auto;\n    overflow:hidden;\n    background:linear-gradient(180deg,#ffffff 0%,#fbf8f2 100%);\n    border:1px solid rgba(72,224,220,.42);\n    border-radius:18px;\n    box-shadow:\n        0 28px 58px rgba(3,22,49,.27),\n        0 0 0 1px rgba(255,255,255,.32) inset;\n    transition:\n        transform .36s cubic-bezier(.22,1,.36,1),\n        box-shadow .36s ease;\n    animation:adsWebsitePreviewFloat 6.5s ease-in-out infinite;\n}\n\n#ads-home .ads-browser:hover{\n    transform:translateY(-7px) scale(1.015);\n    box-shadow:\n        0 38px 76px rgba(3,22,49,.36),\n        0 0 28px rgba(72,224,220,.13);\n}\n\n#ads-home .ads-browser-top{\n    position:relative;\n    min-height:48px;\n    padding:12px 16px;\n    display:flex;\n    align-items:center;\n    background:linear-gradient(90deg,#061f46 0%,#3d3023 58%,#725734 100%);\n    border-bottom:1px solid rgba(72,224,220,.28);\n}\n\n#ads-home .ads-browser-top::before{\n    content:\"FRESHSTEP CARPET CLEANING  \u2022  RESIDENTIAL CARPET CARE\";\n    display:block;\n    color:#ffffff;\n    font-size:10px;\n    line-height:1.2;\n    font-weight:700;\n    letter-spacing:.10em;\n}\n\n#ads-home .ads-browser-top::after{\n    content:\"\u2702\";\n    margin-left:auto;\n    color:#c8edf1;\n    font-size:19px;\n    line-height:1;\n}\n\n#ads-home .ads-browser-dot,\n#ads-home .ads-browser-address{\n    display:none;\n}\n\n#ads-home .ads-browser-main{\n    margin:10px;\n    padding:28px 20px;\n    color:#fff;\n    background:linear-gradient(135deg,#33291e 0%,#80623a 100%);\n    border-radius:12px;\n}\n\n#ads-home .ads-browser-main h3{\n    margin:0 0 12px;\n    color:#fff;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:25px;\n    line-height:1.12;\n    font-weight:400;\n}\n\n#ads-home .ads-browser-main p{\n    margin:0;\n    color:#fff;\n    font-size:12px;\n    line-height:1.55;\n}\n\n#ads-home .ads-browser-benefits{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:6px;\n    padding:0 10px 12px;\n}\n\n#ads-home .ads-browser-card{\n    min-height:82px;\n    padding:13px 5px 10px;\n    text-align:center;\n    background:#fbf8f2;\n    border:1px solid #e2d8c9;\n    border-radius:10px;\n}\n\n#ads-home .ads-browser-card img{\n    display:block;\n    width:28px;\n    height:28px;\n    object-fit:contain;\n    margin:0 auto 8px;\n}\n\n#ads-home .ads-browser-card strong{\n    display:block;\n    color:#15313b;\n    font-size:9px;\n    line-height:1.25;\n    text-transform:uppercase;\n}\n\n#ads-home .ads-customer-flow{\n    display:grid;\n    grid-template-columns:1fr 18px 1fr 18px 1fr 18px 1fr;\n    align-items:start;\n    margin-top:8px;\n}\n\n#ads-home .ads-flow-step{\n    text-align:center;\n}\n\n#ads-home .ads-flow-circle{\n    width:48px;\n    height:48px;\n    display:grid;\n    place-items:center;\n    margin:0 auto 9px;\n    border-radius:50%;\n    transition:\n        transform .24s ease,\n        box-shadow .24s ease;\n}\n\n#ads-home .ads-flow-step:hover .ads-flow-circle{\n    transform:scale(1.10);\n    box-shadow:0 0 18px rgba(72,224,220,.24);\n}\n\n#ads-home .ads-flow-circle img{\n    display:block;\n    width:28px;\n    height:28px;\n    object-fit:contain;\n}\n\n#ads-home .ads-flow-step strong{\n    display:block;\n    color:#fff;\n    font-size:9px;\n    line-height:1.25;\n}\n\n#ads-home .ads-flow-arrow{\n    padding-top:15px;\n    text-align:center;\n    color:#c8edf1;\n    font-size:17px;\n}\n\n#ads-home .ads-story-context-button{\n    width:min(430px,100%);\n    margin:38px auto 0;\n    text-align:center;\n}\n\n#ads-home .ads-story-context-button img{\n    display:block;\n    width:100%;\n    height:auto;\n    border:0;\n}\n\n#ads-home .ads-story-context-button a{\n    display:block;\n    position:relative;\n    border-radius:18px;\n    filter:drop-shadow(0 8px 10px rgba(2,19,44,.22));\n    transition:\n        transform .22s ease,\n        filter .22s ease;\n}\n\n#ads-home .ads-story-context-button a:hover{\n    transform:translateY(-5px);\n    filter:drop-shadow(0 13px 16px rgba(2,19,44,.30));\n}\n\n#ads-home .ads-story-context-button a:active{\n    transform:translateY(-1px);\n    filter:drop-shadow(0 6px 8px rgba(2,19,44,.24));\n}\n\n\n\/* =========================================================\n   CUSTOMER PATH \u2014 DELIBERATE ENTRANCE SEQUENCE\n   ========================================================= *\/\n\n\/* LEFT SIDE *\/\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-story-left{\n    opacity:0;\n    transform:translate3d(-58px,0,0);\n    transition:\n        opacity .88s ease .10s,\n        transform 1.00s cubic-bezier(.22,1,.36,1) .10s;\n}\n\n#ads-home.js-motion .ads-story-section.is-motion-visible:not(.motion-complete) .ads-story-left{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n\/* LEFT CHECKMARKS \u2014 FOLLOW THE LEFT PANEL ONE AT A TIME *\/\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-check-list li{\n    opacity:0;\n    transform:translate3d(-18px,0,0);\n    transition:\n        opacity .58s ease,\n        transform .68s cubic-bezier(.22,1,.36,1);\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-check-list li:nth-child(1){\n    transition-delay:.55s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-check-list li:nth-child(2){\n    transition-delay:.75s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-check-list li:nth-child(3){\n    transition-delay:.95s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-check-list li:nth-child(4){\n    transition-delay:1.15s;\n}\n\n#ads-home.js-motion .ads-story-section.is-motion-visible:not(.motion-complete) .ads-check-list li{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n\/* CENTER WEBSITE PREVIEW *\/\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-story-center{\n    opacity:0;\n    transform:translate3d(0,38px,0) scale(.965);\n    animation:none;\n    transition:\n        opacity .88s ease .58s,\n        transform 1.00s cubic-bezier(.22,1,.36,1) .58s;\n}\n\n#ads-home.js-motion .ads-story-section.is-motion-visible:not(.motion-complete) .ads-story-center{\n    opacity:1;\n    transform:translate3d(0,0,0) scale(1);\n}\n\n\/* RIGHT SIDE *\/\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-story-right{\n    opacity:0;\n    transform:translate3d(58px,0,0);\n    transition:\n        opacity .88s ease 1.05s,\n        transform 1.00s cubic-bezier(.22,1,.36,1) 1.05s;\n}\n\n#ads-home.js-motion .ads-story-section.is-motion-visible:not(.motion-complete) .ads-story-right{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n\/* CUSTOMER FLOW \u2014 STEP THROUGH THE PATH DELIBERATELY *\/\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-flow-step,\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-flow-arrow{\n    opacity:0;\n    transform:translate3d(0,16px,0);\n    transition:\n        opacity .52s ease,\n        transform .62s cubic-bezier(.22,1,.36,1);\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-customer-flow > :nth-child(1){\n    transition-delay:1.48s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-customer-flow > :nth-child(2){\n    transition-delay:1.62s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-customer-flow > :nth-child(3){\n    transition-delay:1.76s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-customer-flow > :nth-child(4){\n    transition-delay:1.90s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-customer-flow > :nth-child(5){\n    transition-delay:2.04s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-customer-flow > :nth-child(6){\n    transition-delay:2.18s;\n}\n\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-customer-flow > :nth-child(7){\n    transition-delay:2.32s;\n}\n\n#ads-home.js-motion .ads-story-section.is-motion-visible:not(.motion-complete) .ads-flow-step,\n#ads-home.js-motion .ads-story-section.is-motion-visible:not(.motion-complete) .ads-flow-arrow{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n\/* BOTTOM CUSTOMER PATH BUTTON \u2014 LAST ITEM IN THE SEQUENCE *\/\n#ads-home.js-motion .ads-story-section:not(.motion-complete) .ads-story-context-button{\n    opacity:0;\n    transform:translate3d(0,28px,0) scale(.98);\n    transition:\n        opacity .68s ease 2.50s,\n        transform .78s cubic-bezier(.22,1,.36,1) 2.50s;\n}\n\n#ads-home.js-motion .ads-story-section.is-motion-visible:not(.motion-complete) .ads-story-context-button{\n    opacity:1;\n    transform:translate3d(0,0,0) scale(1);\n}\n\n\/* RETURN TO NORMAL HOVER \/ FLOAT BEHAVIOR AFTER ENTRANCE *\/\n#ads-home.js-motion .ads-story-section.motion-complete .ads-story-left,\n#ads-home.js-motion .ads-story-section.motion-complete .ads-story-right,\n#ads-home.js-motion .ads-story-section.motion-complete .ads-check-list li,\n#ads-home.js-motion .ads-story-section.motion-complete .ads-flow-step,\n#ads-home.js-motion .ads-story-section.motion-complete .ads-flow-arrow,\n#ads-home.js-motion .ads-story-section.motion-complete .ads-story-context-button{\n    opacity:1;\n    transform:none;\n    transition-delay:0s;\n}\n\n#ads-home.js-motion .ads-story-section.motion-complete .ads-story-center{\n    opacity:1;\n    animation:adsWebsitePreviewFloat 6.5s ease-in-out infinite;\n}\n\n\n\n@keyframes adsWebsitePreviewFloat{\n    0%,100%{\n        transform:translate3d(0,0,0);\n    }\n    50%{\n        transform:translate3d(0,-7px,0);\n    }\n}\n\n\/* =========================================================\n   CONSULTATION IMAGE\n   ========================================================= *\/\n\n#ads-home .ads-consultation-section{\n    position:relative;\n    overflow:hidden;\n    padding:0;\n    background:#061d43;\n}\n\n#ads-home .ads-consultation-frame{\n    width:100vw;\n    max-width:100vw;\n    margin:0;\n    overflow:hidden;\n    background:#061d43;\n}\n\n#ads-home .ads-consultation-link{\n    display:block;\n    position:relative;\n    overflow:hidden;\n    border:0;\n    outline:0;\n    box-shadow:none;\n}\n\n\/* The consultation image is intentionally borderless.\n   The transparent two-card artwork sits directly on the section background. *\/\n#ads-home .ads-consultation-link::after{\n    content:none;\n    display:none;\n}\n\n#ads-home .ads-consultation-image{\n    display:block;\n    width:100vw;\n    border:0;\n    outline:0;\n    box-shadow:none;\n    max-width:100vw;\n    height:auto;\n    object-fit:contain;\n    transform:scale(1);\n    transform-origin:center center;\n    transition:filter .45s ease;\n    will-change:transform;\n}\n\n\/* Noticeable scroll-triggered full-image reveal.\n   The image begins strongly zoomed in, then pulls all the way back to\n   scale(1) so the complete source image and all lettering are visible. *\/\n#ads-home.js-motion .ads-consultation-section.is-motion-visible .ads-consultation-image{\n    animation:adsConsultationScrollZoom 2.35s cubic-bezier(.22,.61,.36,1) both;\n}\n\n@keyframes adsConsultationScrollZoom{\n    0%{transform:scale(1.22)}\n    100%{transform:scale(1)}\n}\n\n\/* Keep the complete image visible after the scroll animation. *\/\n#ads-home .ads-consultation-link:hover .ads-consultation-image{\n    transform:scale(1);\n    filter:brightness(1.03);\n}\n\n\n\/* =========================================================\n   FINAL CTA\n   ========================================================= *\/\n\n#ads-home .ads-final-cta{\n    position:relative;\n    overflow:hidden;\n    padding:38px 22px 0;\n    color:#fff;\n    background:#041a3c;\n}\n\n#ads-home .ads-final-card{\n    position:relative;\n    width:min(1240px,100%);\n    margin:0 auto;\n    padding:26px 28px;\n    overflow:hidden;\n    background:\n        radial-gradient(circle at 88% 22%,rgba(37,185,189,.11),transparent 28%),\n        radial-gradient(circle at 12% 86%,rgba(72,224,220,.055),transparent 26%),\n        #041a3c;\n    border:1px solid #178e9b;\n    border-radius:14px;\n    box-shadow:\n        0 0 0 1px rgba(23,142,155,.03),\n        0 14px 34px rgba(3,22,49,.16);\n    animation:adsFinalBorderPulse 9s ease-in-out infinite;\n}\n\n#ads-home .ads-final-card::before,\n#ads-home .ads-final-card::after{\n    content:\"\";\n    position:absolute;\n    border-radius:50%;\n    pointer-events:none;\n}\n\n#ads-home .ads-final-card::before{\n    width:260px;\n    height:260px;\n    right:-120px;\n    top:-120px;\n    border:1px solid rgba(72,224,220,.15);\n    box-shadow:\n        inset 0 0 0 55px rgba(72,224,220,.012),\n        inset 0 0 0 110px rgba(72,224,220,.008);\n    animation:adsHomeCtaFloat 12s ease-in-out infinite;\n}\n\n#ads-home .ads-final-card::after{\n    width:220px;\n    height:220px;\n    left:-105px;\n    bottom:-125px;\n    border:1px solid rgba(72,224,220,.11);\n    box-shadow:\n        0 0 0 46px rgba(72,224,220,.012),\n        0 0 0 92px rgba(72,224,220,.008);\n    animation:adsHomeCtaFloatLeft 14s ease-in-out infinite;\n}\n\n#ads-home .ads-final-grid{\n    position:relative;\n    z-index:2;\n    display:grid;\n    grid-template-columns:16% minmax(0,1fr) 26%;\n    gap:26px;\n    align-items:center;\n}\n\n#ads-home .ads-final-anchor{\n    text-align:center;\n}\n\n#ads-home .ads-final-anchor img{\n    display:block;\n    width:100%;\n    max-width:120px;\n    height:auto;\n    margin:0 auto;\n    animation:adsFinalAnchorFloat 7s ease-in-out infinite;\n}\n\n#ads-home .ads-final-copy h2{\n    margin:0 0 12px;\n    color:#fff;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:29px;\n    line-height:1.14;\n}\n\n#ads-home .ads-final-copy p{\n    max-width:680px;\n    margin:0;\n    color:#e7eef5;\n    font-size:14px;\n    line-height:1.6;\n}\n\n#ads-home .ads-final-buttons{\n    width:100%;\n    max-width:255px;\n    margin:0 auto;\n    display:grid;\n    grid-template-columns:1fr;\n    gap:12px;\n}\n\n#ads-home .ads-final-buttons a{\n    display:block;\n    position:relative;\n    width:100%;\n    margin:0;\n    padding:0;\n    overflow:hidden;\n    border-radius:24px;\n    filter:drop-shadow(0 5px 7px rgba(1,18,38,.22));\n    transition:\n        transform .22s ease,\n        filter .22s ease;\n}\n\n#ads-home .ads-final-buttons a:hover{\n    transform:translateY(-4px);\n    filter:drop-shadow(0 8px 10px rgba(1,18,38,.20));\n}\n\n#ads-home .ads-final-buttons img{\n    display:block;\n    width:100%;\n    max-width:255px;\n    height:auto;\n    margin:0 auto;\n    transform:translateY(-1px);\n    clip-path:inset(0 0 9% 0 round 24px);\n}\n\n#ads-home .ads-final-divider{\n    position:relative;\n    z-index:2;\n    width:100%;\n    height:1px;\n    margin-top:18px;\n    background:#d9e7ee;\n}\n\n\n\/* =========================================================\n   FINAL CTA \u2014 DELIBERATE ENTRANCE SEQUENCE\n   ========================================================= *\/\n\n#ads-home.js-motion .ads-final-cta:not(.motion-complete) .ads-final-card{\n    opacity:0;\n    transform:translate3d(0,24px,0) scale(.985);\n    transition:\n        opacity .72s ease,\n        transform .82s cubic-bezier(.22,1,.36,1);\n}\n\n#ads-home.js-motion .ads-final-cta.is-motion-visible:not(.motion-complete) .ads-final-card{\n    opacity:1;\n    transform:translate3d(0,0,0) scale(1);\n}\n\n#ads-home.js-motion .ads-final-cta:not(.motion-complete) .ads-final-anchor{\n    opacity:0;\n    transform:translate3d(-42px,0,0);\n    transition:\n        opacity .72s ease .22s,\n        transform .82s cubic-bezier(.22,1,.36,1) .22s;\n}\n\n#ads-home.js-motion .ads-final-cta.is-motion-visible:not(.motion-complete) .ads-final-anchor{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n#ads-home.js-motion .ads-final-cta:not(.motion-complete) .ads-final-copy{\n    opacity:0;\n    transform:translate3d(0,26px,0);\n    transition:\n        opacity .72s ease .48s,\n        transform .82s cubic-bezier(.22,1,.36,1) .48s;\n}\n\n#ads-home.js-motion .ads-final-cta.is-motion-visible:not(.motion-complete) .ads-final-copy{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n#ads-home.js-motion .ads-final-cta:not(.motion-complete) .ads-final-buttons a{\n    opacity:0;\n    transform:translate3d(34px,0,0);\n}\n\n#ads-home.js-motion .ads-final-cta:not(.motion-complete) .ads-final-buttons a:nth-child(1){\n    transition:\n        opacity .72s ease .80s,\n        transform .82s cubic-bezier(.22,1,.36,1) .80s,\n        filter .22s ease;\n}\n\n#ads-home.js-motion .ads-final-cta:not(.motion-complete) .ads-final-buttons a:nth-child(2){\n    transition:\n        opacity .72s ease 1.12s,\n        transform .82s cubic-bezier(.22,1,.36,1) 1.12s,\n        filter .22s ease;\n}\n\n#ads-home.js-motion .ads-final-cta.is-motion-visible:not(.motion-complete) .ads-final-buttons a{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n\n#ads-home.js-motion .ads-final-cta:not(.motion-complete) .ads-final-divider{\n    opacity:0;\n    transform:scaleX(.35);\n    transform-origin:center;\n    transition:\n        opacity .62s ease 1.40s,\n        transform .78s cubic-bezier(.22,1,.36,1) 1.40s;\n}\n\n#ads-home.js-motion .ads-final-cta.is-motion-visible:not(.motion-complete) .ads-final-divider{\n    opacity:1;\n    transform:scaleX(1);\n}\n\n#ads-home.js-motion .ads-final-cta.motion-complete .ads-final-card,\n#ads-home.js-motion .ads-final-cta.motion-complete .ads-final-anchor,\n#ads-home.js-motion .ads-final-cta.motion-complete .ads-final-copy,\n#ads-home.js-motion .ads-final-cta.motion-complete .ads-final-buttons a,\n#ads-home.js-motion .ads-final-cta.motion-complete .ads-final-divider{\n    opacity:1;\n    transform:none;\n    transition-delay:0s;\n}\n\n#ads-home.js-motion .ads-final-cta.motion-complete .ads-final-buttons a{\n    transition:\n        transform .22s ease,\n        filter .22s ease;\n}\n\n\/* slightly more visible ambient motion after entrance *\/\n#ads-home .ads-final-card{\n    animation:adsFinalBorderPulse 7.5s ease-in-out infinite;\n}\n\n#ads-home .ads-final-anchor img{\n    animation:adsFinalAnchorFloat 5.8s ease-in-out infinite;\n}\n\n\n@keyframes adsBenefitsOrbitLeft{\n    0%,100%{\n        transform:translate3d(0,0,0) rotate(0deg) scale(1);\n        opacity:.62;\n    }\n    50%{\n        transform:translate3d(42px,28px,0) rotate(8deg) scale(1.06);\n        opacity:.82;\n    }\n}\n\n@keyframes adsBenefitsOrbitRight{\n    0%,100%{\n        transform:translate3d(0,0,0) rotate(0deg) scale(1);\n        opacity:.58;\n    }\n    50%{\n        transform:translate3d(-46px,-26px,0) rotate(-9deg) scale(1.07);\n        opacity:.80;\n    }\n}\n\n\n\/* =========================================================\n   AMBIENT KEYFRAMES\n   ========================================================= *\/\n\n@keyframes adsHomeAmbientRing{\n    0%,100%{\n        opacity:.58;\n        transform:translate3d(0,0,0) scale(.98);\n    }\n    50%{\n        opacity:.90;\n        transform:translate3d(-24px,20px,0) scale(1.04);\n    }\n}\n\n@keyframes adsHomeCtaFloat{\n    0%,100%{\n        transform:translate3d(0,0,0) scale(1);\n        opacity:.55;\n    }\n    50%{\n        transform:translate3d(-18px,17px,0) scale(1.04);\n        opacity:.85;\n    }\n}\n\n\n@keyframes adsFinalBorderPulse{\n    0%,100%{\n        border-color:#22a8b0;\n        box-shadow:\n            0 0 0 1px rgba(72,224,220,.08),\n            0 14px 34px rgba(3,22,49,.16),\n            0 0 10px rgba(72,224,220,.10);\n    }\n    50%{\n        border-color:#c8edf1;\n        box-shadow:\n            0 0 0 1px rgba(72,224,220,.18),\n            0 18px 42px rgba(3,22,49,.18),\n            0 0 22px rgba(72,224,220,.24);\n    }\n}\n\n@keyframes adsHomeCtaFloatLeft{\n    0%,100%{\n        transform:translate3d(0,0,0) scale(1);\n        opacity:.42;\n    }\n    50%{\n        transform:translate3d(18px,-14px,0) scale(1.05);\n        opacity:.72;\n    }\n}\n\n@keyframes adsFinalAnchorFloat{\n    0%,100%{\n        transform:translate3d(0,0,0);\n    }\n    50%{\n        transform:translate3d(0,-5px,0);\n    }\n}\n\n\n\/* =========================================================\n   TABLET\n   ========================================================= *\/\n\n@media(max-width:1050px){\n\n    #ads-home .ads-benefit-grid{\n        grid-template-columns:repeat(3,minmax(0,1fr));\n    }\n\n    #ads-home .ads-benefit-card{\n        min-height:270px;\n    }\n\n    #ads-home .ads-story-grid{\n        grid-template-columns:1fr 1fr;\n        gap:42px;\n    }\n\n    #ads-home .ads-browser{\n        grid-column:1\/-1;\n        width:min(560px,100%);\n        max-width:none;\n        order:3;\n    }\n\n    #ads-home .ads-final-grid{\n        grid-template-columns:100px minmax(0,1fr);\n    }\n\n    #ads-home .ads-final-buttons{\n        grid-column:1\/-1;\n        display:grid;\n        grid-template-columns:1fr 1fr;\n        gap:16px;\n        max-width:520px;\n    }\n\n}\n\n\n\/* =========================================================\n   MOBILE\n   ========================================================= *\/\n\n@media(max-width:700px){\n\n    #ads-home .ads-home-wrap{\n        width:calc(100% - 28px);\n    }\n\n    #ads-home .ads-home-hero{\n        min-height:660px;\n    }\n\n    #ads-home .ads-hero-slide{\n        background-position:center center;\n    }\n\n    #ads-home .ads-home-hero::after{\n        content:none;\n        display:none;\n        background:none;\n    }\n\n    #ads-home .ads-hero-content{\n        padding:54px 20px 42px;\n    }\n\n    #ads-home .ads-hero-copybox{\n        width:100%;\n    }\n\n    #ads-home .ads-home-hero h1{\n        font-size:42px;\n    }\n\n    #ads-home .ads-hero-buttons{\n        grid-template-columns:1fr;\n        max-width:330px;\n    }\n\n    #ads-home .ads-hero-benefits{\n        grid-template-columns:repeat(2,1fr);\n        max-width:330px;\n    }\n\n    #ads-home .ads-benefits-section{\n        padding:58px 18px 60px;\n    }\n\n    #ads-home .ads-benefit-grid{\n        grid-template-columns:1fr;\n    }\n\n    #ads-home .ads-benefit-card{\n        min-height:0;\n    }\n\n    #ads-home .ads-story-section{\n        padding:58px 18px 62px;\n    }\n\n    #ads-home .ads-story-grid{\n        grid-template-columns:1fr;\n        gap:42px;\n    }\n\n    #ads-home .ads-browser{\n        grid-column:auto;\n        order:initial;\n    }\n\n    #ads-home .ads-customer-flow{\n        grid-template-columns:1fr 1fr;\n        gap:22px 12px;\n    }\n\n    #ads-home .ads-flow-arrow{\n        display:none;\n    }\n\n    #ads-home .ads-consultation-section{\n        padding:24px 0 0;\n    }\n\n    #ads-home .ads-final-cta{\n        padding:28px 14px 0;\n    }\n\n    #ads-home .ads-final-card{\n        padding:24px 20px;\n    }\n\n    #ads-home .ads-final-grid{\n        grid-template-columns:1fr;\n        text-align:center;\n    }\n\n    #ads-home .ads-final-copy h2,\n    #ads-home .ads-final-copy p{\n        text-align:center;\n        margin-left:auto;\n        margin-right:auto;\n    }\n\n    #ads-home .ads-final-buttons{\n        grid-template-columns:1fr;\n        width:min(280px,100%);\n    }\n}\n\n\n\/* =========================================================\n   REDUCED MOTION\n   ========================================================= *\/\n\n@media(prefers-reduced-motion:reduce){\n\n    #ads-home *,\n    #ads-home *::before,\n    #ads-home *::after{\n        animation:none!important;\n        scroll-behavior:auto!important;\n    }\n\n    #ads-home.js-motion .ads-reveal,\n    #ads-home.js-motion .ads-reveal-left,\n    #ads-home.js-motion .ads-reveal-right{\n        opacity:1;\n        transform:none;\n        transition:none;\n        will-change:auto;\n    }\n\n    #ads-home .ads-hero-slide{\n        animation:none!important;\n        transition:none!important;\n        transform:scale(1)!important;\n    }\n\n    #ads-home .ads-consultation-image{\n        animation:none!important;\n        transform:scale(1)!important;\n        transition:none!important;\n        will-change:auto;\n    }\n}\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 INDUSTRY CONVERSION \/ NAVIGATION SAFETY\n   ========================================================= *\/\n\n:root{\n    --jw-admin-bar-offset:0px;\n    --jw-custom-nav-height:0px;\n    --jw-anchor-offset:0px;\n}\n\n\/* Flash-safe Vantage navigation suppression: exact, theme-scoped selectors only. *\/\n#masthead .main-navigation,\n#masthead .mobile-nav-frame,\n#masthead .so-mobilenav-mobile,\n#masthead .so-mobilenav-standard,\n#masthead nav.site-navigation.main-navigation{\n    display:none!important;\n    height:0!important;\n    min-height:0!important;\n    margin:0!important;\n    padding:0!important;\n    overflow:hidden!important;\n    pointer-events:none!important;\n}\n\n.th-theme-nav-suppressed{\n    display:none!important;\n    height:0!important;\n    min-height:0!important;\n    margin:0!important;\n    padding:0!important;\n    overflow:hidden!important;\n    pointer-events:none!important;\n}\n\n#th-custom-navigation{\n    position:fixed!important;\n    top:var(--jw-admin-bar-offset,0px)!important;\n    left:0!important;\n    right:0!important;\n    width:auto!important;\n    max-width:none!important;\n    box-sizing:border-box!important;\n    z-index:99990!important;\n    color:#f9f4ea;\n    background:linear-gradient(90deg,#0d2430 0%,#0c2731 56%,#15313b 100%);\n    border-bottom:1px solid rgba(210,173,109,.36);\n    box-shadow:0 10px 28px rgba(15,12,9,.18);\n    font-family:Arial,Helvetica,sans-serif;\n}\n\n#th-custom-navigation *{box-sizing:border-box}\n#th-custom-navigation a{color:inherit;text-decoration:none}\n\n#th-custom-navigation .th-nav-inner{\n    width:min(1380px,calc(100% - 28px));\n    margin:0 auto;\n    padding:10px 0 9px;\n}\n\n#th-custom-navigation .th-nav-top{\n    display:table;\n    width:100%;\n    table-layout:fixed;\n}\n\n#th-custom-navigation .th-brand,\n#th-custom-navigation .th-call,\n#th-custom-navigation .th-mobile-toggle-wrap{\n    display:table-cell;\n    vertical-align:middle;\n}\n\n#th-custom-navigation .th-brand{width:58%}\n#th-custom-navigation .th-call{width:32%;text-align:right}\n#th-custom-navigation .th-mobile-toggle-wrap{display:none;width:10%;text-align:right}\n\n#th-custom-navigation .th-brand strong{\n    display:block;\n    color:#fff;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:22px;\n    line-height:1.05;\n    font-weight:400;\n    letter-spacing:.025em;\n}\n\n#th-custom-navigation .th-brand span{\n    display:block;\n    margin-top:3px;\n    color:#d8b66f;\n    font-size:9px;\n    line-height:1.2;\n    font-weight:700;\n    letter-spacing:.18em;\n    text-transform:uppercase;\n}\n\n#th-custom-navigation .th-call a{\n    display:inline-block;\n    padding:8px 14px;\n    border:1px solid rgba(216,182,111,.62);\n    border-radius:999px;\n    color:#fff;\n    font-size:12px;\n    font-weight:700;\n    letter-spacing:.03em;\n    transition:background .2s ease,color .2s ease,transform .2s ease;\n}\n#th-custom-navigation .th-call a:hover{background:#2fb7c7;color:#0c2029;transform:translateY(-1px)}\n\n#th-custom-navigation .th-mobile-toggle{\n    appearance:none;\n    border:1px solid rgba(216,182,111,.58);\n    border-radius:9px;\n    background:#0c2731;\n    color:#fff;\n    padding:8px 10px;\n    font:700 12px\/1 Arial,Helvetica,sans-serif;\n    cursor:pointer;\n}\n\n#th-custom-navigation .th-nav-links{\n    margin-top:9px;\n    padding-top:8px;\n    border-top:1px solid rgba(255,255,255,.10);\n    text-align:center;\n}\n\n#th-custom-navigation .th-nav-links a{\n    display:inline-block;\n    margin:2px 2px;\n    padding:6px 8px;\n    border-radius:7px;\n    color:#f5efe4;\n    font-size:11px;\n    line-height:1.25;\n    font-weight:700;\n    white-space:nowrap;\n    transition:background .2s ease,color .2s ease;\n}\n#th-custom-navigation .th-nav-links a:hover,\n#th-custom-navigation .th-nav-links a:focus{background:#2fb7c7;color:#0c2029;outline:none}\n\n#ads-home .th-nav-spacer{height:calc(var(--jw-custom-nav-height,0px) + 30px);min-height:30px}\n#ads-home [id], #contact-us-image-top{scroll-margin-top:var(--jw-anchor-offset,0px)}\n\n\/* Tailoring palette refinements *\/\n#ads-home{\n    --ads-navy:#172033;\n    --ads-deep:#0d2430;\n    --ads-deeper:#071820;\n    --ads-teal:#0b7f95;\n    --ads-teal-bright:#2fb7c7;\n    --ads-teal-light:#c8edf1;\n    --ads-blue:#246b7b;\n    --ads-mist:#f4fafb;\n    --ads-line:#cfe2e6;\n    --ads-white:#ffffff;\n    color:#2c2925;\n    background:#fffdf9;\n}\n\n#ads-home .ads-home-hero::after{\n    content:none;\n    display:none;\n    background:none;\n}\n#ads-home .ads-home-hero h1 span{color:#d8b66f}\n#ads-home .ads-hero-kicker{color:#e3c889}\n#ads-home .ads-hero-intro{color:#fbf7ef}\n\n\/* Tailoring CTA buttons \u2014 proportion, lift and image-like treatment modeled after the\n   original template's wide graphical buttons while remaining text-editable. *\/\n#ads-home .th-btn{\n    display:block;\n    position:relative;\n    width:100%;\n    min-height:56px;\n    padding:18px 54px 17px 22px;\n    overflow:hidden;\n    border:1px solid #c79a4b;\n    border-radius:10px;\n    text-align:left;\n    color:#0c2029;\n    background:\n        linear-gradient(105deg,rgba(255,255,255,.38) 0 18%,transparent 19% 100%),\n        linear-gradient(180deg,#f0d99d 0%,#d4aa5b 54%,#c4923e 100%);\n    box-shadow:\n        0 9px 20px rgba(48,35,18,.18),\n        inset 0 1px 0 rgba(255,255,255,.62),\n        inset 0 -1px 0 rgba(91,58,17,.22);\n    font-size:12px;\n    line-height:1.15;\n    font-weight:800;\n    letter-spacing:.07em;\n    text-transform:uppercase;\n    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;\n}\n#ads-home .th-btn::before{\n    content:\"\";\n    position:absolute;\n    top:-35%;\n    left:-28%;\n    width:46%;\n    height:180%;\n    background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);\n    transform:skewX(-18deg);\n    transition:left .42s ease;\n    pointer-events:none;\n}\n#ads-home .th-btn::after{\n    content:\"\u2192\";\n    position:absolute;\n    right:19px;\n    top:50%;\n    width:27px;\n    height:27px;\n    margin-top:-14px;\n    border:1px solid rgba(52,35,15,.34);\n    border-radius:50%;\n    text-align:center;\n    font:700 16px\/25px Arial,Helvetica,sans-serif;\n    transition:transform .22s ease,background .22s ease,color .22s ease;\n}\n#ads-home .th-btn:hover{\n    transform:translateY(-5px);\n    box-shadow:\n        0 15px 27px rgba(42,29,14,.24),\n        inset 0 1px 0 rgba(255,255,255,.7);\n    filter:saturate(1.04);\n}\n#ads-home .th-btn:hover::before{left:88%}\n#ads-home .th-btn:hover::after{transform:translateX(3px);background:#272019;color:#f4dd9e}\n#ads-home .th-btn:active{transform:translateY(-1px)}\n#ads-home .th-btn.th-btn-dark{\n    color:#fff;\n    background:\n        linear-gradient(105deg,rgba(255,255,255,.09) 0 18%,transparent 19% 100%),\n        linear-gradient(180deg,#322a21 0%,#1a1612 100%);\n    border-color:#9e793f;\n}\n#ads-home .th-btn.th-btn-dark::after{border-color:rgba(230,199,133,.42);color:#e8cd92}\n\n#ads-home .th-icon{\n    width:42px;\n    height:42px;\n    display:block;\n    margin:0 auto 10px;\n    color:#c8edf1;\n}\n#ads-home .ads-benefit-icon .th-icon{width:27px;height:27px;margin:0;color:#d8b66f}\n#ads-home .ads-browser-card .th-icon{width:28px;height:28px;margin:0 auto 8px;color:#7b5c32}\n#ads-home .ads-flow-circle .th-icon{width:28px;height:28px;margin:0;color:#c8edf1}\n\n\/* =========================================================\n   SEVEN INDUSTRY DETAIL SECTIONS \u2014 intentionally varied layouts\n   ========================================================= *\/\n#ads-home .th-service-detail{\n    position:relative;\n    isolation:isolate;\n    overflow:hidden;\n    padding:78px clamp(18px,4vw,58px);\n    border-top:1px solid #e4d8c6;\n}\n#ads-home .th-service-shell{\n    width:min(var(--ads-max),calc(100% - 44px));\n    margin:0 auto;\n}\n#ads-home .th-detail-kicker{\n    margin:0 0 10px;\n    color:#9d743c;\n    font-size:11px;\n    line-height:1.35;\n    font-weight:800;\n    letter-spacing:.15em;\n    text-transform:uppercase;\n}\n#ads-home .th-service-detail h2{\n    margin:0 0 16px;\n    color:#15313b;\n    font-family:Georgia,\"Times New Roman\",serif;\n    font-size:clamp(32px,3.8vw,48px);\n    line-height:1.06;\n    font-weight:400;\n}\n#ads-home .th-service-detail p{margin:0 0 18px;color:#425a63;font-size:15px;line-height:1.72}\n#ads-home .th-detail-list{margin:0 0 24px;padding:0;list-style:none}\n#ads-home .th-detail-list li{position:relative;margin:9px 0;padding-left:25px;color:#3f382f;font-size:14px;line-height:1.52}\n#ads-home .th-detail-list li::before{content:\"\u2713\";position:absolute;left:0;top:0;color:#a4783b;font-weight:800}\n#ads-home .th-detail-actions{width:min(350px,100%)}\n#ads-home .th-service-detail img{display:block;max-width:100%;object-fit:cover}\n\n\/* 1 \u2014 CUSTOM SUITS: editorial overlap *\/\n#ads-home .th-layout-suit{\n    background:\n        radial-gradient(circle at 9% 15%,rgba(214,179,111,.16),transparent 24%),\n        #fffdf9;\n}\n#ads-home .th-suit-stage{\n    position:relative;\n    min-height:520px;\n}\n#ads-home .th-suit-photo{\n    width:67%;\n    margin-left:auto;\n    border-radius:20px;\n    overflow:hidden;\n    box-shadow:0 28px 58px rgba(41,32,23,.20);\n}\n#ads-home .th-suit-photo img{width:100%;height:520px}\n#ads-home .th-suit-card{\n    position:absolute;\n    z-index:2;\n    left:0;\n    top:50%;\n    width:46%;\n    padding:38px 40px;\n    transform:translateY(-50%);\n    background:rgba(255,253,249,.96);\n    border:1px solid #dfccb0;\n    border-left:5px solid #b8863d;\n    border-radius:16px;\n    box-shadow:0 24px 48px rgba(44,35,24,.16);\n}\n#ads-home .th-suit-number{\n    position:absolute;\n    right:24px;\n    top:20px;\n    color:rgba(157,116,60,.15);\n    font:700 72px\/1 Georgia,\"Times New Roman\",serif;\n}\n\n\/* 2 \u2014 CUSTOM SHIRTS: boutique rack + vertical copy rail *\/\n#ads-home .th-layout-shirts{\n    background:linear-gradient(115deg,#f5efe5 0%,#fffdf9 58%,#f2eadc 100%);\n}\n#ads-home .th-shirts-grid{\n    display:grid;\n    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);\n    gap:42px;\n    align-items:stretch;\n}\n#ads-home .th-shirts-photo{\n    position:relative;\n    min-height:470px;\n    overflow:hidden;\n    border-radius:18px 80px 18px 18px;\n    box-shadow:0 24px 50px rgba(44,35,24,.16);\n}\n#ads-home .th-shirts-photo img{width:100%;height:100%;min-height:470px}\n#ads-home .th-shirts-photo::after{\n    content:\"CUSTOM SHIRTS\";\n    position:absolute;\n    left:18px;\n    bottom:16px;\n    padding:8px 12px;\n    color:#fff;\n    background:rgba(24,19,15,.78);\n    border:1px solid rgba(226,194,128,.45);\n    font-size:10px;\n    font-weight:800;\n    letter-spacing:.14em;\n}\n#ads-home .th-shirts-copy{\n    align-self:center;\n    padding:30px 0 30px 34px;\n    border-left:1px solid #cdb58f;\n}\n#ads-home .th-shirts-points{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:8px;\n    margin:24px 0;\n}\n#ads-home .th-shirts-points span{\n    min-height:78px;\n    padding:13px 10px;\n    text-align:center;\n    background:#fff;\n    border:1px solid #e0d2bd;\n    border-radius:10px;\n    color:#3b3126;\n    font-size:11px;\n    line-height:1.35;\n    box-shadow:0 7px 16px rgba(60,43,24,.06);\n}\n#ads-home .th-shirts-points strong{display:block;margin-bottom:6px;color:#9d743c;font:400 22px\/1 Georgia,\"Times New Roman\",serif}\n\n\/* 3 \u2014 ALTERATIONS: workshop split with step stamps *\/\n#ads-home .th-layout-alterations{\n    color:#fff;\n    background:\n        linear-gradient(105deg,rgba(255,255,255,.04) 0 24%,transparent 24%),\n        linear-gradient(120deg,#0c2029 0%,#272019 62%,#3a2d20 100%);\n}\n#ads-home .th-layout-alterations h2,\n#ads-home .th-layout-alterations p,\n#ads-home .th-layout-alterations .th-detail-list li{color:#fff}\n#ads-home .th-layout-alterations .th-detail-kicker{color:#dfbe79}\n#ads-home .th-alter-grid{\n    display:grid;\n    grid-template-columns:minmax(330px,.92fr) minmax(0,1.08fr);\n    gap:56px;\n    align-items:center;\n}\n#ads-home .th-alter-photo{\n    position:relative;\n    padding:14px 14px 58px;\n    background:#f6efe2;\n    transform:rotate(-1.5deg);\n    box-shadow:0 28px 58px rgba(0,0,0,.34);\n}\n#ads-home .th-alter-photo img{width:100%;height:390px}\n#ads-home .th-alter-photo::after{\n    content:\"Precision work. Better balance.\";\n    position:absolute;\n    left:0;\n    right:0;\n    bottom:17px;\n    text-align:center;\n    color:#3c3024;\n    font:italic 15px\/1.2 Georgia,\"Times New Roman\",serif;\n}\n#ads-home .th-alter-stamps{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:12px;\n    margin:24px 0 28px;\n}\n#ads-home .th-alter-stamp{\n    padding:14px 10px;\n    border:1px solid rgba(224,190,121,.35);\n    border-radius:10px;\n    text-align:center;\n    background:rgba(255,255,255,.035);\n}\n#ads-home .th-alter-stamp b{display:block;color:#dfbe79;font:400 25px\/1 Georgia,\"Times New Roman\",serif}\n#ads-home .th-alter-stamp span{display:block;margin-top:5px;color:#eee3d1;font-size:10px;letter-spacing:.08em;text-transform:uppercase}\n\n\/* 4 \u2014 WEDDING & FORMALWEAR: cinematic full-width image panel *\/\n#ads-home .th-layout-formal{\n    padding-top:54px;\n    padding-bottom:54px;\n    background:#efe7da;\n}\n#ads-home .th-formal-stage{\n    position:relative;\n    min-height:590px;\n    overflow:hidden;\n    border-radius:22px;\n    background:#18130f;\n    box-shadow:0 30px 64px rgba(44,34,24,.22);\n}\n#ads-home .th-formal-stage img{\n    position:absolute;\n    inset:0;\n    width:100%;\n    height:100%;\n    min-height:590px;\n    object-position:center 38%;\n}\n#ads-home .th-formal-stage::after{\n    content:\"\";\n    position:absolute;\n    inset:0;\n    background:linear-gradient(90deg,rgba(18,14,10,.88) 0%,rgba(18,14,10,.64) 44%,rgba(18,14,10,.20) 74%,rgba(18,14,10,.08) 100%);\n}\n#ads-home .th-formal-copy{\n    position:relative;\n    z-index:2;\n    width:min(560px,56%);\n    padding:68px 58px;\n}\n#ads-home .th-formal-copy h2,\n#ads-home .th-formal-copy p,\n#ads-home .th-formal-copy .th-detail-list li{color:#fff}\n#ads-home .th-formal-copy .th-detail-kicker{color:#e3c27c}\n#ads-home .th-formal-tag{\n    display:inline-block;\n    margin-bottom:18px;\n    padding:7px 12px;\n    border:1px solid rgba(231,202,143,.45);\n    color:#f4deb2;\n    font-size:10px;\n    font-weight:800;\n    letter-spacing:.13em;\n    text-transform:uppercase;\n}\n\n\/* 5 \u2014 FABRICS: tactile magazine composition *\/\n#ads-home .th-layout-fabrics{\n    background:\n        radial-gradient(circle at 87% 15%,rgba(157,116,60,.12),transparent 27%),\n        #fffdf9;\n}\n#ads-home .th-fabric-grid{\n    display:grid;\n    grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);\n    gap:52px;\n    align-items:center;\n}\n#ads-home .th-fabric-photo{\n    position:relative;\n    overflow:hidden;\n    border-radius:18px;\n    box-shadow:0 24px 52px rgba(44,35,24,.17);\n}\n#ads-home .th-fabric-photo img{width:100%;height:470px}\n#ads-home .th-fabric-photo::after{\n    content:\"DETAIL MATTERS\";\n    position:absolute;\n    right:0;\n    bottom:0;\n    padding:13px 18px;\n    color:#f5e2b9;\n    background:#211b16;\n    font-size:10px;\n    font-weight:800;\n    letter-spacing:.16em;\n}\n#ads-home .th-swatch-row{\n    display:grid;\n    grid-template-columns:repeat(4,1fr);\n    gap:9px;\n    margin:22px 0 26px;\n}\n#ads-home .th-swatch{\n    height:58px;\n    border-radius:8px;\n    border:1px solid rgba(60,46,30,.18);\n    box-shadow:0 5px 12px rgba(53,39,23,.09);\n}\n#ads-home .th-swatch:nth-child(1){background:repeating-linear-gradient(90deg,#1f2d43 0 8px,#263853 8px 15px)}\n#ads-home .th-swatch:nth-child(2){background:repeating-linear-gradient(135deg,#8c765d 0 7px,#a28b6f 7px 14px)}\n#ads-home .th-swatch:nth-child(3){background:repeating-linear-gradient(90deg,#423a35 0 3px,#62564e 3px 6px)}\n#ads-home .th-swatch:nth-child(4){background:repeating-linear-gradient(135deg,#6e2e2a 0 8px,#7f3b34 8px 14px)}\n\n\/* 6 \u2014 FITTINGS: image + tailoring timeline *\/\n#ads-home .th-layout-fittings{\n    background:linear-gradient(180deg,#f4ede2 0%,#fffdf9 100%);\n}\n#ads-home .th-fitting-head{\n    display:grid;\n    grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);\n    gap:42px;\n    align-items:center;\n    margin-bottom:36px;\n}\n#ads-home .th-fitting-photo{\n    overflow:hidden;\n    border-radius:80px 18px 18px 18px;\n    box-shadow:0 22px 46px rgba(44,35,24,.17);\n}\n#ads-home .th-fitting-photo img{width:100%;height:370px}\n#ads-home .th-fit-timeline{\n    position:relative;\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:18px;\n    margin-top:18px;\n}\n#ads-home .th-fit-timeline::before{\n    content:\"\";\n    position:absolute;\n    left:8%;\n    right:8%;\n    top:28px;\n    height:2px;\n    background:linear-gradient(90deg,#b68741,#e0c68e,#b68741);\n    transform-origin:left center;\n}\n#ads-home .th-fit-step{\n    position:relative;\n    z-index:2;\n    padding:0 8px;\n    text-align:center;\n}\n#ads-home .th-fit-step b{\n    display:block;\n    width:58px;\n    height:58px;\n    margin:0 auto 13px;\n    border-radius:50%;\n    color:#fff;\n    background:#2d251e;\n    border:4px solid #dfbd79;\n    box-shadow:0 6px 14px rgba(42,31,19,.16);\n    font:400 22px\/50px Georgia,\"Times New Roman\",serif;\n}\n#ads-home .th-fit-step strong{display:block;color:#30271f;font-size:13px}\n#ads-home .th-fit-step span{display:block;margin-top:5px;color:#685c4d;font-size:11px;line-height:1.45}\n\n\/* 7 \u2014 STYLE CONSULTATION: contained image + protected copy column *\/\n#ads-home .th-layout-style{\n    background:\n        linear-gradient(90deg,#211a15 0 40%,#fffdf9 40% 100%);\n}\n#ads-home .th-style-grid{\n    display:grid;\n    grid-template-columns:minmax(0,.90fr) minmax(0,1.10fr);\n    gap:32px;\n    align-items:center;\n}\n#ads-home .th-style-portrait{\n    position:relative;\n    min-width:0;\n    min-height:0;\n    margin:0;\n    z-index:1;\n    display:grid;\n    place-items:center;\n    overflow:hidden;\n    background:#211a15;\n    border-radius:18px;\n    box-shadow:0 30px 60px rgba(0,0,0,.28);\n}\n#ads-home .th-style-portrait img{\n    display:block;\n    width:100%;\n    max-width:100%;\n    height:auto;\n    max-height:560px;\n    object-fit:contain;\n    object-position:center center;\n}\n#ads-home .th-style-copy{\n    position:relative;\n    z-index:2;\n    min-width:0;\n    min-height:500px;\n    padding:58px 54px;\n    background:#fff;\n    border:1px solid #e0d3c1;\n    border-radius:18px;\n    box-shadow:0 18px 38px rgba(44,35,24,.10);\n}\n#ads-home .th-style-notes{\n    display:grid;\n    grid-template-columns:repeat(3,1fr);\n    gap:10px;\n    margin:24px 0 28px;\n}\n#ads-home .th-style-note{\n    padding:13px 10px;\n    background:#f6f0e7;\n    border-top:3px solid #b8863d;\n    color:#40372e;\n    font-size:11px;\n    line-height:1.4;\n}\n#ads-home .th-style-note strong{display:block;margin-bottom:4px;color:#8e6734;font-size:11px;text-transform:uppercase;letter-spacing:.07em}\n\n\/* Section-specific entrance motion. Existing observer supplies .is-motion-visible. *\/\n#ads-home.js-motion .th-service-detail .th-anim-a,\n#ads-home.js-motion .th-service-detail .th-anim-b,\n#ads-home.js-motion .th-service-detail .th-anim-c{\n    opacity:0;\n    transition:opacity .82s ease,transform .9s cubic-bezier(.22,1,.36,1);\n}\n#ads-home.js-motion .th-service-detail .th-anim-a{transform:translate3d(-46px,0,0)}\n#ads-home.js-motion .th-service-detail .th-anim-b{transform:translate3d(46px,0,0)}\n#ads-home.js-motion .th-service-detail .th-anim-c{transform:translate3d(0,34px,0)}\n#ads-home.js-motion .th-service-detail.is-motion-visible .th-anim-a,\n#ads-home.js-motion .th-service-detail.is-motion-visible .th-anim-b,\n#ads-home.js-motion .th-service-detail.is-motion-visible .th-anim-c{\n    opacity:1;\n    transform:translate3d(0,0,0);\n}\n#ads-home.js-motion .th-service-detail.is-motion-visible .th-anim-b{transition-delay:.16s}\n#ads-home.js-motion .th-service-detail.is-motion-visible .th-anim-c{transition-delay:.30s}\n#ads-home.js-motion .th-layout-formal .th-formal-stage img{\n    transform:scale(1.08);\n    transition:transform 2.1s cubic-bezier(.22,1,.36,1);\n}\n#ads-home.js-motion .th-layout-formal.is-motion-visible .th-formal-stage img{transform:scale(1)}\n#ads-home.js-motion .th-layout-fittings .th-fit-timeline::before{\n    transform:scaleX(0);\n    transition:transform 1.35s .28s ease;\n}\n#ads-home.js-motion .th-layout-fittings.is-motion-visible .th-fit-timeline::before{transform:scaleX(1)}\n#ads-home.js-motion .th-layout-fittings .th-fit-step{\n    opacity:0;\n    transform:translateY(18px);\n    transition:opacity .55s ease,transform .55s ease;\n}\n#ads-home.js-motion .th-layout-fittings.is-motion-visible .th-fit-step{opacity:1;transform:none}\n#ads-home.js-motion .th-layout-fittings.is-motion-visible .th-fit-step:nth-child(1){transition-delay:.45s}\n#ads-home.js-motion .th-layout-fittings.is-motion-visible .th-fit-step:nth-child(2){transition-delay:.64s}\n#ads-home.js-motion .th-layout-fittings.is-motion-visible .th-fit-step:nth-child(3){transition-delay:.83s}\n#ads-home.js-motion .th-layout-fabrics .th-swatch{transform:scale(.84);opacity:.15;transition:transform .46s ease,opacity .46s ease}\n#ads-home.js-motion .th-layout-fabrics.is-motion-visible .th-swatch{transform:scale(1);opacity:1}\n#ads-home.js-motion .th-layout-fabrics.is-motion-visible .th-swatch:nth-child(1){transition-delay:.42s}\n#ads-home.js-motion .th-layout-fabrics.is-motion-visible .th-swatch:nth-child(2){transition-delay:.53s}\n#ads-home.js-motion .th-layout-fabrics.is-motion-visible .th-swatch:nth-child(3){transition-delay:.64s}\n#ads-home.js-motion .th-layout-fabrics.is-motion-visible .th-swatch:nth-child(4){transition-delay:.75s}\n\n@media(max-width:960px){\n    #ads-home .th-suit-stage{min-height:0}\n    #ads-home .th-suit-photo{width:100%;margin:0}\n    #ads-home .th-suit-photo img{height:440px}\n    #ads-home .th-suit-card{position:relative;left:auto;top:auto;width:calc(100% - 34px);margin:-86px auto 0;transform:none;padding:32px}\n    #ads-home .th-shirts-grid,\n    #ads-home .th-alter-grid,\n    #ads-home .th-fabric-grid,\n    #ads-home .th-fitting-head,\n    #ads-home .th-style-grid{grid-template-columns:1fr}\n    #ads-home .th-shirts-copy{padding:28px 0 0;border-left:0;border-top:1px solid #cdb58f}\n    #ads-home .th-alter-photo{max-width:650px;margin:0 auto}\n    #ads-home .th-formal-stage{min-height:560px}\n    #ads-home .th-formal-copy{width:70%;padding:58px 44px}\n    #ads-home .th-style-grid{gap:24px}\n    #ads-home .th-style-portrait{min-height:0;margin:0;z-index:1}\n    #ads-home .th-style-portrait img{width:100%;height:auto;max-height:none;object-fit:contain}\n    #ads-home .th-style-copy{min-height:0;padding:38px 34px;border-radius:18px}\n    #ads-home .th-layout-style{background:linear-gradient(180deg,#211a15 0 38%,#fffdf9 38% 100%)}\n}\n\n@media(max-width:680px){\n    #ads-home .th-service-detail{padding:58px 16px}\n    #ads-home .th-service-shell{width:100%}\n    #ads-home .th-service-detail h2{font-size:32px}\n    #ads-home .th-btn{min-height:52px;padding:16px 50px 15px 17px;font-size:11px}\n    #ads-home .th-suit-photo img,\n    #ads-home .th-shirts-photo img,\n    #ads-home .th-alter-photo img,\n    #ads-home .th-fabric-photo img,\n    #ads-home .th-fitting-photo img{height:320px;min-height:0}\n    #ads-home .th-suit-card{width:calc(100% - 20px);margin-top:-54px;padding:26px 22px}\n    #ads-home .th-suit-number{font-size:54px}\n    #ads-home .th-shirts-photo{min-height:0;border-radius:16px 46px 16px 16px}\n    #ads-home .th-shirts-points,\n    #ads-home .th-alter-stamps,\n    #ads-home .th-swatch-row,\n    #ads-home .th-fit-timeline,\n    #ads-home .th-style-notes{grid-template-columns:1fr}\n    #ads-home .th-shirts-points span{min-height:0;text-align:left}\n    #ads-home .th-alter-grid{gap:34px}\n    #ads-home .th-alter-photo{padding:10px 10px 50px;transform:none}\n    #ads-home .th-formal-stage{min-height:620px}\n    #ads-home .th-formal-stage img{min-height:620px;object-position:62% center}\n    #ads-home .th-formal-stage::after{background:linear-gradient(180deg,rgba(18,14,10,.32) 0%,rgba(18,14,10,.72) 45%,rgba(18,14,10,.94) 100%)}\n    #ads-home .th-formal-copy{position:absolute;left:0;right:0;bottom:0;width:100%;padding:34px 24px}\n    #ads-home .th-fit-timeline::before{left:29px;right:auto;top:22px;bottom:22px;width:2px;height:auto;transform-origin:center top}\n    #ads-home.js-motion .th-layout-fittings .th-fit-timeline::before{transform:scaleY(0)}\n    #ads-home.js-motion .th-layout-fittings.is-motion-visible .th-fit-timeline::before{transform:scaleY(1)}\n    #ads-home .th-fit-step{text-align:left;padding:0 0 0 78px;min-height:72px}\n    #ads-home .th-fit-step b{position:absolute;left:0;top:0;margin:0}\n    #ads-home .th-style-portrait{min-height:0;margin:0}\n    #ads-home .th-style-portrait img{width:100%;height:auto;max-height:none;object-fit:contain}\n    #ads-home .th-style-copy{padding:30px 22px 28px}\n}\n\n@media(prefers-reduced-motion:reduce){\n    #ads-home .th-service-detail *,\n    #ads-home .th-service-detail *::before,\n    #ads-home .th-service-detail *::after{\n        animation:none!important;\n        transition:none!important;\n    }\n    #ads-home.js-motion .th-service-detail .th-anim-a,\n    #ads-home.js-motion .th-service-detail .th-anim-b,\n    #ads-home.js-motion .th-service-detail .th-anim-c,\n    #ads-home.js-motion .th-layout-fittings .th-fit-step{\n        opacity:1!important;\n        transform:none!important;\n    }\n}\n\n\n\/* Owner\/about section *\/\n#ads-home .th-about-section{padding:70px clamp(18px,4vw,58px);background:linear-gradient(120deg,#0c2029 0%,#12303b 62%,#4c3924 100%);color:#fff}\n#ads-home .th-about-grid{width:min(var(--ads-max),calc(100% - 44px));margin:0 auto;display:table;table-layout:fixed}\n#ads-home .th-about-copy,#ads-home .th-about-visual{display:table-cell;width:50%;vertical-align:middle}\n#ads-home .th-about-copy{padding-right:44px}\n#ads-home .th-about-section h2{margin:0 0 16px;color:#fff;font:400 clamp(34px,4vw,48px)\/1.08 Georgia,\"Times New Roman\",serif}\n#ads-home .th-about-section p{margin:0 0 16px;color:#f3eadc;font-size:15px;line-height:1.72}\n#ads-home .th-owner-line{color:#e0bf78!important;font-weight:700}\n#ads-home .th-about-visual img{display:block;width:100%;height:auto;border:0;outline:0;border-radius:0;box-shadow:none;background:transparent}\n\n\/* FAQ *\/\n#ads-home .th-faq{padding:70px clamp(18px,4vw,58px) 76px;background:#f4fafb}\n#ads-home .th-faq-inner{width:min(980px,calc(100% - 44px));margin:0 auto}\n#ads-home .th-faq-head{text-align:center;margin-bottom:32px}\n#ads-home .th-faq-head h2{margin:0;color:#15313b;font:400 clamp(34px,4vw,48px)\/1.1 Georgia,\"Times New Roman\",serif}\n#ads-home .th-faq-head p{margin:14px auto 0;max-width:760px;color:#5b5247;font-size:15px;line-height:1.65}\n#ads-home .th-faq details{margin:0 0 12px;border:1px solid #dfd2be;border-radius:10px;background:#fff;box-shadow:0 5px 15px rgba(44,36,26,.05)}\n#ads-home .th-faq summary{cursor:pointer;list-style:none;padding:18px 48px 18px 20px;color:#30271d;font-weight:700;position:relative}\n#ads-home .th-faq summary::-webkit-details-marker{display:none}\n#ads-home .th-faq summary::after{content:\"+\";position:absolute;right:20px;top:15px;color:#a4783b;font-size:24px;line-height:1}\n#ads-home .th-faq details[open] summary::after{content:\"\u2013\"}\n#ads-home .th-faq details p{margin:0;padding:0 20px 20px;color:#5a5146;font-size:14px;line-height:1.7}\n\n\/* Final card tailoring overrides *\/\n#ads-home .ads-final-anchor .th-monogram{display:block;width:100%;max-width:180px;height:auto;margin:0 auto;color:#d8b66f}\n#ads-home .ads-final-buttons a{display:block}\n#ads-home .ads-final-buttons .th-btn{margin-bottom:10px}\n\n@media(max-width:1100px){\n    #th-custom-navigation .th-nav-links a{font-size:10px;padding:5px 6px}\n}\n\n@media(max-width:860px){\n    #th-custom-navigation .th-nav-inner{width:min(100% - 22px,1380px);padding:9px 0}\n    #th-custom-navigation .th-brand{width:64%}\n    #th-custom-navigation .th-call{display:none}\n    #th-custom-navigation .th-mobile-toggle-wrap{display:table-cell;width:36%}\n    #th-custom-navigation .th-nav-links{display:none;text-align:left;max-height:calc(100vh - var(--jw-admin-bar-offset,0px) - 62px);overflow-y:auto;padding:8px 2px 4px;-webkit-overflow-scrolling:touch}\n    #th-custom-navigation.is-open .th-nav-links{display:block}\n    #th-custom-navigation .th-nav-links a{display:block;width:100%;margin:2px 0;padding:10px 12px;font-size:12px;white-space:normal}\n    #ads-home .th-about-grid{display:block;width:min(100% - 34px,var(--ads-max))}\n    #ads-home .th-about-copy,#ads-home .th-about-visual{display:block;width:100%}\n    #ads-home .th-about-copy{padding:0 0 28px}\n}\n\n@media(max-width:560px){\n    #th-custom-navigation .th-brand strong{font-size:18px}\n    #th-custom-navigation .th-brand span{font-size:8px;letter-spacing:.12em}\n    #ads-home .th-about-section,#ads-home .th-faq{padding-left:16px;padding-right:16px}\n    #ads-home .th-about-grid,#ads-home .th-faq-inner{width:100%}\n    #ads-home .th-about-section h2,#ads-home .th-faq-head h2{font-size:32px}\n}\n\n@media(prefers-reduced-motion:reduce){\n    #th-custom-navigation *, #ads-home .th-btn{transition:none!important;animation:none!important}\n}\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 DIMENSIONAL SHADOW CTA SYSTEM\n   No flashing, glow sweeps, or animation behind the buttons.\n   The only ambient motion is a restrained shadow veil moving\n   gently across the clipped interior of each button.\n   ========================================================= *\/\n#ads-home a.th-btn,\n#ads-home .ads-image-button.th-btn,\n#ads-home .ads-context-button a.th-btn,\n#ads-home .ads-story-context-button a.th-btn,\n#ads-home .ads-final-buttons a.th-btn,\n#ads-home .th-detail-actions a.th-btn{\n    --th-btn-accent:#d8ad5e;\n    --th-btn-edge:rgba(255,255,255,.42);\n    --th-btn-shadow-pass:rgba(7,13,22,.16);\n    position:relative;\n    display:grid;\n    grid-template-columns:54px minmax(0,1fr) 48px;\n    align-items:stretch;\n    width:100%;\n    min-height:66px;\n    margin:0;\n    padding:0;\n    overflow:hidden !important;\n    border:1px solid #c9953e;\n    border-radius:16px;\n    text-align:left;\n    text-decoration:none;\n    font-family:Arial,Helvetica,sans-serif;\n    font-size:12px;\n    line-height:1.2;\n    font-weight:800;\n    letter-spacing:.075em;\n    text-transform:uppercase;\n    isolation:isolate;\n    transform:translate3d(0,0,0);\n    filter:none;\n    clip-path:none;\n    box-shadow:\n        0 12px 25px rgba(30,22,13,.18),\n        0 2px 5px rgba(30,22,13,.10),\n        inset 0 1px 0 var(--th-btn-edge),\n        inset 0 -2px 0 rgba(74,48,16,.16),\n        inset 1px 0 0 rgba(255,255,255,.12),\n        inset -1px 0 0 rgba(55,38,17,.10);\n    transition:\n        border-color .28s ease,\n        box-shadow .28s ease,\n        transform .28s cubic-bezier(.22,1,.36,1),\n        color .28s ease;\n}\n\n\/* Restrained moving shadow. It is deliberately darker, not brighter,\n   and remains clipped to the button's rounded border at all times. *\/\n#ads-home a.th-btn::before{\n    content:\"\";\n    position:absolute;\n    z-index:1;\n    top:0;\n    bottom:0;\n    left:-46%;\n    width:42%;\n    pointer-events:none;\n    opacity:.58;\n    background:linear-gradient(\n        104deg,\n        transparent 0%,\n        rgba(6,12,20,0) 13%,\n        var(--th-btn-shadow-pass) 43%,\n        rgba(6,12,20,.09) 58%,\n        transparent 82%\n    );\n    transform:skewX(-13deg) translate3d(0,0,0);\n    animation:thBtnGentleShadow 8.8s cubic-bezier(.45,0,.22,1) infinite;\n}\n\n\/* Static inner bevel: adds depth without any flash or exterior glow. *\/\n#ads-home a.th-btn::after{\n    content:\"\";\n    position:absolute;\n    z-index:2;\n    inset:1px;\n    border-radius:14px;\n    pointer-events:none;\n    border-top:1px solid rgba(255,255,255,.20);\n    border-bottom:1px solid rgba(40,27,12,.14);\n    box-shadow:\n        inset 0 8px 16px rgba(255,255,255,.035),\n        inset 0 -10px 18px rgba(17,12,8,.07);\n}\n\n#ads-home .th-btn .th-btn-icon,\n#ads-home .th-btn .th-btn-arrow,\n#ads-home .th-btn .th-btn-label{\n    position:relative;\n    z-index:4;\n    min-width:0;\n}\n\n#ads-home .th-btn .th-btn-icon{\n    display:grid;\n    place-items:center;\n    padding:0 12px;\n    color:var(--th-btn-accent);\n    background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.035));\n}\n\n#ads-home .th-btn .th-btn-icon::after{\n    content:\"\";\n    position:absolute;\n    right:0;\n    top:11px;\n    bottom:11px;\n    width:1px;\n    background:currentColor;\n    opacity:.23;\n    pointer-events:none;\n}\n\n#ads-home .th-btn .th-btn-icon svg{\n    display:block;\n    width:25px;\n    height:25px;\n    transform-origin:50% 50%;\n    transition:\n        transform .34s cubic-bezier(.22,1,.36,1),\n        filter .34s ease;\n}\n\n#ads-home .th-btn .th-btn-label{\n    display:flex;\n    align-items:center;\n    justify-content:flex-start;\n    padding:13px 17px;\n    white-space:normal;\n    overflow-wrap:anywhere;\n    text-shadow:0 1px 0 rgba(255,255,255,.08);\n    transition:\n        letter-spacing .32s cubic-bezier(.22,1,.36,1),\n        transform .32s cubic-bezier(.22,1,.36,1);\n}\n\n#ads-home .th-btn .th-btn-arrow{\n    display:grid;\n    place-items:center;\n    align-self:center;\n    justify-self:center;\n    width:33px;\n    height:33px;\n    overflow:hidden;\n    border:1px solid currentColor;\n    border-radius:50%;\n    opacity:.94;\n    background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(0,0,0,.07));\n    box-shadow:\n        inset 0 1px 0 rgba(255,255,255,.16),\n        inset 0 -1px 0 rgba(0,0,0,.10);\n    transition:\n        transform .32s cubic-bezier(.22,1,.36,1),\n        background .28s ease,\n        color .28s ease,\n        box-shadow .28s ease;\n}\n\n#ads-home .th-btn .th-btn-arrow::before{\n    content:\"\";\n    position:absolute;\n    inset:4px;\n    border:1px solid currentColor;\n    border-radius:50%;\n    opacity:.16;\n    transition:opacity .28s ease,transform .34s cubic-bezier(.22,1,.36,1);\n}\n\n#ads-home .th-btn .th-btn-arrow svg{\n    position:relative;\n    z-index:2;\n    display:block;\n    width:16px;\n    height:16px;\n    transition:transform .38s cubic-bezier(.22,1,.36,1);\n}\n\n#ads-home a.th-btn:hover{\n    transform:translateY(-2px);\n    border-color:#ddb25a;\n    box-shadow:\n        0 16px 30px rgba(30,22,13,.22),\n        0 4px 8px rgba(30,22,13,.12),\n        inset 0 1px 0 rgba(255,255,255,.48),\n        inset 0 -2px 0 rgba(74,48,16,.18),\n        inset 0 0 0 1px rgba(218,174,91,.12);\n}\n\n#ads-home a.th-btn:hover::before{\n    opacity:.76;\n    animation-duration:5.8s;\n}\n\n#ads-home a.th-btn:hover .th-btn-icon svg{\n    transform:scale(1.07);\n    filter:drop-shadow(0 2px 2px rgba(0,0,0,.13));\n}\n\n#ads-home a.th-btn:hover .th-btn-label{\n    transform:translateX(2px);\n    letter-spacing:.092em;\n}\n\n#ads-home a.th-btn:hover .th-btn-arrow{\n    transform:translateX(1px);\n    box-shadow:\n        inset 0 1px 0 rgba(255,255,255,.24),\n        inset 0 -2px 0 rgba(0,0,0,.12),\n        0 2px 5px rgba(0,0,0,.12);\n}\n\n#ads-home a.th-btn:hover .th-btn-arrow::before{\n    opacity:.30;\n    transform:scale(.90);\n}\n\n#ads-home a.th-btn:hover .th-btn-arrow svg{\n    transform:translateX(2px);\n}\n\n#ads-home a.th-btn:active{\n    transform:translateY(0);\n    box-shadow:\n        0 7px 14px rgba(30,22,13,.16),\n        inset 0 2px 5px rgba(0,0,0,.10),\n        inset 0 1px 0 rgba(255,255,255,.22);\n}\n\n#ads-home a.th-btn:active .th-btn-label{\n    transform:translateX(1px);\n}\n\n#ads-home a.th-btn:active .th-btn-arrow{\n    transform:scale(.96);\n}\n\n#ads-home a.th-btn:focus-visible{\n    outline:3px solid rgba(225,183,92,.40);\n    outline-offset:4px;\n}\n\n\/* Deep navy \/ gold \u2014 dimensional lacquered tailoring finish. *\/\n#ads-home a.th-btn.th-btn-luxe-dark{\n    --th-btn-accent:#e0b75f;\n    --th-btn-edge:rgba(255,255,255,.18);\n    --th-btn-shadow-pass:rgba(0,0,0,.28);\n    color:#f6e6bd;\n    background:transparent 36%),\n        linear-gradient(180deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,0) 25%),\n        linear-gradient(112deg,#07162a 0%,#102b4d 42%,#0a1f38 69%,#061426 100%);\n    border-color:#b98631;\n    box-shadow:\n        0 13px 28px rgba(2,12,25,.32),\n        0 3px 7px rgba(2,12,25,.18),\n        inset 0 1px 0 rgba(255,255,255,.13),\n        inset 0 -2px 0 rgba(0,0,0,.28),\n        inset 0 0 18px rgba(222,181,96,.035);\n}\n#ads-home a.th-btn.th-btn-luxe-dark .th-btn-icon{color:#e0b75f}\n#ads-home a.th-btn.th-btn-luxe-dark .th-btn-arrow{color:#e7c370;background:linear-gradient(180deg,rgba(230,190,106,.08),rgba(0,0,0,.08))}\n#ads-home a.th-btn.th-btn-luxe-dark:hover .th-btn-arrow{background:linear-gradient(180deg,#e5c477,#c79742);color:#11213a}\n\n\/* Warm ivory \u2014 softly raised, tailored stationery finish. *\/\n#ads-home a.th-btn.th-btn-luxe-light{\n    --th-btn-accent:#a9742b;\n    --th-btn-edge:rgba(255,255,255,.92);\n    --th-btn-shadow-pass:rgba(98,70,33,.13);\n    color:#34291e;\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.34) 22%,transparent 23%),\n        linear-gradient(112deg,#fffdf9 0%,#f8f0e2 50%,#ead8b9 100%);\n    border-color:#c99a4e;\n    box-shadow:\n        0 12px 24px rgba(73,52,26,.14),\n        0 3px 7px rgba(73,52,26,.08),\n        inset 0 1px 0 rgba(255,255,255,.98),\n        inset 0 -2px 0 rgba(120,82,33,.14),\n        inset 0 0 0 1px rgba(255,255,255,.42);\n}\n#ads-home a.th-btn.th-btn-luxe-light .th-btn-icon{color:#aa762d}\n#ads-home a.th-btn.th-btn-luxe-light .th-btn-arrow{color:#8e6123;background:linear-gradient(180deg,#fff9ec,#c8edf1)}\n#ads-home a.th-btn.th-btn-luxe-light:hover .th-btn-arrow{background:linear-gradient(180deg,#39332c,#1f1b17);color:#f1d89e}\n\n\/* Rich gold \u2014 multi-stop metallic depth without a flashing sheen. *\/\n#ads-home a.th-btn.th-btn-luxe-gold{\n    --th-btn-accent:#664519;\n    --th-btn-edge:rgba(255,255,255,.72);\n    --th-btn-shadow-pass:rgba(77,50,15,.18);\n    color:#0c2731;\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.52) 0%,rgba(255,255,255,.12) 24%,transparent 25%),transparent 29%),\n        linear-gradient(112deg,#f4dda1 0%,#e8c777 29%,#d5a64e 61%,#bb7f28 100%);\n    border-color:#b67b27;\n    box-shadow:\n        0 13px 27px rgba(69,48,18,.24),\n        0 3px 7px rgba(69,48,18,.11),\n        inset 0 1px 0 rgba(255,255,255,.76),\n        inset 0 -2px 0 rgba(96,59,15,.22),\n        inset 0 0 0 1px rgba(255,244,203,.13);\n}\n#ads-home a.th-btn.th-btn-luxe-gold .th-btn-icon{color:#624117}\n#ads-home a.th-btn.th-btn-luxe-gold .th-btn-arrow{color:#543714;background:linear-gradient(180deg,rgba(255,244,204,.36),rgba(102,65,18,.06))}\n#ads-home a.th-btn.th-btn-luxe-gold:hover .th-btn-arrow{background:linear-gradient(180deg,#242c37,#101721);color:#f4d98f}\n\n@keyframes thBtnGentleShadow{\n    0%,14%{left:-46%;opacity:.18}\n    28%{opacity:.50}\n    58%{opacity:.58}\n    76%{left:108%;opacity:.34}\n    100%{left:108%;opacity:.12}\n}\n\n@media(prefers-reduced-motion:reduce){\n    #ads-home a.th-btn::before{\n        animation:none!important;\n        opacity:.18!important;\n        left:30%!important;\n    }\n    #ads-home a.th-btn,\n    #ads-home .th-btn .th-btn-icon svg,\n    #ads-home .th-btn .th-btn-label,\n    #ads-home .th-btn .th-btn-arrow,\n    #ads-home .th-btn .th-btn-arrow::before,\n    #ads-home .th-btn .th-btn-arrow svg{\n        transition:none!important;\n    }\n}\n\n\/* Purpose-built widths so no button is squeezed by legacy image-button rules. *\/\n#ads-home .th-detail-actions{\n    width:min(390px,100%);\n    overflow:visible;\n    padding-bottom:2px;\n}\n#ads-home .ads-context-button,\n#ads-home .ads-story-context-button{\n    width:min(410px,100%);\n    overflow:visible;\n}\n#ads-home .ads-final-buttons{\n    width:100%;\n    max-width:330px;\n    margin:0 auto;\n    display:grid;\n    grid-template-columns:1fr;\n    gap:14px;\n    overflow:visible;\n}\n#ads-home .ads-final-buttons a.th-btn{\n    max-width:none;\n    min-height:66px;\n    margin:0;\n    padding:0;\n    overflow:hidden !important;\n    border-radius:16px;\n    filter:none;\n    clip-path:none;\n}\n#ads-home .ads-hero-buttons .th-btn{\n    min-height:66px;\n}\n\n\/* Correct the first editorial card so its CTA always remains inside the section. *\/\n#ads-home .th-suit-stage{min-height:610px}\n#ads-home .th-suit-photo img{height:570px}\n#ads-home .th-suit-card{padding-bottom:42px}\n\n@media(max-width:960px){\n    #ads-home .th-suit-stage{min-height:0}\n    #ads-home .th-suit-photo img{height:440px}\n    #ads-home .th-suit-card{padding-bottom:34px}\n    #ads-home .ads-final-buttons{max-width:420px}\n}\n\n@media(max-width:680px){\n    #ads-home a.th-btn,\n    #ads-home .ads-image-button.th-btn,\n    #ads-home .ads-context-button a.th-btn,\n    #ads-home .ads-story-context-button a.th-btn,\n    #ads-home .ads-final-buttons a.th-btn,\n    #ads-home .th-detail-actions a.th-btn{\n        grid-template-columns:46px minmax(0,1fr) 42px;\n        min-height:58px;\n        font-size:10px;\n        letter-spacing:.06em;\n        border-radius:14px;\n    }\n    #ads-home a.th-btn::after{inset:1px;border-radius:12px}\n    #ads-home .th-btn .th-btn-icon{padding:0 10px}\n    #ads-home .th-btn .th-btn-icon svg{width:22px;height:22px}\n    #ads-home .th-btn .th-btn-label{padding:11px 12px}\n    #ads-home .th-btn .th-btn-arrow{width:29px;height:29px}\n    #ads-home .ads-hero-buttons{grid-template-columns:1fr}\n    #ads-home .ads-final-buttons{max-width:none}\n}\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 ENHANCED DIMENSIONAL CTA OVERRIDES\n   Stronger internal shadow pass + deeper three-dimensional finish.\n   Motion remains fully clipped inside each button.\n   ========================================================= *\/\n#ads-home a.th-btn,\n#ads-home .ads-image-button.th-btn,\n#ads-home .ads-context-button a.th-btn,\n#ads-home .ads-story-context-button a.th-btn,\n#ads-home .ads-final-buttons a.th-btn,\n#ads-home .th-detail-actions a.th-btn{\n    border-width:1px;\n    box-shadow:\n        0 15px 30px rgba(35,25,14,.24),\n        0 5px 9px rgba(35,25,14,.12),\n        inset 0 2px 0 rgba(255,255,255,.52),\n        inset 0 -3px 0 rgba(56,36,13,.24),\n        inset 2px 0 0 rgba(255,255,255,.11),\n        inset -2px 0 0 rgba(49,31,13,.14),\n        inset 0 10px 22px rgba(255,255,255,.055),\n        inset 0 -14px 24px rgba(24,15,8,.10);\n}\n\n\/* More noticeable, more frequent soft shadow crossing the button face. *\/\n#ads-home a.th-btn::before{\n    left:-58%;\n    width:56%;\n    opacity:.76;\n    background:linear-gradient(\n        106deg,\n        transparent 0%,\n        rgba(0,0,0,0) 8%,\n        rgba(0,0,0,.045) 20%,\n        var(--th-btn-shadow-pass) 42%,\n        rgba(0,0,0,.19) 53%,\n        var(--th-btn-shadow-pass) 64%,\n        rgba(0,0,0,.035) 80%,\n        transparent 100%\n    );\n    filter:blur(.15px);\n    transform:skewX(-12deg) translate3d(0,0,0);\n    animation:thBtnGentleShadowV2 4.6s cubic-bezier(.42,0,.28,1) infinite;\n}\n\n\/* A stronger molded rim makes the control read as a physical object. *\/\n#ads-home a.th-btn::after{\n    inset:1px;\n    border-radius:14px;\n    border-top:1px solid rgba(255,255,255,.44);\n    border-left:1px solid rgba(255,255,255,.16);\n    border-right:1px solid rgba(47,31,13,.10);\n    border-bottom:1px solid rgba(47,31,13,.26);\n    box-shadow:\n        inset 0 7px 13px rgba(255,255,255,.10),\n        inset 0 -11px 17px rgba(17,10,5,.11),\n        inset 0 0 0 1px rgba(255,255,255,.035);\n}\n\n#ads-home .th-btn .th-btn-icon{\n    background:\n        linear-gradient(90deg,rgba(255,255,255,.045),transparent 70%),\n        linear-gradient(180deg,rgba(255,255,255,.10),rgba(0,0,0,.07));\n    box-shadow:inset -1px 0 0 rgba(0,0,0,.08);\n}\n\n#ads-home .th-btn .th-btn-arrow{\n    border-width:1px;\n    background:\n        radial-gradient(circle at 35% 28%,rgba(255,255,255,.20),transparent 35%),\n        linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.11));\n    box-shadow:\n        0 3px 6px rgba(0,0,0,.13),\n        inset 0 2px 0 rgba(255,255,255,.20),\n        inset 0 -2px 0 rgba(0,0,0,.16);\n}\n\n#ads-home a.th-btn:hover{\n    transform:translateY(-1px);\n    box-shadow:\n        0 18px 34px rgba(33,23,13,.28),\n        0 6px 11px rgba(33,23,13,.14),\n        inset 0 2px 0 rgba(255,255,255,.58),\n        inset 0 -3px 0 rgba(58,37,13,.27),\n        inset 0 12px 24px rgba(255,255,255,.065),\n        inset 0 -16px 26px rgba(18,11,6,.12),\n        inset 0 0 0 1px rgba(218,174,91,.14);\n}\n\n#ads-home a.th-btn:hover::before{\n    opacity:.92;\n    animation-duration:3.45s;\n}\n\n#ads-home a.th-btn:active{\n    transform:translateY(1px);\n    box-shadow:\n        0 7px 13px rgba(30,22,13,.18),\n        inset 0 4px 8px rgba(0,0,0,.13),\n        inset 0 1px 0 rgba(255,255,255,.20),\n        inset 0 -1px 0 rgba(0,0,0,.18);\n}\n\n\/* Navy lacquer: stronger top crown and lower edge depth. *\/\n#ads-home a.th-btn.th-btn-luxe-dark{\n    --th-btn-shadow-pass:rgba(0,0,0,.38);\n    background:transparent 38%),\n        linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.025) 24%,transparent 25%),\n        linear-gradient(180deg,transparent 58%,rgba(0,0,0,.15) 100%),\n        linear-gradient(112deg,#0d2340 0%,#16385f 34%,#0b2747 67%,#06172c 100%);\n    border-color:#c18e36;\n}\n\n\/* Ivory porcelain: brighter crown, warmer lower bevel. *\/\n#ads-home a.th-btn.th-btn-luxe-light{\n    --th-btn-shadow-pass:rgba(79,54,27,.22);\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.52) 20%,transparent 21%),transparent 35%),\n        linear-gradient(180deg,transparent 62%,rgba(140,96,38,.12) 100%),\n        linear-gradient(112deg,#fffefb 0%,#f9f1e3 48%,#e7d2b1 100%);\n    border-color:#c89442;\n}\n\n\/* Gold metal: more pronounced raised crown and darker foot. *\/\n#ads-home a.th-btn.th-btn-luxe-gold{\n    --th-btn-shadow-pass:rgba(70,44,12,.30);\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.16) 22%,transparent 23%),transparent 31%),\n        linear-gradient(180deg,transparent 58%,rgba(94,55,11,.14) 100%),\n        linear-gradient(112deg,#f7e6ad 0%,#ebce7e 28%,#d9ab52 60%,#b87520 100%);\n    border-color:#af7320;\n}\n\n@keyframes thBtnGentleShadowV2{\n    0%{left:-58%;opacity:.22}\n    9%{opacity:.68}\n    43%{opacity:.84}\n    68%{left:110%;opacity:.74}\n    79%,100%{left:110%;opacity:.16}\n}\n\n@media(prefers-reduced-motion:reduce){\n    #ads-home a.th-btn::before{\n        animation:none!important;\n        left:26%!important;\n        opacity:.34!important;\n    }\n}\n\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 BUTTON CORRECTIONS V3\n   1) Prevent label words from splitting letter-by-letter.\n   2) Remove the decorative partial-circle highlight from every CTA.\n   3) Start the internal shadow pass exactly when each button enters view.\n   ========================================================= *\/\n\n\/* Give the two hero CTAs enough horizontal room for full professional labels. *\/\n#ads-home .ads-hero-buttons{\n    max-width:430px;\n    grid-template-columns:1fr;\n    gap:14px;\n}\n\n\/* Never split a CTA word into individual letters. *\/\n#ads-home .th-btn .th-btn-label{\n    padding-left:15px;\n    padding-right:15px;\n    white-space:normal;\n    overflow-wrap:normal;\n    word-break:normal;\n    hyphens:none;\n}\n\n\/* Shadow motion is dormant until IntersectionObserver activates the button. *\/\n#ads-home a.th-btn::before{\n    animation:none !important;\n    left:-34%;\n    opacity:0;\n}\n\n#ads-home a.th-btn.is-shadow-active::before{\n    animation:thBtnScrollShadowPass 3.6s cubic-bezier(.40,0,.24,1) infinite !important;\n}\n\n#ads-home a.th-btn.is-shadow-active:hover::before{\n    animation-duration:2.9s !important;\n}\n\n\/* Remove the upper-left partial circular highlight from every color treatment. *\/\n#ads-home a.th-btn.th-btn-luxe-dark{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.13) 0%,rgba(255,255,255,.035) 23%,transparent 24%),\n        linear-gradient(180deg,transparent 57%,rgba(0,0,0,.17) 100%),\n        linear-gradient(112deg,#102946 0%,#173b63 34%,#0c2949 68%,#06172c 100%);\n}\n\n#ads-home a.th-btn.th-btn-luxe-light{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.56) 20%,transparent 21%),\n        linear-gradient(180deg,transparent 61%,rgba(140,96,38,.13) 100%),\n        linear-gradient(112deg,#fffefb 0%,#faf2e5 48%,#e7d2b1 100%);\n}\n\n#ads-home a.th-btn.th-btn-luxe-gold{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.70) 0%,rgba(255,255,255,.18) 22%,transparent 23%),\n        linear-gradient(180deg,transparent 57%,rgba(94,55,11,.16) 100%),\n        linear-gradient(112deg,#f8e7af 0%,#edcf7e 29%,#d8aa50 60%,#b8741f 100%);\n}\n\n\/* Immediate-on-entry shadow pass: visible at the left edge at frame zero,\n   then moves smoothly across the clipped interior before resetting. *\/\n@keyframes thBtnScrollShadowPass{\n    0%{left:-34%;opacity:.82}\n    12%{opacity:.92}\n    66%{left:108%;opacity:.78}\n    78%{left:108%;opacity:.18}\n    100%{left:-34%;opacity:.20}\n}\n\n@media(max-width:680px){\n    #ads-home .th-btn .th-btn-label{\n        padding-left:11px;\n        padding-right:11px;\n        overflow-wrap:normal;\n        word-break:normal;\n    }\n}\n\n@media(prefers-reduced-motion:reduce){\n    #ads-home a.th-btn::before,\n    #ads-home a.th-btn.is-shadow-active::before{\n        animation:none !important;\n        left:30% !important;\n        opacity:.28 !important;\n    }\n}\n\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 FINAL CTA SIZE + SHADOW CORRECTION\n   - Removes the upper-left circular artifact from every CTA.\n   - Reduces desktop CTA length by about 40%.\n   - Uses a clean, non-radial internal shadow band.\n   - Shadow starts as soon as any part of the button enters view.\n   ========================================================= *\/\n\n\/* Compact, consistent desktop button proportions. *\/\n#ads-home .ads-hero-buttons,\n#ads-home .th-detail-actions,\n#ads-home .ads-context-button,\n#ads-home .ads-story-context-button,\n#ads-home .ads-final-buttons{\n    width:min(260px,100%) !important;\n    max-width:260px !important;\n}\n\n#ads-home .ads-hero-buttons{\n    grid-template-columns:1fr !important;\n    gap:12px !important;\n}\n\n#ads-home .ads-final-buttons{\n    margin-left:auto !important;\n    margin-right:auto !important;\n}\n\n#ads-home a.th-btn,\n#ads-home .ads-image-button.th-btn,\n#ads-home .ads-context-button a.th-btn,\n#ads-home .ads-story-context-button a.th-btn,\n#ads-home .ads-final-buttons a.th-btn,\n#ads-home .th-detail-actions a.th-btn{\n    width:100% !important;\n    max-width:260px !important;\n    min-height:58px !important;\n    grid-template-columns:44px minmax(0,1fr) 40px !important;\n    border-radius:14px !important;\n    font-size:10.5px !important;\n    letter-spacing:.055em !important;\n}\n\n#ads-home .th-btn .th-btn-icon{\n    padding:0 8px !important;\n}\n\n#ads-home .th-btn .th-btn-icon svg{\n    width:21px !important;\n    height:21px !important;\n}\n\n#ads-home .th-btn .th-btn-label{\n    padding:10px 9px !important;\n    white-space:normal !important;\n    overflow-wrap:normal !important;\n    word-break:normal !important;\n    hyphens:none !important;\n}\n\n#ads-home .th-btn .th-btn-arrow{\n    width:29px !important;\n    height:29px !important;\n}\n\n#ads-home .th-btn .th-btn-arrow svg{\n    width:14px !important;\n    height:14px !important;\n}\n\n\/* Explicitly remove every old upper-left highlight\/circle source.\n   The color treatments use linear gradients only. *\/\n#ads-home a.th-btn.th-btn-luxe-dark{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.035) 24%,transparent 25%),\n        linear-gradient(180deg,transparent 57%,rgba(0,0,0,.19) 100%),\n        linear-gradient(112deg,#102946 0%,#173b63 34%,#0c2949 68%,#06172c 100%) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-light{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.55) 21%,transparent 22%),\n        linear-gradient(180deg,transparent 61%,rgba(140,96,38,.14) 100%),\n        linear-gradient(112deg,#fffefb 0%,#faf2e5 48%,#e7d2b1 100%) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-gold{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.70) 0%,rgba(255,255,255,.17) 23%,transparent 24%),\n        linear-gradient(180deg,transparent 57%,rgba(94,55,11,.17) 100%),\n        linear-gradient(112deg,#f8e7af 0%,#edcf7e 29%,#d8aa50 60%,#b8741f 100%) !important;\n}\n\n\/* Replace the old left-edge shadow shape with a straight, soft angled veil.\n   No radial gradients, circles, rounded pseudo-elements, or visible stationary blob. *\/\n#ads-home a.th-btn::before{\n    content:\"\" !important;\n    position:absolute !important;\n    z-index:1 !important;\n    top:-12% !important;\n    bottom:-12% !important;\n    left:0 !important;\n    width:38% !important;\n    height:auto !important;\n    border:0 !important;\n    border-radius:0 !important;\n    opacity:0 !important;\n    pointer-events:none !important;\n    background:linear-gradient(\n        102deg,\n        rgba(0,0,0,0) 0%,\n        rgba(0,0,0,.035) 18%,\n        var(--th-btn-shadow-pass) 46%,\n        rgba(0,0,0,.21) 54%,\n        var(--th-btn-shadow-pass) 62%,\n        rgba(0,0,0,.035) 82%,\n        rgba(0,0,0,0) 100%\n    ) !important;\n    filter:blur(.35px) !important;\n    transform:translate3d(-145%,0,0) skewX(-13deg) !important;\n    animation:none !important;\n}\n\n#ads-home a.th-btn.is-shadow-active::before{\n    animation:thBtnImmediateLinearShadow 3.25s cubic-bezier(.40,0,.24,1) infinite !important;\n}\n\n#ads-home a.th-btn.is-shadow-active:hover::before{\n    animation-duration:2.65s !important;\n}\n\n@keyframes thBtnImmediateLinearShadow{\n    0%{\n        transform:translate3d(-145%,0,0) skewX(-13deg);\n        opacity:.88;\n    }\n    7%{opacity:.95}\n    67%{\n        transform:translate3d(365%,0,0) skewX(-13deg);\n        opacity:.80;\n    }\n    78%{\n        transform:translate3d(365%,0,0) skewX(-13deg);\n        opacity:0;\n    }\n    79%{\n        transform:translate3d(-145%,0,0) skewX(-13deg);\n        opacity:0;\n    }\n    100%{\n        transform:translate3d(-145%,0,0) skewX(-13deg);\n        opacity:.88;\n    }\n}\n\n\/* Keep the molded rim dimensional but never circular. *\/\n#ads-home a.th-btn::after{\n    inset:1px !important;\n    border-radius:12px !important;\n}\n\n@media(max-width:680px){\n    #ads-home .ads-hero-buttons,\n    #ads-home .th-detail-actions,\n    #ads-home .ads-context-button,\n    #ads-home .ads-story-context-button,\n    #ads-home .ads-final-buttons{\n        width:min(100%,290px) !important;\n        max-width:290px !important;\n    }\n\n    #ads-home a.th-btn,\n    #ads-home .ads-image-button.th-btn,\n    #ads-home .ads-context-button a.th-btn,\n    #ads-home .ads-story-context-button a.th-btn,\n    #ads-home .ads-final-buttons a.th-btn,\n    #ads-home .th-detail-actions a.th-btn{\n        max-width:290px !important;\n    }\n}\n\n@media(prefers-reduced-motion:reduce){\n    #ads-home a.th-btn::before,\n    #ads-home a.th-btn.is-shadow-active::before{\n        animation:none !important;\n        transform:translate3d(-145%,0,0) skewX(-13deg) !important;\n        opacity:0 !important;\n    }\n}\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 FINAL SIGNATURE CTA BUTTON SYSTEM\n   Styled to match the refined compact buttons in the approved\n   visual: tailored proportions, raised 3-D construction, clear\n   icon compartment, centered label and gold arrow medallion.\n   No upper-left decorative circle is used anywhere.\n   ========================================================= *\/\n\n\/* Keep every CTA compact and consistent. *\/\n#ads-home .ads-hero-buttons,\n#ads-home .th-detail-actions,\n#ads-home .ads-context-button,\n#ads-home .ads-story-context-button,\n#ads-home .ads-final-buttons{\n    width:min(252px,100%) !important;\n    max-width:252px !important;\n}\n\n#ads-home .ads-hero-buttons{\n    grid-template-columns:1fr !important;\n    gap:12px !important;\n}\n\n#ads-home a.th-btn,\n#ads-home .ads-image-button.th-btn,\n#ads-home .ads-context-button a.th-btn,\n#ads-home .ads-story-context-button a.th-btn,\n#ads-home .ads-final-buttons a.th-btn,\n#ads-home .th-detail-actions a.th-btn{\n    --th-face-top:#fffefb;\n    --th-face-mid:#f8f0e2;\n    --th-face-low:#ead8b8;\n    --th-ink:#30271e;\n    --th-icon:#a8742d;\n    --th-separator:rgba(137,92,35,.24);\n    --th-arrow-face-top:#fff8e9;\n    --th-arrow-face-low:#e5c996;\n    --th-arrow-ink:#9c6f2f;\n    --th-rim:#c8923d;\n    --th-btn-shadow-pass:rgba(53,39,25,.20);\n\n    position:relative !important;\n    display:grid !important;\n    grid-template-columns:44px minmax(0,1fr) 40px !important;\n    align-items:stretch !important;\n    width:100% !important;\n    max-width:252px !important;\n    min-height:52px !important;\n    margin:0 !important;\n    padding:0 !important;\n    overflow:hidden !important;\n    border:1px solid var(--th-rim) !important;\n    border-radius:12px !important;\n    color:var(--th-ink) !important;\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.48) 14%,rgba(255,255,255,0) 30%),\n        linear-gradient(180deg,rgba(255,255,255,0) 58%,rgba(87,58,26,.08) 100%),\n        linear-gradient(105deg,var(--th-face-top) 0%,var(--th-face-mid) 53%,var(--th-face-low) 100%) !important;\n    box-shadow:\n        0 10px 17px rgba(48,35,22,.17),\n        0 3px 5px rgba(48,35,22,.11),\n        inset 0 2px 0 rgba(255,255,255,.82),\n        inset 0 -3px 0 rgba(92,60,24,.15),\n        inset 0 0 0 1px rgba(255,255,255,.28) !important;\n    font-size:10px !important;\n    line-height:1.12 !important;\n    font-weight:800 !important;\n    letter-spacing:.055em !important;\n    text-transform:uppercase !important;\n    text-align:left !important;\n    text-decoration:none !important;\n    isolation:isolate !important;\n    transform:translate3d(0,0,0) !important;\n    transition:\n        transform .22s cubic-bezier(.22,1,.36,1),\n        box-shadow .22s ease,\n        border-color .22s ease,\n        filter .22s ease !important;\n}\n\n\/* The ambient shadow pass is a straight clipped band only. *\/\n#ads-home a.th-btn::before{\n    content:\"\" !important;\n    position:absolute !important;\n    z-index:1 !important;\n    top:-12% !important;\n    bottom:-12% !important;\n    left:0 !important;\n    width:34% !important;\n    height:auto !important;\n    border:0 !important;\n    border-radius:0 !important;\n    pointer-events:none !important;\n    opacity:0 !important;\n    background:linear-gradient(\n        104deg,\n        rgba(0,0,0,0) 0%,\n        rgba(0,0,0,.025) 22%,\n        var(--th-btn-shadow-pass) 47%,\n        rgba(0,0,0,.17) 54%,\n        var(--th-btn-shadow-pass) 62%,\n        rgba(0,0,0,.025) 82%,\n        rgba(0,0,0,0) 100%\n    ) !important;\n    filter:blur(.2px) !important;\n    transform:translate3d(-155%,0,0) skewX(-11deg) !important;\n    animation:none !important;\n}\n\n#ads-home a.th-btn.is-shadow-active::before{\n    animation:thBtnTailoredShadowPass 3.15s cubic-bezier(.42,0,.23,1) infinite !important;\n}\n\n#ads-home a.th-btn.is-shadow-active:hover::before{\n    animation-duration:2.6s !important;\n}\n\n\/* Raised inner molding; rectangular only, so it cannot create a corner spot. *\/\n#ads-home a.th-btn::after{\n    content:\"\" !important;\n    position:absolute !important;\n    z-index:2 !important;\n    inset:1px !important;\n    border:0 !important;\n    border-radius:10px !important;\n    pointer-events:none !important;\n    background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,0) 28%,rgba(0,0,0,0) 70%,rgba(0,0,0,.055)) !important;\n    box-shadow:\n        inset 0 1px 0 rgba(255,255,255,.44),\n        inset 0 -1px 0 rgba(57,39,18,.14) !important;\n}\n\n#ads-home .th-btn .th-btn-icon,\n#ads-home .th-btn .th-btn-label,\n#ads-home .th-btn .th-btn-arrow{\n    position:relative !important;\n    z-index:4 !important;\n    min-width:0 !important;\n}\n\n\/* Left icon chamber. *\/\n#ads-home .th-btn .th-btn-icon{\n    display:grid !important;\n    place-items:center !important;\n    padding:0 9px !important;\n    color:var(--th-icon) !important;\n    background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(97,66,27,.045)) !important;\n    box-shadow:inset -1px 0 0 var(--th-separator) !important;\n}\n\n#ads-home .th-btn .th-btn-icon::after{\n    content:\"\" !important;\n    position:absolute !important;\n    right:0 !important;\n    top:8px !important;\n    bottom:8px !important;\n    width:1px !important;\n    border:0 !important;\n    border-radius:0 !important;\n    background:linear-gradient(180deg,transparent,var(--th-separator) 22%,var(--th-separator) 78%,transparent) !important;\n    opacity:1 !important;\n}\n\n#ads-home .th-btn .th-btn-icon svg{\n    width:21px !important;\n    height:21px !important;\n    filter:drop-shadow(0 1px 0 rgba(255,255,255,.45)) !important;\n    transition:transform .24s cubic-bezier(.22,1,.36,1) !important;\n}\n\n\/* Label remains readable and visually centered. *\/\n#ads-home .th-btn .th-btn-label{\n    display:flex !important;\n    align-items:center !important;\n    justify-content:flex-start !important;\n    padding:9px 10px !important;\n    white-space:normal !important;\n    overflow-wrap:normal !important;\n    word-break:normal !important;\n    hyphens:none !important;\n    color:inherit !important;\n    text-shadow:0 1px 0 rgba(255,255,255,.36) !important;\n    transition:transform .24s cubic-bezier(.22,1,.36,1),letter-spacing .24s ease !important;\n}\n\n\/* Raised gold arrow medallion. *\/\n#ads-home .th-btn .th-btn-arrow{\n    display:grid !important;\n    place-items:center !important;\n    align-self:center !important;\n    justify-self:center !important;\n    width:29px !important;\n    height:29px !important;\n    overflow:hidden !important;\n    border:1px solid rgba(155,108,41,.48) !important;\n    border-radius:50% !important;\n    color:var(--th-arrow-ink) !important;\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.08) 34%,rgba(86,55,18,.06) 100%),\n        linear-gradient(180deg,var(--th-arrow-face-top),var(--th-arrow-face-low)) !important;\n    box-shadow:\n        0 3px 5px rgba(69,47,23,.17),\n        inset 0 2px 0 rgba(255,255,255,.74),\n        inset 0 -2px 0 rgba(100,65,22,.16),\n        inset 0 0 0 2px rgba(255,255,255,.18) !important;\n    transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,background .24s ease !important;\n}\n\n#ads-home .th-btn .th-btn-arrow::before{\n    content:none !important;\n    display:none !important;\n}\n\n#ads-home .th-btn .th-btn-arrow svg{\n    width:14px !important;\n    height:14px !important;\n    filter:drop-shadow(0 1px 0 rgba(255,255,255,.42)) !important;\n    transition:transform .24s cubic-bezier(.22,1,.36,1) !important;\n}\n\n\/* Hover adds depth instead of a distracting glow. *\/\n#ads-home a.th-btn:hover{\n    transform:translateY(-1px) !important;\n    border-color:#d5a34c !important;\n    box-shadow:\n        0 14px 22px rgba(48,35,22,.21),\n        0 5px 7px rgba(48,35,22,.12),\n        inset 0 2px 0 rgba(255,255,255,.90),\n        inset 0 -4px 0 rgba(92,60,24,.17),\n        inset 0 0 0 1px rgba(255,255,255,.34) !important;\n    filter:saturate(1.03) !important;\n}\n\n#ads-home a.th-btn:hover .th-btn-icon svg{\n    transform:scale(1.06) !important;\n}\n\n#ads-home a.th-btn:hover .th-btn-label{\n    transform:translateX(1px) !important;\n    letter-spacing:.064em !important;\n}\n\n#ads-home a.th-btn:hover .th-btn-arrow{\n    transform:translateX(1px) translateY(-1px) !important;\n    box-shadow:\n        0 5px 8px rgba(64,43,19,.22),\n        inset 0 2px 0 rgba(255,255,255,.82),\n        inset 0 -2px 0 rgba(100,65,22,.18) !important;\n}\n\n#ads-home a.th-btn:hover .th-btn-arrow svg{\n    transform:translateX(1px) !important;\n}\n\n#ads-home a.th-btn:active{\n    transform:translateY(1px) !important;\n    box-shadow:\n        0 6px 10px rgba(48,35,22,.15),\n        inset 0 3px 6px rgba(65,43,20,.12),\n        inset 0 1px 0 rgba(255,255,255,.40) !important;\n}\n\n#ads-home a.th-btn:active .th-btn-arrow{\n    transform:translateY(1px) scale(.97) !important;\n}\n\n\/* Dark navy version from the approved design. *\/\n#ads-home a.th-btn.th-btn-luxe-dark{\n    --th-face-top:#16304d;\n    --th-face-mid:#0f2947;\n    --th-face-low:#071a30;\n    --th-ink:#f4d99b;\n    --th-icon:#d8ad59;\n    --th-separator:rgba(217,174,89,.22);\n    --th-arrow-face-top:#d8ad59;\n    --th-arrow-face-low:#ad762c;\n    --th-arrow-ink:#11243c;\n    --th-rim:#b57c27;\n    --th-btn-shadow-pass:rgba(0,0,0,.34);\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,.025) 22%,rgba(255,255,255,0) 36%),\n        linear-gradient(180deg,rgba(255,255,255,0) 55%,rgba(0,0,0,.22) 100%),\n        linear-gradient(105deg,var(--th-face-top) 0%,var(--th-face-mid) 54%,var(--th-face-low) 100%) !important;\n    box-shadow:\n        0 11px 18px rgba(3,13,27,.28),\n        0 3px 6px rgba(3,13,27,.18),\n        inset 0 2px 0 rgba(255,255,255,.13),\n        inset 0 -3px 0 rgba(0,0,0,.30),\n        inset 0 0 0 1px rgba(214,170,82,.055) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-dark .th-btn-label{\n    text-shadow:0 1px 0 rgba(0,0,0,.36) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-dark .th-btn-icon{\n    background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.08)) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-dark .th-btn-arrow{\n    color:#f6d77f !important;\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.11),rgba(0,0,0,.08)),\n        linear-gradient(180deg,#183653,#0b2038) !important;\n    border-color:#c99940 !important;\n    box-shadow:\n        0 3px 6px rgba(0,0,0,.28),\n        inset 0 2px 0 rgba(255,255,255,.12),\n        inset 0 -2px 0 rgba(0,0,0,.30),\n        0 0 0 2px rgba(200,153,64,.22) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-dark:hover .th-btn-arrow{\n    color:#11243c !important;\n    background:linear-gradient(180deg,#f2d58e,#c89035) !important;\n}\n\n\/* Ivory version. *\/\n#ads-home a.th-btn.th-btn-luxe-light{\n    --th-face-top:#fffefb;\n    --th-face-mid:#f9f1e5;\n    --th-face-low:#e7d3b3;\n    --th-ink:#31281f;\n    --th-icon:#a9742c;\n    --th-rim:#c99545;\n    --th-btn-shadow-pass:rgba(76,55,33,.20);\n}\n\n\/* Gold version: slightly richer, still compact and restrained. *\/\n#ads-home a.th-btn.th-btn-luxe-gold{\n    --th-face-top:#f7e8b7;\n    --th-face-mid:#e9cb80;\n    --th-face-low:#c98e35;\n    --th-ink:#2c2114;\n    --th-icon:#6f4917;\n    --th-separator:rgba(92,59,18,.26);\n    --th-arrow-face-top:#fff1bb;\n    --th-arrow-face-low:#d5a24f;\n    --th-arrow-ink:#6a4516;\n    --th-rim:#ad7421;\n    --th-btn-shadow-pass:rgba(72,45,12,.25);\n}\n\n@keyframes thBtnTailoredShadowPass{\n    0%{transform:translate3d(-155%,0,0) skewX(-11deg);opacity:.72}\n    9%{opacity:.88}\n    66%{transform:translate3d(390%,0,0) skewX(-11deg);opacity:.76}\n    78%{transform:translate3d(390%,0,0) skewX(-11deg);opacity:0}\n    79%{transform:translate3d(-155%,0,0) skewX(-11deg);opacity:0}\n    100%{transform:translate3d(-155%,0,0) skewX(-11deg);opacity:.72}\n}\n\n@media(max-width:680px){\n    #ads-home .ads-hero-buttons,\n    #ads-home .th-detail-actions,\n    #ads-home .ads-context-button,\n    #ads-home .ads-story-context-button,\n    #ads-home .ads-final-buttons{\n        width:min(100%,270px) !important;\n        max-width:270px !important;\n    }\n    #ads-home a.th-btn,\n    #ads-home .ads-image-button.th-btn,\n    #ads-home .ads-context-button a.th-btn,\n    #ads-home .ads-story-context-button a.th-btn,\n    #ads-home .ads-final-buttons a.th-btn,\n    #ads-home .th-detail-actions a.th-btn{\n        max-width:270px !important;\n        grid-template-columns:42px minmax(0,1fr) 38px !important;\n        min-height:50px !important;\n        font-size:9.8px !important;\n    }\n}\n\n@media(prefers-reduced-motion:reduce){\n    #ads-home a.th-btn::before,\n    #ads-home a.th-btn.is-shadow-active::before{\n        animation:none !important;\n        opacity:0 !important;\n        transform:translate3d(-155%,0,0) skewX(-11deg) !important;\n    }\n}\n\n\n\/* =========================================================\n   FINAL CORRECTIONS \u2014 RAISED CUSTOM-SUIT CARD + DEEPER 3-D CTAs\n   ========================================================= *\/\n\n\/* Raise the Deep Carpet Cleaning editorial card on desktop so the entire\n   card, including its bottom edge and CTA, remains visible. *\/\n@media (min-width:961px){\n    #ads-home .th-suit-stage{\n        min-height:650px !important;\n    }\n    #ads-home .th-suit-photo img{\n        height:590px !important;\n    }\n    #ads-home .th-suit-card{\n        top:42% !important;\n        transform:translateY(-50%) !important;\n        padding-bottom:40px !important;\n    }\n}\n\n\/* More dimensional button construction.\n   All visual layers are linear\/rectangular; no upper-left circle. *\/\n#ads-home a.th-btn,\n#ads-home .ads-image-button.th-btn,\n#ads-home .ads-context-button a.th-btn,\n#ads-home .ads-story-context-button a.th-btn,\n#ads-home .ads-final-buttons a.th-btn,\n#ads-home .th-detail-actions a.th-btn{\n    border-width:1px !important;\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.98) 0%,\n            rgba(255,255,255,.58) 9%,\n            rgba(255,255,255,.13) 22%,\n            rgba(255,255,255,0) 40%),\n        linear-gradient(180deg,\n            rgba(255,255,255,0) 48%,\n            rgba(82,55,24,.055) 68%,\n            rgba(67,43,18,.16) 100%),\n        linear-gradient(105deg,\n            var(--th-face-top) 0%,\n            var(--th-face-mid) 50%,\n            var(--th-face-low) 100%) !important;\n    box-shadow:\n        0 14px 22px rgba(48,35,22,.23),\n        0 5px 8px rgba(48,35,22,.16),\n        0 1px 0 rgba(255,255,255,.68),\n        inset 0 3px 0 rgba(255,255,255,.86),\n        inset 0 1px 0 rgba(255,255,255,.58),\n        inset 0 -4px 0 rgba(91,59,23,.20),\n        inset 0 -7px 12px rgba(83,55,23,.08),\n        inset 0 0 0 1px rgba(255,255,255,.38) !important;\n}\n\n\/* A crisp internal lower lip adds visible thickness without\n   extending beyond the button border. *\/\n#ads-home a.th-btn::after{\n    content:\"\" !important;\n    position:absolute !important;\n    z-index:2 !important;\n    inset:1px !important;\n    pointer-events:none !important;\n    border-radius:10px !important;\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.22) 0%,\n            rgba(255,255,255,.05) 24%,\n            rgba(255,255,255,0) 44%,\n            rgba(0,0,0,0) 70%,\n            rgba(52,34,15,.075) 88%,\n            rgba(52,34,15,.14) 100%) !important;\n    box-shadow:\n        inset 0 1px 0 rgba(255,255,255,.55),\n        inset 0 -2px 0 rgba(57,39,18,.18),\n        inset 0 -5px 8px rgba(57,39,18,.055) !important;\n}\n\n\/* Give the icon compartment a recessed, machined appearance. *\/\n#ads-home .th-btn .th-btn-icon{\n    background:\n        linear-gradient(90deg,\n            rgba(255,255,255,.11),\n            rgba(255,255,255,.02) 70%,\n            rgba(63,42,18,.06)),\n        linear-gradient(180deg,\n            rgba(255,255,255,.25),\n            rgba(255,255,255,.035) 44%,\n            rgba(67,44,18,.08) 100%) !important;\n    box-shadow:\n        inset -1px 0 0 var(--th-separator),\n        inset 0 1px 0 rgba(255,255,255,.34),\n        inset 0 -2px 0 rgba(65,43,18,.07) !important;\n}\n\n\/* Make the arrow medallion look physically raised. *\/\n#ads-home .th-btn .th-btn-arrow{\n    border-width:1px !important;\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.88) 0%,\n            rgba(255,255,255,.30) 27%,\n            rgba(255,255,255,0) 44%),\n        linear-gradient(180deg,\n            var(--th-arrow-face-top) 0%,\n            var(--th-arrow-face-low) 100%) !important;\n    box-shadow:\n        0 5px 8px rgba(69,47,23,.24),\n        0 2px 2px rgba(69,47,23,.16),\n        inset 0 2px 0 rgba(255,255,255,.82),\n        inset 0 -3px 0 rgba(100,65,22,.21),\n        inset 0 -5px 7px rgba(100,65,22,.08),\n        inset 0 0 0 2px rgba(255,255,255,.20) !important;\n}\n\n\/* Dark buttons need their own stronger sculpted shading. *\/\n#ads-home a.th-btn.th-btn-luxe-dark{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.17) 0%,\n            rgba(255,255,255,.065) 12%,\n            rgba(255,255,255,.015) 27%,\n            rgba(255,255,255,0) 42%),\n        linear-gradient(180deg,\n            rgba(255,255,255,0) 48%,\n            rgba(0,0,0,.12) 70%,\n            rgba(0,0,0,.34) 100%),\n        linear-gradient(105deg,\n            var(--th-face-top) 0%,\n            var(--th-face-mid) 52%,\n            var(--th-face-low) 100%) !important;\n    box-shadow:\n        0 15px 24px rgba(3,13,27,.36),\n        0 5px 8px rgba(3,13,27,.24),\n        0 1px 0 rgba(221,181,99,.18),\n        inset 0 3px 0 rgba(255,255,255,.16),\n        inset 0 1px 0 rgba(255,255,255,.08),\n        inset 0 -4px 0 rgba(0,0,0,.38),\n        inset 0 -7px 12px rgba(0,0,0,.14),\n        inset 0 0 0 1px rgba(214,170,82,.075) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-dark .th-btn-arrow{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.16),\n            rgba(255,255,255,.025) 36%,\n            rgba(0,0,0,.14) 100%),\n        linear-gradient(180deg,#1d4160,#091b31) !important;\n    box-shadow:\n        0 5px 9px rgba(0,0,0,.34),\n        0 2px 2px rgba(0,0,0,.22),\n        inset 0 2px 0 rgba(255,255,255,.16),\n        inset 0 -3px 0 rgba(0,0,0,.38),\n        inset 0 0 0 2px rgba(200,153,64,.24) !important;\n}\n\n\/* Gold buttons get a richer molded face. *\/\n#ads-home a.th-btn.th-btn-luxe-gold{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.72) 0%,\n            rgba(255,255,255,.24) 14%,\n            rgba(255,255,255,0) 35%),\n        linear-gradient(180deg,\n            rgba(255,255,255,0) 52%,\n            rgba(98,59,12,.08) 72%,\n            rgba(86,49,8,.20) 100%),\n        linear-gradient(105deg,#faedbf 0%,#eccd7e 49%,#c8892d 100%) !important;\n}\n\n\/* Hover deepens the \"raised\" appearance while keeping the motion subtle. *\/\n#ads-home a.th-btn:hover{\n    transform:translateY(-2px) !important;\n    box-shadow:\n        0 18px 27px rgba(48,35,22,.27),\n        0 7px 10px rgba(48,35,22,.17),\n        0 1px 0 rgba(255,255,255,.72),\n        inset 0 3px 0 rgba(255,255,255,.94),\n        inset 0 -5px 0 rgba(92,60,24,.22),\n        inset 0 -8px 14px rgba(83,55,23,.09),\n        inset 0 0 0 1px rgba(255,255,255,.42) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-dark:hover{\n    box-shadow:\n        0 19px 29px rgba(3,13,27,.43),\n        0 7px 10px rgba(3,13,27,.28),\n        0 1px 0 rgba(221,181,99,.20),\n        inset 0 3px 0 rgba(255,255,255,.18),\n        inset 0 -5px 0 rgba(0,0,0,.42),\n        inset 0 -9px 14px rgba(0,0,0,.16),\n        inset 0 0 0 1px rgba(214,170,82,.09) !important;\n}\n\n#ads-home a.th-btn:active{\n    transform:translateY(1px) !important;\n    box-shadow:\n        0 5px 8px rgba(48,35,22,.16),\n        0 2px 3px rgba(48,35,22,.10),\n        inset 0 4px 7px rgba(65,43,20,.15),\n        inset 0 1px 0 rgba(255,255,255,.36),\n        inset 0 -1px 0 rgba(255,255,255,.10) !important;\n}\n\n\/* Preserve the clean mobile stacking and avoid moving the responsive card. *\/\n@media (max-width:960px){\n    #ads-home .th-suit-card{\n        top:auto !important;\n        transform:none !important;\n    }\n}\n\n\n\/* =========================================================\n   BUTTON PATCH \u2014 ONLY TWO REQUESTED CHANGES\n   1) Remove the upper-left decorative spot from every CTA.\n   2) Darken the right arrow medallion on button hover.\n   ========================================================= *\/\n\n\/* Remove any upper-left spot\/highlight without changing the rest\n   of the existing button construction or animation. *\/\n#ads-home a.th-btn::before{\n    border-radius:0 !important;\n    background:linear-gradient(\n        112deg,\n        transparent 0%,\n        transparent 38%,\n        rgba(34,24,15,.22) 47%,\n        rgba(34,24,15,.30) 52%,\n        rgba(34,24,15,.20) 57%,\n        transparent 66%,\n        transparent 100%\n    ) !important;\n    box-shadow:none !important;\n}\n\n\/* Keep the arrow medallion exactly as built until mouse-over,\n   then give it a distinctly darker face. *\/\n#ads-home a.th-btn:hover .th-btn-arrow{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.24) 0%,\n            rgba(255,255,255,.06) 27%,\n            rgba(0,0,0,.10) 48%),\n        linear-gradient(180deg,#8e6429 0%,#5f3d16 100%) !important;\n    color:#fff4d0 !important;\n    border-color:#9f762f !important;\n}\n\n\/* Preserve the established darker blue-button hover character. *\/\n#ads-home a.th-btn.th-btn-luxe-dark:hover .th-btn-arrow{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.12) 0%,\n            rgba(255,255,255,.025) 32%,\n            rgba(0,0,0,.18) 100%),\n        linear-gradient(180deg,#102c47 0%,#061525 100%) !important;\n    color:#f2c85f !important;\n    border-color:#b88a35 !important;\n}\n\n\n\/* =========================================================\n   FINAL BUTTON CORRECTION\n   - Completely remove the unwanted upper-left object.\n   - Blue buttons retain the right circular arrow medallion;\n     that medallion turns gold on mouse-over.\n   - No other button geometry or layout is changed.\n   ========================================================= *\/\n\n\/* The unwanted upper-left object was being drawn by the button's\n   animated ::before layer. Remove that layer completely on every CTA. *\/\n#ads-home a.th-btn::before,\n#ads-home a.th-btn:hover::before,\n#ads-home a.th-btn:focus::before,\n#ads-home a.th-btn:focus-visible::before,\n#ads-home a.th-btn:active::before,\n#ads-home a.th-btn.is-shadow-active::before{\n    content:none !important;\n    display:none !important;\n    background:none !important;\n    background-image:none !important;\n    border:0 !important;\n    box-shadow:none !important;\n    opacity:0 !important;\n    animation:none !important;\n    transform:none !important;\n}\n\n\/* Blue\/dark buttons: keep the existing circular arrow control. *\/\n#ads-home a.th-btn.th-btn-luxe-dark .th-btn-arrow{\n    border-radius:50% !important;\n}\n\n\/* Blue\/dark buttons: on mouse-over, turn the arrow medallion gold. *\/\n#ads-home a.th-btn.th-btn-luxe-dark:hover .th-btn-arrow,\n#ads-home a.th-btn.th-btn-luxe-dark:focus-visible .th-btn-arrow{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.62) 0%,\n            rgba(255,255,255,.18) 24%,\n            rgba(255,255,255,0) 43%),\n        linear-gradient(180deg,#e6bd62 0%,#c38a2e 58%,#98631d 100%) !important;\n    color:#102844 !important;\n    border-color:#f0cf7b !important;\n    box-shadow:\n        0 5px 9px rgba(0,0,0,.32),\n        0 2px 2px rgba(0,0,0,.20),\n        inset 0 2px 0 rgba(255,255,255,.66),\n        inset 0 -3px 0 rgba(100,61,13,.28),\n        inset 0 0 0 2px rgba(255,225,154,.24) !important;\n}\n\n\n\/* =========================================================\n   SINGLE CORRECTION ONLY:\n   Remove the upper-left oval highlight from the button faces.\n   No sizing, spacing, typography, borders, shadows, hover behavior,\n   arrow behavior, animation, or other button styling is changed.\n   ========================================================= *\/\n\n#ads-home a.th-btn.th-btn-luxe-dark{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.025) 24%,transparent 25%),\n        linear-gradient(180deg,transparent 58%,rgba(0,0,0,.15) 100%),\n        linear-gradient(112deg,#0d2340 0%,#16385f 34%,#0b2747 67%,#06172c 100%) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-light{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.52) 20%,transparent 21%),\n        linear-gradient(180deg,transparent 62%,rgba(140,96,38,.12) 100%),\n        linear-gradient(112deg,#fffefb 0%,#f9f1e3 48%,#e7d2b1 100%) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-gold{\n    background:\n        linear-gradient(180deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.16) 22%,transparent 23%),\n        linear-gradient(180deg,transparent 58%,rgba(94,55,11,.14) 100%),\n        linear-gradient(112deg,#f7e6ad 0%,#ebce7e 28%,#d9ab52 60%,#b87520 100%) !important;\n}\n\n\n\/* =========================================================\n   SURGICAL FIX ONLY \u2014 REMOVE UPPER-LEFT OVAL\n   ========================================================= *\/\n#ads-home a.th-btn::before,\n#ads-home a.th-btn:hover::before,\n#ads-home a.th-btn:focus::before,\n#ads-home a.th-btn:focus-visible::before,\n#ads-home a.th-btn:active::before,\n#ads-home a.th-btn.is-shadow-active::before,\n#ads-home a.th-btn.is-shadow-active:hover::before{\n    content:none !important;\n    display:none !important;\n    background:none !important;\n    background-image:none !important;\n    box-shadow:none !important;\n    filter:none !important;\n    opacity:0 !important;\n    animation:none !important;\n}\n\n\n\/* =========================================================\n   SINGLE SURGICAL FIX \u2014 REMOVE ICON-CELL UPPER-LEFT OVAL\n   No other button property is changed.\n   ========================================================= *\/\n#ads-home .th-btn .th-btn-icon,\n#ads-home a.th-btn:hover .th-btn-icon,\n#ads-home a.th-btn:focus .th-btn-icon,\n#ads-home a.th-btn:focus-visible .th-btn-icon,\n#ads-home a.th-btn:active .th-btn-icon{\n    background:none !important;\n    background-image:none !important;\n}\n\n\n\/* =========================================================\n   FINAL BUTTON FACE CORRECTION\n   Light and gold buttons now use the SAME face construction\n   as the blue button, with only the colors changed.\n   This removes the visible upper-left oval highlight.\n   No sizing, spacing, typography, icon, arrow, border radius,\n   layout, or button dimensions are changed.\n   ========================================================= *\/\n\n\/* Keep the icon chamber structurally identical to the blue button:\n   transparent face + existing divider\/icon only. *\/\n#ads-home .th-btn .th-btn-icon,\n#ads-home a.th-btn:hover .th-btn-icon,\n#ads-home a.th-btn:focus .th-btn-icon,\n#ads-home a.th-btn:focus-visible .th-btn-icon,\n#ads-home a.th-btn:active .th-btn-icon{\n    background:transparent !important;\n    background-image:none !important;\n}\n\n\/* WARM IVORY \u2014 same layered construction as blue, recolored only. *\/\n#ads-home a.th-btn.th-btn-luxe-light{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.17) 0%,\n            rgba(255,255,255,.065) 12%,\n            rgba(255,255,255,.015) 27%,\n            rgba(255,255,255,0) 42%),\n        linear-gradient(180deg,\n            rgba(255,255,255,0) 48%,\n            rgba(109,75,32,.055) 70%,\n            rgba(85,56,22,.13) 100%),\n        linear-gradient(105deg,\n            #fffdf8 0%,\n            #f5ead7 52%,\n            #dfc79f 100%) !important;\n}\n\n\/* RICH GOLD \u2014 same layered construction as blue, recolored only. *\/\n#ads-home a.th-btn.th-btn-luxe-gold{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.17) 0%,\n            rgba(255,255,255,.065) 12%,\n            rgba(255,255,255,.015) 27%,\n            rgba(255,255,255,0) 42%),\n        linear-gradient(180deg,\n            rgba(255,255,255,0) 48%,\n            rgba(101,62,15,.085) 70%,\n            rgba(78,45,9,.20) 100%),\n        linear-gradient(105deg,\n            #f6dda0 0%,\n            #e7c46e 52%,\n            #bd7e26 100%) !important;\n}\n\n\/* Match the blue button's restrained inner molding so the\n   top-left corner cannot form a bright oval on pale faces. *\/\n#ads-home a.th-btn.th-btn-luxe-light::after,\n#ads-home a.th-btn.th-btn-luxe-gold::after{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,.07) 0%,\n            rgba(255,255,255,.02) 18%,\n            rgba(255,255,255,0) 30%,\n            rgba(0,0,0,0) 70%,\n            rgba(52,34,15,.06) 90%,\n            rgba(52,34,15,.11) 100%) !important;\n}\n\n\n\/* =========================================================\n   VERIFIED OVAL REMOVAL\n   The unwanted shape was not one isolated circle; it was the\n   rounded upper-left end of the pale button's top highlight layers.\n   These overrides remove ONLY those pale-face highlight layers that\n   create the oval while preserving dimensions, typography, icons,\n   divider, arrow medallion, borders, shadows, and hover behavior.\n   ========================================================= *\/\n\n\/* Keep the left icon chamber transparent so it cannot create its own\n   rounded highlight at the upper-left corner. *\/\n#ads-home a.th-btn.th-btn-luxe-light .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-gold .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-light:hover .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-gold:hover .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-light:focus-visible .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-gold:focus-visible .th-btn-icon{\n    background:transparent !important;\n    background-image:none !important;\n}\n\n\/* Pale ivory face: retain depth using base tone + lower molding only.\n   No bright top wash = no rounded oval at the upper-left corner. *\/\n#ads-home a.th-btn.th-btn-luxe-light{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,0) 0%,\n            rgba(255,255,255,0) 54%,\n            rgba(109,75,32,.045) 74%,\n            rgba(85,56,22,.12) 100%),\n        linear-gradient(105deg,\n            #fffdf8 0%,\n            #f5ead7 52%,\n            #dfc79f 100%) !important;\n}\n\n\/* Gold face: same construction, recolored. *\/\n#ads-home a.th-btn.th-btn-luxe-gold{\n    background:\n        linear-gradient(180deg,\n            rgba(255,255,255,0) 0%,\n            rgba(255,255,255,0) 54%,\n            rgba(101,62,15,.075) 74%,\n            rgba(78,45,9,.19) 100%),\n        linear-gradient(105deg,\n            #f6dda0 0%,\n            #e7c46e 52%,\n            #bd7e26 100%) !important;\n}\n\n\/* The inner molding previously added a second bright rounded top wash.\n   On pale buttons, preserve only the lower dimensional molding. *\/\n#ads-home a.th-btn.th-btn-luxe-light::after,\n#ads-home a.th-btn.th-btn-luxe-gold::after{\n    background:\n        linear-gradient(180deg,\n            transparent 0%,\n            transparent 68%,\n            rgba(52,34,15,.045) 86%,\n            rgba(52,34,15,.11) 100%) !important;\n    box-shadow:\n        inset 0 -2px 0 rgba(57,39,18,.16),\n        inset 0 -5px 8px rgba(57,39,18,.045) !important;\n}\n\n\n\/* =========================================================\n   SURGICAL OVAL REMOVAL \u2014 BROWSER VERIFIED\n   The oval is the parent's rounded top highlight showing through\n   the transparent left icon chamber. Give ONLY the pale\/gold icon\n   chambers an opaque face matching their existing button colors.\n   No dimensions, borders, shadows, typography, divider, arrow,\n   hover behavior, or other button properties are changed.\n   ========================================================= *\/\n\n#ads-home a.th-btn.th-btn-luxe-light .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-light:hover .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-light:focus .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-light:focus-visible .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-light:active .th-btn-icon{\n    background:linear-gradient(\n        180deg,\n        #fffdf8 0%,\n        #f5ead7 52%,\n        #dfc79f 100%\n    ) !important;\n}\n\n#ads-home a.th-btn.th-btn-luxe-gold .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-gold:hover .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-gold:focus .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-gold:focus-visible .th-btn-icon,\n#ads-home a.th-btn.th-btn-luxe-gold:active .th-btn-icon{\n    background:linear-gradient(\n        180deg,\n        #f6dda0 0%,\n        #e7c46e 52%,\n        #bd7e26 100%\n    ) !important;\n}\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 PRIMARY LOGO INTEGRATION\n   Uses the supplied optimized WebP logo in stable, contained\n   placements without relying on Vantage or SiteOrigin sizing.\n   ========================================================= *\/\n#ads-home .th-site-logo{\n    display:block;\n    width:100%;\n    height:auto;\n    object-fit:contain;\n    border:0;\n}\n\n#th-custom-navigation .th-brand > a{\n    display:table;\n    width:auto;\n    max-width:100%;\n    table-layout:auto;\n}\n\n#th-custom-navigation .th-brand-mark,\n#th-custom-navigation .th-brand-copy{\n    display:table-cell;\n    vertical-align:middle;\n}\n\n\/* Logo sits directly beside the FreshStep Carpet Cleaning lettering.\n   Desktop mark is 30% smaller than the prior 192px version and remains locked to the left of the FreshStep Carpet Cleaning lettering. *\/\n#th-custom-navigation .th-brand-mark{\n    width:158px;\n    padding-right:24px;\n}\n\n#th-custom-navigation .th-brand-mark img{\n    display:block;\n    width:134px;\n    height:134px;\n    max-width:134px;\n    object-fit:contain;\n    border:0;\n}\n\n#th-custom-navigation .th-brand-copy{\n    width:auto;\n    white-space:nowrap;\n}\n\n\/* Hero logo: moved out of the left copy column and anchored on the right.\n   Desktop size is exactly 2x the former 78px hero mark. *\/\n#ads-home .ads-hero-content{\n    position:relative;\n}\n\n#ads-home .ads-hero-brandmark{\n    position:absolute;\n    z-index:4;\n    top:calc(50% + 192px);\n    right:calc(clamp(24px,5vw,76px) - 192px);\n    width:156px;\n    height:156px;\n    margin:0;\n    transform:translateY(-50%);\n    pointer-events:none;\n}\n\n#ads-home .ads-hero-brandmark img{\n    display:block;\n    width:156px;\n    height:156px;\n    max-width:156px;\n    object-fit:contain;\n    border:0;\n    filter:drop-shadow(0 12px 26px rgba(0,0,0,.28));\n}\n\n#ads-home .ads-final-anchor .th-site-logo{\n    width:100%;\n    max-width:150px;\n    margin:0 auto;\n    border-radius:16px;\n    box-shadow:0 14px 30px rgba(0,0,0,.18);\n    animation:adsFinalAnchorFloat 5.8s ease-in-out infinite;\n}\n\n@media(max-width:1100px){\n    #th-custom-navigation .th-brand-mark{width:123px;padding-right:18px}\n    #th-custom-navigation .th-brand-mark img{width:105px;height:105px;max-width:105px}\n}\n\n@media(max-width:860px){\n    #th-custom-navigation .th-brand{width:76%}\n    #th-custom-navigation .th-mobile-toggle-wrap{width:24%}\n    #th-custom-navigation .th-brand-mark{width:92px;padding-right:14px}\n    #th-custom-navigation .th-brand-mark img{width:78px;height:78px;max-width:78px}\n    #th-custom-navigation .th-brand-copy{white-space:normal}\n}\n\n@media(max-width:560px){\n    #th-custom-navigation .th-brand{width:78%}\n    #th-custom-navigation .th-mobile-toggle-wrap{width:22%}\n    #th-custom-navigation .th-brand-mark{width:65px;padding-right:10px}\n    #th-custom-navigation .th-brand-mark img{width:55px;height:55px;max-width:55px}\n    #th-custom-navigation .th-brand-copy{white-space:normal}\n    #ads-home .ads-hero-brandmark{\n        top:34px;\n        right:18px;\n        width:108px;\n        height:108px;\n        transform:none;\n    }\n    #ads-home .ads-hero-brandmark img{\n        width:108px;\n        height:108px;\n        max-width:108px;\n    }\n    #ads-home .ads-hero-copybox{\n        padding-top:108px;\n    }\n    #ads-home .ads-final-anchor .th-site-logo{max-width:126px}\n}\n\n@media(prefers-reduced-motion:reduce){\n    #ads-home .ads-final-anchor .th-site-logo{animation:none!important}\n}\n\n\n\/* =========================================================\n   FRESHSTEP CARPET CLEANING \u2014 HEADER BRAND LOCKED HORIZONTAL\n   Definitive override: logo remains LEFT of both brand lines.\n   ========================================================= *\/\n#th-custom-navigation .th-brand > a{\n    display:table!important;\n    width:auto!important;\n    max-width:100%!important;\n    table-layout:auto!important;\n    white-space:nowrap!important;\n}\n#th-custom-navigation .th-brand-mark{\n    display:table-cell!important;\n    width:110px!important;\n    min-width:110px!important;\n    padding:0 18px 0 0!important;\n    vertical-align:middle!important;\n}\n#th-custom-navigation .th-brand-mark img.th-site-logo{\n    display:block!important;\n    width:92px!important;\n    min-width:92px!important;\n    max-width:92px!important;\n    height:92px!important;\n    max-height:92px!important;\n    margin:0!important;\n    padding:0!important;\n    object-fit:contain!important;\n}\n#th-custom-navigation .th-brand-copy{\n    display:table-cell!important;\n    width:auto!important;\n    vertical-align:middle!important;\n    white-space:nowrap!important;\n}\n@media(max-width:860px){\n    #th-custom-navigation .th-brand-mark{width:82px!important;min-width:82px!important;padding-right:12px!important}\n    #th-custom-navigation .th-brand-mark img.th-site-logo{width:70px!important;min-width:70px!important;max-width:70px!important;height:70px!important;max-height:70px!important}\n}\n@media(max-width:560px){\n    #th-custom-navigation .th-brand-mark{width:60px!important;min-width:60px!important;padding-right:9px!important}\n    #th-custom-navigation .th-brand-mark img.th-site-logo{width:51px!important;min-width:51px!important;max-width:51px!important;height:51px!important;max-height:51px!important}\n    #th-custom-navigation .th-brand-copy{white-space:normal!important}\n}\n\n\n\n\/* =========================================================\n   HERO ROTATOR \u2014 DARK READABILITY PANEL\n   Keeps all hero lettering and benefit icons readable against\n   every rotating image without altering the hero image assets.\n   ========================================================= *\/\n#ads-home .ads-hero-copybox{\n    position:relative;\n    z-index:3;\n    width:clamp(320px,49%,620px);\n    max-width:100%;\n    padding:28px 30px 30px;\n    border:1px solid rgba(255,255,255,.13);\n    border-radius:22px;\n    background:\n        linear-gradient(135deg,rgba(8,12,18,.90) 0%,rgba(13,18,25,.82) 54%,rgba(13,18,25,.70) 100%);\n    box-shadow:\n        0 22px 48px rgba(0,0,0,.30),\n        inset 0 1px 0 rgba(255,255,255,.06);\n    -webkit-backdrop-filter:blur(7px) saturate(115%);\n    backdrop-filter:blur(7px) saturate(115%);\n}\n\n#ads-home .ads-home-hero h1,\n#ads-home .ads-hero-kicker,\n#ads-home .ads-hero-intro,\n#ads-home .ads-hero-benefit{\n    text-shadow:0 2px 5px rgba(0,0,0,.58);\n}\n\n#ads-home .ads-hero-benefit .th-icon{\n    box-sizing:content-box;\n    width:34px;\n    height:34px;\n    padding:8px;\n    margin:0 auto 10px;\n    color:#d9f6f8;\n    border:1px solid rgba(255,255,255,.18);\n    border-radius:50%;\n    background:rgba(0,0,0,.34);\n    box-shadow:0 7px 16px rgba(0,0,0,.22);\n}\n\n@media(max-width:700px){\n    #ads-home .ads-hero-copybox{\n        width:100%;\n        padding:128px 20px 24px;\n        border-radius:18px;\n        background:\n            linear-gradient(180deg,rgba(8,12,18,.88) 0%,rgba(13,18,25,.82) 100%);\n    }\n}\n\n@media(max-width:420px){\n    #ads-home .ads-hero-copybox{\n        padding:118px 16px 22px;\n        border-radius:16px;\n    }\n    #ads-home .ads-hero-benefit .th-icon{\n        width:30px;\n        height:30px;\n        padding:7px;\n    }\n}\n\n<\/style>\n\n<div id=\"ads-home\">\n\n<nav id=\"th-custom-navigation\" class=\"th-nav-shell\" aria-label=\"FreshStep Carpet Cleaning primary navigation\">\n  <div class=\"th-nav-inner\">\n    <div class=\"th-nav-top\">\n      <div class=\"th-brand\"><a href=\"#th-top\"><span class=\"th-brand-mark\" aria-hidden=\"true\"><img loading=\"lazy\" class=\"th-site-logo\" data-jw-image-slot=\"image-1\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-1.webp\" alt=\"\" width=\"512\" height=\"512\" decoding=\"async\"><\/span><span class=\"th-brand-copy\"><strong>FreshStep Carpet Cleaning<\/strong><span>Professional Carpet Care<\/span><\/span><\/a><\/div>\n      <div class=\"th-call\"><a href=\"tel:+16182142427\">Call 618-214-2427<\/a><\/div>\n      <div class=\"th-mobile-toggle-wrap\"><button class=\"th-mobile-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"th-nav-links\">Menu<\/button><\/div>\n    <\/div>\n    <div id=\"th-nav-links\" class=\"th-nav-links\"><a href=\"#th-top\">Home<\/a><a href=\"#about-us\">About Us<\/a><a href=\"#service\">Services<\/a><a href=\"#carpet-cleaning\">Carpet Cleaning<\/a><a href=\"#stain-spot-care\">Stain &amp; Spot Care<\/a><a href=\"#high-traffic-areas\">High-Traffic Areas<\/a><a href=\"#upholstery-cleaning\">Upholstery Cleaning<\/a><a href=\"#deep-extraction\">Deep Extraction<\/a><a href=\"#pet-related-cleaning\">Pet-Related Cleaning<\/a><a href=\"#carpet-maintenance\">Carpet Maintenance<\/a><a href=\"#process\">Our Process<\/a><a href=\"#faq\">FAQ<\/a><a href=\"#contact-us-image-top\">Contact<\/a><\/div>\n  <\/div>\n<\/nav>\n<div class=\"th-nav-spacer\" aria-hidden=\"true\"><\/div>\n<div id=\"th-top\" aria-hidden=\"true\"><\/div>\n\n<!-- =========================================================\n     HERO ROTATOR \u2014 master structure preserved\n     ========================================================= -->\n<section class=\"ads-home-hero ads-home-breakout\">\n    <div class=\"ads-hero-slides\" aria-hidden=\"true\">\n        <div class=\"ads-hero-slide ads-hero-slide-1 is-active\"><\/div>\n        <div class=\"ads-hero-slide ads-hero-slide-2\"><\/div>\n        <div class=\"ads-hero-slide ads-hero-slide-3\"><\/div>\n    <\/div>\n    <div class=\"ads-hero-content\">\n        <div class=\"ads-hero-copybox\">\n            <div class=\"ads-hero-kicker\">Professional Carpet Care<\/div>\n            <h1>Cleaner Carpets.<span>Fresher Rooms.<\/span><\/h1>\n            <p class=\"ads-hero-intro\">FreshStep Carpet Cleaning helps homeowners refresh carpeted rooms with practical cleaning, focused spot care, attention to high-traffic areas, upholstery cleaning, pet-related carpet care, and maintenance guidance.<\/p>\n            <div class=\"ads-hero-buttons\">\n                <a class=\"ads-image-button th-btn th-btn-luxe-gold\" href=\"tel:+16182142427\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 4c-2.8 0-5 2-5 4.6 0 1.8 1 3.2 2.5 4.1L5 19.5V24h22v-4.5l-8.5-6.8A4.8 4.8 0 0 0 21 8.6C21 6 18.8 4 16 4Z\"\/><path d=\"M11 24v4m10-4v4M8 20h16\"\/><\/svg><\/span><span class=\"th-btn-label\">Call FreshStep<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a>\n                <a class=\"ads-image-button th-btn th-btn-luxe-dark\" href=\"#service\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M8 6h16v20H8z\"\/><path d=\"M12 10h8M12 15h8M12 20h5\"\/><path d=\"M5 9v14m22-14v14\"\/><\/svg><\/span><span class=\"th-btn-label\">Explore Services<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a>\n            <\/div>\n            <div class=\"ads-hero-benefits\">\n                <div class=\"ads-hero-benefit\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4l4 3 4-3 4 5-4 3v16H12V12L8 9l4-5z\"\/><path d=\"M16 7v21M12 12l4 4 4-4\"\/><\/svg>Deep Carpet Cleaning<\/div>\n                <div class=\"ads-hero-benefit\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 9h20a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H10a6 6 0 0 1-6-6v-4a6 6 0 0 1 2-4z\"\/><circle cx=\"11\" cy=\"17\" r=\"3\"\/><path d=\"M18 13v4m4-4v3m4-3v4\"\/><\/svg>Focused Spot Care<\/div>\n                <div class=\"ads-hero-benefit\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 27L27 6M8 25l-3 4 4-3M25 8l2-2a2 2 0 0 1 3 3l-2 2\"\/><path d=\"M20 13c2 1 4 3 5 5\"\/><\/svg>High-Traffic Care<\/div>\n                <div class=\"ads-hero-benefit\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 16L5 10v12l10-6zm2 0 10-6v12l-10-6z\"\/><circle cx=\"16\" cy=\"16\" r=\"3\"\/><\/svg>Home-Friendly Service<\/div>\n            <\/div>\n        <\/div>\n        <div class=\"ads-hero-brandmark\" aria-hidden=\"true\"><img loading=\"lazy\" class=\"th-site-logo\" data-jw-image-slot=\"image-5\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-5.webp\" alt=\"\" width=\"512\" height=\"512\" decoding=\"async\"><\/div>\n    <\/div>\n<\/section>\n\n<!-- =========================================================\n     SIX BENEFITS \/ SERVICES\n     ========================================================= -->\n<section id=\"service\" class=\"ads-benefits-section ads-home-breakout ads-motion-section\">\n  <div class=\"ads-home-wrap\">\n    <div class=\"ads-benefits-heading ads-reveal\">\n      <div class=\"ads-eyebrow\">Carpet Cleaning Services<\/div>\n      <h2>Care for the Areas Your Home Uses Every Day<\/h2>\n      <div class=\"ads-heading-line\"><\/div>\n      <p>From everyday soil to concentrated traffic lanes and upholstery, FreshStep Carpet Cleaning organizes carpet care around the surfaces, rooms, and concerns that matter most in a lived-in home.<\/p>\n    <\/div>\n    <div class=\"ads-benefit-grid\">\n      <article class=\"ads-benefit-card ads-reveal\"><div class=\"ads-benefit-top\"><div class=\"ads-benefit-icon\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 4l4 3 4-3 4 5-4 3v16H12V12L8 9l4-5z\"\/><path d=\"M16 7v21M12 12l4 4 4-4\"\/><\/svg><\/div><div class=\"ads-benefit-number\">01<\/div><\/div><h3>Deep Carpet Cleaning<\/h3><p>Refresh wall-to-wall carpet with professional extraction focused on soil removal and a cleaner, more comfortable room.<\/p><\/article>\n      <article class=\"ads-benefit-card ads-reveal\"><div class=\"ads-benefit-top\"><div class=\"ads-benefit-icon\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 5l4 3 4-3 7 5-4 6-3-2v15H12V14l-3 2-4-6 7-5z\"\/><path d=\"M16 8v8m0 0l-4-4m4 4 4-4\"\/><\/svg><\/div><div class=\"ads-benefit-number\">02<\/div><\/div><h3>Stain &amp; Spot Care<\/h3><p>Address isolated spots with targeted treatment selected for the affected carpet area rather than treating every concern the same way.<\/p><\/article>\n      <article class=\"ads-benefit-card ads-reveal\"><div class=\"ads-benefit-top\"><div class=\"ads-benefit-icon\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"9\" cy=\"10\" r=\"4\"\/><circle cx=\"9\" cy=\"24\" r=\"4\"\/><path d=\"M12 12l17 13M12 22L29 9\"\/><\/svg><\/div><div class=\"ads-benefit-number\">03<\/div><\/div><h3>High-Traffic Areas<\/h3><p>Give extra attention to walkways, entries, stairs, and other carpeted zones that collect wear and soil faster than the rest of the room.<\/p><\/article>\n      <article class=\"ads-benefit-card ads-reveal\"><div class=\"ads-benefit-top\"><div class=\"ads-benefit-icon\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 16L5 10v12l10-6zm2 0 10-6v12l-10-6z\"\/><circle cx=\"16\" cy=\"16\" r=\"3\"\/><\/svg><\/div><div class=\"ads-benefit-number\">04<\/div><\/div><h3>Upholstery Cleaning<\/h3><p>Extend professional fabric care to upholstered seating where everyday use can leave visible soil and dullness.<\/p><\/article>\n      <article class=\"ads-benefit-card ads-reveal\"><div class=\"ads-benefit-top\"><div class=\"ads-benefit-icon\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 8h22v19H5z\"\/><path d=\"M5 13h22M11 8v19M18 8v19M24 8v19\"\/><\/svg><\/div><div class=\"ads-benefit-number\">05<\/div><\/div><h3>Pet-Related Carpet Care<\/h3><p>Focus on carpeted spaces shared with pets, with practical attention to the areas that need extra cleaning and routine upkeep.<\/p><\/article>\n      <article class=\"ads-benefit-card ads-reveal\"><div class=\"ads-benefit-top\"><div class=\"ads-benefit-icon\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 4l2.5 7.5L26 14l-7.5 2.5L16 24l-2.5-7.5L6 14l7.5-2.5L16 4z\"\/><path d=\"M26 5v6M23 8h6\"\/><\/svg><\/div><div class=\"ads-benefit-number\">06<\/div><\/div><h3>Carpet Maintenance<\/h3><p>Use practical maintenance habits and periodic professional cleaning to help carpeted rooms stay presentable between deeper cleanings.<\/p><\/article>\n    <\/div>\n    <div class=\"ads-context-button ads-reveal\"><a class=\"th-btn th-btn-luxe-gold\" href=\"tel:+16182142427\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 4c-2.8 0-5 2-5 4.6 0 1.8 1 3.2 2.5 4.1L5 19.5V24h22v-4.5l-8.5-6.8A4.8 4.8 0 0 0 21 8.6C21 6 18.8 4 16 4Z\"\/><path d=\"M11 24v4m10-4v4M8 20h16\"\/><\/svg><\/span><span class=\"th-btn-label\">Talk With FreshStep<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n  <\/div>\n<\/section>\n\n<section id=\"carpet-cleaning\" class=\"th-service-detail th-layout-suit ads-home-breakout ads-motion-section\">\n  <div class=\"th-service-shell th-suit-stage\">\n    <div class=\"th-suit-photo th-anim-b\">\n      <img data-jw-image-slot=\"image-6\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-6.webp\" alt=\"Professional carpet cleaning in a residential room\" loading=\"lazy\" decoding=\"async\">\n    <\/div>\n    <div class=\"th-suit-card th-anim-a\">\n      <div class=\"th-suit-number\" aria-hidden=\"true\">01<\/div>\n      <div class=\"th-detail-kicker\">Whole-Room Carpet Care<\/div>\n      <h2>Carpet Cleaning<\/h2>\n      <p>FreshStep Carpet Cleaning approaches carpet care room by room, focusing on the carpet surface, the way the space is used, and the areas that need the most attention.<\/p>\n      <ul class=\"th-detail-list\"><li>Residential carpet cleaning for lived-in spaces<\/li><li>Attention to traffic lanes and frequently used areas<\/li><li>A practical cleaning plan based on the room and carpet condition<\/li><\/ul>\n      <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-dark\" href=\"#contact-us-image-top\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 4c-2.8 0-5 2-5 4.6 0 1.8 1 3.2 2.5 4.1L5 19.5V24h22v-4.5l-8.5-6.8A4.8 4.8 0 0 0 21 8.6C21 6 18.8 4 16 4Z\"\/><path d=\"M11 24v4m10-4v4M8 20h16\"\/><\/svg><\/span><span class=\"th-btn-label\">Ask About Carpet Cleaning<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"stain-spot-care\" class=\"th-service-detail th-layout-shirts ads-home-breakout ads-motion-section\">\n  <div class=\"th-service-shell th-shirts-grid\">\n    <div class=\"th-shirts-photo th-anim-a\">\n      <img data-jw-image-slot=\"image-7\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-7.webp\" alt=\"Focused carpet stain and spot treatment\" loading=\"lazy\" decoding=\"async\">\n    <\/div>\n    <div class=\"th-shirts-copy th-anim-b\">\n      <div class=\"th-detail-kicker\">Target the Problem Area<\/div>\n      <h2>Stain &amp; Spot Care<\/h2>\n      <p>A spot can come from many everyday sources. Focused treatment starts by identifying the affected area and working carefully rather than over-treating the surrounding carpet.<\/p>\n      <div class=\"th-shirts-points th-anim-c\"><span><strong>01<\/strong>Spot location<\/span><span><strong>02<\/strong>Carpet area<\/span><span><strong>03<\/strong>Treatment focus<\/span><\/div>\n      <ul class=\"th-detail-list\"><li>Localized attention to isolated spots<\/li><li>Careful work within the affected carpet area<\/li><li>Follow-up cleaning when the surrounding room also needs attention<\/li><\/ul>\n      <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-dark\" href=\"#contact-us-image-top\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 5l5 3 5-3 7 5-4 6-3-2v13H11V14l-3 2-4-6 7-5Z\"\/><path d=\"M16 8v8m0 0-4-4m4 4 4-4\"\/><\/svg><\/span><span class=\"th-btn-label\">Discuss Stain &amp; Spot Care<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"high-traffic-areas\" class=\"th-service-detail th-layout-alterations ads-home-breakout ads-motion-section\">\n  <div class=\"th-service-shell th-alter-grid\">\n    <div class=\"th-alter-photo th-anim-a\">\n      <img data-jw-image-slot=\"image-8\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-8.webp\" alt=\"High-traffic carpet pathways in a home\" loading=\"lazy\" decoding=\"async\">\n    <\/div>\n    <div class=\"th-alter-copy th-anim-b\">\n      <div class=\"th-detail-kicker\">Concentrated Wear Deserves Concentrated Care<\/div>\n      <h2>High-Traffic Areas<\/h2>\n      <p>Entries, hallways, stairs, and the paths between furniture often show use sooner than open carpeted areas. FreshStep can focus cleaning where everyday movement is most concentrated.<\/p>\n      <div class=\"th-alter-stamps th-anim-c\"><div class=\"th-alter-stamp\"><b>Hem<\/b><span>Length<\/span><\/div><div class=\"th-alter-stamp\"><b>Shape<\/b><span>Taper<\/span><\/div><div class=\"th-alter-stamp\"><b>Fit<\/b><span>Balance<\/span><\/div><\/div>\n      <ul class=\"th-detail-list\"><li>Entryways, hallways, stairs, and room pathways<\/li><li>Visible traffic lanes and uneven-looking carpet areas<\/li><li>A room-wide review before cleaning begins<\/li><\/ul>\n      <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-light\" href=\"#contact-us-image-top\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"8\" cy=\"9\" r=\"4\"\/><circle cx=\"8\" cy=\"23\" r=\"4\"\/><path d=\"M11.5 11.2 28 24M11.5 20.8 28 8\"\/><\/svg><\/span><span class=\"th-btn-label\">Ask About High-Traffic Areas<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"upholstery-cleaning\" class=\"th-service-detail th-layout-formal ads-home-breakout ads-motion-section\">\n  <div class=\"th-service-shell th-formal-stage\">\n    <img data-jw-image-slot=\"image-9\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-9.webp\" alt=\"Professional upholstery cleaning on a fabric chair\" loading=\"lazy\" decoding=\"async\">\n    <div class=\"th-formal-copy th-anim-a\">\n      <span class=\"th-formal-tag\">Chairs \u2022 Sofas \u2022 Everyday Seating<\/span>\n      <div class=\"th-detail-kicker\">Care Beyond the Floor<\/div>\n      <h2>Upholstery Cleaning<\/h2>\n      <p>Upholstered furniture collects everyday contact, dust, and soil differently from carpet. A focused cleaning approach helps refresh fabric seating without treating it like a floor surface.<\/p>\n      <ul class=\"th-detail-list\"><li>Fabric seating and frequently used upholstered surfaces<\/li><li>Focused extraction with compact upholstery tools<\/li><li>Care based on the furniture surface and condition<\/li><\/ul>\n      <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-dark\" href=\"#contact-us-image-top\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 16 5 10v12l10-6Zm2 0 10-6v12l-10-6Z\"\/><circle cx=\"16\" cy=\"16\" r=\"3\"\/><\/svg><\/span><span class=\"th-btn-label\">Ask About Upholstery Cleaning<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"deep-extraction\" class=\"th-service-detail th-layout-fabrics ads-home-breakout ads-motion-section\">\n  <div class=\"th-service-shell th-fabric-grid\">\n    <div class=\"th-fabric-copy th-anim-a\">\n      <div class=\"th-detail-kicker\">Professional Extraction in Detail<\/div>\n      <h2>How Deep Cleaning Works Across the Carpet Surface<\/h2>\n      <p>Professional carpet extraction works across the carpet surface to loosen and remove soil while grooming the fibers into a more even, refreshed appearance. FreshStep uses the room condition and traffic pattern to guide where deeper attention is needed.<\/p>\n      <div class=\"th-swatch-row\" aria-hidden=\"true\"><span class=\"th-swatch\"><\/span><span class=\"th-swatch\"><\/span><span class=\"th-swatch\"><\/span><span class=\"th-swatch\"><\/span><\/div>\n      <ul class=\"th-detail-list\"><li>Professional extraction focused on carpeted surfaces<\/li><li>Deliberate passes across traffic lanes and open areas<\/li><li>A final review of the cleaned carpeted area<\/li><\/ul>\n      <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-light\" href=\"#contact-us-image-top\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 7h22v20H5z\"\/><path d=\"M5 12h22M10 7v20M16 7v20M22 7v20\"\/><\/svg><\/span><span class=\"th-btn-label\">Ask About Deep Extraction<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n    <div class=\"th-fabric-photo th-anim-b\">\n      <img data-jw-image-slot=\"image-10\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-10.webp\" alt=\"Carpet extraction detail with cleaning wand and fibers\" loading=\"lazy\" decoding=\"async\">\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"pet-related-cleaning\" class=\"th-service-detail th-layout-fittings ads-home-breakout ads-motion-section\">\n  <div class=\"th-service-shell\">\n    <div class=\"th-fitting-head\">\n      <div class=\"th-fitting-photo th-anim-a\">\n        <img data-jw-image-slot=\"image-11\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-11.webp\" alt=\"Dog resting in a clean carpeted family room\" loading=\"lazy\" decoding=\"async\">\n      <\/div>\n      <div class=\"th-fitting-copy th-anim-b\">\n        <div class=\"th-detail-kicker\">Pets \u2022 Traffic \u2022 Everyday Living<\/div>\n        <h2>Pet-Related Carpet Care<\/h2>\n        <p>Carpeted rooms shared with pets can need extra attention because the same areas may see repeated traffic, resting, play, and tracked-in soil. FreshStep can discuss a practical cleaning approach based on the rooms and carpeted areas your pets use most often.<\/p>\n        <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-dark\" href=\"#contact-us-image-top\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 4c-2.8 0-5 2-5 4.6 0 1.8 1 3.2 2.5 4.1L5 19.5V24h22v-4.5l-8.5-6.8A4.8 4.8 0 0 0 21 8.6C21 6 18.8 4 16 4Z\"\/><path d=\"M11 24v4m10-4v4M8 20h16\"\/><\/svg><\/span><span class=\"th-btn-label\">Discuss Pet-Related Carpet Care<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n      <\/div>\n    <\/div>\n    <div class=\"th-fit-timeline\">\n      <div class=\"th-fit-step\"><b>1<\/b><strong>Identify<\/strong><span>Focus on the carpeted rooms and pathways pets use most.<\/span><\/div>\n      <div class=\"th-fit-step\"><b>2<\/b><strong>Target<\/strong><span>Give extra attention to localized pet-related carpet concerns.<\/span><\/div>\n      <div class=\"th-fit-step\"><b>3<\/b><strong>Maintain<\/strong><span>Use routine upkeep to support cleaner shared spaces between services.<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section id=\"carpet-maintenance\" class=\"th-service-detail th-layout-style ads-home-breakout ads-motion-section\">\n  <div class=\"th-service-shell th-style-grid\">\n    <div class=\"th-style-portrait th-anim-a\">\n      <img data-jw-image-slot=\"image-12\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-12.webp\" alt=\"Well-maintained carpet in a calm residential room\" loading=\"lazy\" decoding=\"async\">\n    <\/div>\n    <div class=\"th-style-copy th-anim-b\">\n      <div class=\"th-detail-kicker\">Maintain the Clean Between Deeper Services<\/div>\n      <h2>Carpet Maintenance<\/h2>\n      <p>Routine maintenance helps carpeted rooms stay more presentable between professional cleanings. FreshStep Carpet Cleaning encourages a practical combination of regular vacuuming, prompt attention to spills, and periodic deeper cleaning based on household use.<\/p>\n      <div class=\"th-style-notes th-anim-c\"><div class=\"th-style-note\"><strong>Vacuum<\/strong>Control everyday dry soil<\/div><div class=\"th-style-note\"><strong>Respond<\/strong>Address spills promptly<\/div><div class=\"th-style-note\"><strong>Refresh<\/strong>Plan deeper cleaning as needed<\/div><\/div>\n      <ul class=\"th-detail-list\"><li>Everyday vacuuming and surface upkeep<\/li><li>Prompt response to spills and localized concerns<\/li><li>Professional cleaning based on room use and carpet condition<\/li><\/ul>\n      <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-dark\" href=\"#contact-us-image-top\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 7h22v15H14l-6 5v-5H5z\"\/><path d=\"M10 12h12M10 16h8\"\/><path d=\"m24 3 1 2.5L28 7l-3 1.5L24 11l-1-2.5L20 7l3-1.5L24 3Z\"\/><\/svg><\/span><span class=\"th-btn-label\">Plan Carpet Maintenance<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- =========================================================\n     CUSTOMER PATH \/ PROCESS \u2014 original three-column structure\n     ========================================================= -->\n<section id=\"process\" class=\"ads-story-section ads-home-breakout ads-motion-section\">\n  <div class=\"ads-home-wrap\">\n    <div class=\"ads-story-grid\">\n      <div class=\"ads-story-left ads-reveal-left\">\n        <div class=\"ads-story-kicker\">A Clear Carpet-Care Process<\/div>\n        <h2>From Walk-Through to Refreshed Carpet<\/h2>\n        <p>A clear carpet-cleaning process starts with understanding the room and its problem areas, then moves through focused preparation, professional cleaning, and a final review of the refreshed surface.<\/p>\n        <ul class=\"ads-check-list\">\n          <li><span class=\"ads-check-dot\">\u2713<\/span><span>Discuss the rooms, concerns, and areas that need attention.<\/span><\/li>\n          <li><span class=\"ads-check-dot\">\u2713<\/span><span>Review traffic lanes, spots, edges, stairs, or upholstery as applicable.<\/span><\/li>\n          <li><span class=\"ads-check-dot\">\u2713<\/span><span>Prepare the work area and choose the appropriate cleaning approach.<\/span><\/li>\n          <li><span class=\"ads-check-dot\">\u2713<\/span><span>Complete the cleaning pass and review the finished carpeted area.<\/span><\/li>\n        <\/ul>\n      <\/div>\n      <div class=\"ads-browser ads-story-center ads-reveal\">\n        <div class=\"ads-browser-top\"><span class=\"ads-browser-dot\"><\/span><span class=\"ads-browser-address\"><\/span><\/div>\n        <div class=\"ads-browser-main\"><h3>Built Around the Room You Live In<\/h3><p>Carpet care works best when the cleaning plan reflects how a room is actually used: where people walk, where pets spend time, where spots appear, and which surfaces need deeper attention.<\/p><\/div>\n        <div class=\"ads-browser-benefits\">\n          <div class=\"ads-browser-card\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 9h20a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H10a6 6 0 0 1-6-6v-4a6 6 0 0 1 2-4z\"\/><circle cx=\"11\" cy=\"17\" r=\"3\"\/><path d=\"M18 13v4m4-4v3m4-3v4\"\/><\/svg><strong>Assess<\/strong><\/div>\n          <div class=\"ads-browser-card\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 8h22v19H5z\"\/><path d=\"M5 13h22M11 8v19M18 8v19M24 8v19\"\/><\/svg><strong>Prepare<\/strong><\/div>\n          <div class=\"ads-browser-card\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"16\" cy=\"16\" r=\"12\"\/><path d=\"M10 16l4 4 8-9\"\/><\/svg><strong>Clean<\/strong><\/div>\n        <\/div>\n      <\/div>\n      <div class=\"ads-story-right ads-reveal-right\">\n        <div class=\"ads-story-kicker\">Your Carpet-Care Path<\/div>\n        <h2>Better Results Start With Understanding the Room<\/h2>\n        <p>Each stage helps focus the work so the cleaning process addresses the actual condition and use of the carpeted space.<\/p>\n        <div class=\"ads-customer-flow\">\n          <div class=\"ads-flow-step\"><div class=\"ads-flow-circle\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 5l5 6-3 3c2 4 5 7 9 9l3-3 6 5-3 4c-1 1-3 1-5 0C12 25 7 20 3 11c-1-2-1-4 0-5l6-1z\"\/><\/svg><\/div><strong>Discuss<br>Needs<\/strong><\/div><div class=\"ads-flow-arrow\">\u2192<\/div>\n          <div class=\"ads-flow-step\"><div class=\"ads-flow-circle\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 9h20a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H10a6 6 0 0 1-6-6v-4a6 6 0 0 1 2-4z\"\/><circle cx=\"11\" cy=\"17\" r=\"3\"\/><path d=\"M18 13v4m4-4v3m4-3v4\"\/><\/svg><\/div><strong>Review<br>Areas<\/strong><\/div><div class=\"ads-flow-arrow\">\u2192<\/div>\n          <div class=\"ads-flow-step\"><div class=\"ads-flow-circle\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 8h22v19H5z\"\/><path d=\"M5 13h22M11 8v19M18 8v19M24 8v19\"\/><\/svg><\/div><strong>Prepare<br>Space<\/strong><\/div><div class=\"ads-flow-arrow\">\u2192<\/div>\n          <div class=\"ads-flow-step\"><div class=\"ads-flow-circle\"><svg class=\"th-icon\" viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"16\" cy=\"16\" r=\"12\"\/><path d=\"M10 16l4 4 8-9\"\/><\/svg><\/div><strong>Review<br>Result<\/strong><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <div class=\"ads-story-context-button\"><a class=\"th-btn th-btn-luxe-dark\" href=\"tel:+16182142427\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 4c-2.8 0-5 2-5 4.6 0 1.8 1 3.2 2.5 4.1L5 19.5V24h22v-4.5l-8.5-6.8A4.8 4.8 0 0 0 21 8.6C21 6 18.8 4 16 4Z\"\/><path d=\"M11 24v4m10-4v4M8 20h16\"\/><\/svg><\/span><span class=\"th-btn-label\">Call FreshStep<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n  <\/div>\n<\/section>\n\n<!-- =========================================================\n     PROCESS IMAGE \u2014 carpet-care visual\n     ========================================================= -->\n<section class=\"ads-consultation-section ads-home-breakout ads-motion-section\">\n  <div class=\"ads-consultation-frame ads-reveal\">\n    <a class=\"ads-consultation-link\" href=\"#process\" aria-label=\"View FreshStep carpet-care process information\">\n      <img class=\"ads-consultation-image\" data-jw-image-slot=\"image-13\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-13.webp?ver=1789251406\" alt=\"Visual carpet-care process from assessment through refreshed result\" width=\"1536\" height=\"1024\" loading=\"lazy\" decoding=\"async\">\n    <\/a>\n  <\/div>\n<\/section>\n\n<!-- =========================================================\n     ABOUT US \/ OWNER\n     ========================================================= -->\n<section id=\"about-us\" class=\"th-about-section ads-home-breakout ads-motion-section\">\n  <div class=\"th-about-grid\">\n    <div class=\"th-about-copy ads-reveal-left\">\n      <div class=\"ads-story-kicker\">About FreshStep Carpet Cleaning<\/div>\n      <h2>Hands-On Carpet Care With a Practical, Room-by-Room Approach<\/h2>\n      <p>FreshStep Carpet Cleaning is a carpet-care business led by Brian Mitchell. The company is presented around direct communication, practical service planning, and attention to the carpeted areas homeowners use every day.<\/p>\n      <p>Rather than treating every room or carpet concern as identical, FreshStep begins with the condition of the space, the way the room is used, and the specific areas the homeowner wants addressed. That approach supports focused decisions about whole-room cleaning, spots, traffic areas, upholstery, pet-related concerns, and ongoing maintenance.<\/p>\n      <p class=\"th-owner-line\">Brian Mitchell<\/p>\n      <div class=\"th-detail-actions\"><a class=\"th-btn th-btn-luxe-dark\" href=\"tel:+16182142427\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 5 4.5 7.5c-.8.5-1 1.5-.6 2.5 4.1 9.6 8.5 14 18.1 18.1 1 .4 2 .2 2.5-.6L27 23l-6-4-3 3c-3.6-1.8-6.2-4.4-8-8l3-3-4-6Z\"\/><\/svg><\/span><span class=\"th-btn-label\">Call 618-214-2427<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n    <div class=\"th-about-visual ads-reveal-right\">\n      <img data-jw-image-slot=\"image-14\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-14.webp\" alt=\"Carpet-cleaning professional preparing equipment in a home\" loading=\"lazy\" decoding=\"async\">\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- =========================================================\n     FAQ\n     ========================================================= -->\n<section id=\"faq\" class=\"th-faq ads-home-breakout ads-motion-section\">\n  <div class=\"th-faq-inner\">\n    <div class=\"th-faq-head ads-reveal\"><div class=\"ads-eyebrow\">Common Questions<\/div><h2>Carpet Cleaning FAQ<\/h2><p>These answers address common carpet-care questions without making unsupported promises about pricing, guarantees, timing, or results.<\/p><\/div>\n    <details class=\"ads-reveal\"><summary>How should I prepare a room before carpet cleaning?<\/summary><p>Remove small personal items and fragile objects from the work area when practical. FreshStep can discuss room-specific preparation when you call.<\/p><\/details>\n    <details class=\"ads-reveal\"><summary>Why do high-traffic areas look different from the rest of the carpet?<\/summary><p>Repeated foot traffic can gradually concentrate soil and flatten carpet fibers along common paths. Those areas may therefore need more focused cleaning than low-use sections of the same room.<\/p><\/details>\n    <details class=\"ads-reveal\"><summary>Can individual stains or spots be treated separately?<\/summary><p>Localized spot care can be part of the cleaning conversation. The appropriate approach depends on the affected carpet area and the nature of the concern.<\/p><\/details>\n    <details class=\"ads-reveal\"><summary>Do you clean upholstered furniture too?<\/summary><p>Upholstery cleaning is included as a service area on this page. Call FreshStep Carpet Cleaning to discuss the furniture and fabric surfaces you would like addressed.<\/p><\/details>\n    <details class=\"ads-reveal\"><summary>How do pet-related carpet concerns fit into the cleaning plan?<\/summary><p>Pet-related carpet care is approached as part of the home\u2019s overall cleaning needs, with attention to the rooms and carpeted areas pets use most often.<\/p><\/details>\n    <details class=\"ads-reveal\"><summary>How often should carpet be professionally cleaned?<\/summary><p>The right interval depends on household traffic, pets, spills, and how the rooms are used. FreshStep can discuss a practical maintenance rhythm based on your home rather than applying one schedule to every household.<\/p><\/details>\n    <details class=\"ads-reveal\"><summary>Can carpet cleaning be planned together with upholstery cleaning?<\/summary><p>Yes. When carpeted rooms and upholstered seating both need attention, discussing them together can help organize the service around the spaces you want refreshed.<\/p><\/details>\n  <\/div>\n<\/section>\n\n<!-- =========================================================\n     FINAL CTA \u2014 original master placement retained\n     ========================================================= -->\n<section class=\"ads-final-cta ads-home-breakout ads-motion-section\">\n  <div class=\"ads-final-card\">\n    <div class=\"ads-final-grid\">\n      <div class=\"ads-final-anchor ads-reveal-left\">\n        <img class=\"th-site-logo\" data-jw-image-slot=\"image-15\" src=\"https:\/\/jwwebsites.com\/frederick-young\/wp-content\/uploads\/sites\/74\/2026\/09\/freshstep-carpet-cleaning-20260911-2237-image-15.webp\" alt=\"FreshStep Carpet Cleaning logo\" width=\"512\" height=\"512\" loading=\"lazy\" decoding=\"async\">\n      <\/div>\n      <div class=\"ads-final-copy ads-reveal\"><h2>Cleaner Carpet Can Change<br>How the Whole Room Feels<\/h2><p>Talk with FreshStep Carpet Cleaning about carpet cleaning, focused spot care, high-traffic areas, upholstery, pet-related carpet concerns, maintenance, or the next step for a cleaner-feeling room.<\/p><\/div>\n      <div class=\"ads-final-buttons ads-reveal-right\"><a class=\"th-btn th-btn-luxe-gold\" href=\"tel:+16182142427\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 4c-2.8 0-5 2-5 4.6 0 1.8 1 3.2 2.5 4.1L5 19.5V24h22v-4.5l-8.5-6.8A4.8 4.8 0 0 0 21 8.6C21 6 18.8 4 16 4Z\"\/><path d=\"M11 24v4m10-4v4M8 20h16\"\/><\/svg><\/span><span class=\"th-btn-label\">Call FreshStep<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><a class=\"th-btn th-btn-luxe-dark\" href=\"tel:+16182142427\"><span class=\"th-btn-icon\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M9 5 4.5 7.5c-.8.5-1 1.5-.6 2.5 4.1 9.6 8.5 14 18.1 18.1 1 .4 2 .2 2.5-.6L27 23l-6-4-3 3c-3.6-1.8-6.2-4.4-8-8l3-3-4-6Z\"\/><\/svg><\/span><span class=\"th-btn-label\">Call 618-214-2427<\/span><span class=\"th-btn-arrow\" aria-hidden=\"true\"><svg viewBox=\"0 0 32 32\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16h17M18 10l6 6-6 6\"\/><\/svg><\/span><\/a><\/div>\n    <\/div>\n    <div class=\"ads-final-divider\"><\/div>\n  <\/div>\n<\/section>\n\n<\/div>\n\n\n<script>\n(function(){\n    'use strict';\n    var root=document.getElementById('ads-home');\n    var nav=document.getElementById('th-custom-navigation');\n    if(!root||!nav){return;}\n    root.classList.add('js-motion');\n\n    \/* HERO ROTATION + SAFE ENTRANCE REPLAY *\/\n    var slides=root.querySelectorAll('.ads-hero-slide');\n    var hero=root.querySelector('.ads-home-hero');\n    var currentSlide=0;\n    var heroFadeDuration=1150;\n    function replayHeroMotion(){\n        if(!hero){return;}\n        hero.classList.add('hero-motion-reset');\n        void hero.offsetWidth;\n        window.requestAnimationFrame(function(){window.requestAnimationFrame(function(){hero.classList.remove('hero-motion-reset');});});\n    }\n    function showSlide(index){\n        var nextSlide=slides[index];\n        if(!nextSlide){return;}\n\n        var outgoing=root.querySelector('.ads-hero-slide.is-active');\n\n        \/* Initial load: preserve the first active slide without creating\n           an unnecessary fade cycle. *\/\n        if(outgoing===nextSlide){\n            nextSlide.classList.remove('is-leaving','is-zoom-in','is-zoom-out');\n            currentSlide=index;\n            return;\n        }\n\n        \/* Remove any stale leaving state left by an interrupted or\n           throttled browser timer. *\/\n        slides.forEach(function(slide){\n            if(slide!==outgoing&&slide!==nextSlide){\n                slide.classList.remove('is-active','is-leaving','is-zoom-in','is-zoom-out');\n            }\n        });\n\n        \/* The old image stays rendered while its opacity transitions\n           from 1 to 0. *\/\n        if(outgoing){\n            outgoing.classList.remove('is-active','is-zoom-in','is-zoom-out');\n            outgoing.classList.add('is-leaving');\n\n            window.setTimeout(function(){\n                outgoing.classList.remove('is-leaving');\n            },heroFadeDuration+80);\n        }\n\n        \/* The new image starts at opacity 0, then fades to 1 on a layer\n           above the outgoing image. Its zoom-out animation runs at the\n           same time, creating a true crossfade. *\/\n        nextSlide.classList.remove('is-active','is-leaving','is-zoom-in','is-zoom-out');\n        void nextSlide.offsetWidth;\n        nextSlide.classList.add('is-active');\n\n        currentSlide=index;\n        replayHeroMotion();\n    }\n    if(slides.length){\n        slides.forEach(function(slide,i){\n            slide.classList.remove('is-leaving','is-zoom-in','is-zoom-out');\n            if(i===0){\n                slide.classList.add('is-active');\n            }else{\n                slide.classList.remove('is-active');\n            }\n        });\n        currentSlide=0;\n\n        if(slides.length>1){\n            window.setInterval(function(){\n                showSlide((currentSlide+1)%slides.length);\n            },5000);\n        }\n    }\n\n    \/* SCROLL REVEAL *\/\n    var sections=root.querySelectorAll('.ads-motion-section');\n    if(!('IntersectionObserver' in window)){\n        sections.forEach(function(section){section.classList.add('is-motion-visible','motion-complete');});\n    }else{\n        var observer=new IntersectionObserver(function(entries,obs){\n            entries.forEach(function(entry){\n                if(!entry.isIntersecting){return;}\n                var section=entry.target;\n                section.classList.add('is-motion-visible');\n                window.setTimeout(function(){section.classList.add('motion-complete');},section.classList.contains('ads-benefits-section')?3400:(section.id==='process'?3000:1600));\n                obs.unobserve(section);\n            });\n        },{threshold:.12,rootMargin:'0px 0px -7% 0px'});\n        sections.forEach(function(section){observer.observe(section);});\n    }\n\n\n\n    \/* BUTTON SHADOW \u2014 START\/RESTART THE MOMENT EACH CTA ENTERS VIEW *\/\n    (function initButtonShadowOnView(){\n        var buttons=root.querySelectorAll('a.th-btn');\n        if(!buttons.length){return;}\n        var reduceMotion=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        if(reduceMotion){\n            buttons.forEach(function(btn){btn.classList.add('is-shadow-active');});\n            return;\n        }\n        if(!('IntersectionObserver' in window)){\n            buttons.forEach(function(btn){btn.classList.add('is-shadow-active');});\n            return;\n        }\n        var buttonObserver=new IntersectionObserver(function(entries){\n            entries.forEach(function(entry){\n                var btn=entry.target;\n                if(entry.isIntersecting){\n                    \/* Restart at frame zero so the first shadow pass begins immediately. *\/\n                    btn.classList.remove('is-shadow-active');\n                    void btn.offsetWidth;\n                    btn.classList.add('is-shadow-active');\n                }else{\n                    \/* Reset off-screen so a fresh pass starts on the next scroll-in. *\/\n                    btn.classList.remove('is-shadow-active');\n                }\n            });\n        },{threshold:0,rootMargin:'0px'});\n        buttons.forEach(function(btn){buttonObserver.observe(btn);});\n    })();\n\n\n    \/* VIEWPORT-FIXED NAVIGATION + ADMIN TOOLBAR OFFSET *\/\n    var spacer=root.querySelector('.th-nav-spacer');\n    var toggle=nav.querySelector('.th-mobile-toggle');\n    var pendingFrame=0;\n    var mutationTimer=0;\n    var adminBar=null;\n\n    function measureAdmin(){\n        adminBar=document.getElementById('wpadminbar');\n        if(!adminBar){return 0;}\n        var r=adminBar.getBoundingClientRect();\n        if(r.height<=0||r.bottom<=0){return 0;}\n        return Math.max(0,Math.round(r.height));\n    }\n    function recalc(){\n        try{\n            var admin=measureAdmin();\n            document.documentElement.style.setProperty('--jw-admin-bar-offset',admin+'px');\n            nav.style.top=admin+'px';\n            var navHeight=Math.ceil(nav.getBoundingClientRect().height);\n            document.documentElement.style.setProperty('--jw-custom-nav-height',navHeight+'px');\n            document.documentElement.style.setProperty('--jw-anchor-offset',(admin+navHeight+2)+'px');\n            if(spacer){spacer.style.height=(navHeight+30)+'px';}\n            if(adminBar){adminBar.style.zIndex='99999';}\n        }catch(e){}\n    }\n    function scheduleRecalc(){\n        if(pendingFrame){return;}\n        pendingFrame=window.requestAnimationFrame(function(){pendingFrame=0;recalc();recoverNav();});\n    }\n    function ancestorBreaksFixed(el){\n        var p=el.parentElement;\n        while(p&&p!==document.body&&p!==document.documentElement){\n            var s=window.getComputedStyle(p);\n            if((s.transform&&s.transform!=='none')||(s.filter&&s.filter!=='none')||(s.perspective&&s.perspective!=='none')||(s.contain&&s.contain!=='none')||(s.willChange&&s.willChange.indexOf('transform')!==-1)){return true;}\n            p=p.parentElement;\n        }\n        return false;\n    }\n    function ensureBodyChild(){\n        try{if(nav.parentElement!==document.body||ancestorBreaksFixed(nav)){document.body.appendChild(nav);}}catch(e){}\n    }\n    function recoverNav(){\n        try{\n            ensureBodyChild();\n            var admin=measureAdmin();\n            var cs=window.getComputedStyle(nav);\n            var r=nav.getBoundingClientRect();\n            if(cs.position!=='fixed'||Math.abs(r.top-admin)>2){\n                nav.style.setProperty('position','fixed','important');\n                nav.style.setProperty('top',admin+'px','important');\n                nav.style.setProperty('left','0','important');\n                nav.style.setProperty('right','0','important');\n                nav.style.setProperty('width','auto','important');\n                nav.style.setProperty('max-width','none','important');\n                ensureBodyChild();\n                recalc();\n            }\n        }catch(e){}\n    }\n\n    \/* SAFE, ALLOWLISTED VANTAGE NAVIGATION SUPPRESSION *\/\n    function isThemeNav(el){\n        if(!(el instanceof Element)){return false;}\n        try{\n            if(el.matches('#masthead .main-navigation,#masthead .mobile-nav-frame,#masthead .so-mobilenav-mobile,#masthead .so-mobilenav-standard,#masthead nav.site-navigation.main-navigation')){return true;}\n            var mast=el.closest('#masthead');\n            if(!mast){return false;}\n            return el.matches('.main-navigation,.mobile-nav-frame,.so-mobilenav-mobile,.so-mobilenav-standard,.sticky-menu,.sticky-header');\n        }catch(e){return false;}\n    }\n    function safeToSuppress(el){\n        if(!(el instanceof Element)){return false;}\n        if(el===document.documentElement||el===document.body){return false;}\n        if(el===root||el===nav){return false;}\n        if(el.contains(root)||root.contains(el)){return false;}\n        var ab=document.getElementById('wpadminbar');\n        if(el===ab||el.closest('#wpadminbar')){return false;}\n        return isThemeNav(el);\n    }\n    function suppressCandidate(el){if(safeToSuppress(el)){el.classList.add('th-theme-nav-suppressed');}}\n    function suppressKnownThemeNav(scope){\n        try{\n            var base=(scope&&scope.querySelectorAll)?scope:document;\n            base.querySelectorAll('#masthead .main-navigation,#masthead .mobile-nav-frame,#masthead .so-mobilenav-mobile,#masthead .so-mobilenav-standard,#masthead nav.site-navigation.main-navigation').forEach(suppressCandidate);\n            if(scope instanceof Element){suppressCandidate(scope);}\n        }catch(e){}\n    }\n    suppressKnownThemeNav(document);\n\n    \/* MOBILE MENU *\/\n    function setMenu(open){\n        nav.classList.toggle('is-open',open);\n        if(toggle){toggle.setAttribute('aria-expanded',open?'true':'false');toggle.textContent=open?'Close':'Menu';}\n        scheduleRecalc();\n    }\n    if(toggle){toggle.addEventListener('click',function(){setMenu(!nav.classList.contains('is-open'));});}\n\n    \/* CONTROLLED ANCHOR SCROLLING *\/\n    function scrollToTarget(target){\n        if(!target){return;}\n        recalc();\n        var offset=parseFloat(getComputedStyle(document.documentElement).getPropertyValue('--jw-anchor-offset'))||0;\n        var top=target.getBoundingClientRect().top+window.pageYOffset-offset;\n        window.scrollTo({top:Math.max(0,top),behavior:window.matchMedia('(prefers-reduced-motion: reduce)').matches?'auto':'smooth'});\n    }\n    document.addEventListener('click',function(e){\n        var a=e.target.closest('a[href^=\"#\"]');\n        if(!a){return;}\n        var href=a.getAttribute('href');\n        if(!href||href==='#'){return;}\n        var target=document.querySelector(href);\n        if(!target){return;}\n        e.preventDefault();\n        if(nav.classList.contains('is-open')){setMenu(false);}\n        window.setTimeout(function(){scrollToTarget(target);history.replaceState(null,'',href);},20);\n    });\n\n    \/* INITIAL HASH ALIGNMENT *\/\n    function alignHash(){if(location.hash){try{var t=document.querySelector(location.hash);if(t){window.setTimeout(function(){scrollToTarget(t);},60);}}catch(e){}}}\n\n    \/* RECALC \/ RECOVERY EVENTS *\/\n    ['resize','orientationchange','load'].forEach(function(name){window.addEventListener(name,scheduleRecalc,{passive:true});});\n    window.addEventListener('scroll',function(){window.clearTimeout(window.__thNavScrollTimer);window.__thNavScrollTimer=window.setTimeout(recoverNav,80);},{passive:true});\n    document.addEventListener('DOMContentLoaded',scheduleRecalc);\n    if(document.fonts&&document.fonts.ready){document.fonts.ready.then(scheduleRecalc).catch(function(){});}\n\n    var mo=new MutationObserver(function(records){\n        var added=[];\n        records.forEach(function(rec){rec.addedNodes.forEach(function(n){if(n instanceof Element){added.push(n);}});});\n        if(!added.length){return;}\n        window.clearTimeout(mutationTimer);\n        mutationTimer=window.setTimeout(function(){added.forEach(function(n){suppressKnownThemeNav(n);});suppressKnownThemeNav(document);scheduleRecalc();},90);\n    });\n    try{mo.observe(document.body,{childList:true,subtree:true});}catch(e){}\n\n    ensureBodyChild();\n    recalc();\n    window.setTimeout(function(){suppressKnownThemeNav(document);recalc();recoverNav();alignHash();},40);\n    window.setTimeout(function(){suppressKnownThemeNav(document);recalc();recoverNav();},500);\n})();\n<\/script><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>FreshStep Carpet CleaningProfessional Carpet Care Call 618-214-2427 Menu HomeAbout UsServicesCarpet CleaningStain &amp; Spot CareHigh-Traffic AreasUpholstery CleaningDeep ExtractionPet-Related CleaningCarpet MaintenanceOur ProcessFAQContact Professional Carpet Care Cleaner Carpets.Fresher Rooms. FreshStep Carpet Cleaning helps homeowners refresh carpeted rooms with practical cleaning, focused spot care, attention to high-traffic areas, upholstery cleaning, pet-related carpet care, and maintenance guidance. Call FreshStep Explore [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/template-full-notitle.php","meta":{"footnotes":""},"folder":[],"class_list":["post-1579","page","type-page","status-publish","hentry","post"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Carpet Cleaning -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Carpet Cleaning -\" \/>\n<meta property=\"og:description\" content=\"FreshStep Carpet CleaningProfessional Carpet Care Call 618-214-2427 Menu HomeAbout UsServicesCarpet CleaningStain &amp; Spot CareHigh-Traffic AreasUpholstery CleaningDeep ExtractionPet-Related CleaningCarpet MaintenanceOur ProcessFAQContact Professional Carpet Care Cleaner Carpets.Fresher Rooms. FreshStep Carpet Cleaning helps homeowners refresh carpeted rooms with practical cleaning, focused spot care, attention to high-traffic areas, upholstery cleaning, pet-related carpet care, and maintenance guidance. Call FreshStep Explore [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-12T23:28:27+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/carpet-cleaning\\\/\",\"url\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/carpet-cleaning\\\/\",\"name\":\"Carpet Cleaning -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/#website\"},\"datePublished\":\"2026-09-12T03:36:31+00:00\",\"dateModified\":\"2026-09-12T23:28:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/carpet-cleaning\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/carpet-cleaning\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/carpet-cleaning\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Carpet Cleaning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/#website\",\"url\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jwwebsites.com\\\/frederick-young\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Carpet Cleaning -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/","og_locale":"en_US","og_type":"article","og_title":"Carpet Cleaning -","og_description":"FreshStep Carpet CleaningProfessional Carpet Care Call 618-214-2427 Menu HomeAbout UsServicesCarpet CleaningStain &amp; Spot CareHigh-Traffic AreasUpholstery CleaningDeep ExtractionPet-Related CleaningCarpet MaintenanceOur ProcessFAQContact Professional Carpet Care Cleaner Carpets.Fresher Rooms. FreshStep Carpet Cleaning helps homeowners refresh carpeted rooms with practical cleaning, focused spot care, attention to high-traffic areas, upholstery cleaning, pet-related carpet care, and maintenance guidance. Call FreshStep Explore [&hellip;]","og_url":"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/","article_modified_time":"2026-09-12T23:28:27+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/","url":"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/","name":"Carpet Cleaning -","isPartOf":{"@id":"https:\/\/jwwebsites.com\/frederick-young\/#website"},"datePublished":"2026-09-12T03:36:31+00:00","dateModified":"2026-09-12T23:28:27+00:00","breadcrumb":{"@id":"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jwwebsites.com\/frederick-young\/carpet-cleaning\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jwwebsites.com\/frederick-young\/"},{"@type":"ListItem","position":2,"name":"Carpet Cleaning"}]},{"@type":"WebSite","@id":"https:\/\/jwwebsites.com\/frederick-young\/#website","url":"https:\/\/jwwebsites.com\/frederick-young\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jwwebsites.com\/frederick-young\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/pages\/1579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/comments?post=1579"}],"version-history":[{"count":7,"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/pages\/1579\/revisions"}],"predecessor-version":[{"id":1600,"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/pages\/1579\/revisions\/1600"}],"wp:attachment":[{"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/media?parent=1579"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/jwwebsites.com\/frederick-young\/wp-json\/wp\/v2\/folder?post=1579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}