{
  "title": "Laundry Service in Kolkata | The Swiss Laundry",
  "description": "Professional laundry service and dry cleaning in Kolkata with doorstep pickup and delivery. Serving Salt Lake, New Town, Ballygunge, Alipore, Behala.",
  "keywords": "",
  "robots": "index,follow,max-snippet:-1,max-image-preview:large",
  "canonical": "https://www.theswisslaundry.com/laundry-service-kolkata",
  "hreflangs": [
    {
      "hreflang": "en-IN",
      "href": "https://www.theswisslaundry.com/laundry-service-kolkata"
    }
  ],
  "og": {
    "type": "website",
    "title": "Laundry Service in Kolkata — Dry Cleaning & Pickup | The Swiss Laundry",
    "description": "Professional laundry and dry cleaning in Kolkata. Doorstep pickup across 30+ areas. Est. 2013 · 4.5★ · 200+ reviews. Call 9836233354.",
    "url": "https://www.theswisslaundry.com/laundry-service-kolkata",
    "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": "LocalBusiness",
        "name": "The Swiss Laundry",
        "description": "Professional laundry service and dry cleaning in Kolkata with doorstep pickup and delivery. Serving Salt Lake, New Town, Ballygunge, Alipore, Behala, Tollygunge, Gariahat, Park Street and 30+ areas across Kolkata.",
        "telephone": "+919836233354",
        "url": "https://www.theswisslaundry.com",
        "openingHours": "Mo-Sa 10:00-17:00",
        "priceRange": "₹₹",
        "foundingDate": "2013-10-07",
        "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"
        },
        "areaServed": [
          {
            "@type": "Place",
            "name": "Salt Lake, Kolkata"
          },
          {
            "@type": "Place",
            "name": "New Town, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Ballygunge, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Alipore, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Behala, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Tollygunge, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Gariahat, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Park Street, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Jadavpur, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Kasba, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Garia, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Deshapriya Park, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Southern Avenue, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Lake Town, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Dum Dum, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Jodhpur Park, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Regent Park, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Naktala, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Rashbehari, Kolkata"
          },
          {
            "@type": "Place",
            "name": "E.M. Bypass, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Phool Bagan, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Topsia, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Bidhannagar, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Airport Area, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Bansdroni, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Santoshpur, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Survey Park, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Nayabad, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Baruipur, Kolkata"
          },
          {
            "@type": "Place",
            "name": "Tangra, Kolkata"
          }
        ],
        "hasOfferCatalog": {
          "@type": "OfferCatalog",
          "name": "Laundry and Dry Cleaning Services",
          "itemListElement": [
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Dry Cleaning Kolkata"
              }
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Laundry Service Kolkata"
              }
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Carpet Cleaning Kolkata"
              }
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Doorstep Pickup and Delivery Kolkata"
              }
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Bridal Garment Care Kolkata"
              }
            },
            {
              "@type": "Offer",
              "itemOffered": {
                "@type": "Service",
                "name": "Steam Ironing Kolkata"
              }
            }
          ]
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://www.theswisslaundry.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Laundry Service Kolkata",
            "item": "https://www.theswisslaundry.com/laundry-service-kolkata"
          }
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": [
          {
            "@type": "Question",
            "name": "Where is The Swiss Laundry located in Kolkata?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "The Swiss Laundry facility is at P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East), Kolkata 700107. We have been at this address since 2019. Open Monday to Saturday, 10AM to 6:30PM."
            }
          },
          {
            "@type": "Question",
            "name": "Which areas in Kolkata does The Swiss Laundry cover for pickup and delivery?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "The Swiss Laundry provides doorstep pickup and delivery across 30+ areas in Kolkata including Salt Lake, New Town, Ballygunge, Alipore, Behala, Tollygunge, Gariahat, Park Street, Jadavpur, Kasba, Garia, Lake Town, Dum Dum, Rashbehari, Deshapriya Park, Southern Avenue, Jodhpur Park and many more. Pickup is available on invoices above ₹1,000."
            }
          },
          {
            "@type": "Question",
            "name": "How do I book a laundry pickup in Kolkata?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Call 9836233354, WhatsApp us at +91 98362 33354, or use The Swiss Laundry app. Tell us your address and a convenient pickup time. A team member will collect your garments from your door and return them cleaned and pressed within the agreed turnaround."
            }
          },
          {
            "@type": "Question",
            "name": "What laundry and dry cleaning services does The Swiss Laundry offer in Kolkata?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "The Swiss Laundry offers dry cleaning, professional laundry, steam ironing, carpet and home textile cleaning, bridal garment care, and express services. Doorstep pickup and delivery available across 30+ areas in Kolkata on invoices above ₹1,000."
            }
          },
          {
            "@type": "Question",
            "name": "How long has The Swiss Laundry been operating in Kolkata?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "The Swiss Laundry was founded in Kolkata in October 2013 — more than a decade of service. The facility has been at Kasba Industrial Estate, E.M. Bypass since 2019. We have a 4.5-star rating from over 200 Google reviews."
            }
          }
        ]
      }
    ]
  ],
  "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\n*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n*{-webkit-tap-highlight-color:transparent}\n:root{\n  --dark:#0c0b0a;--ink:#1a1918;--gold:#C9A84C;--gold-l:#E2C97E;\n  --gold-b:rgba(201,168,76,.25);--gold-a:rgba(201,168,76,.09);\n  --cream:#F5F0E8;--off:#FAFAF8;--white:#ffffff;\n  --muted:rgba(26,25,24,.48);--pink:#C0415A;\n  --s:'Cormorant Garamond',Georgia,serif;\n  --ss:'Jost','Helvetica Neue',Arial,sans-serif;\n  --ease:cubic-bezier(.16,1,.3,1);\n  --sh:0 2px 8px rgba(26,25,24,.06),0 8px 28px rgba(26,25,24,.09);\n  --sh2:0 4px 16px rgba(26,25,24,.07),0 20px 56px rgba(26,25,24,.11);\n}\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;\n  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\");\n  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-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.btn-row{display:flex;gap:.6rem;flex-wrap:wrap}\n/* ── hero ── */\n.lk-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.lk-hero::before{content:'';position:absolute;inset:0;pointer-events:none;\n  background:radial-gradient(ellipse 70% 50% at 90% 20%,rgba(201,168,76,.06) 0%,transparent 60%),\n  radial-gradient(circle,rgba(201,168,76,.04) 1px,transparent 1px);\n  background-size:100% 100%,32px 32px}\n.lk-bg-word{position:absolute;bottom:-0.1em;right:2vw;font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(120px,18vw,260px);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.lk-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.lk-eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.lk-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:1.8rem;position:relative;z-index:2;max-width:860px}\n.lk-h1 em{font-style:normal;color:var(--gold)}\n.lk-lead{font-size:clamp(14px,1.4vw,17px);font-weight:300;color:rgba(245,240,232,.6);line-height:1.85;max-width:560px;margin-bottom:2.5rem;position:relative;z-index:2}\n.lk-hero-btns{position:relative;z-index:2}\n.lk-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.lk-stat{padding:1.4rem 0;border-right:1px solid rgba(201,168,76,.1)}\n.lk-stat:last-child{border-right:none}\n.lk-stat-n{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(20px,3vw,38px);color:var(--gold);display:block;line-height:1;letter-spacing:-.02em}\n.lk-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/* ── services section ── */\n.lk-services{background:var(--cream);padding:7rem 8vw}\n.lk-sec-inner{max-width:1100px;margin:0 auto}\n.lk-eyebrow-sm{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.lk-eyebrow-sm::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.lk-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.lk-h2 em{font-style:normal;color:var(--gold)}\n.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(26,25,24,.08);margin-bottom:2rem}\n.svc-card{background:var(--white);padding:2rem 1.8rem;transition:background .2s;text-decoration:none;display:block}\n.svc-card:hover{background:var(--off)}\n.svc-icon{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(32px,4vw,48px);color:rgba(201,168,76,.2);display:block;line-height:1;margin-bottom:.5rem;letter-spacing:-.03em}\n.svc-name{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(18px,2vw,24px);color:var(--ink);display:block;margin-bottom:.3rem}\n.svc-tag{font-family:var(--ss);font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.6rem}\n.svc-desc{font-family:var(--ss);font-size:12px;font-weight:300;color:var(--muted);line-height:1.75}\n.svc-desc strong{color:var(--ink);font-weight:400}\n.pricing-note{background:var(--dark);padding:1.8rem 2rem;border-left:4px solid var(--gold);margin-top:2rem}\n.pricing-note-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.6rem}\n.pricing-note-text{font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.8;color:rgba(245,240,232,.7)}\n.pricing-note-text strong{color:var(--cream);font-weight:400}\n.pricing-note-text a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.3)}\n/* ── how it works ── */\n.lk-how{background:var(--off);padding:7rem 8vw}\n.lk-how-inner{max-width:1100px;margin:0 auto}\n.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(26,25,24,.08);margin-top:2rem}\n.step-card{background:var(--white);padding:2rem 1.6rem;position:relative}\n.step-num{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(52px,7vw,80px);color:rgba(201,168,76,.12);display:block;line-height:1;margin-bottom:.4rem;letter-spacing:-.04em}\n.step-title{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(16px,1.9vw,22px);color:var(--ink);display:block;margin-bottom:.5rem}\n.step-desc{font-family:var(--ss);font-size:12px;font-weight:300;color:var(--muted);line-height:1.75}\n.step-desc strong{color:var(--ink);font-weight:400}\n/* ── areas section ── */\n.lk-areas{background:var(--dark);padding:7rem 8vw}\n.lk-areas-inner{max-width:1100px;margin:0 auto}\n.lk-areas-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.2rem}\n.lk-areas-eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.lk-areas-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(28px,4vw,52px);color:var(--cream);line-height:1.05;margin-bottom:.8rem;letter-spacing:-.02em}\n.lk-areas-h2 em{font-style:normal;color:var(--gold)}\n.lk-areas-sub{font-family:var(--ss);font-size:13px;font-weight:300;color:rgba(245,240,232,.5);line-height:1.8;max-width:600px;margin-bottom:2.5rem}\n.areas-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(201,168,76,.1)}\n.area-cell{background:rgba(12,11,10,.6);padding:1rem 1.2rem;transition:background .2s}\n.area-cell:hover{background:rgba(201,168,76,.08)}\n.area-name{font-family:var(--ss);font-size:11px;font-weight:300;color:rgba(245,240,232,.6);letter-spacing:.04em;display:block}\n.area-note{font-family:var(--ss);font-size:9px;font-weight:300;color:rgba(245,240,232,.3);letter-spacing:.06em;text-transform:uppercase;display:block;margin-top:.2rem}\n.areas-note{margin-top:2rem;font-family:var(--ss);font-size:13px;font-weight:300;color:rgba(245,240,232,.45);line-height:1.8}\n.areas-note a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.3)}\n/* ── trust section ── */\n.lk-trust{background:var(--cream);padding:7rem 8vw}\n.lk-trust-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}\n.trust-text{}\n.trust-text p{font-family:var(--ss);font-size:14px;font-weight:300;line-height:1.95;color:var(--muted);margin-bottom:1rem}\n.trust-text p:last-of-type{margin-bottom:1.8rem}\n.trust-text strong{color:var(--ink);font-weight:400}\n.trust-text a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.3)}\n.trust-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(26,25,24,.08)}\n.trust-stat{background:var(--white);padding:2rem 1.6rem}\n.trust-stat-n{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(32px,4vw,52px);color:var(--gold);display:block;line-height:1;letter-spacing:-.03em;margin-bottom:.3rem}\n.trust-stat-l{font-family:var(--ss);font-size:10px;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}\n/* ── contact strip ── */\n.lk-contact{background:var(--ink);padding:4rem 8vw}\n.lk-contact-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;align-items:center}\n.contact-item{}\n.contact-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(245,240,232,.35);display:block;margin-bottom:.4rem}\n.contact-value{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(16px,2vw,24px);color:var(--cream);display:block;text-decoration:none;transition:color .2s}\n.contact-value:hover{color:var(--gold)}\n.contact-sub{font-family:var(--ss);font-size:11px;font-weight:300;color:rgba(245,240,232,.35);display:block;margin-top:.2rem}\n/* ── faq ── */\n.lk-faq{background:var(--off);padding:7rem 8vw}\n.lk-faq-inner{max-width:860px;margin:0 auto}\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/* ── cta ── */\n.lk-cta{background:var(--gold);padding:8rem 8vw;text-align:center;position:relative;overflow:hidden}\n.lk-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.lk-cta-inner{position:relative;z-index:1;max-width:680px;margin:0 auto}\n.lk-cta-rule{width:36px;height:2px;background:var(--ink);opacity:.2;margin:0 auto 2rem}\n.lk-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.lk-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.lk-cta-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}\n/* wa/cursor/intro */\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){\n  .svc-grid{grid-template-columns:1fr 1fr}\n  .steps-grid{grid-template-columns:1fr 1fr}\n  .areas-grid{grid-template-columns:repeat(3,1fr)}\n  .lk-trust-inner{grid-template-columns:1fr}\n  .lk-contact-inner{grid-template-columns:1fr}\n  .trust-stats{grid-template-columns:1fr 1fr}\n}\n@media(max-width:640px){\n  .lk-hero,.lk-services,.lk-how,.lk-areas,.lk-trust,.lk-contact,.lk-faq,.lk-cta{padding-left:6vw;padding-right:6vw}\n  .lk-hero{padding-top:0;min-height:85svh}\n  .lk-strip{grid-template-columns:1fr 1fr}\n  .lk-stat:nth-child(3),.lk-stat:nth-child(4){border-top:1px solid rgba(201,168,76,.1)}\n  .lk-stat:nth-child(even){border-right:none}\n  .svc-grid{grid-template-columns:1fr}\n  .steps-grid{grid-template-columns:1fr}\n  .areas-grid{grid-template-columns:1fr 1fr}\n}\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});\n/* nav theme: Header.tsx + data-theme */\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\n;\n(function(){var f=new Date(\"2013-10-07\");var n=new Date();var y=n.getFullYear()-f.getFullYear();if(n<new Date(n.getFullYear(),9,7))y--;document.querySelectorAll(\".tsl-age\").forEach(function(el){el.textContent=y;});})();",
  "bodyHtml": "<div id=\"introEl\" role=\"status\" aria-label=\"Loading\">\n  <span class=\"intro-m\" aria-hidden=\"true\">TSL</span>\n  <div class=\"intro-l\" aria-hidden=\"true\"></div>\n  <span class=\"intro-w\" aria-hidden=\"true\">The Swiss Laundry</span>\n</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>\n<div class=\"scroll-bar\" id=\"scrollBar\" aria-hidden=\"true\"></div>\n\n<nav class=\"tsl-crumbs\" aria-label=\"Breadcrumb\"><ol><li><a href=\"/\">Home</a></li><li aria-current=\"page\">Laundry Service Kolkata</li></ol></nav>\n\n\n\n<main id=\"main\">\n\n<!-- HERO -->\n<section class=\"lk-hero f-hero\" aria-label=\"Laundry service in Kolkata\">\n  <span class=\"lk-bg-word\" aria-hidden=\"true\">Kolkata</span>\n  <p class=\"lk-eyebrow\" data-reveal=\"\">Laundry &amp; Dry Cleaning · Kolkata · Est. 2013</p>\n  <h1 class=\"lk-h1\" data-reveal=\"\">Laundry service<br>in <em>Kolkata.</em></h1>\n  <p class=\"lk-lead\" data-reveal=\"\">Professional dry cleaning, laundry and garment care with doorstep pickup and delivery across 30+ areas in Kolkata. The Swiss Laundry — Kasba Industrial Estate — since October 2013.</p>\n  <div class=\"lk-hero-btns btn-row\" data-reveal=\"\">\n    <a href=\"https://wa.me/919836233354?text=Hi+I+need+laundry+service+in+Kolkata\" class=\"btn btn-g\" 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> Book on WhatsApp</a>\n    <a href=\"tel:9836233354\" class=\"btn btn-ol\"><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> Call 9836233354</a>\n    <a href=\"/pickup\" class=\"btn btn-ol\"><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 Pickup Online</a>\n  </div>\n  <div class=\"lk-strip\">\n    <div class=\"lk-stat\"><span class=\"lk-stat-n\">30+</span><span class=\"lk-stat-l\">Areas with pickup in Kolkata</span></div>\n    <div class=\"lk-stat\"><span class=\"lk-stat-n\">4.5★</span><span class=\"lk-stat-l\">200+ Google reviews</span></div>\n    <div class=\"lk-stat\"><span class=\"lk-stat-n\">13 yrs</span><span class=\"lk-stat-l\">Est. October 2013</span></div>\n    <div class=\"lk-stat\"><span class=\"lk-stat-n\">Mon–Sat</span><span class=\"lk-stat-l\">10AM – 6:30PM</span></div>\n  </div>\n</section>\n\n<!-- SERVICES -->\n<section class=\"lk-services\" aria-labelledby=\"svcH2\">\n  <div class=\"lk-sec-inner\">\n    <p class=\"lk-eyebrow-sm\" data-reveal=\"\">What we do</p>\n    <h2 class=\"lk-h2\" id=\"svcH2\" data-reveal=\"\">All garment care<br><em>under one roof.</em></h2>\n    <div class=\"svc-grid\" data-reveal=\"\">\n      <a href=\"/dry-cleaning\" class=\"svc-card\">\n        <span class=\"svc-icon\">01</span>\n        <span class=\"svc-name\">Dry Cleaning</span>\n        <span class=\"svc-tag\">Silk, wool, occasion wear, suits</span>\n        <p class=\"svc-desc\">Professional solvent cleaning for garments that cannot be washed. <strong>Silk sarees, Banarasi, Kanjivaram, wool suits, sherwanis, embroidered lehengas, velvet, pashmina.</strong> Individual stain pre-treatment. Pressing and return.</p>\n      </a>\n      <a href=\"/laundry\" class=\"svc-card\">\n        <span class=\"svc-icon\">02</span>\n        <span class=\"svc-name\">Laundry</span>\n        <span class=\"svc-tag\">Everyday garments, bed linen, cotton</span>\n        <p class=\"svc-desc\">Professional washing for cotton shirts, kurtas, jeans, bed linen, towels, children’s clothes and synthetic garments. <strong>Sorted by fabric, washed at the correct temperature, steam pressed and returned ready to wear.</strong></p>\n      </a>\n      <a href=\"/carpet-home-care\" class=\"svc-card\">\n        <span class=\"svc-icon\">03</span>\n        <span class=\"svc-name\">Carpet &amp; Home Care</span>\n        <span class=\"svc-tag\">Carpets, sofas, curtains</span>\n        <p class=\"svc-desc\">Hot water extraction cleaning for carpets, sofa upholstery and curtains. <strong>In-home service available.</strong> Removes deep-set dust, stains and odour from household textiles.</p>\n      </a>\n      <a href=\"/bridal-care\" class=\"svc-card\">\n        <span class=\"svc-icon\">04</span>\n        <span class=\"svc-name\">Bridal Care</span>\n        <span class=\"svc-tag\">Wedding outfits, lehengas, sherwanis</span>\n        <p class=\"svc-desc\">Pre-wedding preparation and post-wedding cleaning for all bridal garments. <strong>Lehengas, sherwanis, silk sarees, dupattas and accessories.</strong> Long-term storage preparation available.</p>\n      </a>\n      <a href=\"/what-is-steam-pressing\" class=\"svc-card\">\n        <span class=\"svc-icon\">05</span>\n        <span class=\"svc-name\">Steam Ironing</span>\n        <span class=\"svc-tag\">Press only, no cleaning</span>\n        <p class=\"svc-desc\">Professional steam pressing for garments that need pressing without full cleaning. <strong>Shirts, kurtas, suits, sarees.</strong> Boiler steam at the correct temperature for each fabric type.</p>\n      </a>\n      <a href=\"/express-services\" class=\"svc-card\">\n        <span class=\"svc-icon\">06</span>\n        <span class=\"svc-name\">Express Service</span>\n        <span class=\"svc-tag\">Same day and next day</span>\n        <p class=\"svc-desc\">Same-day and next-day turnaround for urgent garments. <strong>Available for most garment types — call 9836233354 to confirm availability</strong> before dropping off or booking a pickup.</p>\n      </a>\n    </div>\n    <div class=\"pricing-note\">\n      <span class=\"pricing-note-label\">About pricing</span>\n      <p class=\"pricing-note-text\">Pricing at The Swiss Laundry is based on garment type, fabric and service required — not a flat rate. <strong>A detailed price list is available on our <a href=\"/price-list\">pricing page</a>.</strong> For a specific quote before booking, call <a href=\"tel:9836233354\">9836233354</a> or WhatsApp us — we will give you a clear figure before anything is collected.</p>\n    </div>\n  </div>\n</section>\n\n<!-- HOW IT WORKS -->\n<section class=\"lk-how\" aria-labelledby=\"howH2\">\n  <div class=\"lk-how-inner\">\n    <p class=\"lk-eyebrow-sm\" data-reveal=\"\">Doorstep pickup</p>\n    <h2 class=\"lk-h2\" id=\"howH2\" data-reveal=\"\">How the pickup<br><em>service works.</em></h2>\n    <div class=\"steps-grid\" data-reveal=\"\">\n      <div class=\"step-card\">\n        <span class=\"step-num\">1</span>\n        <span class=\"step-title\">Book your pickup</span>\n        <p class=\"step-desc\">Call <strong>9836233354</strong>, WhatsApp, or use the app. Tell us your area, address and a convenient time. We confirm the slot — usually same day or next morning.</p>\n      </div>\n      <div class=\"step-card\">\n        <span class=\"step-num\">2</span>\n        <span class=\"step-title\">We collect from your door</span>\n        <p class=\"step-desc\">A team member arrives at your address, collects the garments, bags and tags each item, and provides a receipt. <strong>You do not need to travel to Kasba.</strong></p>\n      </div>\n      <div class=\"step-card\">\n        <span class=\"step-num\">3</span>\n        <span class=\"step-title\">Cleaned at the facility</span>\n        <p class=\"step-desc\">All garments are processed at our Kasba facility — sorted, pre-treated, cleaned at the correct method for each fabric, and steam pressed individually. Standard turnaround is <strong>48 hours.</strong></p>\n      </div>\n      <div class=\"step-card\">\n        <span class=\"step-num\">4</span>\n        <span class=\"step-title\">Returned to your door</span>\n        <p class=\"step-desc\">Clean, pressed garments are delivered back to your address — hung on hangers or folded and wrapped as appropriate. <strong>Track your order on the app.</strong></p>\n      </div>\n    </div>\n  </div>\n</section>\n\n<!-- AREAS -->\n<section class=\"lk-areas\" aria-labelledby=\"areasH2\" id=\"areas\">\n  <div class=\"lk-areas-inner\">\n    <p class=\"lk-areas-eyebrow\" data-reveal=\"\">Coverage</p>\n    <h2 class=\"lk-areas-h2\" id=\"areasH2\" data-reveal=\"\">Pickup across<br><em>Kolkata.</em></h2>\n    <p class=\"lk-areas-sub\" data-reveal=\"\">Doorstep pickup and delivery is available across 30+ areas in Kolkata on invoices above ₹1,000. If your area is not listed, call or WhatsApp — we may still be able to cover it.</p>\n    <div class=\"areas-grid\" data-reveal=\"\" aria-label=\"Service areas in Kolkata\">\n      <div class=\"area-cell\"><span class=\"area-name\">Salt Lake</span><span class=\"area-note\">Bidhannagar</span></div><div class=\"area-cell\"><span class=\"area-name\">New Town</span><span class=\"area-note\">Rajarhat</span></div><div class=\"area-cell\"><span class=\"area-name\">Ballygunge</span><span class=\"area-note\">South Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Alipore</span><span class=\"area-note\">South Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Behala</span><span class=\"area-note\">South-West</span></div><div class=\"area-cell\"><span class=\"area-name\">Tollygunge</span><span class=\"area-note\">South Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Gariahat</span><span class=\"area-note\">South Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Park Street</span><span class=\"area-note\">Central</span></div><div class=\"area-cell\"><span class=\"area-name\">Jadavpur</span><span class=\"area-note\">South Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Kasba</span><span class=\"area-note\">East Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Garia</span><span class=\"area-note\">South Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Deshapriya Park</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Southern Avenue</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Lake Town</span><span class=\"area-note\">North Kolkata</span></div><div class=\"area-cell\"><span class=\"area-name\">Dum Dum</span><span class=\"area-note\">North</span></div><div class=\"area-cell\"><span class=\"area-name\">Jodhpur Park</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Regent Park</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Naktala</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Rashbehari</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">E.M. Bypass</span><span class=\"area-note\">East</span></div><div class=\"area-cell\"><span class=\"area-name\">Phool Bagan</span><span class=\"area-note\">East</span></div><div class=\"area-cell\"><span class=\"area-name\">Topsia</span><span class=\"area-note\">East</span></div><div class=\"area-cell\"><span class=\"area-name\">Tangra</span><span class=\"area-note\">East</span></div><div class=\"area-cell\"><span class=\"area-name\">Bidhannagar</span><span class=\"area-note\">North</span></div><div class=\"area-cell\"><span class=\"area-name\">Airport Area</span><span class=\"area-note\">North</span></div><div class=\"area-cell\"><span class=\"area-name\">Bansdroni</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Santoshpur</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Survey Park</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Nayabad</span><span class=\"area-note\">South</span></div><div class=\"area-cell\"><span class=\"area-name\">Baruipur</span><span class=\"area-note\">South</span></div>\n    </div>\n    <p class=\"areas-note\" data-reveal=\"\">Not sure if we cover your area? <a href=\"https://wa.me/919836233354?text=Hi+do+you+cover+my+area+in+Kolkata\" target=\"_blank\" rel=\"noopener\">WhatsApp us</a> your address or call <a href=\"tel:9836233354\">9836233354</a> and we will confirm.</p>\n  </div>\n</section>\n\n<!-- TRUST -->\n<section class=\"lk-trust\" aria-labelledby=\"trustH2\">\n  <div class=\"lk-trust-inner\">\n    <div class=\"trust-text\" data-reveal=\"\">\n      <p class=\"lk-eyebrow-sm\" style=\"margin-bottom:1rem\">Est. 2013</p>\n      <h2 class=\"lk-h2\" id=\"trustH2\" style=\"margin-bottom:1.4rem\"><span class=\"tsl-age\">13</span> years of Kolkata’s<br><em>garment care.</em></h2>\n      <p>The Swiss Laundry has operated from Kasba Industrial Estate since 2019 — and in Kolkata since October 2013. The business was built to bring European quality standards to the laundry and dry cleaning sector in Kolkata, where fine silk sarees, Banarasi occasion wear and structured suits deserved better care than was available.</p>\n      <p>Over <span class=\"tsl-age\">13</span> years, the team has handled Kolkata’s Puja wardrobes, its wedding seasons, its monsoon storage requirements and its daily garment care needs. The 4.5-star rating from over 200 reviews is the outcome of that consistency.</p>\n      <p>Every garment is inspected before cleaning. Every stain is pre-treated individually. Every item is steam pressed before it leaves the facility. Doorstep pickup is available across 30+ areas so the quality of care at Kasba is accessible across the city.</p>\n      <div class=\"btn-row\">\n        <a href=\"/our-story\" class=\"btn btn-ol-ink\"><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 Story</a>\n        <a href=\"/reviews\" class=\"btn btn-ol-ink\"><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> Read Reviews</a>\n      </div>\n    </div>\n    <div class=\"trust-stats\" data-reveal=\"\" aria-label=\"At a glance\">\n      <div class=\"trust-stat\"><span class=\"trust-stat-n\">4.5★</span><span class=\"trust-stat-l\">Google Rating</span></div>\n      <div class=\"trust-stat\"><span class=\"trust-stat-n\">200+</span><span class=\"trust-stat-l\">Reviews</span></div>\n      <div class=\"trust-stat\"><span class=\"trust-stat-n\">2013</span><span class=\"trust-stat-l\">Founded in Kolkata</span></div>\n      <div class=\"trust-stat\"><span class=\"trust-stat-n\">30+</span><span class=\"trust-stat-l\">Pickup Areas</span></div>\n    </div>\n  </div>\n</section>\n\n<!-- CONTACT STRIP -->\n<div class=\"lk-contact\" aria-label=\"Contact details\">\n  <div class=\"lk-contact-inner\">\n    <div class=\"contact-item\">\n      <span class=\"contact-label\">Call or WhatsApp</span>\n      <a href=\"tel:9836233354\" class=\"contact-value\">9836233354</a>\n      <span class=\"contact-sub\">Monday to Saturday, 10AM – 6:30PM</span>\n    </div>\n    <div class=\"contact-item\">\n      <span class=\"contact-label\">Facility address</span>\n      <a href=\"/contact\" class=\"contact-value\">P-4 Kasba Industrial Estate</a>\n      <span class=\"contact-sub\">Phase III, E.M. Bypass (East), Kolkata 700107</span>\n    </div>\n    <div class=\"contact-item\">\n      <span class=\"contact-label\">Book online</span>\n      <a href=\"/pickup\" class=\"contact-value\">theswisslaundry.com/pickup</a>\n      <span class=\"contact-sub\">Or use the iOS / Android app</span>\n    </div>\n  </div>\n</div>\n\n<!-- FAQ -->\n<section class=\"lk-faq\" aria-labelledby=\"faqH2\">\n  <div class=\"lk-faq-inner\">\n    <p class=\"lk-eyebrow-sm\" data-reveal=\"\">Questions</p>\n    <h2 class=\"lk-h2\" id=\"faqH2\" data-reveal=\"\">Laundry service<br><em>in Kolkata — FAQ.</em></h2>\n    <div class=\"faq-item open\"><button class=\"faq-q\" aria-expanded=\"true\">Where is The Swiss Laundry located in Kolkata?<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\">P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East), Kolkata 700107. We have been at this address since 2019. Open Monday to Saturday, 10AM to 6:30PM. Tel: 9836233354.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Which areas in Kolkata does The Swiss Laundry cover?<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\">Pickup and delivery covers 30+ areas across Kolkata — Salt Lake, New Town, Ballygunge, Alipore, Behala, Tollygunge, Gariahat, Park Street, Jadavpur, Kasba, Garia, Lake Town, Dum Dum, Rashbehari, Deshapriya Park, Southern Avenue, Jodhpur Park and many more. Call or WhatsApp to confirm your area.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">How do I book a laundry or dry cleaning pickup in Kolkata?<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\">Call 9836233354, WhatsApp us at +91 98362 33354, or use The Swiss Laundry app. Tell us your address and a convenient time. A team member collects from your door and returns your garments cleaned and pressed.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Is there a minimum order for pickup and delivery?<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\">Doorstep pickup and delivery is available on invoices above ₹1,000. For smaller quantities, you can drop off and collect at the Kasba facility directly.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">How long does dry cleaning and laundry take in Kolkata?<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\">Standard turnaround is 48 hours. Express service is available on request for urgent garments. Call 9836233354 to confirm availability for your garment type.</p></div><div class=\"faq-item\"><button class=\"faq-q\" aria-expanded=\"false\">Does The Swiss Laundry handle silk sarees and Banarasi sarees?<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. Silk sarees, Banarasi, Kanjivaram, Jamdani and all occasion wear are part of our core service. We have cleaned Kolkata’s Puja and wedding wardrobes for over <span class=\"tsl-age\">13</span> years.</p></div>\n  </div>\n</section>\n\n<!-- CTA -->\n<section class=\"lk-cta\" aria-labelledby=\"ctaH2\">\n  <div class=\"lk-cta-inner\">\n    <div class=\"lk-cta-rule\" aria-hidden=\"true\"></div>\n    <h2 class=\"lk-cta-h2\" id=\"ctaH2\">Book a pickup<br><em>today.</em></h2>\n    <p class=\"lk-cta-sub\">Doorstep collection across 30+ areas in Kolkata. Cleaned at Kasba. Returned to your door.</p>\n    <div class=\"lk-cta-btns btn-row\">\n      <a href=\"https://wa.me/919836233354?text=Hi+I+need+laundry+service+in+Kolkata\" 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 to Book</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> Call 9836233354</a>\n      <a href=\"/pickup\" 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> Book Online</a>\n    </div>\n  </div>\n</section>\n\n<p class=\"seo-hidden\">Laundry service Kolkata dry cleaning Kolkata dry cleaning pickup Kolkata laundry pickup delivery Kolkata Salt Lake New Town Ballygunge Alipore Behala Tollygunge Gariahat Park Street The Swiss Laundry 9836233354 Kasba</p>\n</main>\n<a href=\"https://wa.me/919836233354?text=Hi+I+need+laundry+service+in+Kolkata\" 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>\n<!-- 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\n\n\n<script src=\"https://cdn.jsdelivr.net/npm/@studio-freight/lenis@1.0.42/dist/lenis.min.js\"></script>"
}
