{
  "title": "Terms & Conditions | The Swiss Laundry Kolkata",
  "description": "Terms and Conditions of Swiss Laundry Private Limited. 32 clauses covering pricing, garment care, liability, fraud protection and Indian consumer law.",
  "keywords": "",
  "robots": "index, follow, noarchive",
  "canonical": "https://www.theswisslaundry.com/terms-and-conditions",
  "hreflangs": [
    {
      "hreflang": "en-IN",
      "href": "https://www.theswisslaundry.com/terms-and-conditions"
    }
  ],
  "og": {
    "title": "Terms & Conditions — The Swiss Laundry",
    "description": "Full Terms and Conditions of Swiss Laundry Private Limited, Kolkata. Legally compliant with Indian law.",
    "url": "https://www.theswisslaundry.com/terms-and-conditions",
    "image": "https://www.theswisslaundry.com/images/og-default.svg",
    "image:width": "1200",
    "image:height": "630",
    "site_name": "The Swiss Laundry",
    "locale": "en_IN",
    "type": "website"
  },
  "geo": {
    "region": "IN-WB",
    "placename": "Kolkata"
  },
  "jsonLd": [
    [
      {
        "@context": "https://schema.org",
        "@type": "LocalBusiness",
        "name": "The Swiss Laundry",
        "telephone": "+919836233354",
        "url": "https://www.theswisslaundry.com",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East)",
          "addressLocality": "Kolkata",
          "addressRegion": "West Bengal",
          "postalCode": "700107",
          "addressCountry": "IN"
        },
        "openingHours": "Mo-Sa 10:00-17:00"
      },
      {
        "@context": "https://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://www.theswisslaundry.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Terms & Conditions",
            "item": "https://www.theswisslaundry.com/terms-and-conditions"
          }
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "SpeakableSpecification",
        "cssSelector": [
          "h1",
          "h2",
          ".hero-title",
          ".section-title"
        ]
      }
    ],
    {
      "@context": "https://schema.org",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://www.theswisslaundry.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Terms and Conditions",
          "item": "https://www.theswisslaundry.com/terms-and-conditions"
        }
      ]
    }
  ],
  "styleCss": "\n\n\n\n:root{\n  --cream:#F5F0E8;--dark:#0c0b0a;--dark2:#1a1918;\n  --pink:#C0415A;--pink2:#a8324a;\n  --gold:#C9A84C;--gold-l:#E2C97E;\n  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;\n  --sans:'Jost','Helvetica Neue',Arial,sans-serif;\n}\n\n/* ── RESET ── */\n*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}\nbutton,a,[role=\"button\"]{touch-action:manipulation}\n/* ── Mobile universal fixes ── */\nhtml { -webkit-text-size-adjust: 100%; }\nbody { overflow-x: hidden; }\n* { -webkit-tap-highlight-color: transparent; }\nbutton, a, [role=\"button\"] {\n  touch-action: manipulation;\n}\ninput, select, textarea {\n  font-size: 16px !important; /* Prevent iOS zoom */\n}\nhtml{scroll-behavior:smooth}\nbody{\n  font-family:'Jost','Helvetica Neue',Arial,sans-serif;\n  background:var(--bg,#1a1918);color:var(--txt,#fff);\n  -webkit-font-smoothing:antialiased;\n  overflow-x:hidden;\n}\na{color:inherit;text-decoration:none}\n\n/* ── SCROLL PROGRESS ── */\n.scroll-progress{\n  position:fixed;top:0;left:0;height:2px;width:0%;\n  background:linear-gradient(90deg,var(--gold),var(--gold-l));\n  z-index:9999;transition:width 0.1s linear;\n}\n\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/* ── HERO ── */\n.legal-hero{\n  background:var(--dark2);\n  padding:10rem 6rem 5rem;\n  position:relative;overflow:hidden;\n}\n.legal-hero::before{\n  content:'';position:absolute;inset:0;\n  background:repeating-linear-gradient(\n    -45deg,transparent,transparent 60px,\n    rgba(201,168,76,0.025) 60px,rgba(201,168,76,0.025) 61px\n  );pointer-events:none;\n}\n.lh-ghost{\n  position:absolute;right:-0.02em;top:-0.2em;\n  font-family:'Cormorant Garamond',Georgia,serif;\n  font-weight:300;font-style:italic;\n  font-size:clamp(100px,16vw,220px);\n  line-height:1;color:transparent;\n  -webkit-text-stroke:1px rgba(255,255,255,0.04);\n  pointer-events:none;user-select:none;\n}\n.lh-inner{\n  max-width:1100px;margin:0 auto;\n  display:grid;grid-template-columns:1fr auto;\n  align-items:end;gap:4rem;\n  position:relative;z-index:1;\n}\n.lh-eye{\n  font-family:'Jost',sans-serif;font-size:9px;\n  letter-spacing:0.34em;text-transform:uppercase;\n  color:var(--gold);margin-bottom:1.2rem;\n  display:flex;align-items:center;gap:0.8rem;\n}\n.lh-eye::before{content:'';display:block;width:24px;height:1px;background:var(--gold)}\n.lh-title{\n  font-family:'Cormorant Garamond',Georgia,serif;\n  font-style:italic;font-weight:300;\n  font-size:clamp(38px,5vw,68px);\n  line-height:1.05;color:#fff;\n  letter-spacing:-0.015em;margin-bottom:1.2rem;\n}\n.lh-meta{\n  font-family:'Jost',sans-serif;font-size:11px;\n  font-weight:300;letter-spacing:0.14em;\n  color:rgba(255,255,255,0.3);\n}\n.lh-right{\n  font-family:'Jost',sans-serif;font-size:11px;\n  font-weight:300;color:rgba(255,255,255,0.3);\n  text-align:right;line-height:1.8;\n  padding-bottom:0.4rem;\n}\n.lh-right strong{\n  display:block;color:rgba(255,255,255,0.6);\n  font-weight:400;margin-bottom:0.2rem;\n}\n.legal-threshold{\n  width:100%;height:1px;\n  background:linear-gradient(90deg,transparent,rgba(201,168,76,0.5) 50%,transparent);\n}\n\n/* ── LAYOUT ── */\n.legal-outer{\n  display:grid;\n  grid-template-columns:260px 1fr;\n  max-width:1100px;margin:0 auto;\n  padding:5rem 2rem 8rem;\n  gap:5rem;align-items:start;\n}\n\n/* ── SIDEBAR ── */\n.legal-sidebar{\n  position:sticky;top:88px;\n  max-height:calc(100vh - 110px);\n  overflow-y:auto;scrollbar-width:none;\n}\n.legal-sidebar::-webkit-scrollbar{display:none}\n.sidebar-header{\n  font-family:'Jost',sans-serif;font-size:9px;\n  letter-spacing:0.28em;text-transform:uppercase;\n  color:var(--gold);margin-bottom:1rem;\n  padding-bottom:0.7rem;\n  border-bottom:0.5px solid rgba(201,168,76,0.25);\n  display:flex;align-items:center;justify-content:space-between;\n}\n.sidebar-count{\n  font-size:9px;color:rgba(26,25,24,0.3);font-weight:300;\n}\n.sidebar-nav{list-style:none}\n.sidebar-nav li{}\n.sidebar-nav a{\n  display:flex;align-items:baseline;gap:0.6rem;\n  font-family:'Jost',sans-serif;font-size:11px;font-weight:300;\n  color:rgba(26,25,24,0.38);padding:0.4rem 0.8rem;\n  border-left:2px solid transparent;\n  transition:color 0.2s,border-color 0.2s,background 0.2s;\n  line-height:1.4;\n}\n.sidebar-nav a:hover{\n  color:rgba(26,25,24,0.7);\n  border-left-color:rgba(201,168,76,0.3);\n  background:rgba(201,168,76,0.03);\n}\n.sidebar-nav a.active{\n  color:var(--dark2);font-weight:400;\n  border-left-color:var(--gold);\n  background:rgba(201,168,76,0.04);\n}\n.sidebar-num{\n  font-size:9px;opacity:0.45;flex-shrink:0;width:16px;\n}\n.sidebar-divider{height:1px;background:rgba(26,25,24,0.06);margin:0.5rem 0.8rem;}\n\n/* Expand/Collapse all buttons */\n.sidebar-controls{\n  display:flex;gap:0.5rem;margin-bottom:1rem;\n}\n.ctrl-btn{\n  flex:1;\n  font-family:'Jost',sans-serif;font-size:9px;\n  letter-spacing:0.14em;text-transform:uppercase;\n  font-weight:400;\n  background:none;cursor:pointer;\n  padding:0.5rem 0.4rem;\n  border:0.5px solid rgba(26,25,24,0.15);\n  color:rgba(26,25,24,0.45);\n  transition:all 0.25s;\n}\n.ctrl-btn:hover{\n  border-color:var(--gold);color:var(--dark2);\n  background:rgba(201,168,76,0.05);\n}\n\n/* Mobile sidebar toggle */\n.mob-sidebar-toggle{\n  display:none;width:100%;\n  background:none;border:1px solid rgba(26,25,24,0.12);\n  padding:0.85rem 1rem;\n  font-family:'Jost',sans-serif;font-size:11px;\n  letter-spacing:0.16em;text-transform:uppercase;\n  color:rgba(26,25,24,0.55);cursor:pointer;\n  align-items:center;justify-content:space-between;\n  margin-bottom:1rem;\n  transition:border-color 0.25s;\n}\n.mob-sidebar-toggle:hover{border-color:var(--gold)}\n.mob-sidebar-toggle svg{width:14px;height:14px;transition:transform 0.3s}\n.mob-sidebar-toggle.open svg{transform:rotate(180deg)}\n\n/* ── MAIN CONTENT ── */\n.legal-content{max-width:700px}\n\n.legal-intro{\n  font-family:'Cormorant Garamond',Georgia,serif;\n  font-style:italic;font-weight:300;\n  font-size:clamp(16px,1.7vw,20px);\n  line-height:1.9;color:rgba(26,25,24,0.6);\n  margin-bottom:3rem;padding-bottom:3rem;\n  border-bottom:1px solid rgba(26,25,24,0.08);\n  opacity:0;transform:translateY(16px);\n  transition:opacity 0.9s ease,transform 0.9s ease;\n}\n.legal-intro.visible{opacity:1;transform:translateY(0)}\n\n/* ── ACCORDION CLAUSES ── */\n.clause{\n  border-bottom:1px solid rgba(26,25,24,0.07);\n  scroll-margin-top:100px;\n  opacity:0;transform:translateY(16px);\n  transition:opacity 0.7s ease,transform 0.7s ease;\n}\n.clause.visible{opacity:1;transform:translateY(0)}\n\n.clause-header{\n  display:flex;align-items:center;\n  padding:1.4rem 0;\n  cursor:pointer;\n  gap:1.2rem;\n  user-select:none;\n  position:relative;\n  transition:padding-left 0.3s ease;\n}\n.clause-header:hover{padding-left:6px}\n.clause-header::before{\n  content:'';\n  position:absolute;left:0;top:50%;transform:translateY(-50%);\n  width:0;height:32px;\n  background:rgba(201,168,76,0.15);\n  transition:width 0.3s ease;\n}\n.clause-header:hover::before{width:3px}\n\n.clause-num{\n  font-family:'Cormorant Garamond',Georgia,serif;\n  font-weight:300;font-size:13px;\n  letter-spacing:0.1em;\n  color:rgba(201,168,76,0.7);\n  flex-shrink:0;width:28px;\n  position:relative;z-index:1;\n}\n.clause-title{\n  font-family:'Cormorant Garamond',Georgia,serif;\n  font-weight:400;\n  font-size:clamp(16px,1.7vw,21px);\n  color:var(--dark2);flex:1;\n  line-height:1.2;\n  position:relative;z-index:1;\n  transition:color 0.25s;\n}\n.clause-header:hover .clause-title{color:var(--pink)}\n.clause[data-open=\"true\"] .clause-title{color:var(--dark2)}\n\n.clause-icon{\n  width:28px;height:28px;\n  border:0.5px solid rgba(26,25,24,0.15);\n  display:flex;align-items:center;justify-content:center;\n  flex-shrink:0;\n  transition:border-color 0.3s,background 0.3s,transform 0.3s;\n  position:relative;z-index:1;\n}\n.clause-icon::before,\n.clause-icon::after{\n  content:'';position:absolute;\n  background:rgba(26,25,24,0.5);\n  transition:transform 0.35s ease,opacity 0.35s ease,background 0.25s;\n}\n.clause-icon::before{width:10px;height:1px}\n.clause-icon::after{width:1px;height:10px}\n.clause-header:hover .clause-icon{\n  border-color:var(--gold);background:rgba(201,168,76,0.06);\n}\n.clause-header:hover .clause-icon::before,\n.clause-header:hover .clause-icon::after{background:var(--gold)}\n/* Open state — show × */\n.clause[data-open=\"true\"] .clause-icon{\n  border-color:var(--pink);background:rgba(192,65,90,0.06);\n  transform:rotate(45deg);\n}\n.clause[data-open=\"true\"] .clause-icon::before,\n.clause[data-open=\"true\"] .clause-icon::after{background:var(--pink)}\n\n/* Accordion body */\n.clause-body{\n  max-height:0;overflow:hidden;\n  transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1),\n             padding 0.3s ease;\n  padding:0 0 0 2.4rem;\n}\n.clause[data-open=\"true\"] .clause-body{\n  max-height:2000px;\n  padding:0 0 2rem 2.4rem;\n}\n.clause-body p{\n  font-family:'Jost',sans-serif;font-size:14px;font-weight:300;\n  line-height:2;color:rgba(26,25,24,0.65);margin-bottom:1rem;\n}\n.clause-body p:last-child{margin-bottom:0}\n.clause-body ul{list-style:none;margin:0.6rem 0 1rem}\n.clause-body ul li{\n  font-family:'Jost',sans-serif;font-size:14px;font-weight:300;\n  line-height:1.9;color:rgba(26,25,24,0.65);\n  padding:0.35rem 0 0.35rem 1.6rem;position:relative;\n  border-bottom:0.5px solid rgba(26,25,24,0.05);\n}\n.clause-body ul li:last-child{border-bottom:none}\n.clause-body ul li::before{\n  content:'';position:absolute;left:0;top:0.9em;\n  width:6px;height:1px;background:var(--gold);\n}\n.clause-body ul li strong{font-weight:500;color:var(--dark2)}\n.tnc-warn{\n  background:rgba(192,65,90,0.04);\n  border-left:2px solid var(--pink);\n  padding:1rem 1.2rem;margin:1rem 0;\n  font-family:'Jost',sans-serif;font-size:13px;\n  font-weight:300;line-height:1.85;color:rgba(26,25,24,0.7);\n}\n.tnc-warn::before{\n  content:'Important';display:block;font-size:8px;\n  letter-spacing:0.25em;text-transform:uppercase;\n  color:var(--pink);margin-bottom:0.4rem;font-weight:500;\n}\n.clause-body a{\n  color:var(--dark2);\n  border-bottom:0.5px solid rgba(26,25,24,0.25);\n  transition:color 0.2s,border-color 0.2s;\n}\n.clause-body a:hover{color:var(--pink);border-color:var(--pink)}\n\n/* ── CLOSING ── */\n.legal-close{\n  margin-top:3.5rem;padding-top:3rem;\n  border-top:1px solid rgba(26,25,24,0.08);\n  text-align:center;\n  opacity:0;transform:translateY(16px);\n  transition:opacity 0.9s ease 0.2s,transform 0.9s ease 0.2s;\n}\n.legal-close.visible{opacity:1;transform:translateY(0)}\n.legal-close-contact{\n  background:var(--dark2);padding:2.5rem;\n  position:relative;overflow:hidden;margin-bottom:2rem;\n}\n.legal-close-contact::before{\n  content:'';position:absolute;top:-1px;left:-1px;\n  width:20px;height:20px;\n  border-top:1px solid var(--gold);border-left:1px solid var(--gold);\n}\n.legal-close-contact::after{\n  content:'';position:absolute;bottom:-1px;right:-1px;\n  width:20px;height:20px;\n  border-bottom:1px solid var(--gold);border-right:1px solid var(--gold);\n}\n.lcc-eye{\n  font-family:'Jost',sans-serif;font-size:8px;\n  letter-spacing:0.3em;text-transform:uppercase;\n  color:var(--gold);margin-bottom:0.8rem;\n}\n.lcc-name{\n  font-family:'Cormorant Garamond',serif;font-style:italic;\n  font-weight:300;font-size:22px;color:#fff;margin-bottom:0.5rem;\n}\n.lcc-detail{\n  font-family:'Jost',sans-serif;font-size:12px;\n  font-weight:300;line-height:1.9;color:rgba(255,255,255,0.45);\n}\n.lcc-detail a{\n  color:var(--gold-l);\n  border-bottom:0.5px solid rgba(201,168,76,0.3);\n  transition:color 0.2s;\n}\n.lcc-detail a:hover{color:#fff}\n.legal-close-note{\n  font-family:'Cormorant Garamond',serif;font-style:italic;\n  font-weight:300;font-size:clamp(16px,1.8vw,20px);\n  line-height:1.7;color:rgba(26,25,24,0.45);\n}\n.legal-close-note span{color:var(--dark2)}\n\n/* SEO — all content always visible to crawlers */\n.clause-body{visibility:visible}\n\n/* ═══ FOOTER BASE ═══ */\n\n/* ═══ FOOTER CSS ═══ */\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/* ═══════════════════════════════════════════════\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.clause,.legal-intro,.legal-close,.clause-body{opacity:1!important;transform:none!important;max-height:none!important}\n.hero-h1-line span,.hero-foot{opacity:1!important;transform:none!important}\n\n:root{\n  --cream:#F5F0E8;--dark:#0c0b0a;--dark2:#1a1918;\n  --pink:#C0415A;--gold:#C9A84C;--gold-l:#E2C97E;\n  --serif:'Cormorant Garamond',Georgia,serif;\n  --sans:'Jost','Helvetica Neue',Arial,sans-serif;\n}\n\n.wa-float{\n  position:fixed;\n  bottom:2rem;\n  right:2rem;\n  width:56px;height:56px;\n  background:#25D366;\n  border-radius:50%;\n  display:flex;align-items:center;justify-content:center;\n  z-index:999;\n  box-shadow:0 4px 20px rgba(37,211,102,0.4);\n  transition:transform 0.3s cubic-bezier(0.16,1,0.3,1),\n             box-shadow 0.3s ease;\n  text-decoration:none;\n}\n.wa-float:hover{\n  transform:scale(1.1) translateY(-2px);\n  box-shadow:0 8px 30px rgba(37,211,102,0.5);\n}\n.wa-float svg{\n  width:28px;height:28px;\n  fill:#fff;\n}\n.wa-tooltip{\n  position:absolute;\n  right:68px;\n  background:var(--dark2);\n  color:#fff;\n  font-family:var(--sans);\n  font-size:11px;\n  letter-spacing:0.08em;\n  white-space:nowrap;\n  padding:6px 12px;\n  border-radius:2px;\n  opacity:0;\n  transform:translateX(8px);\n  transition:opacity 0.3s, transform 0.3s;\n  pointer-events:none;\n}\n.wa-float:hover .wa-tooltip{\n  opacity:1;\n  transform:translateX(0);\n}\n/* Pulse animation to draw attention */\n.wa-float::before{\n  content:'';\n  position:absolute;\n  inset:-4px;\n  border-radius:50%;\n  border:2px solid rgba(37,211,102,0.4);\n  animation:waPulse 2.5s ease-out infinite;\n}\n@keyframes waPulse{\n  0%{transform:scale(1);opacity:0.6}\n  100%{transform:scale(1.5);opacity:0}\n}\n@media(max-width:768px){\n  .wa-float{bottom:5.5rem;right:1rem;width:50px;height:50px}\n  .wa-float svg{width:24px;height:24px}\n  .wa-tooltip{display:none}\n}\n\n/* ── Focus styles ── */\n:focus-visible{outline:2px solid var(--gold);outline-offset:3px}\nbutton:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}\n.skip-link:focus{left:1rem!important;width:auto!important;height:auto!important}\n\n/* ── Noise grain overlay ── */\nbody::after{\n  content:'';\n  position:fixed;inset:0;\n  pointer-events:none;z-index:9999;\n  opacity:.025;\n  background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E\");\n  background-repeat:repeat;\n  background-size:128px 128px;\n  mix-blend-mode:overlay;\n}\n\n\n.mob-sticky-cta{\n  display:none;\n  position:fixed;\n  bottom:0;left:0;right:0;\n  z-index:998;\n  padding:0.75rem 1rem;\n  background:rgba(245,240,232,0.97);\n  backdrop-filter:blur(12px);\n  border-top:0.5px solid rgba(0,0,0,0.08);\n  box-shadow:0 -4px 24px rgba(0,0,0,0.08);\n}\n.mob-sticky-btn{\n  display:block;\n  width:100%;\n  padding:0.85rem;\n  background:var(--pink);\n  color:#fff;\n  text-align:center;\n  font-family:var(--sans);\n  font-size:11px;\n  font-weight:500;\n  letter-spacing:0.18em;\n  text-transform:uppercase;\n  text-decoration:none;\n  transition:background 0.25s;\n}\n.mob-sticky-btn:hover{background:var(--pink2)}\n@media(max-width:768px){\n  .mob-sticky-cta{display:block}\n}\n\n\n.cookie-bar{\n  position:fixed;bottom:0;left:0;right:0;\n  z-index:997;\n  background:var(--dark2);\n  border-top:0.5px solid rgba(201,168,76,0.2);\n  padding:1rem 2rem;\n  display:flex;align-items:center;justify-content:space-between;\n  gap:2rem;\n  transform:translateY(100%);\n  transition:transform 0.5s cubic-bezier(0.16,1,0.3,1);\n}\n.cookie-bar.show{transform:translateY(0)}\n.cookie-txt{\n  font-family:var(--sans);font-size:12px;\n  color:rgba(255,255,255,0.55);\n  line-height:1.6;\n}\n.cookie-link{color:var(--gold);text-decoration:none}\n.cookie-link:hover{text-decoration:underline}\n.cookie-btn{\n  flex-shrink:0;\n  font-family:var(--sans);font-size:9px;\n  font-weight:500;letter-spacing:0.18em;\n  text-transform:uppercase;\n  background:var(--pink);color:#fff;\n  border:none;padding:8px 20px;\n  cursor:pointer;transition:background 0.25s;\n  white-space:nowrap;\n}\n.cookie-btn:hover{background:var(--pink2)}\n@media(max-width:768px){\n  .cookie-bar{flex-direction:column;padding:1rem 1.4rem;gap:0.8rem}\n  .cookie-btn{width:100%;padding:10px}\n}\n\n\n.preloader{\n  position:fixed;inset:0;\n  z-index:9999;\n  background:var(--dark2);\n  display:flex;align-items:center;justify-content:center;\n  transition:opacity 0.8s ease, visibility 0.8s ease;\n}\n.preloader.hidden{\n  opacity:0;\n  visibility:hidden;\n}\n.pre-inner{\n  display:flex;flex-direction:column;\n  align-items:center;gap:1rem;\n  animation:preIn 0.6s ease forwards;\n}\n@keyframes preIn{\n  from{opacity:0;transform:translateY(12px)}\n  to{opacity:1;transform:translateY(0)}\n}\n.pre-monogram{\n  font-family:'Cormorant Garamond',Georgia,serif;\n  font-style:italic;\n  font-weight:300;\n  font-size:clamp(48px,8vw,80px);\n  color:transparent;\n  -webkit-text-stroke:1px rgba(201,168,76,0.8);\n  letter-spacing:0.08em;\n}\n.pre-line{\n  width:0;height:1px;\n  background:linear-gradient(90deg,transparent,var(--gold),transparent);\n  animation:preRule 0.8s ease 0.4s forwards;\n}\n@keyframes preRule{to{width:60px}}\n.pre-text{\n  font-family:'Jost',sans-serif;\n  font-size:9px;\n  letter-spacing:0.32em;\n  text-transform:uppercase;\n  color:rgba(201,168,76,0.5);\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@media print{\n  .wa-float,.wa-float-btn,.bookPill,.seasonal-banner,.scroll-bar,.read-progress,\n  .mob-sidebar-toggle,.sidebar-cta-btn,.loc-ctas,.loc-cta-primary,.loc-cta-wa,\n  nav#nav,.nav-cta,.global-pill{display:none!important}\n  body{font-size:11pt;color:#000;background:#fff}\n  a[href]::after{content:\" (\" attr(href) \")\";font-size:9pt;color:#666}\n  a[href^=\"#\"]::after,a[href^=\"tel:\"]::after,a[href^=\"https://wa.me\"]::after{content:\"\"}\n  h1,h2,h3{page-break-after:avoid}\n  .chapter,.loc-section{page-break-inside:avoid}\n}\n\n\n/* theme: dark default */\n:root{--bg:#1a1918;--bg2:#201e1d;--surf:rgba(255,255,255,.05);--surf-b:rgba(255,255,255,.1);--txt:#fff;--txt2:rgba(255,255,255,.82);--txt3:rgba(255,255,255,.55);}\n@media(prefers-color-scheme:light){\n  :root{--bg:#F5F0E8;--bg2:#EDE7D9;--surf:#fff;--surf-b:rgba(26,25,24,.1);--txt:#1a1918;--txt2:#3d3a36;--txt3:#7a7168;}\n}\n\n\n[data-reveal]{transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}\n\n.scroll-bar{position:fixed;top:0;left:0;height:3px;background:var(--gold,#C9A84C);z-index:9999;width:0;pointer-events:none}\n\n/* ── Custom cursor ── */\n@media(hover:hover) and (pointer:fine){\n  *{cursor:none!important}\n  .cursor-dot{\n    position:fixed;top:0;left:0;z-index:99999;\n    pointer-events:none;\n    width:8px;height:8px;\n    background:var(--gold,#C9A84C);\n    border-radius:50%;\n    transform:translate(-50%,-50%);\n    transition:width .2s,height .2s,background .2s,opacity .3s;\n    mix-blend-mode:difference;\n  }\n  .cursor-ring{\n    position:fixed;top:0;left:0;z-index:99998;\n    pointer-events:none;\n    width:32px;height:32px;\n    border:1px solid rgba(201,168,76,.4);\n    border-radius:50%;\n    transform:translate(-50%,-50%);\n    transition:width .35s cubic-bezier(.16,1,.3,1),\n               height .35s cubic-bezier(.16,1,.3,1),\n               border-color .2s,opacity .3s;\n  }\n  body.cursor-hover .cursor-dot{width:6px;height:6px;background:#fff}\n  body.cursor-hover .cursor-ring{width:44px;height:44px;border-color:rgba(201,168,76,.6)}\n  body.cursor-link .cursor-dot{width:12px;height:12px;background:var(--pink,#C0415A)}\n  body.cursor-link .cursor-ring{width:48px;height:48px;border-color:rgba(192,65,90,.5)}\n  body.cursor-hidden .cursor-dot,\n  body.cursor-hidden .cursor-ring{opacity:0}\n}\n\n/* ── Intro / loading screen ── */\n.intro-screen{\n  position:fixed;inset:0;z-index:99997;\n  background:var(--dark2,#1a1918);\n  display:flex;align-items:center;justify-content:center;\n  flex-direction:column;gap:1.2rem;\n  transition:opacity .6s ease,transform .6s cubic-bezier(.16,1,.3,1);\n}\n.intro-screen.hidden{\n  opacity:0;pointer-events:none;\n  transform:translateY(-8px);\n}\n.intro-monogram{\n  font-family:'Cormorant Garamond',Georgia,serif;\n  font-style:italic;font-weight:300;\n  font-size:clamp(48px,8vw,96px);\n  color:var(--gold,#C9A84C);\n  letter-spacing:-.04em;\n  opacity:0;\n  animation:introFadeIn .8s cubic-bezier(.16,1,.3,1) .1s forwards;\n}\n.intro-wordmark{\n  font-family:'Jost','Helvetica Neue',Arial,sans-serif;\n  font-size:9px;font-weight:300;\n  letter-spacing:.35em;text-transform:uppercase;\n  color:rgba(255,255,255,.25);\n  opacity:0;\n  animation:introFadeIn .6s ease .5s forwards;\n}\n.intro-line{\n  width:0;height:.5px;background:var(--gold,#C9A84C);opacity:.3;\n  animation:introLine .8s cubic-bezier(.16,1,.3,1) .3s forwards;\n}\n@keyframes introFadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}\n@keyframes introLine{from{width:0}to{width:80px}}\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\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\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/* ═══ Legal template dark readability v3 ═══ */\n.legal-outer,.legal-content,.legal-sidebar{\n  background:#1a1918!important;\n  color:#fff!important;\n}\n.legal-hero{background:#1a1918!important}\n.lh-title{color:#fff!important}\n.lh-title em{color:var(--pink,#C0415A)!important}\n.lh-eye{color:var(--gold,#C9A84C)!important}\n.lh-meta,.lh-right,.pl-hero-note{color:rgba(255,255,255,.72)!important}\n.lh-right strong{color:rgba(255,255,255,.95)!important}\n\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\n.sidebar-nav a{color:rgba(255,255,255,.72)!important}\n.sidebar-nav a:hover,\n.sidebar-nav a.active{color:var(--gold,#C9A84C)!important}\n.sidebar-nav li{border-bottom-color:rgba(255,255,255,.1)!important}\n.sn-num{color:var(--gold,#C9A84C)!important}\n\n.ctrl-btn{\n  color:rgba(255,255,255,.8)!important;\n  border-color:rgba(255,255,255,.3)!important;\n  background:transparent!important;\n}\n.ctrl-btn:hover{\n  color:#fff!important;\n  border-color:var(--gold,#C9A84C)!important;\n}\n\n.clause{border-bottom-color:rgba(255,255,255,.12)!important}\n.clause-title{color:#fff!important}\n.clause-num{color:var(--gold,#C9A84C)!important;opacity:1!important}\n.clause-icon{color:rgba(255,255,255,.45)!important}\n.clause-body,\n.clause-body p,\n.clause-body li,\n.clause-body td,\n.clause-body th,\n.clause-body span{\n  color:rgba(255,255,255,.78)!important;\n}\n.clause-body a{color:var(--gold,#C9A84C)!important}\n.clause-body strong,\n.clause-body b{color:#fff!important}\n\n.legal-intro{color:rgba(255,255,255,.8)!important}\n.legal-close,\n.legal-close p,\n.legal-close-note,\n.legal-close-sub{color:rgba(255,255,255,.75)!important}\n.legal-close h2,\n.legal-close-contact h2{color:#fff!important}\n.legal-close-links a{color:var(--gold,#C9A84C)!important}\n\n/* FAQ / price list only inside legal shells (care guides keep cream FAQ blocks) */\n.legal-outer .faq-q,\n.legal-content .faq-q{color:#fff!important}\n.legal-outer .faq-a,\n.legal-content .faq-a{color:rgba(255,255,255,.75)!important}\n.legal-outer .pl-item,\n.legal-content .pl-item{\n  color:rgba(255,255,255,.78)!important;\n  border-bottom-color:rgba(255,255,255,.1)!important;\n}\n.legal-outer .pl-tier-name,\n.legal-outer .pl-factor-h3,\n.legal-outer .pl-factors h2,\n.legal-outer .pl-factors h3,\n.legal-content .pl-tier-name,\n.legal-content .pl-factor-h3{color:#fff!important}\n.legal-outer .pl-tier-note,\n.legal-outer .pl-factor-p,\n.legal-content .pl-tier-note,\n.legal-content .pl-factor-p{color:rgba(255,255,255,.65)!important}\n.legal-outer .pl-factor,\n.legal-content .pl-factor{\n  background:rgba(255,255,255,.04)!important;\n  border-color:rgba(255,255,255,.12)!important;\n}\n\n@media (prefers-color-scheme: light){\n  .legal-outer,.legal-content,.legal-sidebar{\n    background:var(--cream,#F5F0E8)!important;\n    color:var(--dark2,#1a1918)!important;\n  }\n  .legal-hero{background:var(--cream,#F5F0E8)!important}\n  .lh-title{color:var(--dark2,#1a1918)!important}\n  .lh-meta,.lh-right,.pl-hero-note{color:rgba(26,25,24,.65)!important}\n  .tsl-crumbs a,.tsl-crumbs li{color:rgba(26,25,24,.75)!important}\n  .sidebar-nav a{color:rgba(26,25,24,.72)!important}\n  .sidebar-nav a:hover,.sidebar-nav a.active{color:var(--pink,#C0415A)!important}\n  .ctrl-btn{color:rgba(26,25,24,.75)!important;border-color:rgba(26,25,24,.3)!important}\n  .clause-title{color:var(--dark2,#1a1918)!important}\n  .clause-num{color:var(--pink,#C0415A)!important}\n  .clause-body,.clause-body p,.clause-body li,.clause-body td,.clause-body th,.clause-body span{\n    color:rgba(26,25,24,.72)!important;\n  }\n  .legal-intro{color:rgba(26,25,24,.75)!important}\n  .legal-outer .faq-q,.legal-content .faq-q{color:var(--dark2,#1a1918)!important}\n  .legal-outer .faq-a,.legal-content .faq-a{color:rgba(26,25,24,.65)!important}\n  .legal-outer .pl-item,.legal-content .pl-item{color:rgba(26,25,24,.65)!important}\n  .legal-outer .pl-tier-name,.legal-outer .pl-factor-h3,\n  .legal-content .pl-tier-name,.legal-content .pl-factor-h3{color:var(--dark2,#1a1918)!important}\n  .legal-outer .pl-factor,.legal-content .pl-factor{\n    background:rgba(245,240,232,.5)!important;\n    border-color:rgba(26,25,24,.08)!important;\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": "\nfunction 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\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;\n\n(function(){\n  var bar=document.getElementById('scrollProgress')\n  if(bar) window.addEventListener('scroll',function(){bar.style.width=(window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100)+'%'},{passive:true})\n  var clauses=document.querySelectorAll('.clause')\n  function openClause(c){c.setAttribute('data-open','true');var h=c.querySelector('.clause-header'),b=c.querySelector('.clause-body');if(h)h.setAttribute('aria-expanded','true');if(b)b.style.maxHeight=b.scrollHeight+'px'}\n  function closeClause(c){c.setAttribute('data-open','false');var h=c.querySelector('.clause-header'),b=c.querySelector('.clause-body');if(h)h.setAttribute('aria-expanded','false');if(b)b.style.maxHeight='0'}\n  function toggleClause(c){c.getAttribute('data-open')==='true'?closeClause(c):openClause(c)}\n  clauses.forEach(function(c){var h=c.querySelector('.clause-header');if(!h)return;h.addEventListener('click',function(){toggleClause(c)});h.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();toggleClause(c)}});})\n  var eb=document.getElementById('expandAll'),cb=document.getElementById('collapseAll')\n  if(eb)eb.addEventListener('click',function(){clauses.forEach(openClause)})\n  if(cb)cb.addEventListener('click',function(){clauses.forEach(closeClause)})\n  var links=document.querySelectorAll('.sidebar-nav a')\n  window.addEventListener('scroll',function(){var pos=window.scrollY+130;clauses.forEach(function(c){if(c.offsetTop<=pos&&c.offsetTop+c.offsetHeight>pos){links.forEach(function(l){l.classList.remove('active')});var a=document.querySelector('.sidebar-nav a[href=\"#'+c.id+'\"]');if(a){a.classList.add('active');var s=document.querySelector('.legal-sidebar');if(s&&s.scrollHeight>s.clientHeight)s.scrollTop=a.offsetTop-s.clientHeight/2}}});},{passive:true})\n  var mb=document.getElementById('mobSidebarToggle'),si=document.getElementById('sidebarInner')\n  if(mb&&si)mb.addEventListener('click',function(){var o=si.classList.toggle('open');mb.classList.toggle('open',o);mb.setAttribute('aria-expanded',o)})\n  var obs=new IntersectionObserver(function(entries){entries.forEach(function(e){if(e.isIntersecting){e.target.classList.add('visible');obs.unobserve(e.target)}});},{threshold:0.05})\n  document.querySelectorAll('.clause,.legal-intro,.legal-close').forEach(function(el){obs.observe(el)})\n})()\n\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\nif(window.Lenis){var _lenis=new window.Lenis({duration:1.2,smoothWheel:true});(function _raf(t){_lenis.raf(t);requestAnimationFrame(_raf)})(0);}\n\n;\n\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.12});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);});});})();\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;\n\n(function(){\n'use strict';\n\n/* ── Intro screen — runs once per session ── */\nvar SESSION_KEY = 'tsl_intro_shown';\nvar introEl = document.getElementById('introScreen');\nif(introEl){\n  if(sessionStorage.getItem(SESSION_KEY)){\n    introEl.style.display = 'none';\n  } else {\n    setTimeout(function(){\n      introEl.classList.add('hidden');\n      setTimeout(function(){\n        introEl.style.display = 'none';\n        sessionStorage.setItem(SESSION_KEY,'1');\n      }, 700);\n    }, 1400);\n  }\n}\n\n/* ── Custom cursor — desktop only ── */\nif(window.matchMedia('(hover:hover) and (pointer:fine)').matches){\n  var dot  = document.createElement('div'); dot.className  = 'cursor-dot';\n  var ring = document.createElement('div'); ring.className = 'cursor-ring';\n  document.body.appendChild(dot);\n  document.body.appendChild(ring);\n\n  var mx=0,my=0,rx=0,ry=0;\n  document.addEventListener('mousemove',function(e){\n    mx=e.clientX; my=e.clientY;\n    dot.style.left  = mx+'px'; dot.style.top  = my+'px';\n  },{passive:true});\n\n  /* Ring follows with spring lag */\n  (function lerp(){\n    rx+=(mx-rx)*.12; ry+=(my-ry)*.12;\n    ring.style.left=rx+'px'; ring.style.top=ry+'px';\n    requestAnimationFrame(lerp);\n  })();\n\n  /* Hover states */\n  document.addEventListener('mouseover',function(e){\n    var t=e.target;\n    var isLink=t.closest('a,button,[role=\"button\"],[tabindex]');\n    var isText=t.closest('p,h1,h2,h3,h4,li,span');\n    document.body.classList.toggle('cursor-link',!!isLink);\n    document.body.classList.toggle('cursor-hover',!!isText && !isLink);\n  },{passive:true});\n\n  document.addEventListener('mouseleave',function(){\n    document.body.classList.add('cursor-hidden');\n  },{passive:true});\n  document.addEventListener('mouseenter',function(){\n    document.body.classList.remove('cursor-hidden');\n  },{passive:true});\n}\n\n/* ── Page transition fade ── */\nvar style=document.createElement('style');\nstyle.textContent=[\n  '.page-transition-overlay{',\n  'position:fixed;inset:0;z-index:99996;',\n  'background:var(--dark2,#1a1918);',\n  'opacity:0;pointer-events:none;',\n  'transition:opacity .35s ease;}',\n  '.page-transition-overlay.active{opacity:1;pointer-events:all}'\n].join('');\ndocument.head.appendChild(style);\n\nvar overlay=document.createElement('div');\noverlay.className='page-transition-overlay';\ndocument.body.appendChild(overlay);\n\n/* Fade out on click, fade in on load */\ndocument.addEventListener('click',function(e){\n  var a=e.target.closest('a');\n  if(!a||!a.href||a.target==='_blank'||a.href.startsWith('tel:')||\n     a.href.startsWith('mailto:')||a.href.startsWith('https://wa.me')||\n     a.href.includes('#')||e.metaKey||e.ctrlKey)return;\n  var dest=a.href;\n  if(new URL(dest).host!==location.host)return;\n  e.preventDefault();\n  overlay.classList.add('active');\n  setTimeout(function(){location.href=dest;},320);\n});\n\n/* Fade in on arrival */\noverlay.classList.add('active');\nrequestAnimationFrame(function(){\n  requestAnimationFrame(function(){\n    overlay.classList.remove('active');\n  });\n});\n\n})();\n",
  "bodyHtml": "<div class=\"scroll-bar\" id=\"scrollBar\" aria-hidden=\"true\"></div>\n\n<div id=\"introScreen\" class=\"intro-screen\" role=\"status\" aria-label=\"Loading The Swiss Laundry\">\n  <p class=\"intro-monogram\" aria-hidden=\"true\">TSL</p>\n  <div class=\"intro-line\" aria-hidden=\"true\"></div>\n  <p class=\"intro-wordmark\" aria-hidden=\"true\">The Swiss Laundry</p>\n</div>\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<a href=\"#mainContent\" class=\"skip-link\" style=\"position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:999;background:var(--gold);color:var(--dark2);padding:.5rem 1rem;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.1em\">Skip to main content</a>\n\n<div class=\"scroll-progress\" id=\"scrollProgress\"></div>\n\n<nav class=\"tsl-crumbs\" aria-label=\"Breadcrumb\"><ol><li><a href=\"/\">Home</a></li><li aria-current=\"page\">Terms &amp; Conditions</li></ol></nav>\n\n<div class=\"legal-hero\" data-theme=\"dark\">\n  <span class=\"lh-ghost\" aria-hidden=\"true\">Terms</span>\n  <div class=\"lh-inner\">\n    <div class=\"lh-left\">\n      <p class=\"lh-eye\">Legal</p>\n      <h1 class=\"lh-title\">Terms &amp;<br>Conditions</h1>\n    <h2 class=\"seo-hidden\" style=\"position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)\">Terms of Service — The Swiss Laundry</h2>\n      <p class=\"lh-meta\">Last updated: 07 May 2025 &nbsp;·&nbsp; 32 clauses &nbsp;·&nbsp; Swiss Laundry Private Limited</p>\n    </div>\n    <div class=\"lh-right\">\n      <strong>Swiss Laundry Private Limited</strong>\n      GST: 19AAECT0619D1ZL<br>\n      Kolkata — 700107, West Bengal, India<br>\n      info@theswisslaundry.com\n    </div>\n  </div>\n</div>\n<div class=\"legal-threshold\"></div>\n<div class=\"legal-outer\" data-theme=\"dark\">\n  <aside class=\"legal-sidebar\">\n    <button class=\"mob-sidebar-toggle\" id=\"mobSidebarToggle\" aria-expanded=\"false\">\n      <span>Clauses — 32 sections</span>\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><path d=\"M6 9l6 6 6-6\"></path></svg>\n    </button>\n    <div class=\"sidebar-inner\" id=\"sidebarInner\">\n      <div class=\"sidebar-header\">\n        <span>Contents</span>\n        <span class=\"sidebar-count\">32 clauses</span>\n      </div>\n      <div class=\"sidebar-controls\">\n        <button class=\"ctrl-btn\" id=\"expandAll\">Expand all</button>\n        <button class=\"ctrl-btn\" id=\"collapseAll\">Collapse all</button>\n      </div>\n      <ul class=\"sidebar-nav\" id=\"sidebarNav\">\n        <li><a href=\"#clause_1\"><span class=\"sidebar-num\">01</span>Interpretation &amp; Definitions</a></li>\n        <li><a href=\"#clause_2\"><span class=\"sidebar-num\">02</span>Eligibility &amp; Age</a></li>\n        <li><a href=\"#clause_3\"><span class=\"sidebar-num\">03</span>Official Channels &amp; Contact</a></li>\n        <li><a href=\"#clause_4\"><span class=\"sidebar-num\">04</span>Acceptance of Terms &amp; Entire Agreement</a></li>\n        <li><a href=\"#clause_5\"><span class=\"sidebar-num\">05</span>Right to Refuse Service</a></li>\n        <li><a href=\"#clause_6\"><span class=\"sidebar-num\">06</span>Service Area &amp; Availability</a></li>\n        <li><a href=\"#clause_7\"><span class=\"sidebar-num\">07</span>Booking, Pickup &amp; Delivery Scheduling</a></li>\n        <li><a href=\"#clause_8\"><span class=\"sidebar-num\">08</span>Customer's Obligations &amp; Negligence</a></li>\n        <li><a href=\"#clause_9\"><span class=\"sidebar-num\">09</span>Photography &amp; Recording at Our Facility</a></li>\n        <li><a href=\"#clause_10\"><span class=\"sidebar-num\">10</span>Pre-Existing Damage &amp; Condition of Garments</a></li>\n        <li><a href=\"#clause_11\"><span class=\"sidebar-num\">11</span>Valuables &amp; Personal Items in Garments</a></li>\n        <li><a href=\"#clause_12\"><span class=\"sidebar-num\">12</span>Stain Removal — No Guarantee</a></li>\n        <li><a href=\"#clause_13\"><span class=\"sidebar-num\">13</span>Garment Care, Re-wash &amp; Repair</a></li>\n        <li><a href=\"#clause_14\"><span class=\"sidebar-num\">14</span>Special &amp; High-Value Items</a></li>\n        <li><a href=\"#clause_15\"><span class=\"sidebar-num\">15</span>Pricing, Pickup Charges &amp; Payment</a></li>\n        <li><a href=\"#clause_16\"><span class=\"sidebar-num\">16</span>Overpayment, Payment Disputes &amp; Staff Payments</a></li>\n        <li><a href=\"#clause_17\"><span class=\"sidebar-num\">17</span>Corporate &amp; Institutional Accounts</a></li>\n        <li><a href=\"#clause_18\"><span class=\"sidebar-num\">18</span>Turnaround Times &amp; Delivery</a></li>\n        <li><a href=\"#clause_19\"><span class=\"sidebar-num\">19</span>Uncollected Garments &amp; Storage</a></li>\n        <li><a href=\"#clause_20\"><span class=\"sidebar-num\">20</span>Our Liability for Damage or Loss</a></li>\n        <li><a href=\"#clause_21\"><span class=\"sidebar-num\">21</span>Fraudulent Claims &amp; Misrepresentation</a></li>\n        <li><a href=\"#clause_22\"><span class=\"sidebar-num\">22</span>Cancellation, Re-clean &amp; Refund</a></li>\n        <li><a href=\"#clause_23\"><span class=\"sidebar-num\">23</span>Invoices &amp; Records</a></li>\n        <li><a href=\"#clause_24\"><span class=\"sidebar-num\">24</span>Force Majeure</a></li>\n        <li><a href=\"#clause_25\"><span class=\"sidebar-num\">25</span>Promotional Schemes, Competitions &amp; Marketing</a></li>\n        <li><a href=\"#clause_26\"><span class=\"sidebar-num\">26</span>Intellectual Property, Trademark &amp; Brand</a></li>\n        <li><a href=\"#clause_27\"><span class=\"sidebar-num\">27</span>Staff Conduct &amp; Company Liability</a></li>\n        <li><a href=\"#clause_28\"><span class=\"sidebar-num\">28</span>Public Statements &amp; Defamation</a></li>\n        <li><a href=\"#clause_29\"><span class=\"sidebar-num\">29</span>Gift Cards</a></li>\n        <li><a href=\"#clause_30\"><span class=\"sidebar-num\">30</span>Membership Programme</a></li>\n        <li><a href=\"#clause_31\"><span class=\"sidebar-num\">31</span>Governing Law, Jurisdiction &amp; Grievance</a></li>\n        <li><a href=\"#clause_32\"><span class=\"sidebar-num\">32</span>Privacy &amp; Data Protection</a></li>\n      </ul>\n    </div>\n  </aside>\n  <div class=\"legal-content\">\n    <p class=\"legal-intro\">These Terms and Conditions govern all services provided by Swiss Laundry Private Limited, operating as The Swiss Laundry, Kolkata. They are written to protect both you and us — comprehensively, in accordance with all applicable Indian laws — covering every aspect of our service drawn from over a decade of operation.</p>\n    <div class=\"clause\" id=\"clause_1\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_1\" tabindex=\"0\">\n        <span class=\"clause-num\">01</span>\n        <h3 class=\"clause-title\">Interpretation &amp; Definitions</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_1\" role=\"region\">\n        <p>In these Terms and Conditions the following words carry the meanings below:</p>\n<ul>\n  <li><strong>\"Company\", \"we\", \"us\", \"our\"</strong> — Swiss Laundry Private Limited, GST No. 19AAECT0619D1ZL, a company incorporated under the Companies Act 2013, operating the brand The Swiss Laundry at www.theswisslaundry.com.</li>\n  <li><strong>\"Customer\", \"you\", \"your\"</strong> — any individual aged 18 or above, household, business or institution that places a Booking or uses any Service.</li>\n  <li><strong>\"Garment\"</strong> — any item of clothing, fabric, textile, carpet, curtain, soft furnishing, soft toy or other article accepted by us for cleaning or care.</li>\n  <li><strong>\"Service\"</strong> — all garment care services including dry cleaning, laundry, steam pressing, stain removal, carpet cleaning, upholstery cleaning and related services.</li>\n  <li><strong>\"Booking\"</strong> — a confirmed order for Service placed through any official channel.</li>\n  <li><strong>\"Order\"</strong> — a Booking that has been collected and is in progress at our facility.</li>\n  <li><strong>\"Cleaning Charge\"</strong> — the price charged per Garment for the specific Service applied to it.</li>\n  <li><strong>\"Invoice\"</strong> — the digital bill issued by us for Services rendered, accessible on our Website.</li>\n  <li><strong>\"CRM Team Member\"</strong> — our customer-facing pickup and delivery staff.</li>\n  <li><strong>\"Working Day\"</strong> — Monday to Saturday, 10:00 AM to 5:00 PM, excluding public holidays.</li>\n  <li><strong>\"Facility\"</strong> — our laundry and dry cleaning premises at P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East), Kolkata — 700107.</li>\n</ul>\n<p>References to any statute include all amendments, re-enactments and subordinate legislation made under it.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_2\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_2\" tabindex=\"0\">\n        <span class=\"clause-num\">02</span>\n        <h3 class=\"clause-title\">Eligibility &amp; Age</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_2\" role=\"region\">\n        <p>Our Services are available only to individuals who are at least <strong>18 years of age</strong>. By placing a Booking or using our Services in any way, you confirm and warrant that:</p>\n<ul>\n  <li>You are at least 18 years of age</li>\n  <li>You have the legal capacity to enter into a binding contract under the Indian Contract Act, 1872</li>\n  <li>All information you provide to us is accurate, complete and current</li>\n  <li>You are using our Services for lawful purposes only</li>\n</ul>\n<p>If we discover that a Booking has been placed by a person under 18, we reserve the right to cancel the Booking immediately. In such cases, if the Garments have already been processed, the cleaning charge remains payable by the adult responsible for the minor.</p>\n<p>Businesses and institutions placing Bookings confirm that the individual placing the Booking has full authority to do so on behalf of the entity and to bind the entity to these Terms.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_3\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_3\" tabindex=\"0\">\n        <span class=\"clause-num\">03</span>\n        <h3 class=\"clause-title\">Official Channels &amp; Contact</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_3\" role=\"region\">\n        <p>All pickup requests, delivery enquiries, complaints, claims, approvals and communications must be made through our official channels only:</p>\n<ul>\n  <li><strong>Email:</strong> info@theswisslaundry.com</li>\n  <li><strong>Phone / WhatsApp:</strong> +91 9836233354 or +91 9836233354</li>\n  <li><strong>Website:</strong> www.theswisslaundry.com</li>\n  <li><strong>App:</strong> The Swiss Laundry iOS and Android application</li>\n</ul>\n<p>We have no team members assigned to respond to enquiries on public holidays or after office hours (Monday–Saturday, 10:00 AM–5:00 PM). Communications received outside these hours will be attended to on the next Working Day.</p>\n<p><strong>Domain and web presence:</strong> www.theswisslaundry.com is our sole official web presence. We have no affiliation with any other website, domain or digital platform unless explicitly stated on our Website.</p>\n<p><strong>Impersonation warning:</strong> Swiss Laundry Private Limited is not responsible for any loss arising from a Customer interacting with any account, phone number, website, WhatsApp number or entity falsely claiming to represent The Swiss Laundry. Always verify you are communicating through the official channels listed above. If you suspect impersonation, report it immediately to info@theswisslaundry.com.</p>\n<p><strong>No laundry partners:</strong> We do not currently use any third-party laundry partner to clean, process, collect or deliver garments on our behalf. If this ever changes, customers will be informed in advance via SMS, email, WhatsApp or phone.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_4\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_4\" tabindex=\"0\">\n        <span class=\"clause-num\">04</span>\n        <h3 class=\"clause-title\">Acceptance of Terms &amp; Entire Agreement</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_4\" role=\"region\">\n        <p>By placing a Booking, handing over Garments, making a payment, sharing your contact number, or using our Services in any way, you confirm that you have read, understood and agree to be bound by these Terms in full.</p>\n<p><strong>Entire agreement:</strong> These Terms and Conditions, together with our Privacy Policy (<a href=\"/privacy-policy\">theswisslaundry.com/privacy-policy</a>) and any written Booking confirmation issued by us, constitute the entire agreement between Swiss Laundry Private Limited and the Customer. They supersede all prior discussions, representations, warranties, understandings or agreements — whether verbal or written — made before these Terms were accepted. No representation made by any team member, whether during pickup, delivery or any other interaction, shall be binding on the Company unless confirmed in writing by an authorised representative of Swiss Laundry Private Limited.</p>\n<p><strong>By sharing your mobile number</strong> with us, you explicitly consent to receiving transactional and promotional calls, SMS, WhatsApp messages and emails from Swiss Laundry Private Limited. To opt out of promotional communications, email info@theswisslaundry.com.</p>\n<p><strong>Changes to these Terms:</strong> We reserve the right to modify, add to or remove any clause at any time without prior notice. Updated Terms take effect immediately upon publication at <a href=\"/terms-and-conditions\">theswisslaundry.com/terms-and-conditions</a>. Continued use of our Services constitutes acceptance of the revised Terms. It is the Customer's responsibility to review these Terms periodically.</p>\n<p><strong>Severability:</strong> If any provision of these Terms is found by a competent court to be invalid, unlawful or unenforceable under applicable Indian law, that provision shall be deemed severed from these Terms to the minimum extent necessary. All remaining provisions shall continue in full force and effect and shall not be affected by such severance.</p>\n<p><strong>Waiver:</strong> Our failure or delay in enforcing any provision of these Terms on any occasion shall not constitute a waiver of our right to enforce that provision on any future occasion, nor shall it be construed as a waiver of any other provision.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_5\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_5\" tabindex=\"0\">\n        <span class=\"clause-num\">05</span>\n        <h3 class=\"clause-title\">Right to Refuse Service</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_5\" role=\"region\">\n        <p>Swiss Laundry Private Limited reserves the absolute right to refuse, cancel, suspend or discontinue service to any customer at any time, at our sole discretion and without being required to provide a reason.</p>\n<p>This right may be exercised in circumstances including but not limited to: abusive or threatening behaviour toward our team, suspected fraud, repeated unfounded damage claims, outstanding unpaid invoices, non-payment of previous orders, or any conduct our team deems incompatible with the standard of service we provide.</p>\n<p>Where a Booking is cancelled by us before collection, any advance payment will be refunded in full within 7 Working Days. Where cancelled after collection due to Customer conduct, we reserve the right to apply a reasonable handling charge before refunding any balance.</p>\n<div class=\"tnc-warn\">This is an unconditional right. We are not obliged to disclose the reason for refusal to the Customer, any third party, or any court or authority, except where required by applicable Indian law.</div>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_6\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_6\" tabindex=\"0\">\n        <span class=\"clause-num\">06</span>\n        <h3 class=\"clause-title\">Service Area &amp; Availability</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_6\" role=\"region\">\n        <p>We currently serve all areas of Kolkata, West Bengal. Service availability in specific localities may vary and is subject to change without notice. We will inform you at the time of booking if your area is not serviceable.</p>\n<p>All Services are subject to availability. We reserve the right to limit or suspend Services in any area at our discretion, including during public holidays, adverse weather, or circumstances beyond our control.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_7\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_7\" tabindex=\"0\">\n        <span class=\"clause-num\">07</span>\n        <h3 class=\"clause-title\">Booking, Pickup &amp; Delivery Scheduling</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_7\" role=\"region\">\n        <p><strong>Customer contact before visit:</strong> Our CRM team member will call the Customer before arriving for pickup or delivery. If the Customer does not answer, we reserve the right to reschedule to the next available Working Day at no charge to us. The Customer may not deduct any amount or claim compensation for a reschedule resulting from an unanswered call.</p>\n<p><strong>Garment handover:</strong> Garments may be handed over to or received by any person present at the specified address. By allowing another person to act on your behalf, you accept full responsibility for that person's actions and all consequences arising from the handover or receipt.</p>\n<p><strong>Internal inspection:</strong> All Garments are inspected, tagged and assessed by our Laundry Manager after collection. Our CRM team members are not laundry specialists and are not authorised to make any representations regarding stain removal, fabric care or cleaning outcomes. Any such statement by a CRM team member shall not be binding on the Company.</p>\n<p><strong>Approval holds:</strong> Where our Laundry Operations team identifies a concern after inspection, we will contact the Customer for approval before proceeding. Garments will not be processed until approval is received. Delivery dates will be extended accordingly. No compensation shall be payable for such delays.</p>\n<p><strong>Operational delays:</strong> Delays caused by operational requirements at our Facility — including equipment maintenance, staff availability, specialist treatment requirements or quality control processes — form part of our professional service and do not constitute a breach of contract or entitle the Customer to compensation.</p>\n<p>By handing over a Garment you confirm you are the owner or have full authority to do so, and accept these Terms on the owner's behalf.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_8\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_8\" tabindex=\"0\">\n        <span class=\"clause-num\">08</span>\n        <h3 class=\"clause-title\">Customer's Obligations &amp; Negligence</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_8\" role=\"region\">\n        <p>The Customer is responsible for the following and accepts full liability for any loss or damage arising from failure to comply:</p>\n<ul>\n  <li><strong>Accurate information:</strong> Providing correct pickup and delivery addresses, contact numbers and any special instructions. We accept no liability for failed or delayed delivery resulting from incorrect information.</li>\n  <li><strong>Authorised access:</strong> Ensuring that only authorised persons receive Garments on your behalf. Handing over Garments to or accepting delivery from any person you have authorised is entirely at your risk.</li>\n  <li><strong>Garment condition declaration:</strong> Declaring any pre-existing damage, wear, weakness, alteration, contamination or defect before handover — see Section 10.</li>\n  <li><strong>Pocket check:</strong> Removing all valuables, documents and personal items from Garments before handover — see Section 11.</li>\n  <li><strong>Garment safety:</strong> Ensuring Garments are free from infestation, biological contamination, hazardous substances or any condition that poses a risk to our staff, facility or other customers' garments. We reserve the right to refuse, quarantine or return any such Garment and to charge a handling fee of up to ₹500.</li>\n</ul>\n<p>We accept no liability for any loss, damage or delay arising from the Customer's own negligence, error or omission — including but not limited to incorrect addresses, granting access to unauthorised persons, failure to declare pre-existing damage, or failure to remove valuables.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_9\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_9\" tabindex=\"0\">\n        <span class=\"clause-num\">09</span>\n        <h3 class=\"clause-title\">Photography &amp; Recording at Our Facility</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_9\" role=\"region\">\n        <p>Customers and visitors to our Facility are not permitted to photograph, film, record or livestream our staff, premises, equipment, processes or any other customer's garments without prior written permission from an authorised representative of Swiss Laundry Private Limited.</p>\n<p>Any recording made without permission may not be published, shared or used in any complaint, legal proceeding or public forum. We reserve the right to pursue legal action for unauthorised recording or publication of content from our premises.</p>\n<p><strong>Our photography of garments:</strong> We do not store photographs of garments as standard practice. We may photograph certain Garments for quality assurance, to share with the Customer, or for promotional use with the Customer's consent. Photographs used for promotional purposes will not identify the Customer without explicit consent.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_10\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_10\" tabindex=\"0\">\n        <span class=\"clause-num\">10</span>\n        <h3 class=\"clause-title\">Pre-Existing Damage &amp; Condition of Garments</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_10\" role=\"region\">\n        <p>Since we do not conduct a formal condition inspection in the Customer's presence at pickup, the following applies:</p>\n<ul>\n  <li>By handing over a Garment without declaring pre-existing damage, wear, staining, weakness, alteration or defect, you confirm that the Garment has no known pre-existing issues beyond what is plainly visible.</li>\n  <li>Damage claims raised after delivery must relate specifically to damage caused during our cleaning process and not present at handover.</li>\n  <li>We strongly recommend declaring any pre-existing concern to our CRM team member at the time of collection. This protects both parties.</li>\n  <li>Where our internal inspection identifies pre-existing damage or risk, we will contact you before proceeding. We may decline to clean or proceed only on the basis that you accept the risk.</li>\n</ul>\n<div class=\"tnc-warn\">Silence at the point of handover is treated as confirmation that no pre-existing damage exists. We will not accept claims for conditions present before the Garment entered our custody. This clause shall be construed as a warranty given by the Customer under the Indian Contract Act, 1872.</div>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_11\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_11\" tabindex=\"0\">\n        <span class=\"clause-num\">11</span>\n        <h3 class=\"clause-title\">Valuables &amp; Personal Items in Garments</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_11\" role=\"region\">\n        <p>Swiss Laundry Private Limited accepts no responsibility whatsoever for any valuables, cash, jewellery, documents, keys, electronic items, cards, medications, SIM cards or any other personal items left in any part of a Garment handed over for cleaning.</p>\n<ul>\n  <li>You must remove all items from Garments before handover. This is your sole responsibility.</li>\n  <li>We will make reasonable efforts to return discovered items but do not guarantee discovery of items in concealed compartments.</li>\n  <li>Items found will be returned at the Customer's risk. We maintain no responsibility for their condition.</li>\n  <li>We accept no liability for loss or damage to personal items left in Garments under any circumstances, including where such items are damaged or lost during the cleaning process.</li>\n</ul>\n<div class=\"tnc-warn\">Handing over a Garment with valuables inside constitutes the Customer's acceptance of full risk. No claim shall lie against Swiss Laundry Private Limited for any item left in a Garment by the Customer.</div>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_12\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_12\" tabindex=\"0\">\n        <span class=\"clause-num\">12</span>\n        <h3 class=\"clause-title\">Stain Removal — No Guarantee</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_12\" role=\"region\">\n        <p>Swiss Laundry Private Limited does not guarantee the removal of any stain, mark or discolouration, regardless of the cleaning method applied.</p>\n<ul>\n  <li>Some stains are permanent due to their chemical nature, age or interaction with the fabric and cannot be removed by any professional cleaning process.</li>\n  <li>Our CRM team members are not laundry specialists. They are not qualified to assess, comment upon or make any representation about stain removal. No verbal or written assurance from a CRM team member regarding stain removal shall be binding on the Company.</li>\n  <li>Stain assessment is conducted solely by our Laundry Manager after internal inspection.</li>\n  <li>If a stain treatment is attempted and does not succeed, the cleaning charge remains payable in full. Failure to remove a stain does not constitute a deficiency in service.</li>\n</ul>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_13\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_13\" tabindex=\"0\">\n        <span class=\"clause-num\">13</span>\n        <h3 class=\"clause-title\">Garment Care, Re-wash &amp; Repair</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_13\" role=\"region\">\n        <p>We exercise professional care in cleaning all Garments. However, certain outcomes cannot be guaranteed including complete stain removal, colour consistency, fabric stability in aged or altered items, and the preservation of embellishments not designed to withstand cleaning.</p>\n<p>We follow care label instructions as a primary guide. Where labels are absent, illegible or inaccurate, our team will apply the most appropriate method based on fabric assessment. In such cases we accept no liability for the outcome.</p>\n<p><strong>Re-clean policy:</strong> If you are dissatisfied with the result of a cleaning, please refer to our <a href=\"/cancellation-policy\">Cancellation Policy</a>\n <span class=\"footer-sep\">·</span>\n <a href=\"/site-map\">Site Map</a> for full details of our re-clean process. In summary: raise within 48 hours of delivery, we re-clean at no charge, original invoice remains payable.</p>\n<p><strong>Repair and alteration:</strong> We do not offer repair, alteration or tailoring services directly. If requested, we may arrange this through a third-party service provider at the Customer's cost and with prior approval. We act only as an intermediary and accept no liability for the quality of any third-party repair work.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_14\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_14\" tabindex=\"0\">\n        <span class=\"clause-num\">14</span>\n        <h3 class=\"clause-title\">Special &amp; High-Value Items</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_14\" role=\"region\">\n        <p>The following categories are subject to additional conditions:</p>\n<ul>\n  <li><strong>Bridal and wedding wear</strong> (lehengas, sarees, sherwanis, gowns): Must be declared at booking. Standard liability limits apply as per Section 19.</li>\n  <li><strong>Leather and suede:</strong> Cleaned at the Customer's risk. We cannot guarantee colour consistency, texture or structural integrity.</li>\n  <li><strong>Vintage and antique textiles</strong> (items over 10 years old): Cleaned at the Customer's risk. We will always inform you before proceeding.</li>\n  <li><strong>Carpets and rugs:</strong> Subject to separate pricing and turnaround times. Delivery charges apply regardless of order value.</li>\n  <li><strong>Soft toys and plush items:</strong> Internal components including batteries and electronics must be removed before handover. We accept no liability for internal component damage.</li>\n</ul>\n<p>Items without a care label, with an illegible label, or where the label is inconsistent with the fabric content are cleaned entirely at the Customer's risk.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_15\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_15\" tabindex=\"0\">\n        <span class=\"clause-num\">15</span>\n        <h3 class=\"clause-title\">Pricing, Pickup Charges &amp; Payment</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_15\" role=\"region\">\n        <p><strong>Minimum charge and free pickup:</strong></p>\n<ul>\n  <li>Free pickup and delivery on orders of ₹1,000 + applicable GST or more, or a minimum of 5 garments in a single order</li>\n  <li>Orders below either threshold: ₹200 pickup and delivery charge</li>\n  <li>Same-visit pickup and delivery where the new pickup is below threshold: ₹100 delivery charge</li>\n</ul>\n<p><strong>Payment terms:</strong> All Customers must pay in full before or at the time of delivery. Exceptions apply only to institutional or B2B clients with a written credit agreement — see Section 17.</p>\n<p><strong>Invoice closure:</strong> An invoice is closed only upon receipt of full payment. Where Garments have been processed, the full cleaning charge is payable regardless of whether the Customer wishes to proceed with delivery or has raised a complaint or claim.</p>\n<p><strong>Held delivery:</strong> We reserve the right to withhold delivery of any Order — including new orders — until all outstanding invoices from previous orders are paid in full.</p>\n<p><strong>Bank and online payments:</strong> Where payment is made by bank transfer, NEFT, IMPS, scan-and-pay, UPI or any online method, the Customer may be required to provide proof of payment before the invoice is closed. The invoice will not be marked paid until payment is confirmed in our bank account.</p>\n<p><strong>Hanger charges:</strong> Hangers are chargeable as per our Price List on our Website. Hanger pricing may be updated at any time.</p>\n<p><strong>Taxes:</strong> All invoices include applicable GST and other taxes as per Government of India and West Bengal government norms in force at the time of the invoice. Tax rates are subject to change in accordance with government regulations without notice from us.</p>\n<p><strong>Packaging:</strong> We use plastic packaging in compliance with applicable government regulations. Packaging type is subject to change without notice due to regulatory changes or cost considerations.</p>\n<p><strong>Bulk orders:</strong> For orders above ₹5,000, a 50% advance may be required at the time of booking.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_16\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_16\" tabindex=\"0\">\n        <span class=\"clause-num\">16</span>\n        <h3 class=\"clause-title\">Overpayment, Payment Disputes &amp; Staff Payments</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_16\" role=\"region\">\n        <p><strong>Overpayment claims:</strong> Claims of overpayment or incorrect payment must be raised within 24 hours of payment through any official channel. If found valid, the excess amount will be refunded only to the original payment method — cash as cash, UPI/online to the originating account. Claims after 24 hours will not be entertained.</p>\n<p><strong>Payments to personal accounts:</strong> Our employees are strictly prohibited from collecting payment into personal bank accounts, UPI IDs, wallets or any personal payment instrument. All payments must be made only through official Swiss Laundry payment channels. We accept no liability for any payment made to an employee's personal account. If requested to do so, refuse and report it immediately to info@theswisslaundry.com.</p>\n<p><strong>Tips:</strong> We do not encourage or solicit tips. While appreciated as a gesture, it is not expected and will not affect service quality.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_17\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_17\" tabindex=\"0\">\n        <span class=\"clause-num\">17</span>\n        <h3 class=\"clause-title\">Corporate &amp; Institutional Accounts</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_17\" role=\"region\">\n        <p>Clients approved for credit accounts are subject to the following:</p>\n<ul>\n  <li><strong>Credit period:</strong> Payment due within 30 days of invoice date unless otherwise agreed in writing</li>\n  <li><strong>Late payment:</strong> Interest at 2% per month on outstanding balance from the due date, compounded monthly</li>\n  <li><strong>Credit limit:</strong> We may set, review or withdraw credit limits at any time</li>\n  <li><strong>Account suspension:</strong> Accounts with invoices outstanding beyond 45 days may be suspended</li>\n  <li><strong>Invoice disputes:</strong> Must be raised in writing within 7 days of invoice date. Undisputed amounts remain payable by the due date.</li>\n</ul>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_18\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_18\" tabindex=\"0\">\n        <span class=\"clause-num\">18</span>\n        <h3 class=\"clause-title\">Turnaround Times &amp; Delivery</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_18\" role=\"region\">\n        <p><strong>Same Day:</strong> Garments collected before 10:00 AM delivered the same evening. Available all Working Days subject to service type.</p>\n<p>All other turnaround times — Next Day, Express, Standard — are estimates, not contractual guarantees. Delays caused by operational requirements, fabric complexity, specialist treatment or quality control are part of our service process and do not constitute a breach of contract. We will notify you promptly of any delay. No financial compensation is payable for delays.</p>\n<p>Delivery will be attempted at the specified address. If the Customer is unreachable after our call, delivery will be rescheduled to the next Working Day. Re-delivery charges may apply for repeated failed attempts due to Customer unavailability.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_19\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_19\" tabindex=\"0\">\n        <span class=\"clause-num\">19</span>\n        <h3 class=\"clause-title\">Uncollected Garments &amp; Storage</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_19\" role=\"region\">\n        <p>After your Order is complete, Garments will be held subject to the following:</p>\n<ul>\n  <li><strong>First 15 days:</strong> Held at no charge from the date the Order is ready</li>\n  <li><strong>After 15 days:</strong> Storage charge of 30% of total bill value per month or part thereof, added to the outstanding invoice</li>\n  <li><strong>After 3 months:</strong> Swiss Laundry Private Limited shall not be liable for the condition, safety or continued custody of uncollected Garments. We reserve the right to donate, dispose of or otherwise deal with such Garments at our sole discretion without further liability. All outstanding cleaning and storage charges remain payable in full regardless of collection or disposal.</li>\n</ul>\n<p>We will make reasonable attempts to contact you before exercising disposal rights. The Customer indemnifies the Company against any claim arising from the disposal of Garments uncollected after 3 months.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_20\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_20\" tabindex=\"0\">\n        <span class=\"clause-num\">20</span>\n        <h3 class=\"clause-title\">Our Liability for Damage or Loss</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_20\" role=\"region\">\n        <p>In the unlikely event of damage or loss caused by our proven negligence, our liability is limited as follows:</p>\n<ul>\n  <li><strong>Damaged Garment:</strong> 10 times the Cleaning Charge for that Garment, or the fair market value at the time of handover — whichever is lower</li>\n  <li><strong>Lost Garment:</strong> 10 times the Cleaning Charge, or the fair market value — whichever is lower</li>\n  <li><strong>Sentimental or emotional value:</strong> Not accepted under any circumstances</li>\n  <li><strong>No garment insurance:</strong> We do not currently hold garment insurance. We recommend Customers insure high-value items independently. Our liability cap applies regardless.</li>\n  <li><strong>Pre-existing damage:</strong> Not accepted — see Section 10</li>\n  <li><strong>Customer negligence:</strong> Not accepted — see Section 8</li>\n  <li><strong>Third-party vehicles:</strong> We may use third-party vehicles for delivery with at least one Swiss Laundry team member present. The vehicle, its driver, and any acts of the driver are not under our direct control or employment. We are not liable for any incident, damage or loss attributable to a third-party vehicle or driver. No claim against a third-party driver will be compensated by us.</li>\n  <li><strong>Customer-approved courier:</strong> Our liability ends at the point of handover to any independent courier explicitly approved by the Customer.</li>\n</ul>\n<div class=\"tnc-warn\">All damage and loss claims must be raised within 48 hours of delivery through any official channel with photographic evidence. Claims after this period will not be considered under any circumstances. Our aggregate liability to any Customer for any single Order shall not exceed the total amount paid by the Customer for that Order.</div>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_21\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_21\" tabindex=\"0\">\n        <span class=\"clause-num\">21</span>\n        <h3 class=\"clause-title\">Fraudulent Claims &amp; Misrepresentation</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_21\" role=\"region\">\n        <p>The following constitutes a fraudulent or false claim against Swiss Laundry Private Limited:</p>\n<ul>\n  <li>Claiming damage that occurred before the Garment entered our custody</li>\n  <li>Claiming loss of a Garment that was delivered and received</li>\n  <li>Deliberately misrepresenting the value of a Garment to inflate compensation</li>\n  <li>Making any false statement to us, to any court, or to any authority regarding our Services</li>\n  <li>Using our Services with dishonest intent under Section 415 of the Indian Penal Code (Cheating)</li>\n</ul>\n<p>Where we have reasonable grounds to believe a claim is fraudulent, we reserve the right to refuse the claim, terminate the Customer's account, pursue civil and criminal remedies under the Indian Penal Code 1860, the Consumer Protection Act 2019 and other applicable laws, and report the matter to relevant authorities including the West Bengal Police.</p>\n<p><strong>Indemnity for legal costs:</strong> Any Customer who initiates legal proceedings against Swiss Laundry Private Limited and does not succeed shall be liable to indemnify the Company for all reasonable legal costs, advocate fees and expenses incurred in defending the claim. This right is in addition to any other remedy available to us under applicable Indian law.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_22\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_22\" tabindex=\"0\">\n        <span class=\"clause-num\">22</span>\n        <h3 class=\"clause-title\">Cancellation, Re-clean &amp; Refund</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_22\" role=\"region\">\n        <p><strong>Cancellation:</strong> A Booking may be cancelled free of charge at any time before our team collects the Garments. Once Garments have been collected and processing has commenced, no cancellation is possible and the full cleaning charge is payable.</p>\n<p><strong>Re-clean:</strong> Dissatisfaction with the cleaning result must be raised within 48 hours of delivery. We will re-clean the Garment at no charge. Re-wash is our sole remedy. It does not entitle you to a refund and does not guarantee a different outcome.</p>\n<p><strong>Refunds:</strong> Where a refund is due, it will be processed to the original payment method only within 7 Working Days. Cash refunds will be provided at the next interaction or collected from our Facility.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_23\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_23\" tabindex=\"0\">\n        <span class=\"clause-num\">23</span>\n        <h3 class=\"clause-title\">Invoices &amp; Records</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_23\" role=\"region\">\n        <p>We do not issue physical invoices. All invoices are digital and accessible on our Website.</p>\n<ul>\n  <li>Invoices are stored on our Website for <strong>3 months from order completion</strong></li>\n  <li>For invoices between 3 months and the end of the <strong>current financial year</strong>, contact info@theswisslaundry.com</li>\n  <li>We are not obliged to provide invoices for periods beyond the current financial year end</li>\n  <li>We are committed to reducing paper consumption. Physical invoices are not provided under any circumstances.</li>\n</ul>\n<p>Invoice records are maintained by us in accordance with the requirements of the Goods and Services Tax Act 2017 and applicable Indian accounting standards.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_24\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_24\" tabindex=\"0\">\n        <span class=\"clause-num\">24</span>\n        <h3 class=\"clause-title\">Force Majeure</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_24\" role=\"region\">\n        <p>Swiss Laundry Private Limited shall not be liable for any failure or delay in performing our obligations where such failure results from circumstances beyond our reasonable control, including: flood, fire, earthquake, cyclone, storm or natural disaster; power failures or utility outages; equipment breakdown; pandemic, epidemic or public health emergency as declared by the Government of India or the Government of West Bengal; civil unrest, riots or strikes; government orders, lockdowns or regulatory action; acts of terrorism; or any other event unforeseeable by a reasonable business.</p>\n<p>In such circumstances we will notify you as soon as practicable, make every effort to resume normal service, and offer a full refund for Services not yet performed if you do not wish to wait. We will not be liable for any consequential loss arising from a force majeure event.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_25\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_25\" tabindex=\"0\">\n        <span class=\"clause-num\">25</span>\n        <h3 class=\"clause-title\">Promotional Schemes, Competitions &amp; Marketing</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_25\" role=\"region\">\n        <p>All promotional offers, discounts, schemes, referral programmes and competitions run by Swiss Laundry Private Limited are subject to these Terms in addition to any specific terms stated in the individual promotion.</p>\n<ul>\n  <li>We reserve the right to modify, extend, suspend or terminate any promotion at any time without prior notice</li>\n  <li>Where specific promotion terms are silent on any matter, these Terms apply</li>\n  <li>Competition rules will be stated in the competition details. In the event of conflict between competition rules and these Terms, competition rules prevail for competition-specific matters only</li>\n  <li>Promotional pricing cannot be combined unless explicitly stated</li>\n  <li>We reserve the right to disqualify any person found abusing promotional schemes</li>\n  <li>All competitions and promotions are void where prohibited by applicable Indian law</li>\n</ul>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_26\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_26\" tabindex=\"0\">\n        <span class=\"clause-num\">26</span>\n        <h3 class=\"clause-title\">Intellectual Property, Trademark &amp; Brand</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_26\" role=\"region\">\n        <p>All content on our Website and App — text, images, design, logos, icons, taglines and software — is the property of Swiss Laundry Private Limited or its licensors and is protected under the Copyright Act 1957, the Trade Marks Act 1999, the Information Technology Act 2000 and other applicable Indian laws.</p>\n<p><strong>Trademark:</strong> \"The Swiss Laundry\" and our associated logo and marks are applied for registration under the Trade Marks Act 1999 in the name of Swiss Laundry Private Limited. Until and unless any application is refused, only Swiss Laundry Private Limited has the right to use this name and mark commercially. Unauthorised use is a civil and criminal offence under Indian trademark law and will be pursued accordingly.</p>\n<p><strong>Logo use:</strong> No person, business or entity may use The Swiss Laundry logo, name, tagline or any associated mark for any purpose — including but not limited to advertising, social media, merchandise, partnerships or any commercial use — without prior written permission from Swiss Laundry Private Limited. Requests must be directed to info@theswisslaundry.com.</p>\n<p><strong>Domain:</strong> www.theswisslaundry.com is our sole official domain. We have no affiliation with any other website unless explicitly stated.</p>\n<p>Reproduction, distribution, modification or creation of derivative works from any of our content without our prior written consent is strictly prohibited and may constitute an infringement of intellectual property rights under applicable Indian law.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_27\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_27\" tabindex=\"0\">\n        <span class=\"clause-num\">27</span>\n        <h3 class=\"clause-title\">Staff Conduct &amp; Company Liability</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_27\" role=\"region\">\n        <p>Our team members are employees of Swiss Laundry Private Limited. The Company accepts vicarious responsibility for their conduct in the course of performing their duties within Working Day hours and within the scope of their employment.</p>\n<p><strong>Outside working hours:</strong> Swiss Laundry Private Limited is not liable for the personal behaviour, actions, statements or conduct of any team member outside their working hours or outside the scope of their employment. Any complaint regarding a team member's personal conduct outside work is a matter between the individual and the concerned party.</p>\n<p><strong>Unauthorised representations:</strong> No team member is authorised to make promises, guarantees or representations on behalf of the Company beyond what is stated in these Terms. Any such representations, if made, are not binding on the Company and shall not give rise to any right or claim against Swiss Laundry Private Limited.</p>\n<p><strong>Third-party contractors and vehicles:</strong> Drivers of third-party vehicles used for delivery are not employees or agents of Swiss Laundry Private Limited. We accept no vicarious liability for their acts or omissions.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_28\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_28\" tabindex=\"0\">\n        <span class=\"clause-num\">28</span>\n        <h3 class=\"clause-title\">Public Statements &amp; Defamation</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_28\" role=\"region\">\n        <p>We welcome honest feedback through official channels. The following is strictly prohibited and may give rise to civil and criminal liability under the Indian Penal Code 1860 (Sections 499 and 500 — Defamation), the Information Technology Act 2000, and the Consumer Protection Act 2019:</p>\n<ul>\n  <li>Publishing false, misleading or defamatory statements about Swiss Laundry Private Limited, our Services, our brand or our team on any platform including social media, review sites, messaging groups, print or broadcast media</li>\n  <li>Making false claims about our Services or staff conduct with intent to damage our reputation or business</li>\n  <li>Encouraging boycotts based on false or unverified claims</li>\n  <li>Sharing or republishing content that contains false claims about us</li>\n</ul>\n<p>Where we identify false or defamatory content, we reserve the right to request removal, pursue civil action for damages, file a criminal complaint under applicable sections of the Indian Penal Code, and seek injunctive relief before the courts of Kolkata, West Bengal.</p>\n<p>Genuine grievances must be raised with our Grievance Officer. We commit to resolving all legitimate complaints promptly and fairly.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_29\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_29\" tabindex=\"0\">\n        <span class=\"clause-num\">29</span>\n        <h3 class=\"clause-title\">Gift Cards</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_29\" role=\"region\">\n        <p>The Swiss Laundry gift cards will be available on our Website and App. All gift cards are issued by Swiss Laundry Private Limited and are subject to the following terms:</p>\n<ul>\n  <li><strong>Validity:</strong> 12 months from purchase date. Unused balance after expiry is forfeited with no refund.</li>\n  <li><strong>Non-refundable:</strong> Gift cards cannot be exchanged for cash under any circumstances.</li>\n  <li><strong>Non-transferable:</strong> Resale of gift cards is prohibited. We reserve the right to cancel any resold card.</li>\n  <li><strong>Partial redemption:</strong> Remaining balance stays on the card. Shortfall is payable by the Customer.</li>\n  <li><strong>Lost or stolen:</strong> We are not responsible. Treat gift cards as cash.</li>\n  <li><strong>Fraud:</strong> We reserve the right to cancel any card obtained or used fraudulently.</li>\n  <li><strong>Subject to GST:</strong> Gift card purchases are subject to applicable GST as per Government of India norms.</li>\n</ul>\n<p>Gift card terms may be updated. Terms at the time of purchase apply for the validity period of that specific card.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_30\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_30\" tabindex=\"0\">\n        <span class=\"clause-num\">30</span>\n        <h3 class=\"clause-title\">Membership Programme</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_30\" role=\"region\">\n        <p>The Swiss Laundry Membership Programme is in development and will be launched on our Website and App. Full terms will be published at launch. General principles that will apply:</p>\n<ul>\n  <li>Membership fees, where applicable, are non-refundable after any stated cooling-off period</li>\n  <li>We reserve the right to modify, suspend or discontinue the programme with reasonable notice to existing members</li>\n  <li>Membership is personal and non-transferable unless otherwise stated</li>\n  <li>Abuse of membership benefits may result in termination without refund</li>\n  <li>The Membership Programme will comply with the Consumer Protection Act 2019 and applicable Indian law</li>\n</ul>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_31\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_31\" tabindex=\"0\">\n        <span class=\"clause-num\">31</span>\n        <h3 class=\"clause-title\">Governing Law, Jurisdiction &amp; Grievance</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_31\" role=\"region\">\n        <p>These Terms are governed exclusively by the laws of India, including but not limited to the Indian Contract Act 1872, the Consumer Protection Act 2019, the Information Technology Act 2000, the Digital Personal Data Protection Act 2023, the Trade Marks Act 1999, the Copyright Act 1957, the Indian Penal Code 1860, and applicable GST legislation.</p>\n<p>All disputes, claims, controversies and legal matters arising from these Terms or our Services shall be subject to the <strong>exclusive jurisdiction of the courts of Kolkata, West Bengal, India only</strong>. No other court, tribunal or jurisdiction is accepted. The parties expressly submit to the jurisdiction of the courts of Kolkata.</p>\n<p>Before initiating any legal proceedings, we strongly encourage you to contact our Grievance Officer for informal resolution. Most disputes can be resolved quickly and amicably through direct communication.</p>\n<div class=\"tnc-highlight\">\n  <strong>Grievance Officer — Mr. Anand Bhatt</strong><br>\n  Managing Director, Swiss Laundry Private Limited<br>\n  Email: info@theswisslaundry.com &nbsp;·&nbsp; Phone: +91 9836233354<br>\n  P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East), Kolkata — 700107, West Bengal, India<br>\n  Acknowledgement within 48 hours · Resolution within 30 days<br>\n  <span style=\"font-size:12px;opacity:0.8\">As required under the Consumer Protection (E-Commerce) Rules 2020, notified under the Consumer Protection Act 2019</span>\n</div>\n<p>These Terms comply with the Consumer Protection Act 2019, the Consumer Protection (E-Commerce) Rules 2020, the Information Technology Act 2000, the IT (Reasonable Security Practices) Rules 2011, the Digital Personal Data Protection Act 2023, TRAI regulations, and all other applicable central and West Bengal state legislation.</p>\n<p>If any provision of these Terms conflicts with any mandatory provision of applicable Indian law that cannot be contractually excluded, such mandatory provision shall prevail to the extent of the conflict only.</p>\n      </div>\n    </div>\n    <div class=\"clause\" id=\"clause_32\" data-open=\"false\">\n      <div class=\"clause-header\" role=\"button\" aria-expanded=\"false\" aria-controls=\"body_32\" tabindex=\"0\">\n        <span class=\"clause-num\">32</span>\n        <h3 class=\"clause-title\">Privacy &amp; Data Protection</h3>\n        <span class=\"clause-icon\" aria-hidden=\"true\"></span>\n      </div>\n      <div class=\"clause-body\" id=\"body_32\" role=\"region\">\n        <p>Your use of our Services is governed by our Privacy Policy at <a href=\"/privacy-policy\">theswisslaundry.com/privacy-policy</a>, which forms part of these Terms and is incorporated herein by reference.</p>\n<p>We collect and process personal data in accordance with the Information Technology Act 2000, the IT (Reasonable Security Practices and Procedures and Sensitive Personal Data or Information) Rules 2011, the Digital Personal Data Protection Act 2023, applicable TRAI regulations and all other applicable Indian data protection laws.</p>\n<p>By using our Services, you consent to the collection, processing and use of your personal data as described in our Privacy Policy.</p>\n      </div>\n    </div>\n\n    <div class=\"legal-close\" id=\"legalClose\">\n      <div class=\"legal-close-contact\">\n        <p class=\"lcc-eye\">Grievance Officer</p>\n        <p class=\"lcc-name\">Mr. Anand Bhatt</p>\n        <p class=\"lcc-detail\">\n          Managing Director, Swiss Laundry Private Limited<br>\n          <a href=\"mailto:info@theswisslaundry.com\">info@theswisslaundry.com</a> &nbsp;·&nbsp;\n          <a href=\"tel:+919836233354\">+91 9836233354</a><br>\n          P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East)<br>\n          Kolkata — 700107, West Bengal, India<br>\n          <span style=\"font-size:11px;opacity:0.6\">Acknowledgement within 48 hours · Resolution within 30 days · Consumer Protection Act 2019</span>\n        </p>\n      </div>\n      <p class=\"legal-close-note\">Governed by the laws of India.<br><span>Jurisdiction: courts of Kolkata, West Bengal only.</span></p>\n    </div>\n  </div>\n</div>\n\n<!-- WhatsApp Floating Button -->\n<a href=\"https://wa.me/919836233354?text=Hi%2C%20I%20would%20like%20to%20book%20a%20pickup%20with%20The%20Swiss%20Laundry\" class=\"wa-float\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Chat on WhatsApp\">\n <svg viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <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-.51-.173-.008-.371-.01-.57-.01-.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>\n <path d=\"M12 0C5.373 0 0 5.373 0 12c0 2.123.554 4.118 1.528 5.849L.057 24l6.306-1.654A11.954 11.954 0 0012 24c6.627 0 12-5.373 12-12S18.627 0 12 0zm0 21.818a9.818 9.818 0 01-5.002-1.366l-.359-.213-3.722.976.994-3.632-.234-.373A9.818 9.818 0 1112 21.818z\"></path>\n </svg>\n <span class=\"wa-tooltip\">Chat on WhatsApp</span>\n</a>\n\n\n<!-- Sticky Mobile Book Button -->\n<div class=\"mob-sticky-cta\">\n <a href=\"/pickup\" class=\"mob-sticky-btn\">Book a Pickup</a>\n</div>\n\n<!-- Cookie Consent -->\n<div class=\"cookie-bar\" id=\"cookieBar\">\n <p class=\"cookie-txt\">We use cookies to improve your experience. By continuing you agree to our <a href=\"/privacy-policy\" class=\"cookie-link\">Privacy Policy</a>.</p>\n <button class=\"cookie-btn\" onclick=\"acceptCookies()\">Accept</button>\n</div>\n\n\n<!-- Page Preloader -->\n<div class=\"preloader\" id=\"preloader\">\n <div class=\"pre-inner\">\n <div class=\"pre-monogram\">TSL</div>\n <div class=\"pre-line\"></div>\n <p class=\"pre-text\">Est. 2013</p>\n </div>\n</div>\n\n\n\n<!-- Back to Top -->\n\n\n\n\n\n\n\n<h2 class=\"seo-hidden\" style=\"position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)\">Terms and conditions for The Swiss Laundry services</h2>\n<h2 class=\"seo-hidden\" style=\"position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)\">Your rights and obligations as a customer</h2>\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>"
}
