{
  "title": "Does Dry Cleaning Remove Smell? | The Swiss Laundry",
  "description": "Does dry cleaning remove odour from clothes? Yes — dry cleaning removes sweat, musty, mothball, smoke and food smells effectively.",
  "keywords": "",
  "robots": "index,follow,max-snippet:-1,max-image-preview:large",
  "canonical": "https://www.theswisslaundry.com/dry-cleaning-remove-smell",
  "hreflangs": [
    {
      "hreflang": "en-IN",
      "href": "https://www.theswisslaundry.com/dry-cleaning-remove-smell"
    },
    {
      "hreflang": "en",
      "href": "https://www.theswisslaundry.com/dry-cleaning-remove-smell"
    }
  ],
  "og": {
    "type": "article",
    "title": "Does Dry Cleaning Remove Smell? | The Swiss Laundry",
    "description": "Does dry cleaning remove odour from clothes? Yes — dry cleaning removes sweat, musty, mothball, smoke and food smells effectively. Complete guide by The Swiss Laundry, Kolkata.",
    "url": "https://www.theswisslaundry.com/dry-cleaning-remove-smell",
    "image": "https://www.theswisslaundry.com/images/og-default.svg",
    "image:width": "1200",
    "image:height": "630",
    "site_name": "The Swiss Laundry",
    "locale": "en_IN"
  },
  "geo": {
    "region": "IN-WB",
    "placename": "Kolkata"
  },
  "jsonLd": [
    [
      {
        "@context": "https://schema.org",
        "@type": "Article",
        "headline": "Does Dry Cleaning Remove Smell?",
        "description": "Does dry cleaning remove odour from clothes? Yes — dry cleaning is one of the most effective methods for removing embedded smell from garments. This guide explains how and when it works. By The Swiss Laundry, Kolkata.",
        "author": {
          "@type": "Organization",
          "name": "The Swiss Laundry",
          "url": "https://www.theswisslaundry.com"
        },
        "publisher": {
          "@type": "Organization",
          "name": "The Swiss Laundry",
          "logo": {
            "@type": "ImageObject",
            "url": "https://www.theswisslaundry.com/images/favicon.svg"
          }
        },
        "url": "https://www.theswisslaundry.com/dry-cleaning-remove-smell",
        "datePublished": "2025-01-01",
        "dateModified": "2025-06-01",
        "keywords": "does dry cleaning remove smell, dry cleaning remove odour India, dry cleaning musty smell, dry cleaning mothball smell"
      },
      {
        "@context": "https://schema.org",
        "@type": "LocalBusiness",
        "name": "The Swiss Laundry",
        "telephone": "+919836233354",
        "url": "https://www.theswisslaundry.com",
        "openingHours": "Mo-Sa 10:00-17:00",
        "priceRange": "₹₹",
        "aggregateRating": {
          "@type": "AggregateRating",
          "ratingValue": "4.5",
          "reviewCount": "200",
          "bestRating": "5"
        },
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East)",
          "addressLocality": "Kolkata",
          "addressRegion": "West Bengal",
          "postalCode": "700107",
          "addressCountry": "IN"
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://www.theswisslaundry.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Does Dry Cleaning Remove Smell",
            "item": "https://www.theswisslaundry.com/dry-cleaning-remove-smell"
          }
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": [
          {
            "@type": "Question",
            "name": "Does dry cleaning remove smell from clothes?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Yes. Dry cleaning effectively removes most embedded odours — sweat, smoke, mustiness from storage, mothball smell, and food odours. The chemical solvent dissolves the compounds responsible for odour. Pre-treatment with solvent spotters targets specific odour sources. Steam pressing at the end of the process further reduces surface odour."
            }
          },
          {
            "@type": "Question",
            "name": "How does dry cleaning remove smell?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "The dry cleaning solvent dissolves the oil and protein residues that carry odour — these are the compounds that water-based washing often cannot fully remove. The heat and air-flow during the drying cycle carries away volatile odour compounds. Steam pressing adds a final heat treatment that eliminates surface-level odour. For very persistent smells, odour-specific pre-treatment is applied before the main cycle."
            }
          },
          {
            "@type": "Question",
            "name": "What smells can dry cleaning remove?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Dry cleaning effectively removes: sweat and body odour embedded in fibres, musty storage smell, smoke smell (cigarette, campfire), mothball smell from naphthalene, food and cooking odours, perfume residue that has become stale, and mildew odour from damp storage. Some chemical odours — paint fumes, strong industrial chemicals — may require specialist treatment."
            }
          },
          {
            "@type": "Question",
            "name": "What smells does dry cleaning not remove?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Dry cleaning cannot fully remove odours that have chemically bonded with the fabric fibres — this occurs with very old, deeply set odours that have been repeatedly heat-set (from ironing or drying near heat). Mildew smell from active mould that has penetrated the fibres may require specialist treatment beyond standard dry cleaning."
            }
          }
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "SpeakableSpecification",
        "cssSelector": [
          "h1",
          ".aeo-lead",
          ".answer-text",
          ".faq-q"
        ]
      }
    ]
  ],
  "styleCss": "[data-reveal]{opacity:1!important;transform:none!important}\n/* NAV */\nnav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:70px;transition:background 0.5s,border-color 0.5s,box-shadow 0.5s;border-bottom:0.5px solid transparent}\nnav.on-dark{background:rgba(12,11,10,0.2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(255,255,255,0.07)}\nnav.on-light{background:rgba(245,240,232,0.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(0,0,0,0.08);box-shadow:0 2px 28px rgba(0,0,0,0.07)}\n.nav-logo a{display:block;line-height:0}\n.nav-logo img{height:46px;width:auto;display:block}\n\n\nnav.on-dark \nnav.on-dark \nnav.on-light \nnav.on-light \n.nav-right{display:flex;align-items:center;gap:0.7rem;flex-shrink:0}\n.btn-track{font-family:var(--sans);font-size:9px;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all 0.3s;white-space:nowrap}.btn-connect{font-family:var(--sans);font-size:9px;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all 0.3s;white-space:nowrap}\nnav.on-dark .btn-track{border:1px solid rgba(255,255,255,0.35);color:rgba(255,255,255,0.9)}.btn-connect{border:1px solid rgba(255,255,255,0.35);color:rgba(255,255,255,0.9)}\nnav.on-dark .btn-track:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.08)}.btn-connect:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.08)}\nnav.on-light .btn-track{border:1px solid rgba(192,65,90,0.5);color:var(--pink)}.btn-connect{border:1px solid rgba(192,65,90,0.5);color:var(--pink)}\nnav.on-light .btn-track:hover{border-color:var(--pink);background:rgba(192,65,90,0.05)}.btn-connect:hover{border-color:var(--pink);background:rgba(192,65,90,0.05)}\n.btn-book{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:10px 22px;background:var(--pink);color:#fff;border:1px solid var(--pink);transition:background 0.25s;white-space:nowrap}\n.btn-book:hover{background:var(--pink2);border-color:var(--pink2)}\n\n\nnav.on-dark \nnav.on-light \n.mob-menu{display:none;position:fixed;top:70px;left:0;right:0;background:var(--cream);z-index:199;flex-direction:column;border-bottom:0.5px solid rgba(0,0,0,0.1);box-shadow:0 8px 24px rgba(0,0,0,0.08)}\n.mob-menu.open{display:flex}\n.mob-menu a{font-family:var(--sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--dark2);text-decoration:none;padding:1rem 2rem;border-bottom:0.5px solid rgba(0,0,0,0.07);transition:color 0.2s}\n.mob-menu a:hover{color:var(--pink)}\n.mob-menu .mob-track{color:var(--pink)}\n.mob-menu .mob-book{background:var(--pink);color:#fff;text-align:center;border-bottom:none;font-weight:500}\n.mob-menu .mob-book:hover{background:var(--pink2);color:#fff}\n\n*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n*{-webkit-tap-highlight-color:transparent}\n:root{--dark:#0c0b0a;--ink:#1a1918;--gold:#C9A84C;--gold-l:#E2C97E;--gold-b:rgba(201,168,76,.25);--gold-a:rgba(201,168,76,.09);--cream:#F5F0E8;--off:#FAFAF8;--white:#ffffff;--muted:rgba(26,25,24,.48);--pink:#C0415A;--s:'Cormorant Garamond',Georgia,serif;--ss:'Jost','Helvetica Neue',Arial,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}\nhtml{scroll-behavior:smooth;overflow-x:hidden}\nbody{font-family:var(--ss);background:var(--off);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}\n::-webkit-scrollbar{width:2px}::-webkit-scrollbar-thumb{background:var(--gold-b)}\n:focus-visible{outline:2px solid var(--gold);outline-offset:3px}\nbody::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:.013;background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\");background-size:128px;mix-blend-mode:multiply}\n.skip-link{position:absolute;left:-999px;width:1px;height:1px;overflow:hidden}\n.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem 1rem;background:var(--gold);color:var(--ink);z-index:9999}\n.seo-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}\n.scroll-bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-l));z-index:9999;width:0}\n[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s var(--ease)}\n[data-reveal].in{opacity:1;transform:none}\n@media(scripting:none){[data-reveal]{opacity:1!important;transform:none!important}}\n.btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:none;cursor:pointer;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s}\n.btn svg{flex-shrink:0}\n.btn-g{background:var(--gold);color:var(--ink);padding:.8rem 1.8rem}\n.btn-g:hover{background:var(--gold-l);transform:translateY(-1px);box-shadow:0 4px 16px rgba(201,168,76,.3)}\n.btn-dk{background:var(--ink);color:var(--gold);padding:.85rem 2rem}\n.btn-dk:hover{background:#000}\n.btn-ol{background:transparent;color:rgba(245,240,232,.7);padding:.8rem 1.6rem;border:1px solid rgba(245,240,232,.22)}\n.btn-ol:hover{color:var(--cream);border-color:rgba(245,240,232,.5)}\n.btn-row{display:flex;gap:.6rem;flex-wrap:wrap}\n.g-hero{min-height:100svh;background:var(--dark);display:flex;flex-direction:column;justify-content:flex-end;padding:0 8vw 5rem;position:relative;overflow:hidden}\n.g-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(201,168,76,.05) 1px,transparent 1px);background-size:32px 32px}\n.g-bg-word{position:absolute;bottom:-0.1em;right:3vw;font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(130px,20vw,300px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,168,76,.06);pointer-events:none;user-select:none;z-index:1;letter-spacing:-.05em}\n.g-eyebrow{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;margin-bottom:1.8rem;position:relative;z-index:2}\n.g-eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.g-h1{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(44px,7vw,100px);line-height:.88;letter-spacing:-.04em;color:var(--cream);margin-bottom:2rem;position:relative;z-index:2;max-width:860px}\n.g-h1 em{font-style:normal;color:var(--gold)}\n.g-lead{font-size:clamp(14px,1.4vw,17px);font-weight:300;color:rgba(245,240,232,.6);line-height:1.85;max-width:540px;margin-bottom:2.5rem;position:relative;z-index:2}\n.g-hero-btns{position:relative;z-index:2}\n.g-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(201,168,76,.15);margin-top:4rem}\n.g-stat{padding:1.4rem 0;border-right:1px solid rgba(201,168,76,.1)}\n.g-stat:last-child{border-right:none}\n.g-stat-n{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(17px,2.6vw,32px);color:var(--gold);display:block;line-height:1;letter-spacing:-.02em}\n.g-stat-l{font-family:var(--ss);font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,232,.35);display:block;margin-top:.3rem}\n.g-def-sec{background:var(--cream);padding:6rem 8vw}\n.g-def-inner{max-width:860px;margin:0 auto}\n.g-def-box{border:1px solid rgba(201,168,76,.35);border-left:4px solid var(--gold);padding:2.2rem 2.5rem 2.2rem 2.2rem;background:var(--white);margin-bottom:2rem}\n.g-def-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem}\n.g-def-text{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(17px,2.1vw,24px);line-height:1.55;color:var(--ink)}\n.g-def-text em{font-style:normal;color:var(--gold)}\n.g-def-source{display:block;margin-top:.9rem;font-family:var(--ss);font-size:10px;font-weight:300;letter-spacing:.1em;color:var(--muted)}\n.g-def-note{background:var(--off);padding:1.4rem 1.6rem;font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.85;color:var(--muted)}\n.g-def-note strong{color:var(--ink);font-weight:400}\n.g-body{background:var(--off);padding:0 8vw 7rem;display:grid;grid-template-columns:220px 1fr;gap:5rem;align-items:start;max-width:1200px;margin:0 auto}\n.g-sidebar{position:sticky;top:90px}\n.g-sb-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1.2rem}\n.g-sb-list{list-style:none;display:flex;flex-direction:column}\n.g-sb-link{display:block;font-family:var(--ss);font-size:11px;font-weight:300;letter-spacing:.06em;color:var(--muted);text-decoration:none;padding:.55rem 0 .55rem .9rem;border-left:2px solid rgba(26,25,24,.08);transition:color .2s,border-color .2s;line-height:1.4}\n.g-sb-link:hover,.g-sb-link.active{color:var(--ink);border-left-color:var(--gold)}\n.g-content{padding-top:5rem}\n.clause{margin-bottom:5rem;padding-bottom:5rem;border-bottom:1px solid rgba(26,25,24,.07)}\n.clause:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}\n.clause-num{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(44px,6vw,72px);color:rgba(201,168,76,.15);display:block;line-height:1;margin-bottom:.3rem;letter-spacing:-.04em}\n.clause-title{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(24px,3vw,40px);color:var(--ink);line-height:1.1;margin-bottom:1.4rem;letter-spacing:-.02em}\n.clause-title em{font-style:normal;color:var(--gold)}\n.clause-body{font-family:var(--ss);font-size:14px;font-weight:300;line-height:1.95;color:var(--muted)}\n.clause-body p{margin-bottom:1.1rem}\n.clause-body p:last-child{margin-bottom:0}\n.clause-body strong{color:var(--ink);font-weight:400}\n.clause-body a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.3);transition:border-color .2s}\n.clause-body a:hover{border-color:var(--gold)}\n.fact-box{margin:1.8rem 0;padding:1.4rem 1.6rem;border-left:3px solid var(--gold);background:var(--gold-a);font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.75;color:var(--ink)}\n.fact-box strong{font-weight:500}\n.warn-box{margin:1.8rem 0;padding:1.4rem 1.6rem;border-left:3px solid var(--pink);background:rgba(192,65,90,.06);font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.75;color:var(--ink)}\n.warn-box strong{font-weight:500;color:var(--pink)}\n.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(26,25,24,.08);margin:1.8rem 0}\n.card-item{background:var(--white);padding:1.6rem;transition:background .2s}\n.card-item:hover{background:var(--cream)}\n.card-name{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(16px,1.9vw,22px);color:var(--ink);display:block;margin-bottom:.2rem}\n.card-tag{font-family:var(--ss);font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.45rem}\n.card-body{font-family:var(--ss);font-size:12px;font-weight:300;color:var(--muted);line-height:1.7}\n.card-body strong{color:var(--ink);font-weight:400}\n.stain-table{width:100%;border-collapse:collapse;font-family:var(--ss);margin:1.8rem 0}\n.stain-table th{font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.8rem 1rem;background:var(--ink);color:rgba(245,240,232,.6);text-align:left}\n.stain-table th:first-child{color:var(--gold-l)}\n.stain-table td{padding:.75rem 1rem;font-size:12px;font-weight:300;line-height:1.6;color:var(--muted);border-bottom:1px solid rgba(26,25,24,.06);vertical-align:top}\n.stain-table tr:last-child td{border-bottom:none}\n.stain-table td:first-child{color:var(--ink);font-weight:400}\n.do-cell{color:#5A8A5A}\n.warn-cell{color:var(--pink)}\n.steps{display:flex;flex-direction:column;gap:.9rem;margin:1.8rem 0}\n.step{display:flex;gap:1.2rem;align-items:flex-start;padding:1.1rem 1.3rem;background:var(--white);border:1px solid rgba(26,25,24,.07);border-left:3px solid transparent;transition:border-color .2s}\n.step:hover{border-left-color:var(--gold)}\n.step-n{font-family:var(--s);font-style:italic;font-weight:300;font-size:28px;color:rgba(201,168,76,.25);line-height:1;flex-shrink:0;width:1.8rem;text-align:center}\n.step-h{font-family:var(--ss);font-size:12px;font-weight:500;color:var(--ink);display:block;margin-bottom:.2rem;letter-spacing:.02em}\n.step-d{font-family:var(--ss);font-size:12px;font-weight:300;color:var(--muted);line-height:1.7}\n.do-dont{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.8rem 0}\n.do-list,.dont-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}\n.do-list-h,.dont-list-h{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;display:block;margin-bottom:.7rem}\n.do-list-h{color:#5A8A5A}\n.dont-list-h{color:var(--pink)}\n.do-list li,.dont-list li{font-family:var(--ss);font-size:12px;font-weight:300;line-height:1.7;color:var(--muted);padding-left:1.2rem;position:relative}\n.do-list li::before{content:'✓';position:absolute;left:0;color:#5A8A5A;font-size:11px;top:.05em}\n.dont-list li::before{content:'✗';position:absolute;left:0;color:var(--pink);font-size:11px;top:.05em}\n.kolkata-note{background:var(--dark);padding:2rem 2.2rem;margin:1.8rem 0;border-left:4px solid var(--gold)}\n.kolkata-note-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.6rem}\n.kolkata-note-text{font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.8;color:rgba(245,240,232,.7)}\n.kolkata-note-text strong{color:var(--cream);font-weight:400}\n.g-faq{background:var(--cream);padding:7rem 8vw}\n.g-faq-inner{max-width:860px;margin:0 auto}\n.g-ey{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}\n.g-ey::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.g-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(28px,4vw,52px);color:var(--ink);line-height:1.05;margin-bottom:2.5rem;letter-spacing:-.02em}\n.g-h2 em{font-style:normal;color:var(--gold)}\n.faq-item{border-bottom:1px solid rgba(26,25,24,.09)}\n.faq-item:first-of-type{border-top:1px solid rgba(26,25,24,.09)}\n.faq-q{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(14px,1.5vw,18px);color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:none;border:none;width:100%;text-align:left;padding:.9rem 0;transition:color .2s}\n.faq-q:hover,.faq-item.open .faq-q{color:var(--gold)}\n.faq-ico{width:16px;height:16px;color:rgba(26,25,24,.22);flex-shrink:0;transition:transform .3s,color .2s}\n.faq-item.open .faq-ico{transform:rotate(45deg);color:var(--gold)}\n.faq-a{display:none;font-size:13px;font-weight:300;line-height:1.9;color:var(--muted);padding-bottom:1rem;font-family:var(--ss)}\n.faq-item.open .faq-a{display:block}\n.g-cta{background:var(--gold);padding:8rem 8vw;text-align:center;position:relative;overflow:hidden}\n.g-cta::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-60deg,transparent,transparent 30px,rgba(255,255,255,.04) 30px,rgba(255,255,255,.04) 31px)}\n.g-cta-inner{position:relative;z-index:1;max-width:680px;margin:0 auto}\n.g-cta-rule{width:36px;height:2px;background:var(--ink);opacity:.2;margin:0 auto 2rem}\n.g-cta-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(40px,8vw,96px);color:var(--ink);line-height:.88;letter-spacing:-.05em;margin-bottom:.8rem}\n.g-cta-sub{font-family:var(--ss);font-size:13px;font-weight:300;color:rgba(26,25,24,.55);line-height:1.8;max-width:440px;margin:0 auto 2rem}\n.g-cta-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}\n.wa-float{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:9990;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:transform .3s;text-decoration:none;background:none}\n.wa-float:hover{transform:scale(1.1) translateY(-2px)}\n.wa-float::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.35);animation:waPulse 2.5s ease-out infinite}\n@keyframes waPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}\n@media(hover:hover) and (pointer:fine){*{cursor:none!important}.cur-d{position:fixed;top:0;left:0;z-index:99999;pointer-events:none;width:8px;height:8px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);transition:width .15s,height .15s,opacity .3s}.cur-r{position:fixed;top:0;left:0;z-index:99998;pointer-events:none;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(201,168,76,.45);transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),opacity .3s}body.cur-hl .cur-d{width:12px;height:12px}body.cur-hl .cur-r{width:40px;height:40px}body.cur-hd .cur-d,body.cur-hd .cur-r{opacity:0}}\n#introEl{position:fixed;inset:0;z-index:99997;background:var(--dark);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.2rem;transition:opacity .6s ease}\n#introEl.hidden{opacity:0;pointer-events:none}\n.intro-m{font-family:var(--s);font-style:italic;font-weight:300;font-size:88px;color:var(--gold);letter-spacing:-.04em;opacity:0;animation:iFade .8s var(--ease) .15s forwards}\n.intro-l{width:0;height:1px;background:var(--gold);opacity:.4;animation:iGrow .7s var(--ease) .35s forwards}\n.intro-w{font-size:10px;font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:rgba(245,240,232,.38);opacity:0;animation:iFade .6s ease .55s forwards}\n@keyframes iFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}\n@keyframes iGrow{from{width:0}to{width:64px}}\n.pg-ov{position:fixed;inset:0;z-index:99996;background:var(--cream);opacity:0;pointer-events:none;transition:opacity .35s ease}\n.pg-ov.visible{opacity:1;pointer-events:all}\n@media print{.wa-float,.cur-d,.cur-r,#introEl,.pg-ov,.bookPill,.seasonal-banner,.scroll-bar{display:none!important}body{font-size:11pt;background:#fff;color:#000}}\n@media(max-width:960px){.g-body{grid-template-columns:1fr;padding-left:6vw;padding-right:6vw}.g-sidebar{position:static;display:none}.g-content{padding-top:2rem}.card-grid{grid-template-columns:1fr}.do-dont{grid-template-columns:1fr}}\n@media(max-width:640px){.g-hero{padding:0 6vw 4rem}.g-strip{grid-template-columns:1fr 1fr}.g-stat:nth-child(3),.g-stat:nth-child(4){border-top:1px solid rgba(201,168,76,.1)}.g-stat:nth-child(even){border-right:none}.g-def-sec,.g-faq,.g-cta{padding-left:6vw;padding-right:6vw}}\n\n.aeo-hero{background:var(--cream);padding:10rem 8vw 6rem;position:relative;overflow:hidden}\n.aeo-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(201,168,76,.07) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 60% 80% at 100% 50%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 60% 80% at 100% 50%,black 20%,transparent 70%)}\n.aeo-eyebrow{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;margin-bottom:1.8rem}\n.aeo-eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.aeo-h1{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(36px,6vw,84px);line-height:.9;letter-spacing:-.04em;color:var(--ink);margin-bottom:1.4rem;max-width:800px}\n.aeo-h1 em{font-style:normal;color:var(--gold)}\n.aeo-lead{font-family:var(--ss);font-size:clamp(14px,1.4vw,17px);font-weight:300;color:var(--muted);line-height:1.85;max-width:580px;margin-bottom:2rem}\n.btn-ol-ink{background:transparent;color:var(--muted);padding:.8rem 1.6rem;border:1px solid rgba(26,25,24,.18)}\n.btn-ol-ink:hover{color:var(--ink);border-color:rgba(26,25,24,.4)}\n.answer-sec{background:var(--dark);padding:5rem 8vw}\n.answer-inner{max-width:860px;margin:0 auto}\n.answer-box{border-left:4px solid var(--gold);padding:2.2rem 2.5rem;background:rgba(201,168,76,.06);margin-bottom:1.5rem}\n.answer-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem}\n.answer-text{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(17px,2.1vw,26px);line-height:1.5;color:var(--cream)}\n.answer-text em{font-style:normal;color:var(--gold)}\n.answer-source{display:block;margin-top:.9rem;font-family:var(--ss);font-size:10px;font-weight:300;letter-spacing:.1em;color:rgba(245,240,232,.3)}\n.answer-note{font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.85;color:rgba(245,240,232,.55)}\n.answer-note strong{color:rgba(245,240,232,.85);font-weight:400}\n.aeo-body{background:var(--off);padding:6rem 8vw}\n.aeo-body-inner{max-width:860px;margin:0 auto}\n.aeo-sec{margin-bottom:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(26,25,24,.07)}\n.aeo-sec:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}\n.aeo-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(22px,2.8vw,36px);color:var(--ink);margin-bottom:1rem;letter-spacing:-.02em}\n.aeo-h2 em{font-style:normal;color:var(--gold)}\n.aeo-p{font-family:var(--ss);font-size:14px;font-weight:300;line-height:1.95;color:var(--muted);margin-bottom:1rem}\n.aeo-p:last-child{margin-bottom:0}\n.aeo-p strong{color:var(--ink);font-weight:400}\n.aeo-p a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.3)}\n.related-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0}\n.rel-link{border:1px solid rgba(26,25,24,.08);padding:1.4rem;text-decoration:none;display:flex;flex-direction:column;gap:.4rem;transition:box-shadow .2s,border-color .2s,transform .2s}\n.rel-link:hover{box-shadow:0 4px 16px rgba(26,25,24,.07);border-color:rgba(201,168,76,.3);transform:translateY(-2px)}\n.rel-tag{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}\n.rel-title{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(14px,1.6vw,18px);color:var(--ink);line-height:1.2}\n.aeo-faq{background:var(--cream);padding:6rem 8vw}\n.aeo-faq-inner{max-width:860px;margin:0 auto}\n.aeo-ey{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}\n.aeo-ey::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.aeo-faq-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(26px,3.5vw,44px);color:var(--ink);line-height:1.05;margin-bottom:2rem;letter-spacing:-.02em}\n.aeo-faq-h2 em{font-style:normal;color:var(--gold)}\n.aeo-cta{background:var(--gold);padding:6rem 8vw;text-align:center;position:relative;overflow:hidden}\n.aeo-cta::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-60deg,transparent,transparent 30px,rgba(255,255,255,.04) 30px,rgba(255,255,255,.04) 31px)}\n.aeo-cta-inner{position:relative;z-index:1;max-width:600px;margin:0 auto}\n.aeo-cta-rule{width:36px;height:2px;background:var(--ink);opacity:.2;margin:0 auto 1.8rem}\n.aeo-cta-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(36px,6vw,72px);color:var(--ink);line-height:.9;letter-spacing:-.04em;margin-bottom:.8rem}\n.aeo-cta-sub{font-family:var(--ss);font-size:13px;font-weight:300;color:rgba(26,25,24,.55);line-height:1.8;max-width:400px;margin:0 auto 1.8rem}\n.aeo-cta-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}\n.turnaround-table{width:100%;border-collapse:collapse;font-family:var(--ss);margin:1.8rem 0}\n.turnaround-table th{font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:.8rem 1rem;background:var(--ink);color:rgba(245,240,232,.6);text-align:left}\n.turnaround-table th:first-child{color:var(--gold-l)}\n.turnaround-table td{padding:.75rem 1rem;font-size:12px;font-weight:300;line-height:1.6;color:var(--muted);border-bottom:1px solid rgba(26,25,24,.06);vertical-align:top}\n.turnaround-table tr:last-child td{border-bottom:none}\n.turnaround-table td:first-child{color:var(--ink);font-weight:400}\n.std-cell{color:#5A8A5A}\n.exp-cell{color:#854F0B}\n@media(max-width:768px){.aeo-hero,.aeo-body,.answer-sec,.aeo-faq,.aeo-cta{padding-left:6vw;padding-right:6vw}.related-strip{grid-template-columns:1fr}}\n\n/* ═══════════════════════════════════════════════\n   GLOBAL FEATURES — added to every page\n   ═══════════════════════════════════════════════ */\n\n/* ── Sticky booking pill (mobile only) ── */\n.book-pill{\n  display:none;\n  position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);\n  background:var(--pink);color:#fff;\n  font-family:var(--sans);font-size:10px;font-weight:500;\n  letter-spacing:.18em;text-transform:uppercase;\n  padding:.75rem 1.8rem;border-radius:30px;\n  text-decoration:none;white-space:nowrap;\n  box-shadow:0 4px 20px rgba(192,65,90,.4);\n  z-index:9985;\n  animation:pillIn .4s cubic-bezier(.16,1,.3,1);\n  transition:opacity .3s,transform .3s;\n}\n.book-pill:hover{background:var(--pink2,#a8324a);transform:translateX(-50%) translateY(-2px)}\n.book-pill.hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(8px)}\n@keyframes pillIn{from{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}\n@media(max-width:768px){.book-pill{display:flex;align-items:center;gap:.5rem}}\n/* Hide pill on the pickup page itself */\nbody.page-pickup .book-pill{display:none!important}\n\n/* ── Seasonal banner ── */\n.seasonal-banner{\n  background:var(--dark2,#1a1918);color:rgba(255,255,255,.75);\n  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.08em;\n  text-align:center;padding:.45rem 3rem;position:relative;z-index:10000;\n  border-bottom:.5px solid rgba(255,255,255,.08);\n}\n.seasonal-banner a{color:var(--gold,#C9A84C);text-decoration:none;margin-left:.5rem;font-weight:500}\n.seasonal-banner a:hover{text-decoration:underline}\n.banner-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);\n  background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;\n  font-size:14px;line-height:1;padding:.2rem;transition:color .2s}\n.banner-close:hover{color:#fff}\n.seasonal-banner.hidden{display:none}\n@media(prefers-color-scheme:light){\n  .seasonal-banner{background:var(--dark2,#1a1918)}\n}\n\n/* ── Dark/light toggle in nav ── */\n.theme-toggle{\n  width:32px;height:32px;border-radius:50%;\n  background:none;border:.5px solid rgba(128,128,128,.25);\n  cursor:pointer;display:flex;align-items:center;justify-content:center;\n  transition:border-color .2s,background .2s;flex-shrink:0;\n}\n.theme-toggle:hover{border-color:var(--gold,#C9A84C);background:rgba(201,168,76,.08)}\n.theme-toggle svg{width:14px;height:14px;transition:opacity .2s}\n.theme-toggle .icon-dark{display:block}\n.theme-toggle .icon-light{display:none}\n[data-theme=\"light\"] .theme-toggle .icon-dark{display:none}\n[data-theme=\"light\"] .theme-toggle .icon-light{display:block}\n\n/* ── Google rating badge in footer ── */\n.g-rating-badge{\n  display:inline-flex;align-items:center;gap:.5rem;\n  text-decoration:none;\n  font-family:var(--sans);\n  padding:.5rem .8rem;\n  border-radius:6px;\n  border:.5px solid rgba(255,255,255,.12);\n  background:rgba(255,255,255,.04);\n  transition:border-color .2s,background .2s;\n  margin-bottom:.8rem;\n}\n.g-rating-badge:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05)}\n.g-rating-stars{color:#FBBC04;font-size:13px;letter-spacing:.05em;line-height:1}\n.g-rating-num{font-family:var(--sans);font-size:13px;font-weight:500;color:#fff}\n.g-rating-label{font-family:var(--sans);font-size:9px;font-weight:300;\n  color:rgba(255,255,255,.45);letter-spacing:.08em}\n.g-rating-logo{font-family:var(--sans);font-size:9px;font-weight:700;\n  color:#4285F4;letter-spacing:-.02em}\n@media(prefers-color-scheme:light){\n  .g-rating-badge{border-color:rgba(26,25,24,.12);background:#fff}\n  .g-rating-num{color:#1a1918}\n  .g-rating-label{color:rgba(26,25,24,.45)}\n}\n\n/* ── WhatsApp share button (blogs/guides) ── */\n.wa-share{\n  display:inline-flex;align-items:center;gap:.5rem;\n  background:#25D366;color:#fff;\n  font-family:var(--sans);font-size:9px;font-weight:500;\n  letter-spacing:.15em;text-transform:uppercase;\n  padding:.65rem 1.2rem;border-radius:6px;text-decoration:none;\n  transition:background .2s;\n}\n.wa-share:hover{background:#1da851}\n.wa-share svg{width:14px;height:14px;flex-shrink:0}\n\n/* ── Reading time indicator ── */\n.reading-time{\n  font-family:var(--sans);font-size:10px;font-weight:300;\n  color:var(--txt3,rgba(255,255,255,.4));letter-spacing:.08em;\n  display:inline-flex;align-items:center;gap:.35rem;\n}\n.reading-time svg{width:11px;height:11px;opacity:.6}\n\n/* ── Was this helpful ── */\n.helpful-block{\n  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;\n  padding:1.2rem 0;margin-top:2rem;\n  border-top:1px solid rgba(128,128,128,.12);\n}\n.helpful-label{font-family:var(--sans);font-size:12px;font-weight:300;\n  color:var(--txt3,rgba(255,255,255,.4))}\n.helpful-btn{\n  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.1em;\n  text-transform:uppercase;padding:.4rem 1rem;border-radius:4px;cursor:pointer;\n  border:.5px solid rgba(128,128,128,.2);background:none;\n  color:var(--txt3,rgba(255,255,255,.4));transition:all .2s;\n}\n.helpful-btn:hover,.helpful-btn.active{\n  border-color:var(--pink);color:var(--pink);background:rgba(192,65,90,.06)}\n.helpful-thanks{font-family:var(--sans);font-size:11px;color:var(--pink);display:none}\n.helpful-thanks.show{display:block}\n\n/* ── Page reading progress (long guides) ── */\n.read-progress{\n  position:fixed;top:0;left:0;height:2px;\n  background:var(--gold,#C9A84C);z-index:9999;width:0;\n  transition:width .1s linear;\n}\n\n\n/* FOOTER */\n/* ═══ FOOTER BASE ═══ */\n.site-footer{\n  background:#0a0906;\n  position:relative;\n}\n\n/* ── CONTACT FORM STRIP ── */\n.footer-form-strip{\n  border-bottom:0.5px solid rgba(201,168,76,0.1);\n  padding:5rem 4rem;\n  background:rgba(255,255,255,0.01);\n}\n.footer-form-wrap{\n  max-width:1000px;\n  margin:0 auto;\n}\n.footer-form-header{\n  margin-bottom:2.5rem;\n}\n.footer-form-eye{\n  font-family:var(--sans);font-size:9px;\n  letter-spacing:0.32em;text-transform:uppercase;\n  color:var(--gold);margin-bottom:0.8rem;\n}\n.footer-form-title{\n  font-family:var(--serif);font-style:italic;font-weight:300;\n  font-size:clamp(20px,2.5vw,32px);\n  color:#fff;line-height:1.3;letter-spacing:-0.01em;\n}\n\n/* Form grid */\n.footer-form-row{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:1rem;\n  margin-bottom:1rem;\n}\n.footer-form-field{\n  display:flex;flex-direction:column;gap:0.4rem;\n}\n.footer-form-field-full{\n  margin-bottom:1.2rem;\n}\n.footer-form-label{\n  font-family:var(--sans);font-size:9px;\n  letter-spacing:0.18em;text-transform:uppercase;\n  color:rgba(255,255,255,0.4);\n}\n.footer-form input,\n.footer-form select,\n.footer-form textarea{\n  background:rgba(255,255,255,0.04);\n  border:0.5px solid rgba(255,255,255,0.1);\n  color:#fff;\n  font-family:var(--sans);font-size:13px;font-weight:300;\n  padding:10px 14px;\n  outline:none;\n  transition:border-color 0.3s,background 0.3s;\n  width:100%;\n  appearance:none;\n  -webkit-appearance:none;\n}\n.footer-form input::placeholder,\n.footer-form textarea::placeholder{\n  color:rgba(255,255,255,0.2);\n}\n.footer-form input:focus,\n.footer-form select:focus,\n.footer-form textarea:focus{\n  border-color:rgba(201,168,76,0.5);\n  background:rgba(255,255,255,0.06);\n}\n.footer-form select{\n  background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(201,168,76,0.6)'/%3E%3C/svg%3E\");\n  background-repeat:no-repeat;\n  background-position:right 14px center;\n  padding-right:32px;\n  cursor:pointer;\n}\n.footer-form select option{\n  background:#1a1918;color:#fff;\n}\n.footer-form textarea{\n  resize:vertical;min-height:80px;\n}\n\n/* Submit row */\n.footer-form-submit-row{\n  display:flex;align-items:center;\n  justify-content:space-between;\n  gap:1rem;flex-wrap:wrap;\n}\n.footer-form-legal{\n  font-family:var(--sans);font-size:10px;\n  color:rgba(255,255,255,0.2);line-height:1.6;\n}\n.footer-form-legal a{\n  color:rgba(255,255,255,0.35);\n  text-decoration:none;\n}\n.footer-form-btn{\n  display:inline-flex;align-items:center;gap:0.6rem;\n  background:var(--pink);border:none;cursor:pointer;\n  font-family:var(--sans);font-size:10px;\n  font-weight:500;letter-spacing:0.2em;text-transform:uppercase;\n  color:#fff;padding:12px 28px;\n  transition:background 0.25s,gap 0.3s;\n  white-space:nowrap;\n}\n.footer-form-btn:hover{background:var(--pink2);gap:0.9rem}\n.footer-form-btn-arrow{\n  display:inline-block;transition:transform 0.3s;\n}\n.footer-form-btn:hover .footer-form-btn-arrow{transform:translateX(4px)}\n\n/* Success message */\n.footer-form-success{\n  padding:1rem 0;\n  font-family:var(--serif);font-style:italic;\n  font-size:16px;color:var(--gold-l);\n}\n\n/* ── MAIN COLUMNS ── */\n.footer-main{\n  display:grid;\n  grid-template-columns:1.5fr 1fr 1fr 1.2fr;\n  gap:3rem;\n  max-width:1200px;margin:0 auto;\n  padding:5rem 4rem;\n  border-bottom:0.5px solid rgba(201,168,76,0.1);\n}\n\n/* Brand col */\n.footer-logo{\n  display:block;height:40px;width:auto;\n  margin-bottom:1.6rem;\n  opacity:0.85;\n}\n.footer-seo-text{\n  font-family:var(--sans);font-size:11px;\n  font-weight:300;line-height:1.85;\n  color:rgba(255,255,255,0.38);\n  margin-bottom:2rem;\n}\n\n/* Chotusingh */\n.footer-chotu{\n  margin-bottom:1.2rem;\n}\n.footer-chotu-img{\n  display:block;height:100px;width:auto;\n  object-fit:contain;\n  mix-blend-mode:lighten;\n  filter:brightness(1.1) contrast(1.05);\n  margin-bottom:0.4rem;\n}\n.footer-chotu-line{\n  font-family:var(--serif);font-style:italic;font-weight:300;\n  font-size:11px;color:rgba(255,255,255,0.22);\n  line-height:1.5;\n}\n\n/* Nav cols */\n.footer-col{\n  display:flex;flex-direction:column;\n}\n.footer-col-brand{\n  display:flex;\n  flex-direction:column;\n}\n.footer-col-title{\n  font-family:var(--sans);font-size:9px;\n  font-weight:500;letter-spacing:0.28em;text-transform:uppercase;\n  color:var(--gold);\n  margin-bottom:1.4rem;\n  padding-bottom:0.8rem;\n  border-bottom:0.5px solid rgba(201,168,76,0.15);\n}\n.footer-links{\n  list-style:none;\n  display:flex;flex-direction:column;gap:0.65rem;\n}\n.footer-links a{\n  font-family:var(--sans);font-size:12px;font-weight:300;\n  color:rgba(255,255,255,0.42);text-decoration:none;\n  transition:color 0.3s ease, padding-left 0.3s ease;\n  line-height:1.4;display:block;\n}\n.footer-links a:hover{\n  color:rgba(255,255,255,0.85);\n  padding-left:4px;\n}\n\n/* Contact col */\n.footer-col-contact{\n  justify-content:space-between;\n  display:flex;\n  flex-direction:column;\n}\n.footer-col-contact .footer-apps{\n  margin-top:auto;\n}\n.footer-contact-item{margin-bottom:1.1rem}\n.footer-contact-lbl{\n  display:block;\n  font-family:var(--sans);font-size:8px;\n  letter-spacing:0.22em;text-transform:uppercase;\n  color:var(--gold);opacity:0.65;margin-bottom:0.25rem;\n}\n.footer-address{\n  font-family:var(--sans);font-size:11px;font-weight:300;\n  line-height:1.7;color:rgba(255,255,255,0.38);\n  font-style:normal;\n}\n.footer-contact-val{\n  display:block;\n  font-family:var(--sans);font-size:12px;font-weight:300;\n  color:rgba(255,255,255,0.42);text-decoration:none;\n  line-height:1.7;transition:color 0.25s;\n}\na.footer-contact-val:hover{color:rgba(255,255,255,0.8)}\n\n/* Social */\n.footer-social{\n  display:flex;gap:0.6rem;flex-wrap:wrap;\n  margin-top:1.2rem;margin-bottom:1.6rem;\n}\n.footer-social-ico{\n  width:32px;height:32px;\n  border:0.5px solid rgba(255,255,255,0.12);\n  display:flex;align-items:center;justify-content:center;\n  color:rgba(255,255,255,0.4);text-decoration:none;\n  transition:border-color 0.3s,color 0.3s;\n}\n.footer-social-ico:hover{\n  border-color:rgba(201,168,76,0.5);color:var(--gold-l);\n}\n.footer-social-ico svg{width:14px;height:14px}\n.footer-social-wa:hover{\n  border-color:rgba(37,211,102,0.5);color:#25D366;\n}\n\n/* App badges */\n.footer-apps{margin-top:auto}\n.footer-apps-label{\n  font-family:var(--sans);font-size:8px;\n  letter-spacing:0.22em;text-transform:uppercase;\n  color:var(--gold);opacity:0.65;margin-bottom:0.8rem;\n}\n.footer-apps-row{display:flex;flex-direction:column;gap:0.5rem}\n.footer-app-badge{\n  display:block;text-decoration:none;\n  border:0.5px solid rgba(255,255,255,0.15);\n  padding:8px 14px;\n  transition:border-color 0.3s,background 0.3s;\n}\n.footer-app-badge:hover{\n  border-color:rgba(201,168,76,0.4);\n  background:rgba(255,255,255,0.03);\n}\n.footer-app-inner{\n  display:flex;align-items:center;gap:10px;\n}\n.footer-app-icon{\n  font-size:22px;color:#fff;\n  line-height:1;flex-shrink:0;\n}\n.footer-app-text{\n  display:flex;flex-direction:column;gap:1px;\n}\n.footer-app-sub{\n  font-family:var(--sans);font-size:8px;\n  color:rgba(255,255,255,0.45);letter-spacing:0.06em;\n}\n.footer-app-name{\n  font-family:var(--sans);font-size:13px;\n  font-weight:500;color:#fff;letter-spacing:0.02em;\n}\n\n/* Legal strip */\n.footer-legal{\n  background:#070604;\n  padding:1.4rem 4rem;\n}\n.footer-legal-inner{\n  max-width:1200px;margin:0 auto;\n  display:flex;flex-direction:column;\n  align-items:center;gap:0.5rem;text-align:center;\n}\n.footer-legal-links{\n  display:flex;flex-wrap:wrap;align-items:center;\n  justify-content:center;gap:0.5rem;\n}\n.footer-legal-links a,\n.footer-legal-txt{\n  font-family:var(--sans);font-size:10px;\n  color:rgba(255,255,255,0.28);text-decoration:none;\n  transition:color 0.25s;\n}\n.footer-legal-links a:hover{color:rgba(255,255,255,0.6)}\n.footer-sep{color:rgba(255,255,255,0.18);font-size:10px}\n.footer-copyright{\n  font-family:var(--sans);font-size:10px;\n  color:rgba(255,255,255,0.18);line-height:1.6;\n}\n\n/* Mobile */\n@media(max-width:1024px){\n  .footer-form-row{grid-template-columns:1fr 1fr;}\n  .footer-main{grid-template-columns:1fr 1fr;padding:4rem 3rem;}\n  .footer-col-brand{grid-column:1/-1;}\n  .footer-form-strip{padding:4rem 3rem;}\n}\n@media(max-width:640px){\n  .footer-form-row{grid-template-columns:1fr;}\n  .footer-main{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2.5rem;}\n  .footer-form-strip{padding:3rem 1.5rem;}\n  .footer-legal{padding:1.2rem 1.5rem;}\n  .footer-form-submit-row{flex-direction:column;align-items:flex-start;}\n  .footer-form-btn{width:100%;justify-content:center;}\n}\n\n\n\n\n\n/* ── Footer SEO text — hidden from visitors, present for Google ── */\n.footer-seo-hidden{\n  position:absolute !important;\n  width:1px !important;\n  height:1px !important;\n  overflow:hidden !important;\n  clip:rect(0,0,0,0) !important;\n  white-space:nowrap !important;\n  pointer-events:none !important;\n  visibility:hidden !important;\n  opacity:0 !important;\n  display:block !important;\n  font-size:0 !important;\n  line-height:0 !important;\n}\n/* ── Footer brand statement — visible, premium ── */\n.footer-brand-statement{\n  font-family:var(--serif);\n  font-style:italic;\n  font-weight:300;\n  font-size:clamp(14px,1.3vw,17px);\n  line-height:1.7;\n  color:rgba(255,255,255,0.45);\n  margin-bottom:1.8rem;\n}\n\n\n\n\n \n \n \n\n\n\n.back-to-top{\n  position:fixed;\n  bottom:2rem;\n  left:2rem;\n  width:44px;height:44px;\n  border:0.5px solid rgba(201,168,76,0.35);\n  display:flex;align-items:center;justify-content:center;\n  color:rgba(255,255,255,0.5);\n  background:rgba(12,11,10,0.85);\n  backdrop-filter:blur(8px);\n  text-decoration:none;\n  z-index:998;\n  opacity:0;\n  transform:translateY(8px);\n  transition:opacity 0.3s ease,transform 0.3s ease,\n             border-color 0.3s ease,color 0.3s ease;\n  pointer-events:none;\n}\n.back-to-top.visible{\n  opacity:1;\n  transform:translateY(0);\n  pointer-events:auto;\n}\n.back-to-top:hover{\n  border-color:rgba(201,168,76,0.7);\n  color:var(--gold-l);\n}\n.back-to-top svg{\n  width:16px;height:16px;\n}\n@media(max-width:768px){\n  .back-to-top{\n    bottom:5.5rem;\n    left:1rem;\n    width:40px;height:40px;\n  }\n}\n\n\n\n\n\n\n/* ── Compact contact ── */\n.footer-contact-compact{\n  display:flex;flex-direction:column;gap:0.55rem;\n  margin-bottom:1rem;\n}\n.footer-contact-row{\n  font-family:var(--sans);font-size:11px;font-weight:300;\n  color:rgba(255,255,255,0.42);line-height:1.5;\n  display:flex;align-items:baseline;gap:0.5rem;\n  flex-wrap:wrap;\n}\n.footer-contact-row a{\n  color:rgba(255,255,255,0.42);text-decoration:none;\n  transition:color 0.25s;\n}\n.footer-contact-row a:hover{color:rgba(255,255,255,0.8)}\n.fcc-lbl{font-size:10px;flex-shrink:0;opacity:0.6}\n.fcc-sep{opacity:0.35;margin:0 2px}\n\n/* ── App icon buttons ── */\n.footer-apps-row{\n  display:flex;gap:0.8rem;\n  flex-direction:row !important;\n}\n.footer-app-icon-btn{\n  display:flex;align-items:center;justify-content:center;\n  width:40px;height:40px;\n  border:0.5px solid rgba(255,255,255,0.15);\n  color:rgba(255,255,255,0.5);\n  text-decoration:none;\n  transition:border-color 0.3s,color 0.3s;\n}\n.footer-app-icon-btn:hover{\n  border-color:rgba(201,168,76,0.5);\n  color:var(--gold-l);\n}\n.footer-app-icon-btn svg{width:20px;height:20px}\n\n\n\n.footer-threshold{\n  width:100%;height:1px;\n  background:linear-gradient(90deg,\n    transparent,rgba(201,168,76,0.4) 50%,transparent);\n}\n\n\n</html\n.seo-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;pointer-events:none}\n.footer-form-btn-txt{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase}\n.footer-social-wa{display:inline-flex;align-items:center;gap:0.5rem;font-family:'Jost',sans-serif;font-size:11px;font-weight:300;color:rgba(255,255,255,0.5);transition:color 0.2s}\n.footer-social-wa:hover{color:#25D366}\n\n/* Pin toggle */\n.pin-toggle{\n  font-family:var(--sans);font-size:10px;font-weight:400;\n  letter-spacing:.12em;text-transform:uppercase;\n  color:rgba(201,168,76,.6);background:none;border:none;\n  cursor:pointer;padding:0;margin-bottom:1rem;\n  display:block;transition:color .2s;\n}\n.pin-toggle:hover{color:var(--gold);}\n#pinGrid[style*=\"display: grid\"]{display:grid!important;}\n\n/* ══ GARMENT CARE SYMBOLS — floating background ══ */\n.garment-bg{\n  position:absolute;inset:0;\n  pointer-events:none;overflow:hidden;\n  z-index:0;\n  opacity:.06; /* very subtle on light bg */\n}\n@media(prefers-color-scheme:dark){.garment-bg{opacity:.04}}\n\n.garment-symbol{\n  position:absolute;\n  font-size:clamp(20px,3vw,36px);\n  color:var(--pink);\n  animation:garmentFloat var(--gd,20s) ease-in-out infinite var(--gdelay,0s);\n  user-select:none;\n  line-height:1;\n}\n@keyframes garmentFloat{\n  0%   {transform:translateY(0) rotate(0deg);   opacity:0}\n  5%   {opacity:1}\n  45%  {transform:translateY(-18px) rotate(3deg);opacity:1}\n  55%  {transform:translateY(-18px) rotate(-3deg);opacity:1}\n  95%  {opacity:.8}\n  100% {transform:translateY(0) rotate(0deg);   opacity:0}\n}\n\n/* Sections that get the garment background */\n.how-section,.speed-section,.cov-section,.free-section,\n.app-section,.faq-section,.other-ways{position:relative;overflow:hidden}\n\n/* ── SECTION TEXT — explicit contrast on light bg ── */\n.how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:var(--txt)}\n.how-title{color:var(--txt);font-size:clamp(18px,2vw,24px)}\n.how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n.speed-time{color:var(--pink)}\n.speed-name{color:var(--txt)}\n.eyebrow-m{color:var(--pink);opacity:1}\n.pin-num{color:var(--pink)}\n.pin-area{color:var(--txt2)}\n.thresh-val{color:var(--pink)}\n.thresh-lbl{color:var(--txt3)}\n.thresh-or{color:var(--txt3)}\n.ow-hl{color:var(--txt)}\n.ow-name{color:var(--txt)}\n.ow-detail{color:var(--txt3)}\n.ow-hours{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.15)}\n.ow-hours strong{color:var(--pink)}\n.app-feat{color:var(--txt2)}\n/* pin tag on cream */\n.pin-tag{background:rgba(26,25,24,.04);border-color:rgba(26,25,24,.1)}\n.pin-tag:hover{border-color:rgba(192,65,90,.25);background:rgba(192,65,90,.03)}\n/* speed card on cream */\n.speed-card{background:#fff;border-color:rgba(26,25,24,.1)}\n.speed-card:hover{background:rgba(192,65,90,.03);border-color:rgba(192,65,90,.2)}\n.speed-card.popular{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.3)}\n.speed-icon{background:rgba(192,65,90,.06);border-color:rgba(192,65,90,.15);color:var(--pink)}\n.speed-note{border-color:rgba(26,25,24,.08);color:var(--txt3)}\n/* thresh items on cream */\n.thresh-item{background:#fff;border-color:rgba(201,168,76,.2)}\n/* faq on cream */\n.faq-item,.faq-item:first-of-type{border-color:rgba(26,25,24,.1)}\n.faq-q{color:var(--txt)}\n.faq-icon{color:var(--txt3)}\n/* how step */\n.how-num{background:var(--pink)}\n/* app btn on cream */\n.app-btn{background:#fff;color:var(--txt);border-color:rgba(26,25,24,.12)}\n.app-btn:hover{background:#f0ece4}\n.app-feat svg{color:var(--pink)}\n/* ow methods on cream */\n.ow-method{border-color:rgba(26,25,24,.08)}\n.ow-icon{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.1)}\n.ow-icon svg{color:var(--pink)}\n.ow-method:hover .ow-name{color:var(--pink)}\n.ow-arrow{color:rgba(26,25,24,.2)}\n/* other-ways section */\n.other-ways{border-color:rgba(26,25,24,.08)}\n/* how grid connector line */\n.how-grid::before{background:linear-gradient(90deg,transparent,rgba(192,65,90,.15) 20%,rgba(192,65,90,.15) 80%,transparent)}\n\n/* DARK MODE overrides */\n@media(prefers-color-scheme:dark){\n  .how-section,.cov-section,.app-section{background:var(--bg2)!important}\n  .speed-section,.free-section,.faq-section,.other-ways{background:var(--bg)!important}\n  .how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:#fff}\n  .how-title,.speed-name,.ow-hl,.ow-name,.faq-q{color:var(--txt,var(--ink,var(--dark2,#1a1918)))}\n  .how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n  .eyebrow-m{color:rgba(201,168,76,.75)}\n  .pin-num{color:var(--gold)}\n  .pin-area{color:var(--txt3)}\n  .pin-tag{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}\n  .speed-card{background:var(--surf);border-color:var(--surf-b)}\n  .speed-card.popular{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.35)}\n  .speed-icon{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.15);color:var(--gold)}\n  .speed-time{color:var(--gold)}\n  .thresh-item{background:var(--surf);border-color:rgba(201,168,76,.15)}\n  .thresh-val{color:var(--gold)}\n  .faq-item,.faq-item:first-of-type{border-color:var(--surf-b)}\n  .faq-icon{color:var(--txt3)}\n  .app-btn{background:var(--surf);color:#fff;border-color:var(--surf-b)}\n  .app-btn:hover{background:rgba(255,255,255,.09)}\n  .app-feat svg{color:var(--pink)}\n  .ow-method{border-color:var(--surf-b)}\n  .ow-icon{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.15)}\n  .ow-icon svg{color:var(--gold)}\n  .ow-hours{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.12)}\n  .ow-hours strong{color:rgba(201,168,76,.7)}\n  .other-ways{border-color:var(--surf-b)}\n  .how-grid::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 20%,rgba(255,255,255,.1) 80%,transparent)}\n}\n\n/* ══ GARMENT CARE SYMBOLS — floating background ══ */\n.garment-bg{\n  position:absolute;inset:0;\n  pointer-events:none;overflow:hidden;\n  z-index:0;\n  opacity:.06; /* very subtle on light bg */\n}\n@media(prefers-color-scheme:dark){.garment-bg{opacity:.04}}\n\n.garment-symbol{\n  position:absolute;\n  font-size:clamp(20px,3vw,36px);\n  color:var(--pink);\n  animation:garmentFloat var(--gd,20s) ease-in-out infinite var(--gdelay,0s);\n  user-select:none;\n  line-height:1;\n}\n@keyframes garmentFloat{\n  0%   {transform:translateY(0) rotate(0deg);   opacity:0}\n  5%   {opacity:1}\n  45%  {transform:translateY(-18px) rotate(3deg);opacity:1}\n  55%  {transform:translateY(-18px) rotate(-3deg);opacity:1}\n  95%  {opacity:.8}\n  100% {transform:translateY(0) rotate(0deg);   opacity:0}\n}\n\n/* Sections that get the garment background */\n.how-section,.speed-section,.cov-section,.free-section,\n.app-section,.faq-section,.other-ways{position:relative;overflow:hidden}\n\n/* ── SECTION TEXT — explicit contrast on light bg ── */\n.how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:var(--txt)}\n.how-title{color:var(--txt);font-size:clamp(18px,2vw,24px)}\n.how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n.speed-time{color:var(--pink)}\n.speed-name{color:var(--txt)}\n.eyebrow-m{color:var(--pink);opacity:1}\n.pin-num{color:var(--pink)}\n.pin-area{color:var(--txt2)}\n.thresh-val{color:var(--pink)}\n.thresh-lbl{color:var(--txt3)}\n.thresh-or{color:var(--txt3)}\n.ow-hl{color:var(--txt)}\n.ow-name{color:var(--txt)}\n.ow-detail{color:var(--txt3)}\n.ow-hours{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.15)}\n.ow-hours strong{color:var(--pink)}\n.app-feat{color:var(--txt2)}\n/* pin tag on cream */\n.pin-tag{background:rgba(26,25,24,.04);border-color:rgba(26,25,24,.1)}\n.pin-tag:hover{border-color:rgba(192,65,90,.25);background:rgba(192,65,90,.03)}\n/* speed card on cream */\n.speed-card{background:#fff;border-color:rgba(26,25,24,.1)}\n.speed-card:hover{background:rgba(192,65,90,.03);border-color:rgba(192,65,90,.2)}\n.speed-card.popular{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.3)}\n.speed-icon{background:rgba(192,65,90,.06);border-color:rgba(192,65,90,.15);color:var(--pink)}\n.speed-note{border-color:rgba(26,25,24,.08);color:var(--txt3)}\n/* thresh items on cream */\n.thresh-item{background:#fff;border-color:rgba(201,168,76,.2)}\n/* faq on cream */\n.faq-item,.faq-item:first-of-type{border-color:rgba(26,25,24,.1)}\n.faq-q{color:var(--txt)}\n.faq-icon{color:var(--txt3)}\n/* how step */\n.how-num{background:var(--pink)}\n/* app btn on cream */\n.app-btn{background:#fff;color:var(--txt);border-color:rgba(26,25,24,.12)}\n.app-btn:hover{background:#f0ece4}\n.app-feat svg{color:var(--pink)}\n/* ow methods on cream */\n.ow-method{border-color:rgba(26,25,24,.08)}\n.ow-icon{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.1)}\n.ow-icon svg{color:var(--pink)}\n.ow-method:hover .ow-name{color:var(--pink)}\n.ow-arrow{color:rgba(26,25,24,.2)}\n/* other-ways section */\n.other-ways{border-color:rgba(26,25,24,.08)}\n/* how grid connector line */\n.how-grid::before{background:linear-gradient(90deg,transparent,rgba(192,65,90,.15) 20%,rgba(192,65,90,.15) 80%,transparent)}\n\n/* DARK MODE overrides */\n@media(prefers-color-scheme:dark){\n  .how-section,.cov-section,.app-section{background:var(--bg2)!important}\n  .speed-section,.free-section,.faq-section,.other-ways{background:var(--bg)!important}\n  .how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:#fff}\n  .how-title,.speed-name,.ow-hl,.ow-name,.faq-q{color:var(--txt,var(--ink,var(--dark2,#1a1918)))}\n  .how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n  .eyebrow-m{color:rgba(201,168,76,.75)}\n  .pin-num{color:var(--gold)}\n  .pin-area{color:var(--txt3)}\n  .pin-tag{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}\n  .speed-card{background:var(--surf);border-color:var(--surf-b)}\n  .speed-card.popular{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.35)}\n  .speed-icon{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.15);color:var(--gold)}\n  .speed-time{color:var(--gold)}\n  .thresh-item{background:var(--surf);border-color:rgba(201,168,76,.15)}\n  .thresh-val{color:var(--gold)}\n  .faq-item,.faq-item:first-of-type{border-color:var(--surf-b)}\n  .faq-icon{color:var(--txt3)}\n  .app-btn{background:var(--surf);color:#fff;border-color:var(--surf-b)}\n  .app-btn:hover{background:rgba(255,255,255,.09)}\n  .app-feat svg{color:var(--pink)}\n  .ow-method{border-color:var(--surf-b)}\n  .ow-icon{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.15)}\n  .ow-icon svg{color:var(--gold)}\n  .ow-hours{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.12)}\n  .ow-hours strong{color:rgba(201,168,76,.7)}\n  .other-ways{border-color:var(--surf-b)}\n  .how-grid::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 20%,rgba(255,255,255,.1) 80%,transparent)}\n}\n\n/* ── Hero is always dark regardless of system setting ── */\nsection#book-form,section#book-form *{--bg:#1a1918}\nsection#book-form{background:#1a1918!important}\nsection#book-form .f-brand-tag{color:var(--gold)!important}\nsection#book-form .f-title{color:#fff!important}\nsection#book-form .f-badge{color:rgba(255,255,255,.4)!important}\nsection#book-form .f-q{color:#fff!important}\nsection#book-form .f-q em{color:var(--gold)!important}\nsection#book-form .f-step-txt{color:rgba(255,255,255,.35)!important}\nsection#book-form .f-step-txt strong{color:#fff!important}\nsection#book-form .f-dot{background:rgba(255,255,255,.2)!important}\nsection#book-form .f-dot.cur{background:var(--gold)!important}\nsection#book-form .f-dot.done{background:var(--pink)!important}\nsection#book-form .f-box{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.12)!important}\nsection#book-form .f-in{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}\nsection#book-form .f-in::placeholder{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-lbl{color:rgba(255,255,255,.4)!important}\nsection#book-form .f-pfx{color:rgba(255,255,255,.35)!important}\nsection#book-form .f-hint{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-hint kbd{color:rgba(255,255,255,.35)!important;background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.15)!important}\nsection#book-form .f-bar-row{border-color:rgba(255,255,255,.1)!important}\nsection#book-form .f-sub{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-sub a{color:rgba(201,168,76,.5)!important}\nsection#book-form .f-back{color:rgba(255,255,255,.3)!important}\nsection#book-form .profile-card{background:rgba(201,168,76,.08)!important;border-color:rgba(201,168,76,.2)!important}\nsection#book-form .profile-name{color:#fff!important}\nsection#book-form .profile-detail{color:rgba(255,255,255,.45)!important}\nsection#book-form .edit-btn{color:rgba(201,168,76,.55)!important}\nsection#book-form .choice-card{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important}\nsection#book-form .choice-card:hover,section#book-form .choice-card.on{background:rgba(201,168,76,.1)!important;border-color:rgba(201,168,76,.4)!important}\nsection#book-form .choice-name{color:#fff!important}\nsection#book-form .choice-sub{color:rgba(255,255,255,.4)!important}\nsection#book-form .tnc-wrap{background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.08)!important}\nsection#book-form .tnc-hd{color:rgba(255,255,255,.4)!important}\nsection#book-form .tnc-body{border-color:rgba(255,255,255,.06)!important}\nsection#book-form .tnc-item{color:rgba(255,255,255,.45)!important}\nsection#book-form .agree-txt{color:rgba(255,255,255,.4)!important}\nsection#book-form .agree-box{border-color:rgba(255,255,255,.2)!important}\nsection#book-form .captcha-row{background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.08)!important}\nsection#book-form .cap-check{border-color:rgba(255,255,255,.2)!important}\nsection#book-form .cap-lbl{color:rgba(255,255,255,.45)!important}\nsection#book-form .cap-logo{color:rgba(255,255,255,.2)!important}\nsection#book-form .otp-d{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}\nsection#book-form .otp-hint{color:rgba(255,255,255,.4)!important}\nsection#book-form .otp-resend{color:rgba(201,168,76,.55)!important}\nsection#book-form .otp-timer{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-err{color:var(--pink)!important}\nsection#book-form .f-alert{color:var(--pink)!important;background:rgba(192,65,90,.08)!important;border-color:rgba(192,65,90,.2)!important}\nsection#book-form .f-confirm-note{color:rgba(255,255,255,.2)!important}\n\n.faq-a{color:var(--txt2,#3d3a36);line-height:2}\n\nbody{color:#1a1918}\n@media(prefers-color-scheme:dark){body{color:#fff}}\n\n\n\n.tsl-crumbs{max-width:1200px;margin:0 auto;padding:14px 8vw 0;position:relative;z-index:5}\n.tsl-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;font-family:var(--sans,'Jost',sans-serif);font-size:11px;letter-spacing:.06em}\n.tsl-crumbs li{display:flex;align-items:center;gap:6px;color:inherit;opacity:.55}\n.tsl-crumbs li:not(:last-child)::after{content:'›';opacity:.6}\n.tsl-crumbs a{color:inherit;text-decoration:none;transition:opacity .2s}\n.tsl-crumbs a:hover{opacity:1;text-decoration:underline}\n.tsl-crumbs li:last-child{opacity:.85}\n@media(max-width:600px){.tsl-crumbs{padding:12px 6vw 0}}\n\n\n\n/* breadcrumb contrast */\n.tsl-crumbs a,.tsl-crumbs li{color:rgba(255,255,255,.75)!important}\n.tsl-crumbs a:hover{color:var(--gold,#C9A84C)!important}\n.tsl-crumbs li[aria-current=\"page\"]{color:rgba(255,255,255,.95)!important}\n[data-theme=\"light\"] .tsl-crumbs a,\n[data-theme=\"light\"] .tsl-crumbs li,\n.s-cream .tsl-crumbs a,\n.s-cream .tsl-crumbs li{\n  color:rgba(26,25,24,.75)!important;\n}\n[data-theme=\"light\"] .tsl-crumbs a:hover,\n.s-cream .tsl-crumbs a:hover{color:var(--pink,#C0415A)!important}\n@media (prefers-color-scheme: light){\n  /* crumbs sit on cream body above dark heroes */\n  body > .tsl-crumbs a,\n  body > .tsl-crumbs li,\n  main > .tsl-crumbs a,\n  .scroll-bar + .tsl-crumbs a,\n  .scroll-bar + .tsl-crumbs li,\n  #introScreen + .tsl-crumbs a,\n  div > .tsl-crumbs a,\n  div > .tsl-crumbs li{\n    color:rgba(26,25,24,.75)!important;\n  }\n}\n\n/* ═══ Force dark-default shell ═══ */\n:root{\n  --off:#1a1918 !important;\n  --pink-pale:#1a1918 !important;\n}\nbody{\n  background:var(--bg,var(--off,#1a1918))!important;\n  color:var(--txt,#fff)!important;\n}\n/* When a page hardcodes cream body vars, keep body dark unless OS wants light */\n@media (prefers-color-scheme: light){\n  :root{\n    --off:#FAFAF8 !important;\n    --pink-pale:#fdf0f2 !important;\n  }\n  body{\n    background:var(--cream,var(--off,#F5F0E8))!important;\n    color:var(--dark2,var(--ink,#1a1918))!important;\n  }\n}\n\n\n\n\n\n\n\n\n\n/* ═══ Universal dark-default content readability v3 ═══ */\n.faq-a{color:rgba(255,255,255,.78)!important}\n.faq-q{color:rgba(255,255,255,.92)!important}\n.faq-item.open .faq-q,.faq-q:hover{color:var(--gold,#C9A84C)!important}\n\n.hub-faq,.hub-faq-inner{background:#1a1918!important;color:#fff!important}\n.hub-faq-h2{color:#fff!important}\n.hub-faq-h2 em{color:var(--gold,#C9A84C)!important}\n.hub-faq-ey{color:var(--gold,#C9A84C)!important}\n\n/* cream hub sections */\n.hub-grid-sec.cream .hub-sec-h2{color:var(--ink,#1a1918)!important}\n.hub-grid-sec.cream .hub-sec-h2 em{color:var(--gold,#C9A84C)!important}\n.hub-grid-sec.cream .hub-sec-sub{color:rgba(26,25,24,.65)!important}\n.hub-grid-sec.cream .hub-sec-ey{color:var(--gold,#C9A84C)!important}\n/* dark/off hub sections */\n.hub-grid-sec.off .hub-sec-h2,.hub-grid-sec.off .hub-sec-h2,\n.off .hub-sec-h2{color:#fff!important}\n.hub-grid-sec.off .hub-sec-h2 em{color:var(--gold,#C9A84C)!important}\n.hub-grid-sec.off .hub-sec-sub,.off .hub-sec-sub{color:rgba(255,255,255,.65)!important}\n.hub-grid-sec.off .hub-sec-ey{color:var(--gold,#C9A84C)!important}\n\n/* Cream FAQ bands */\n.aeo-faq .faq-q,.bsc-faq .faq-q,.dcm-faq .faq-q,.dpc-faq .faq-q,.g-faq .faq-q,\n.sp-faq .faq-q,.sscg-faq .faq-q,.wcg-faq .faq-q,.wcs-faq .faq-q,\n.guide-faq .faq-q,.csr-faq .faq-q,.ex-faq .faq-q{\n  color:rgba(26,25,24,.92)!important;\n}\n.aeo-faq .faq-a,.bsc-faq .faq-a,.dcm-faq .faq-a,.dpc-faq .faq-a,.g-faq .faq-a,\n.sp-faq .faq-a,.sscg-faq .faq-a,.wcg-faq .faq-a,.wcs-faq .faq-a,\n.guide-faq .faq-a,.csr-faq .faq-a,.ex-faq .faq-a{\n  color:rgba(26,25,24,.7)!important;\n}\n.aeo-faq .faq-item.open .faq-q,.aeo-faq .faq-q:hover,\n.bsc-faq .faq-item.open .faq-q,.bsc-faq .faq-q:hover,\n.g-faq .faq-item.open .faq-q,.g-faq .faq-q:hover,\n.dcm-faq .faq-item.open .faq-q,.dpc-faq .faq-item.open .faq-q,\n.sp-faq .faq-item.open .faq-q,.sscg-faq .faq-item.open .faq-q,\n.wcg-faq .faq-item.open .faq-q,.wcs-faq .faq-item.open .faq-q,\n.guide-faq .faq-item.open .faq-q,.csr-faq .faq-item.open .faq-q,\n.ex-faq .faq-item.open .faq-q{color:var(--gold,#C9A84C)!important}\n\n/* Dark FAQ shells */\n.dvw-faq .faq-q,.lk-faq .faq-q,.to-faq .faq-q,.hub-faq .faq-q{color:rgba(255,255,255,.92)!important}\n.dvw-faq .faq-a,.lk-faq .faq-a,.to-faq .faq-a,.hub-faq .faq-a{color:rgba(255,255,255,.78)!important}\n.dvw-faq .faq-item.open .faq-q,.lk-faq .faq-item.open .faq-q,.to-faq .faq-item.open .faq-q,\n.hub-faq .faq-item.open .faq-q,.hub-faq .faq-q:hover{color:var(--gold,#C9A84C)!important}\n\n/* AEO */\n.aeo-h2,.aeo-h3,.aeo-title{color:#fff!important}\n.aeo-p,.aeo-lead,.aeo-li,.aeo-body,.aeo-text{color:rgba(255,255,255,.78)!important}\n.aeo-section td,.aeo-section th,.aeo-body td,.aeo-body th,\n.care-cell,.yes-cell,.exp-cell,.warn-cell{\n  color:rgba(255,255,255,.8)!important;border-color:rgba(255,255,255,.12)!important;\n}\n\n/* Guide cards on dark */\n.guide-card,.gc-card{\n  background:rgba(255,255,255,.05)!important;\n  border-color:rgba(255,255,255,.12)!important;\n  color:rgba(255,255,255,.85)!important;\n}\n.gc-title,.gc-tag,.gc-meta,.gc-desc{color:rgba(255,255,255,.8)!important}\n.gc-title{color:#fff!important}\n.gc-tag{color:var(--gold,#C9A84C)!important}\n\n/* Guides index grid */\n.gd-grid{background:transparent!important;border-color:rgba(255,255,255,.1)!important}\n.gd-grid a,.gd-grid a:visited{\n  background:rgba(255,255,255,.05)!important;\n  color:rgba(255,255,255,.85)!important;\n}\n.gd-grid a:hover{background:rgba(255,255,255,.08)!important}\n.gd-grid .t{color:#fff!important}\n.gd-grid .d{color:rgba(255,255,255,.6)!important}\n.gd-label{color:var(--gold,#C9A84C)!important}\n\n/* Callouts + inline links on dark */\n.box-title,.garment-fabric,.sym-pro,.lw-method-note,.lw-fab-note,\n.garment-note-text{color:rgba(255,255,255,.85)!important}\n.box-title a,.sym-pro a,.garment-note-text a,.warn-box a,.fact-box a,\n.clause-body a,.aeo-p a,.aeo-li a{\n  color:var(--gold,#C9A84C)!important;\n}\n\n/* Site map */\n.sm-grid a,.sm-grid a:visited{color:rgba(255,255,255,.85)!important}\n.sm-grid a:hover{color:var(--gold,#C9A84C)!important}\n.sm-sec h2,.sm-hero h1{color:#fff!important}\n.sm-sec .note,.sm-sub,.sm-sec h2 .cnt{color:rgba(255,255,255,.55)!important}\n\n.to-section-h2,.lk-h2{color:#fff!important}\n\n\n/* cream hub guide cards = dark text on light cards */\n.hub-grid-sec.cream .guide-card,\n.cream .guide-card{\n  background:#fff!important;\n  border-color:rgba(26,25,24,.08)!important;\n  color:rgba(26,25,24,.85)!important;\n}\n.hub-grid-sec.cream .gc-title,\n.cream .gc-title{color:#1a1918!important}\n.hub-grid-sec.cream .gc-desc,\n.cream .gc-desc{color:rgba(26,25,24,.55)!important}\n.hub-grid-sec.cream .gc-tag,\n.cream .gc-tag{color:var(--gold,#C9A84C)!important}\n.hub-grid-sec.cream .gc-meta,\n.cream .gc-meta{color:rgba(26,25,24,.45)!important}\n/* off/dark hub guide cards stay light-on-dark */\n.hub-grid-sec.off .guide-card,\n.off .guide-card{\n  background:rgba(255,255,255,.05)!important;\n  color:rgba(255,255,255,.85)!important;\n}\n.hub-grid-sec.off .gc-title,.off .gc-title{color:#fff!important}\n.hub-grid-sec.off .gc-desc,.off .gc-desc{color:rgba(255,255,255,.7)!important}\n/* pink CTA links on dark — brighten */\n.pro-trigger-text a,.sym-pro a,.garment-note-text a{\n  color:#E8A0AD!important;\n  text-decoration:underline;\n}\n",
  "scriptJs": "function acceptCookies(){\n  try {\n    localStorage.setItem('tsl_cookies','accepted');\n    document.querySelectorAll('.cookie-bar').forEach(function(bar){ bar.classList.remove('show'); bar.style.display='none'; });\n  } catch(e){}\n}\nwindow.addEventListener('DOMContentLoaded', function(){\n  try {\n    if(!localStorage.getItem('tsl_cookies')){\n      setTimeout(function(){\n        var bar = document.getElementById('cookieBar')\n        if(bar) bar.classList.add('show')\n      }, 2000)\n    }\n  } catch(e){}\n})\n;\nwindow.addEventListener('load', function(){\n  setTimeout(function(){\n    var pl = document.getElementById('preloader')\n    if(pl) pl.classList.add('hidden')\n  }, 1200)\n})\n;\n\nwindow.addEventListener('scroll',function(){var b=document.getElementById('scrollBar');if(b)b.style.width=(window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100)+'%';},{passive:true});\n/* nav theme: Header.tsx + data-theme */\nif(window.Lenis){var lenis=new window.Lenis({duration:1.2,smoothWheel:true});(function raf(t){lenis.raf(t);requestAnimationFrame(raf)})(0)}\n;(function(){var els=document.querySelectorAll('[data-reveal]');if(!els.length)return;var obs=new IntersectionObserver(function(evts){evts.forEach(function(e){if(!e.isIntersecting)return;e.target.style.opacity='1';e.target.style.transform='translateY(0)';obs.unobserve(e.target);});},{threshold:0.15});requestAnimationFrame(function(){els.forEach(function(el){el.style.opacity='0';el.style.transform='translateY(16px)';el.style.transition='opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)';obs.observe(el);});});})();\ndocument.querySelectorAll('.faq-item').forEach(function(item){item.querySelector('.faq-q').addEventListener('click',function(){var open=item.classList.contains('open');document.querySelectorAll('.faq-item').forEach(function(i){i.classList.remove('open');});if(!open)item.classList.add('open');});});\n\n;\n(function(){\n'use strict';\nwindow.addEventListener('scroll',function(){var b=document.getElementById('scrollBar');if(!b)return;b.style.width=(window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100)+'%';},{passive:true});\nvar n=document.getElementById('nav');if(n){n.classList.remove('on-dark');n.classList.add('on-light');}\nif(window.Lenis){var L=new window.Lenis({duration:1.2,smoothWheel:true});(function r(t){L.raf(t);requestAnimationFrame(r);})(0);}\n(function(){var obs=new IntersectionObserver(function(e){e.forEach(function(en){if(en.isIntersecting){en.target.classList.add('in');obs.unobserve(en.target);}});},{threshold:0.06});document.querySelectorAll('[data-reveal]').forEach(function(el){obs.observe(el);});})();\ndocument.querySelectorAll('.faq-q').forEach(function(btn){btn.addEventListener('click',function(){var item=btn.closest('.faq-item'),was=item.classList.contains('open');document.querySelectorAll('.faq-item').forEach(function(i){i.classList.remove('open');i.querySelector('.faq-q').setAttribute('aria-expanded','false');});if(!was){item.classList.add('open');btn.setAttribute('aria-expanded','true');}});});\n(function(){})();\nif(window.matchMedia('(hover:hover) and (pointer:fine)').matches){var dot=document.createElement('div');dot.className='cur-d';var ring=document.createElement('div');ring.className='cur-r';document.body.appendChild(dot);document.body.appendChild(ring);var mx=0,my=0,rx=0,ry=0;document.addEventListener('mousemove',function(e){mx=e.clientX;my=e.clientY;dot.style.left=mx+'px';dot.style.top=my+'px';},{passive:true});(function lerp(){rx+=(mx-rx)*.1;ry+=(my-ry)*.1;ring.style.left=rx+'px';ring.style.top=ry+'px';requestAnimationFrame(lerp);})();document.addEventListener('mouseover',function(e){document.body.classList.toggle('cur-hl',!!e.target.closest('a,button,[role=\"button\"]'));},{passive:true});document.addEventListener('mouseleave',function(){document.body.classList.add('cur-hd');},{passive:true});document.addEventListener('mouseenter',function(){document.body.classList.remove('cur-hd');},{passive:true});}\n(function(){var el=document.getElementById('introEl');if(!el)return;if(sessionStorage.getItem('tsl_s')){el.style.display='none';return;}setTimeout(function(){el.classList.add('hidden');setTimeout(function(){el.style.display='none';sessionStorage.setItem('tsl_s','1');},700);},1600);})();\n(function(){var ov=document.createElement('div');ov.className='pg-ov';document.body.appendChild(ov);document.addEventListener('click',function(e){var a=e.target.closest('a');if(!a||!a.href||a.target==='_blank')return;if(a.href.startsWith('tel:')||a.href.startsWith('mailto:')||a.href.startsWith('https://wa.me'))return;if(a.href.includes('#')||e.metaKey||e.ctrlKey)return;try{if(new URL(a.href).host!==location.host)return;}catch(err){return;}e.preventDefault();ov.classList.add('visible');setTimeout(function(){location.href=a.href;},320);});ov.classList.add('visible');requestAnimationFrame(function(){requestAnimationFrame(function(){ov.classList.remove('visible');});});});})();\n;\n\n/* ── Global features JS ── */\n(function(){\n  /* Seasonal banner */\n  var banner=document.getElementById('seasonalBanner');\n  var bannerClose=document.getElementById('bannerClose');\n  if(banner && bannerClose){\n    var dismissed=sessionStorage.getItem('bannerDismissed');\n    if(dismissed) banner.classList.add('hidden');\n    bannerClose.addEventListener('click',function(){\n      banner.classList.add('hidden');\n      sessionStorage.setItem('bannerDismissed','1');\n    });\n  }\n\n  /* Sticky booking pill — show after 5s, hide when near footer */\n  var pill=document.getElementById('bookPill');\n  if(pill){\n    var pillTimer=setTimeout(function(){\n      pill.classList.remove('hidden');\n    },5000);\n    /* Hide pill when footer is visible */\n    var footer=document.querySelector('footer');\n    if(footer){\n      var pillObs=new IntersectionObserver(function(entries){\n        entries.forEach(function(e){\n          pill.classList.toggle('hidden',e.isIntersecting);\n        });\n      },{threshold:0.1});\n      pillObs.observe(footer);\n    }\n  }\n\n  /* Dark/light theme toggle */\n  var toggle=document.getElementById('themeToggle');\n  if(toggle){\n    var stored=localStorage.getItem('theme');\n    if(stored) document.documentElement.setAttribute('data-theme',stored);\n    toggle.addEventListener('click',function(){\n      var current=document.documentElement.getAttribute('data-theme');\n      var next=current==='light'?'dark':'light';\n      document.documentElement.setAttribute('data-theme',next);\n      localStorage.setItem('theme',next);\n    });\n  }\n\n  /* Reading progress bar */\n  var prog=document.getElementById('readProgress');\n  if(prog){\n    window.addEventListener('scroll',function(){\n      var h=document.documentElement;\n      var pct=(h.scrollTop||document.body.scrollTop)/(h.scrollHeight-h.clientHeight)*100;\n      prog.style.width=Math.min(100,pct)+'%';\n    },{passive:true});\n  }\n\n  /* Was this helpful */\n  document.querySelectorAll('.helpful-btn').forEach(function(btn){\n    btn.addEventListener('click',function(){\n      var block=btn.closest('.helpful-block');\n      var thanks=block && block.querySelector('.helpful-thanks');\n      if(thanks){thanks.classList.add('show');}\n      if(btn.dataset.helpful==='no'){\n        var wa=document.createElement('a');\n        wa.href='https://wa.me/919836233354?text=I+had+a+question+about+your+guide';\n        wa.target='_blank';wa.rel='noopener';\n        wa.style.cssText='font-family:var(--sans);font-size:11px;color:#25D366;margin-left:.5rem';\n        wa.textContent='Chat with us →';\n        if(thanks) thanks.appendChild(wa);\n      }\n      document.querySelectorAll('.helpful-btn').forEach(function(b){b.classList.remove('active')});\n      btn.classList.add('active');\n    });\n  });\n\n})();\n\n\n",
  "bodyHtml": "<div id=\"introEl\" role=\"status\" aria-label=\"Loading\"><span class=\"intro-m\" aria-hidden=\"true\">TSL</span><div class=\"intro-l\" aria-hidden=\"true\"></div><span class=\"intro-w\" aria-hidden=\"true\">The Swiss Laundry</span></div>\n<a href=\"#main\" class=\"skip-link\">Skip to main content</a>\n<div class=\"seasonal-banner\" id=\"seasonalBanner\" role=\"banner\" aria-label=\"Free pickup offer\">\n  🧺 Want a home pickup? Complimentary pickup on invoices above ₹1,000.\n  <a href=\"/pickup\">Book Now →</a>\n  <button class=\"banner-close\" id=\"bannerClose\" aria-label=\"Close banner\">✕</button>\n</div><div class=\"scroll-bar\" id=\"scrollBar\" aria-hidden=\"true\"></div>\n<nav class=\"tsl-crumbs\" aria-label=\"Breadcrumb\"><ol><li><a href=\"/\">Home</a></li><li aria-current=\"page\">Does Dry Cleaning Remove Smell</li></ol></nav>\n\n\n\n<main id=\"main\"><section class=\"aeo-hero\"><p class=\"aeo-eyebrow\" data-reveal=\"\">Odour Removal · Dry Cleaning · The Swiss Laundry</p>\n<h1 class=\"aeo-h1\" data-reveal=\"\">Does dry cleaning <em>remove smell?</em></h1>\n<p class=\"aeo-lead\" data-reveal=\"\">Yes — dry cleaning is one of the most effective methods for removing embedded odour from garments. Here is exactly how it works, what smells it removes, and when a garment needs specialist treatment beyond standard dry cleaning.</p>\n<div class=\"btn-row\" data-reveal=\"\"><a href=\"/dry-cleaning\" class=\"btn btn-g\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" width=\"11\" height=\"11\"><path d=\"M5 12h14M12 5l7 7-7 7\"></path></svg> Book Dry Cleaning</a><a href=\"https://wa.me/919836233354?text=Hi+I+need+to+remove+smell+from+a+garment\" class=\"btn btn-ol-ink\" target=\"_blank\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"11\" height=\"11\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51a9.9 9.9 0 00-.57-.01c-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"></path><path d=\"M12 2C6.477 2 2 6.477 2 12c0 1.99.574 3.842 1.565 5.404L2 22l4.596-1.565A9.96 9.96 0 0012 22c5.523 0 10-4.477 10-10S17.523 2 12 2z\"></path></svg> Ask on WhatsApp</a></div></section><section class=\"answer-sec\" id=\"answer\"><div class=\"answer-inner\" data-reveal=\"\"><div class=\"answer-box\"><span class=\"answer-label\">Direct answer</span><p class=\"answer-text\">Yes. Dry cleaning <em>effectively removes most embedded odours.</em> The solvent dissolves the oil and protein residues that carry smell. Steam pressing removes surface-level odour. For persistent smells, targeted pre-treatment is applied.</p><span class=\"answer-source\">The Swiss Laundry · Kasba, Kolkata · Est. 2013</span></div><p class=\"answer-note\"><strong>Why dry cleaning removes odour better than washing:</strong> Most fabric odours come from oils — skin oil, sweat, cooking fat, smoke residue. These oils bind to fabric fibres and carry odour compounds. Water-based washing emulsifies oils but does not fully dissolve them from fine fibres. Dry cleaning solvents dissolve these oils completely, removing the odour carrier along with the smell.</p></div></section>\n<section class=\"aeo-body\"><div class=\"aeo-body-inner\"><div class=\"aeo-sec\" data-reveal=\"\"><h2 class=\"aeo-h2\">What smells dry cleaning <em>removes effectively</em></h2>\n<p class=\"aeo-p\"><strong>Sweat and body odour:</strong> The most common request. Sweat odour comes from protein compounds and fatty acids deposited in the fabric from perspiration. The dry cleaning solvent dissolves these effectively. Stored garments with accumulated sweat odour — suits, formal shirts, occasion wear — emerge from dry cleaning fresh.</p>\n<p class=\"aeo-p\"><strong>Musty storage smell:</strong> The second most common request. Musty odour comes from volatile compounds produced by mould and bacteria that have grown in stored fabric. Dry cleaning removes the volatile compounds and the biological residue responsible for producing them. For active mould growth, specialist pre-treatment is applied.</p>\n<p class=\"aeo-p\"><strong>Mothball smell:</strong> Naphthalene or paradichlorobenzene (the active compounds in mothballs) are volatile organic compounds that penetrate fabric fibres over months of storage. Dry cleaning solvents dissolve these effectively. The post-cycle drying phase, which circulates warm air through the fabric, helps remove the volatile compounds.</p>\n<p class=\"aeo-p\"><strong>Smoke smell:</strong> Cigarette, incense or campfire smoke deposits particulate and volatile compounds on fabric surfaces. Dry cleaning removes the particulate and dissolves the oil-soluble compounds. Multiple cleaning cycles may be needed for heavy smoke impregnation.</p>\n<p class=\"aeo-p\"><strong>Stale perfume:</strong> Perfume residue that has become stale — particularly on silk scarves and sarees where perfume was applied directly — is effectively removed in the dry cleaning cycle. Perfume molecules are oil-soluble and dissolve well in dry cleaning solvents.</p>\n<div class=\"fact-box\"><strong>Kolkata-specific odour issue:</strong> Garments stored through Kolkata’s 8-month non-wearing season (February to October) often arrive at The Swiss Laundry with a combination of sweat residue, storage mustiness and mothball smell from cedar or naphthalene placed in wardrobes. This combination is entirely addressable through a standard dry cleaning cycle with appropriate pre-treatment — it is one of the most common requests at the start of the Kolkata winter season in November.</div>\n</div><div class=\"aeo-sec\" data-reveal=\"\"><h2 class=\"aeo-h2\">What dry cleaning <em>cannot fully remove</em></h2>\n<p class=\"aeo-p\">Some odours are resistant to standard dry cleaning — usually because the compound responsible has chemically bonded with the fabric fibre rather than simply being adsorbed onto its surface.</p>\n<p class=\"aeo-p\"><strong>Very old, heat-set sweat odour:</strong> Sweat that has been repeatedly ironed into a fabric — or dried at high heat repeatedly — undergoes a chemical change that bonds the protein compounds to the fibre. Standard dry cleaning removes surface odour but may not fully address deeply heat-set sweat. Specialist enzymatic pre-treatment before the cycle can help.</p>\n<p class=\"aeo-p\"><strong>Active mould with deep penetration:</strong> Mildew odour from mould that has penetrated into the fibre structure — not just the surface — requires specialist treatment. Standard dry cleaning removes surface and near-surface mould. If a garment has been stored in damp conditions for months, the mould penetration may require ozone treatment or specialist wet-clean process.</p>\n<p class=\"aeo-p\"><strong>Chemical contamination:</strong> Paint, strong industrial chemicals and certain medical or laboratory chemical exposures may require specialist treatment beyond standard dry cleaning. Always inform the dry cleaner of the odour source — treatment differs significantly by chemical type.</p>\n<div class=\"related-strip\">\n  <a href=\"/our-process\" class=\"rel-link\"><span class=\"rel-tag\">AEO guide</span><span class=\"rel-title\">How does the dry cleaning process work?</span></a>\n  <a href=\"/monsoon-clothes-care\" class=\"rel-link\"><span class=\"rel-tag\">Seasonal guide</span><span class=\"rel-title\">Monsoon clothes care — preventing mould and musty smell.</span></a>\n  <a href=\"/winter-clothes-storage\" class=\"rel-link\"><span class=\"rel-tag\">Storage guide</span><span class=\"rel-title\">Winter clothes storage — preventing storage odour.</span></a>\n</div></div></div></section>\n<section class=\"aeo-faq\"><div class=\"aeo-faq-inner\">\n  <p class=\"aeo-ey\">Common questions</p>\n  <h2 class=\"aeo-faq-h2\" data-reveal=\"\">Questions.<br><em>Answered.</em></h2>\n  <div class=\"faq-item open\"><button class=\"faq-q\" aria-expanded=\"true\">Does dry cleaning remove smell from clothes?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"16\" height=\"16\" class=\"faq-ico\"><path d=\"M12 5v14M5 12h14\"></path></svg></button><p class=\"faq-a\">Yes. Dry cleaning effectively removes sweat odour, musty storage smell, mothball smell, smoke, stale perfume and food odours. The solvent dissolves the oil and protein residues that carry smell. Steam pressing removes surface-level odour.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Does dry cleaning remove mothball smell?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"16\" height=\"16\" class=\"faq-ico\"><path d=\"M12 5v14M5 12h14\"></path></svg></button><p class=\"faq-a\">Yes — naphthalene and paradichlorobenzene (mothball compounds) dissolve well in dry cleaning solvents. The warm-air drying cycle also helps remove volatile compounds. Standard dry cleaning is effective for most mothball smell.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Does dry cleaning remove sweat smell from suits?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"16\" height=\"16\" class=\"faq-ico\"><path d=\"M12 5v14M5 12h14\"></path></svg></button><p class=\"faq-a\">Yes. Sweat odour in suits is one of the most common requests. The solvent dissolves the protein and fatty acid compounds from perspiration that are responsible for the smell. This is precisely why suits should be dry cleaned every 3–4 wears rather than stored with accumulated sweat residue.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Does dry cleaning remove musty smell from stored clothes?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"16\" height=\"16\" class=\"faq-ico\"><path d=\"M12 5v14M5 12h14\"></path></svg></button><p class=\"faq-a\">Yes — standard dry cleaning effectively removes most musty storage smell. For active mould that has deeply penetrated the fibres, specialist pre-treatment may be needed. Always inform the dry cleaner that the garment has been in long storage.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">How do I get rid of the smell on dry-cleaned clothes?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"16\" height=\"16\" class=\"faq-ico\"><path d=\"M12 5v14M5 12h14\"></path></svg></button><p class=\"faq-a\">The faint solvent smell on freshly dry-cleaned clothes is normal and dissipates within a few hours of airing. Hang the garment in a ventilated space for 2–4 hours before wearing. If the smell persists strongly, the garment was not dried sufficiently — a quality issue to flag with the dry cleaner.</p></div></div></section>\n<section class=\"aeo-cta\"><div class=\"aeo-cta-inner\">\n  <div class=\"aeo-cta-rule\" aria-hidden=\"true\"></div>\n  <h2 class=\"aeo-cta-h2\">Dry cleaning<br><em>in Kolkata.</em></h2><p class=\"aeo-cta-sub\">Odour removal and professional dry cleaning since 2013. Doorstep pickup across 30+ areas.</p>\n  <div class=\"aeo-cta-btns btn-row\">\n    <a href=\"/dry-cleaning\" class=\"btn btn-dk\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" width=\"11\" height=\"11\"><path d=\"M5 12h14M12 5l7 7-7 7\"></path></svg> Our Services</a>\n    <a href=\"https://wa.me/919836233354?text=Hi+I+need+to+remove+smell+from+a+garment\" class=\"btn btn-dk\" target=\"_blank\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"11\" height=\"11\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51a9.9 9.9 0 00-.57-.01c-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z\"></path><path d=\"M12 2C6.477 2 2 6.477 2 12c0 1.99.574 3.842 1.565 5.404L2 22l4.596-1.565A9.96 9.96 0 0012 22c5.523 0 10-4.477 10-10S17.523 2 12 2z\"></path></svg> WhatsApp Us</a>\n    <a href=\"tel:9836233354\" class=\"btn btn-dk\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" width=\"11\" height=\"11\"><path d=\"M5 12h14M12 5l7 7-7 7\"></path></svg> 9836233354</a>\n  </div></div></section>\n</main>\n<a href=\"https://wa.me/919836233354?text=Hi+I+need+to+remove+smell+from+a+garment\" class=\"wa-float\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Chat on WhatsApp\"><svg viewBox=\"0 0 48 48\" width=\"56\" height=\"56\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#25D366\"></circle><path fill=\"#fff\" d=\"M24 10.4C16.5 10.4 10.4 16.5 10.4 24c0 2.4.65 4.7 1.78 6.67L10.4 37.6l7.18-1.75A13.53 13.53 0 0024 37.6c7.5 0 13.6-6.1 13.6-13.6S31.5 10.4 24 10.4z\"></path><path fill=\"#25D366\" d=\"M19.9 17.1c-.38-.86-.78-.88-1.14-.9-.3-.01-.63-.01-.97-.01-.34 0-.88.13-1.34.63-.46.5-1.76 1.72-1.76 4.2s1.8 4.87 2.05 5.21c.25.34 3.51 5.6 8.64 7.63 4.27 1.69 5.14 1.35 6.07 1.27.93-.08 3-.23 3.83-2.12.84-1.88.84-3.5.59-3.83-.25-.34-.59-.51-1.23-.85s-3.81-1.88-4.4-2.09c-.59-.21-1.02-.32-1.44.32-.43.63-1.65 2.09-2.02 2.52-.38.43-.75.48-1.4.16-.64-.32-2.71-1-5.16-3.18-1.91-1.7-3.2-3.8-3.57-4.44-.38-.64-.04-.98.28-1.3.29-.28.64-.73.96-1.1.32-.36.43-.63.64-1.05.21-.42.1-.8-.05-1.12l-.98-2.3z\"></path></svg></a><!-- Sticky booking pill — mobile only, hidden on /pickup -->\n<a href=\"/pickup\" class=\"book-pill\" id=\"bookPill\" aria-label=\"Book a pickup\">\n  <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"></path></svg>\n  Book Pickup · 2 min\n</a>\n\n\n\n\n\n\n\n\n\n<script src=\"https://cdn.jsdelivr.net/npm/@studio-freight/lenis@1.0.42/dist/lenis.min.js\"></script>"
}
