{
  "title": "Page Not Found | The Swiss Laundry",
  "description": "This page seems to have gone missing. Return to The Swiss Laundry — Kolkata's premier dry cleaning and garment care service since 2013.",
  "keywords": "",
  "robots": "noindex,follow",
  "canonical": "https://www.theswisslaundry.com/404",
  "hreflangs": [
    {
      "hreflang": "en-IN",
      "href": "https://www.theswisslaundry.com/404"
    }
  ],
  "og": {
    "type": "website",
    "title": "Page Not Found | The Swiss Laundry",
    "description": "This page seems to have gone missing. Return to The Swiss Laundry — Kolkata's premier dry cleaning and garment care service.",
    "url": "https://www.theswisslaundry.com/404",
    "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": "Organization",
      "name": "The Swiss Laundry",
      "url": "https://www.theswisslaundry.com",
      "telephone": "+919836233354"
    }
  ],
  "styleCss": "\n/* ═══════════════════════════════════════════\n   NAV\n═══════════════════════════════════════════ */\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 .5s,border-color .5s,box-shadow .5s;border-bottom:.5px solid transparent}\nnav.on-dark{background:rgba(12,11,10,.2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(255,255,255,.07)}\nnav.on-light{background:rgba(245,240,232,.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(0,0,0,.08);box-shadow:0 2px 28px rgba(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:.7rem;flex-shrink:0}\n.btn-track{font-family:var(--ss);font-size:9px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all .3s;white-space:nowrap}.btn-connect{font-family:var(--ss);font-size:9px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all .3s;white-space:nowrap}\nnav.on-dark .btn-track{border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.9)}.btn-connect{border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.9)}\nnav.on-dark .btn-track:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}.btn-connect:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.08)}\nnav.on-light .btn-track{border:1px solid rgba(192,65,90,.5);color:var(--pink)}.btn-connect{border:1px solid rgba(192,65,90,.5);color:var(--pink)}\nnav.on-light .btn-track:hover{border-color:var(--pink);background:rgba(192,65,90,.05)}.btn-connect:hover{border-color:var(--pink);background:rgba(192,65,90,.05)}\n.btn-book{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;padding:10px 22px;background:var(--pink);color:#fff;border:1px solid var(--pink);transition:background .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:.5px solid rgba(0,0,0,.1);box-shadow:0 8px 24px rgba(0,0,0,.08)}\n.mob-menu.open{display:flex}\n.mob-menu a{font-family:var(--ss);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:1rem 2rem;border-bottom:.5px solid rgba(0,0,0,.07);transition:color .2s}\n.mob-menu a:hover{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@media(max-width:768px){\n  nav{padding:0 1.2rem;height:62px}\n  \n  \n  .mob-menu{top:62px}\n  .nav-logo img{height:36px}\n  .btn-track{display:none}.btn-connect{display:none}\n  .btn-book{display:none}\n}\n\n/* ═══════════════════════════════════════════\n   TOKENS & BASE\n═══════════════════════════════════════════ */\n*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}\n:root{\n  --cream:#F5F0E8;\n  --off:#FAFAF8;\n  --white:#ffffff;\n  --ink:#1a1918;\n  --ink2:#0d0c0b;\n  --dark:#0c0b0a;\n  --muted:rgba(26,25,24,.48);\n  --gold:#C9A84C;\n  --gold-l:#E2C97E;\n  --gold-b:rgba(201,168,76,.25);\n  --gold-a:rgba(201,168,76,.12);\n  --pink:#C0415A;\n  --pink2:#a8324a;\n  --s:'Cormorant Garamond',Georgia,'Times New Roman',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}\nhtml{scroll-behavior:smooth}\nbody{font-family:var(--ss);background:var(--cream);color:var(--ink);overflow-x:hidden;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}\n::-webkit-scrollbar{width:0}\n\n/* ── scroll bar ── */\n.scroll-bar{position:fixed;top:0;left:0;right:0;height:2px;background:var(--gold);transform-origin:left;transform:scaleX(0);z-index:500;transition:transform .1s linear}\n\n/* ── skip link ── */\n.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}\n.skip-link:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;padding:8px 16px;background:var(--gold);color:var(--ink);font-family:var(--ss);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;z-index:99999;outline:2px solid var(--gold)}\n\n/* ── seasonal banner ── */\n.seasonal-banner{background:var(--ink);color:rgba(255,255,255,.85);font-family:var(--ss);font-size:11px;font-weight:300;letter-spacing:.08em;text-align:center;padding:.7rem 3rem;position:relative;z-index:300}\n.seasonal-banner a{color:var(--gold-l);text-decoration:none;font-weight:500;margin-left:.5rem;transition:color .2s}\n.seasonal-banner a:hover{color:var(--gold)}\n.banner-close{position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.45);cursor:pointer;font-size:14px;line-height:1;padding:4px 8px;transition:color .2s}\n.banner-close:hover{color:rgba(255,255,255,.85)}\n.seasonal-banner.hidden{display:none}\n\n/* ── intro screen ── */\n#introEl{position:fixed;inset:0;z-index:99997;background:var(--cream);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(26,25,24,.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\n/* ── WhatsApp float ── */\n.wa-float{position:fixed;bottom:28px;right:28px;z-index:300;width:52px;height:52px;background:none;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 16px rgba(0,0,0,.22);transition:transform .3s var(--ease),box-shadow .3s}\n.wa-float:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.28)}\n.wa-float::before{content:'';position:absolute;inset:0;background:#25D366;border-radius:50%;animation:waPulse 2.4s ease-out 2s infinite;z-index:-1}\n@keyframes waPulse{0%{transform:scale(1);opacity:.5}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}\n\n/* ── 404 main ── */\nmain{flex:1;display:flex;align-items:center;justify-content:center;padding:140px 2rem 100px}\n.err-wrap{text-align:center;max-width:560px;width:100%}\n\n.err-num{\n  font-family:var(--s);font-size:clamp(110px,16vw,190px);\n  font-weight:300;line-height:1;color:transparent;\n  -webkit-text-stroke:1px var(--gold-b);\n  letter-spacing:-.03em;display:block;\n  margin-bottom:.15em;\n  opacity:0;transform:translateY(24px);\n  transition:opacity .9s var(--ease),transform .9s var(--ease);\n}\n.err-num.in{opacity:1;transform:translateY(0)}\n\n.err-rule{\n  width:0;height:1px;\n  background:linear-gradient(90deg,transparent,var(--gold),transparent);\n  margin:0 auto 1.8rem;\n  transition:width .8s var(--ease) .3s;\n}\n.err-rule.in{width:72px}\n\n.err-h1{\n  font-family:var(--s);font-size:clamp(22px,3.5vw,34px);\n  font-weight:300;line-height:1.25;color:var(--ink);\n  margin-bottom:.9rem;\n  opacity:0;transform:translateY(14px);\n  transition:opacity .9s var(--ease) .25s,transform .9s var(--ease) .25s;\n}\n.err-h1.in{opacity:1;transform:translateY(0)}\n\n.err-body{\n  font-family:var(--ss);font-size:13px;font-weight:300;\n  line-height:1.8;color:var(--muted);margin-bottom:2.2rem;\n  opacity:0;transform:translateY(14px);\n  transition:opacity .9s var(--ease) .4s,transform .9s var(--ease) .4s;\n}\n.err-body.in{opacity:1;transform:translateY(0)}\n\n.btn-cta{\n  display:inline-block;font-family:var(--ss);font-size:10px;font-weight:500;\n  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;\n  padding:14px 40px;background:var(--ink);color:var(--cream);\n  border:1px solid var(--ink);\n  opacity:0;transform:translateY(14px);\n  transition:opacity .9s var(--ease) .55s,transform .9s var(--ease) .55s,\n             background .3s,color .3s,border-color .3s;\n}\n.btn-cta.in{opacity:1;transform:translateY(0)}\n.btn-cta:hover{background:var(--gold);color:var(--white);border-color:var(--gold)}\n\n.err-links{\n  margin-top:2.8rem;display:flex;justify-content:center;\n  gap:2rem;flex-wrap:wrap;\n  opacity:0;transition:opacity .9s var(--ease) .7s;\n}\n.err-links.in{opacity:1}\n.err-link{\n  font-family:var(--ss);font-size:9px;letter-spacing:.18em;text-transform:uppercase;\n  color:var(--muted);text-decoration:none;transition:color .25s;\n  display:flex;align-items:center;gap:.4rem;\n}\n.err-link:hover{color:var(--gold)}\n.err-link svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}\n\n/* ── grain ── */\n.grain{position:fixed;inset:0;z-index:400;pointer-events:none;opacity:.025}\n\n/* ── footer ── */\n.err-foot{\n  border-top:.5px solid rgba(26,25,24,.08);\n  padding:1.4rem 3rem;display:flex;align-items:center;\n  justify-content:space-between;flex-wrap:wrap;gap:.6rem;\n}\n.ft-copy{font-family:var(--ss);font-size:10px;font-weight:300;letter-spacing:.06em;color:var(--muted)}\n.ft-links{display:flex;gap:1.4rem}\n.ft-link{font-family:var(--ss);font-size:10px;font-weight:300;letter-spacing:.08em;color:var(--muted);text-decoration:none;transition:color .25s}\n.ft-link:hover{color:var(--ink)}\n\n@media(max-width:768px){\n  main{padding:120px 1.5rem 80px}\n  .err-links{gap:1.2rem}\n  .err-foot{padding:1.2rem 1.5rem}\n}\n@media print{.wa-float,.grain,.scroll-bar,#introEl,.seasonal-banner{display:none}}\n\n\n/* ═══ Dark-default readable legal/price content ═══ */\nbody{background:var(--bg,#1a1918)!important;color:var(--txt,#fff)!important}\n.legal-outer,.legal-content{background:var(--bg,#1a1918)!important;color:var(--txt,#fff)!important}\n.tsl-crumbs a,.tsl-crumbs li{color:rgba(255,255,255,.72)!important}\n.tsl-crumbs a:hover{color:var(--gold,#C9A84C)!important}\n.tsl-crumbs li[aria-current=\"page\"]{color:rgba(255,255,255,.92)!important}\n.sidebar-nav a{color:rgba(255,255,255,.72)!important;font-weight:400!important}\n.sidebar-nav a:hover,.sidebar-nav a.active{color:var(--gold,#C9A84C)!important}\n.sidebar-nav li{border-bottom-color:rgba(255,255,255,.08)!important}\n.ctrl-btn{color:rgba(255,255,255,.75)!important;border-color:rgba(255,255,255,.28)!important}\n.ctrl-btn:hover{color:#fff!important;border-color:var(--gold,#C9A84C)!important}\n.clause{border-bottom-color:rgba(255,255,255,.1)!important}\n.clause-title{color:#fff!important}\n.clause-num{color:var(--gold,#C9A84C)!important;opacity:1!important}\n.legal-intro{color:rgba(255,255,255,.78)!important}\n.pl-item{color:rgba(255,255,255,.78)!important;border-bottom-color:rgba(255,255,255,.08)!important}\n.pl-tier-name,.pl-factor-h3{color:#fff!important}\n.pl-tier-note,.pl-factor-p{color:rgba(255,255,255,.65)!important}\n.pl-factor{background:rgba(255,255,255,.04)!important;border-color:rgba(255,255,255,.1)!important}\n.pl-tiers{border-top-color:rgba(255,255,255,.1)!important}\n.pl-tier{border-right-color:rgba(255,255,255,.08)!important}\n.legal-close{border-top-color:rgba(255,255,255,.1)!important}\n.legal-close h2,.legal-close-contact h2{color:#fff!important}\n.faq-q{color:#fff!important}\n.faq-a{color:rgba(255,255,255,.75)!important}\n@media (prefers-color-scheme: light){\n  body{background:var(--cream,#F5F0E8)!important;color:var(--dark2,#1a1918)!important}\n  .legal-outer,.legal-content{background:var(--cream,#F5F0E8)!important;color:var(--dark2,#1a1918)!important}\n  .tsl-crumbs a,.tsl-crumbs li{color:rgba(26,25,24,.72)!important}\n  .tsl-crumbs li[aria-current=\"page\"]{color:rgba(26,25,24,.9)!important}\n  .sidebar-nav a{color:rgba(26,25,24,.78)!important}\n  .sidebar-nav a:hover,.sidebar-nav a.active{color:var(--pink,#C0415A)!important}\n  .sidebar-nav li{border-bottom-color:rgba(26,25,24,.06)!important}\n  .ctrl-btn{color:rgba(26,25,24,.75)!important;border-color:rgba(26,25,24,.35)!important}\n  .clause{border-bottom-color:rgba(26,25,24,.07)!important}\n  .clause-title{color:var(--dark2,#1a1918)!important}\n  .legal-intro{color:rgba(26,25,24,.78)!important}\n  .pl-item{color:rgba(26,25,24,.65)!important;border-bottom-color:rgba(26,25,24,.06)!important}\n  .pl-tier-name,.pl-factor-h3{color:var(--dark2,#1a1918)!important}\n  .pl-tier-note,.pl-factor-p{color:rgba(26,25,24,.55)!important}\n  .pl-factor{background:rgba(245,240,232,.5)!important;border-color:rgba(26,25,24,.08)!important}\n  .faq-q{color:var(--dark2,#1a1918)!important}\n  .faq-a{color:rgba(26,25,24,.65)!important}\n}\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",
  "scriptJs": "\n(function(){\n  'use strict';\n\n  /* ── intro screen ── */\n  var intro = document.getElementById('introEl');\n  if (intro) {\n    if (sessionStorage.getItem('tsl_s')) {\n      intro.style.display = 'none';\n    } else {\n      setTimeout(function() {\n        intro.classList.add('hidden');\n        setTimeout(function() {\n          intro.style.display = 'none';\n          sessionStorage.setItem('tsl_s', '1');\n        }, 700);\n      }, 1600);\n    }\n  }\n\n  /* ── scroll bar ── */\n  var bar = document.getElementById('scrollBar');\n  window.addEventListener('scroll', function() {\n    var s = document.documentElement;\n    var pct = s.scrollTop / (s.scrollHeight - s.clientHeight) || 0;\n    if (bar) bar.style.transform = 'scaleX(' + pct + ')';\n  }, {passive:true});\n\n  /* ── nav: always on-light (light-theme page, no hero) ── */\n  var nav = document.getElementById('nav');\n  if (nav) {\n    nav.classList.remove('on-dark');\n    nav.classList.add('on-light');\n  }\n\n  /* ── banner close ── */\n  var bannerClose = document.getElementById('bannerClose');\n  var banner      = document.getElementById('seasonalBanner');\n  if (bannerClose && banner) {\n    if (sessionStorage.getItem('tsl_banner_closed')) {\n      banner.classList.add('hidden');\n    }\n    bannerClose.addEventListener('click', function() {\n      banner.classList.add('hidden');\n      sessionStorage.setItem('tsl_banner_closed', '1');\n    });\n  }\n\n  /* ── reveal animations ── */\n  function reveal() {\n    ['errNum','errRule','errH1','errBody','errCta','errLinks'].forEach(function(id) {\n      var el = document.getElementById(id);\n      if (el) el.classList.add('in');\n    });\n  }\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', reveal);\n  } else {\n    setTimeout(reveal, sessionStorage.getItem('tsl_s') ? 80 : 2400);\n  }\n\n  /* ── page transition ── */\n  document.querySelectorAll('a[href]').forEach(function(a) {\n    var href = a.getAttribute('href');\n    if (!href || href[0] === '#' || href.indexOf('http') === 0 ||\n        href.indexOf('mailto') === 0 || href.indexOf('tel') === 0 ||\n        href.indexOf('wa.me') !== -1) return;\n    a.addEventListener('click', function(e) {\n      e.preventDefault();\n      document.body.style.opacity = '0';\n      document.body.style.transition = 'opacity .35s';\n      setTimeout(function() { window.location.href = href; }, 360);\n    });\n  });\n\n})();\n",
  "bodyHtml": "<!-- intro screen -->\n<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\n<!-- skip link -->\n<a href=\"#main\" class=\"skip-link\">Skip to main content</a>\n\n<!-- seasonal banner -->\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\n<!-- scroll progress bar -->\n<div class=\"scroll-bar\" id=\"scrollBar\" aria-hidden=\"true\"></div>\n\n<!-- navigation -->\n\n\n\n<!-- main -->\n<main id=\"main\">\n  <div class=\"err-wrap\">\n\n    <span class=\"err-num\" id=\"errNum\" aria-hidden=\"true\">404</span>\n    <div class=\"err-rule\" id=\"errRule\" aria-hidden=\"true\"></div>\n    <h1 class=\"err-h1\" id=\"errH1\">This page seems to have gone missing.</h1>\n    <p class=\"err-body\" id=\"errBody\">\n      We handle lost things rather well — but this one's on us.\n    </p>\n    <a href=\"/\" class=\"btn-cta\" id=\"errCta\">Back to The Swiss Laundry&nbsp;→</a>\n\n    <nav class=\"err-links\" id=\"errLinks\" aria-label=\"Quick links\">\n      <a href=\"/dry-cleaning\" class=\"err-link\">\n        <svg viewBox=\"0 0 10 10\"><path d=\"M1 5h8M6 2l3 3-3 3\"></path></svg>\n        Dry Cleaning\n      </a>\n      <a href=\"/laundry\" class=\"err-link\">\n        <svg viewBox=\"0 0 10 10\"><path d=\"M1 5h8M6 2l3 3-3 3\"></path></svg>\n        Laundry\n      </a>\n      <a href=\"/pickup\" class=\"err-link\">\n        <svg viewBox=\"0 0 10 10\"><path d=\"M1 5h8M6 2l3 3-3 3\"></path></svg>\n        Book Pickup\n      </a>\n      <a href=\"/contact\" class=\"err-link\">\n        <svg viewBox=\"0 0 10 10\"><path d=\"M1 5h8M6 2l3 3-3 3\"></path></svg>\n        Contact Us\n      </a>\n    </nav>\n\n  </div>\n</main>\n\n<!-- WhatsApp float -->\n<a href=\"https://wa.me/919836233354?text=Hi+I+would+like+to+know+more\" class=\"wa-float\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Chat on WhatsApp\">\n  <svg viewBox=\"0 0 48 48\" width=\"52\" height=\"52\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\">\n    <!-- green background circle -->\n    <circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#25D366\"></circle>\n    <!-- white speech bubble + handset (official WhatsApp icon shape) -->\n    <path fill=\"#fff\" d=\"\n      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\n    \"></path>\n    <!-- handset detail in green -->\n    <path fill=\"#25D366\" d=\"\n      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\n    \"></path>\n  </svg>\n</a>\n\n<!-- grain texture -->\n<svg class=\"grain\" aria-hidden=\"true\">\n  <filter id=\"grain-f\">\n    <feTurbulence type=\"fractalNoise\" baseFrequency=\"0.65\" numOctaves=\"3\" stitchTiles=\"stitch\"></feTurbulence>\n    <feColorMatrix type=\"saturate\" values=\"0\"></feColorMatrix>\n  </filter>\n  <rect width=\"100%\" height=\"100%\" filter=\"url(#grain-f)\"></rect>\n</svg>\n\n<!-- minimal footer strip -->\n<footer class=\"err-foot\" role=\"contentinfo\">\n  <span class=\"ft-copy\">© 2025 Swiss Laundry Private Limited · Kolkata</span>\n  <nav class=\"ft-links\" aria-label=\"Legal\">\n    <a href=\"/privacy-policy\" class=\"ft-link\">Privacy</a>\n    <a href=\"/terms-and-conditions\" class=\"ft-link\">Terms</a>\n    <a href=\"/cancellation-policy\" class=\"ft-link\">Cancellation</a>\n<a href=\"/site-map\" class=\"ft-link\">Site Map</a>\n    <a href=\"/contact\" class=\"ft-link\">Contact</a>\n  </nav>\n</footer>"
}
