{
  "title": "Carpet & Home Care Kolkata | The Swiss Laundry",
  "description": "Carpet, sofa and curtain cleaning in Kolkata. Hot water extraction and encapsulation. Handmade rugs to machine carpets. Doorstep pickup since 2013.",
  "keywords": "",
  "robots": "index,follow",
  "canonical": "https://www.theswisslaundry.com/carpet-home-care",
  "hreflangs": [
    {
      "hreflang": "en-IN",
      "href": "https://www.theswisslaundry.com/carpet-home-care"
    }
  ],
  "og": {
    "title": "Carpet & Home Care Kolkata — Rugs, Sofas & Curtains | The Swiss Laundry",
    "description": "Professional carpet, sofa and curtain cleaning in Kolkata. Hot water extraction and encapsulation. Doorstep pickup since 2013.",
    "url": "https://www.theswisslaundry.com/carpet-home-care",
    "image": "https://www.theswisslaundry.com/images/og-carpet.svg",
    "image:width": "1200",
    "image:height": "630",
    "site_name": "The Swiss Laundry",
    "type": "website",
    "locale": "en_IN",
    "see_also": "https://www.instagram.com/theswisslaundry_drycleaners/"
  },
  "geo": {
    "region": "IN-WB",
    "placename": "Kolkata"
  },
  "jsonLd": [
    [
      {
        "@context": "https://schema.org",
        "@type": "LocalBusiness",
        "name": "The Swiss Laundry",
        "telephone": "+919836233354",
        "url": "https://www.theswisslaundry.com/carpet-home-care",
        "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": "Carpet & Home Care",
            "item": "https://www.theswisslaundry.com/carpet-home-care"
          }
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "SpeakableSpecification",
        "cssSelector": [
          "h1",
          "h2",
          ".hero-title",
          ".section-title"
        ]
      }
    ]
  ],
  "styleCss": ".ch-hero-h1-line span,.ch-phrase{opacity:1!important;transform:none!important}\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: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}/* 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.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  .ch-annot-col{display:none}\n  .ch-comparison{grid-template-columns:1fr}\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\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  .ch-annot-col{display:none}\n  .ch-comparison{grid-template-columns:1fr}\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  .ch-annot-col{display:none}\n  .ch-comparison{grid-template-columns:1fr}\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.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  .ch-annot-col{display:none}\n  .ch-comparison{grid-template-columns:1fr}\n  .cookie-bar{flex-direction:column;padding:1rem 1.4rem;gap:0.8rem}\n  .cookie-btn{width:100%;padding:10px}\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  .ch-annot-col{display:none}\n  .ch-comparison{grid-template-columns:1fr}\n  .back-to-top{\n    bottom:5.5rem;\n    left:1rem;\n    width:40px;height:40px;\n  }\n}\n\n\n/* ── Reset & base ── */\n*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}\nhtml{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}\nbody{font-family:'Jost',sans-serif;background:var(--dark2);color:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}\nbutton,a{touch-action:manipulation;cursor:pointer}\na{color:inherit;text-decoration:none}\nimg{max-width:100%;display:block}\n.seo-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;pointer-events:none}\n.scroll-bar{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--gold);z-index:9999;pointer-events:none}\n\n/* ── §01 HERO ── */\n.ch-hero{min-height:100vh;display:grid;grid-template-columns:2fr 3fr;background:var(--dark2);overflow:hidden}\n.ch-hero-left{display:flex;flex-direction:column;justify-content:center;padding:9rem 4vw 5rem 8vw;position:relative;z-index:2}\n.ch-hero-right{height:100%;position:relative;overflow:hidden}\n.ch-hero-right img{width:100%;height:100%;object-fit:cover;object-position:center top}\n.ch-eyebrow{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem}\n.ch-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);flex-shrink:0}\n.ch-hero-h1{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(30px,4vw,64px);line-height:1.0;color:#fff;letter-spacing:-.02em;margin-bottom:2rem}\n.ch-hero-h1-line{display:block;overflow:hidden}\n.ch-hero-h1-line span{display:block;}\n.ch-hero-h1 em{font-style:normal;color:var(--pink)}\n.ch-hero-sub{font-family:'Jost',sans-serif;font-size:13px;font-weight:300;line-height:2;color:rgba(255,255,255,.4);max-width:380px;margin-bottom:2.5rem}\n.ch-hero-strip{display:flex;flex-wrap:wrap;gap:1.2rem;border-top:.5px solid rgba(255,255,255,.08);padding-top:2rem}\n.ch-trust-item{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.32);display:flex;align-items:center;gap:.6rem}\n.ch-trust-item::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold);flex-shrink:0}\n.ch-corner{position:absolute;width:16px;height:16px;z-index:3;opacity:.28;pointer-events:none}\n.ch-corner.tl{top:1.5rem;left:1.5rem;border-top:.5px solid var(--gold);border-left:.5px solid var(--gold)}\n.ch-corner.tr{top:1.5rem;right:1.5rem;border-top:.5px solid var(--gold);border-right:.5px solid var(--gold)}\n.ch-corner.bl{bottom:1.5rem;left:1.5rem;border-bottom:.5px solid var(--gold);border-left:.5px solid var(--gold)}\n.ch-corner.br{bottom:1.5rem;right:1.5rem;border-bottom:.5px solid var(--gold);border-right:.5px solid var(--gold)}\n.ch-plate-cap{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.5rem 1rem;background:linear-gradient(to top,rgba(0,0,0,.4),transparent);display:flex;justify-content:space-between;font-family:'Jost',sans-serif;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.2);z-index:2;pointer-events:none}\n\n/* ── §02 STORY ── */\n.ch-story{background:var(--cream);padding:0}\n.ch-story-pin{height:100vh;position:sticky;top:0;display:flex;align-items:center;justify-content:center;transition:background .8s ease}\n.ch-story-pin.mood-mid{background:linear-gradient(180deg,var(--cream) 0%,#1a120a 100%)}\n.ch-story-pin.mood-dark{background:var(--dark2)}\n.ch-story-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0 8vw}\n.ch-phrase{opacity:0;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(28px,5vw,64px);line-height:1.1;letter-spacing:-.025em;text-align:center;max-width:900px;width:90%;position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(calc(-50% + 20px));transition:opacity .7s ease,transform .7s ease,color .5s ease;pointer-events:none}\n.ch-phrase em{font-style:normal}\n.ch-phrase.active{opacity:1;transform:translateX(-50%) translateY(-50%)}\n/* mood colours */\n.ch-story-pin:not(.mood-mid):not(.mood-dark) .ch-phrase{color:var(--dark2)}\n.ch-story-pin:not(.mood-mid):not(.mood-dark) .ch-phrase em{color:var(--pink)}\n.ch-story-pin.mood-mid .ch-phrase{color:var(--dark2)}\n.ch-story-pin.mood-mid .ch-phrase em{color:var(--pink)}\n.ch-story-pin.mood-dark .ch-phrase{color:#fff}\n.ch-story-pin.mood-dark .ch-phrase em{color:var(--gold)}\n/* final phrase larger */\n.ch-phrase:last-child{font-size:clamp(42px,8vw,96px);letter-spacing:-.04em}\n.ch-phrase-sub{display:block;font-family:'Jost',sans-serif;font-size:11px;font-weight:300;letter-spacing:.26em;text-transform:uppercase;margin-top:1.8rem;transition:color .5s ease}\n.ch-story-pin:not(.mood-dark) .ch-phrase-sub{color:rgba(26,25,24,.35)}\n.ch-story-pin.mood-dark .ch-phrase-sub{color:rgba(255,255,255,.22)}\n\n/* ── §03 SCIENCE ── */\n.ch-science{background:var(--dark2);padding:8rem 8vw}\n.ch-science-head{text-align:center;margin-bottom:4rem}\n.ch-sci-eyebrow{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem}\n.ch-science-h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(24px,4vw,48px);color:#fff;letter-spacing:-.02em;line-height:1.1}\n.ch-science-h2 em{font-style:normal;color:var(--pink)}\n.ch-comparison{display:grid;grid-template-columns:1fr 300px 1fr;gap:2rem;align-items:start;max-width:1100px;margin:0 auto}\n/* Annotation columns */\n.ch-annot-col{display:flex;flex-direction:column}\n.ch-annot-col-left{text-align:right;align-items:flex-end}\n.ch-annot-col-right{text-align:left;align-items:flex-start}\n.ch-annot-col-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.8rem;border-bottom:.5px solid rgba(255,255,255,.08);margin-bottom:.5rem}\n.ch-annot-col-left .ch-annot-col-head{flex-direction:row-reverse}\n.ch-badge{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;padding:.35rem 1rem;border:.5px solid}\n.ch-badge-water{color:rgba(100,140,255,.9);border-color:rgba(65,105,225,.3);background:rgba(65,105,225,.1)}\n.ch-badge-solvent{color:var(--gold);border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.08)}\n.ch-drag-label{font-family:'Jost',sans-serif;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.2)}\n.ch-annot{padding:.9rem 0;border-bottom:.5px solid rgba(255,255,255,.05);opacity:.25;transition:opacity .4s ease}\n.ch-annot.active{opacity:1}\n.ch-annot-col-left .ch-annot.active .ch-annot-title{color:rgba(130,170,255,1)}\n.ch-annot-col-right .ch-annot.active .ch-annot-title{color:#fff}\n.ch-annot-col-left .ch-annot.active .ch-annot-pct{color:rgba(120,160,255,1)}\n.ch-annot-col-right .ch-annot.active .ch-annot-pct{color:var(--gold)}\n.ch-annot.active .ch-annot-desc{color:rgba(255,255,255,.65)}\n.ch-annot-pct{font-family:'Jost',sans-serif;font-size:8px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;display:block;margin-bottom:.2rem}\n.ch-annot-col-left .ch-annot-pct{color:rgba(100,140,255,.7)}\n.ch-annot-col-right .ch-annot-pct{color:rgba(201,168,76,.7)}\n.ch-annot-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(14px,1.5vw,18px);color:rgba(255,255,255,.35);display:block;margin-bottom:.3rem;transition:color .4s}\n.ch-annot.active .ch-annot-title{color:#fff}\n.ch-annot-col-left .ch-annot.active .ch-annot-title{color:rgba(120,160,255,.9)}\n.ch-annot-desc{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;line-height:1.7;color:rgba(255,255,255,.22);transition:color .4s}\n.ch-annot.active .ch-annot-desc{color:rgba(255,255,255,.55)}\n/* Slider box */\n.ch-slider-box{position:sticky;top:1rem}\n.ch-slider-container{position:relative;height:340px;overflow:hidden;border:.5px solid rgba(255,255,255,.08);cursor:ew-resize;user-select:none;-webkit-user-select:none}\n.ch-slider-side{position:absolute;inset:0;display:flex;flex-direction:column}\n.ch-slider-before{background:linear-gradient(160deg,#070816,#0d1024);clip-path:inset(0 50% 0 0)}\n.ch-slider-after{background:linear-gradient(160deg,#050e05,#0b1a0b)}\n.ch-fibre-area{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:1.5rem}\n.ch-side-lbl{position:absolute;top:.8rem;font-family:'Jost',sans-serif;font-size:8px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;padding:.25rem .6rem;z-index:2;pointer-events:none}\n.ch-side-lbl-water{right:.6rem;color:rgba(100,140,255,.7);background:rgba(65,105,225,.1);border:.5px solid rgba(65,105,225,.2)}\n.ch-side-lbl-solvent{left:.6rem;color:var(--gold);background:rgba(201,168,76,.06);border:.5px solid rgba(201,168,76,.15)}\n.ch-fibres{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;width:100%;height:100%}\n.ch-fw{height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(65,105,225,.7),rgba(100,140,255,.5),rgba(65,105,225,.7));animation:swell 2s ease-in-out infinite}\n.ch-fw:nth-child(1){width:80%} .ch-fw:nth-child(2){width:90%;animation-delay:.2s}\n.ch-fw:nth-child(3){width:74%;animation-delay:.4s} .ch-fw:nth-child(4){width:85%;animation-delay:.1s}\n.ch-fw:nth-child(5){width:78%;animation-delay:.3s}\n@keyframes swell{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.4)}}\n.ch-bleed{position:absolute;width:7px;height:7px;border-radius:50%;background:rgba(180,60,80,.6);animation:bleed 3s ease-in-out infinite}\n.ch-bleed:nth-child(1){top:25%;left:35%} .ch-bleed:nth-child(2){top:55%;left:60%;animation-delay:1s}\n.ch-bleed:nth-child(3){top:70%;left:42%;animation-delay:2s}\n@keyframes bleed{0%{transform:scale(1);opacity:.6}100%{transform:scale(5);opacity:0}}\n.ch-fs{height:9px;border-radius:5px;background:linear-gradient(90deg,rgba(201,168,76,.5),rgba(226,201,126,.35),rgba(201,168,76,.5))}\n.ch-fs:nth-child(1){width:80%} .ch-fs:nth-child(2){width:88%} .ch-fs:nth-child(3){width:74%}\n.ch-fs:nth-child(4){width:84%} .ch-fs:nth-child(5){width:79%}\n.ch-dissolve{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(201,168,76,.08),transparent 65%);animation:dissolve 2.5s ease-in-out infinite alternate}\n@keyframes dissolve{0%{opacity:.3}100%{opacity:.9}}\n.ch-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:rgba(255,255,255,.7);transform:translateX(-50%);z-index:10;pointer-events:none}\n.ch-handle-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.4)}\n.ch-handle-btn svg{width:16px;height:16px;color:var(--dark2)}\n.ch-ruler{position:absolute;bottom:0;left:0;right:0;height:20px;border-top:.5px solid rgba(255,255,255,.07);pointer-events:none;z-index:3}\n.ch-ruler-tick{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;top:0}\n.ch-ruler-tick::before{content:'';width:1px;height:5px;background:rgba(255,255,255,.2)}\n.ch-ruler-tick span{font-family:'Jost',sans-serif;font-size:6px;letter-spacing:.1em;color:rgba(255,255,255,.2);margin-top:1px}\n.ch-drag-hint{text-align:center;margin-top:1rem;font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.2)}\n.ch-sci-caption{text-align:center;margin-top:3.5rem;font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(18px,2.2vw,26px);color:rgba(255,255,255,.45);max-width:600px;margin-left:auto;margin-right:auto}\n.ch-sci-caption em{font-style:normal;color:rgba(255,255,255,.7)}\n\n/* ── §04 SOLVENTS ── */\n.ch-solvents{background:var(--cream);padding:8rem 0}\n.ch-solvents-head{padding:0 8vw;margin-bottom:4rem}\n.ch-sol-eyebrow{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}\n.ch-sol-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold)}\n.ch-solvents-h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(24px,4vw,48px);color:var(--dark2);letter-spacing:-.02em;line-height:1.1}\n.ch-solvents-grid{display:grid;grid-template-columns:1fr 1fr;border-top:.5px solid rgba(26,25,24,.1)}\n.ch-solvent-card{padding:4rem 8vw;position:relative;overflow:hidden}\n.ch-solvent-card:first-child{border-right:.5px solid rgba(26,25,24,.08)}\n.ch-sol-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:80px;color:transparent;-webkit-text-stroke:1px rgba(26,25,24,.07);line-height:1;position:absolute;top:2.5rem;right:4rem;pointer-events:none}\n.ch-sol-tag{font-family:'Jost',sans-serif;font-size:8px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.6rem}\n.ch-sol-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(22px,3vw,36px);color:var(--dark2);line-height:1.05;display:block;margin-bottom:.3rem}\n.ch-sol-sub{font-family:'Jost',sans-serif;font-size:11px;font-weight:300;color:rgba(26,25,24,.4);display:block;margin-bottom:1.8rem}\n.ch-sol-desc{font-family:'Jost',sans-serif;font-size:13px;font-weight:300;line-height:2;color:rgba(26,25,24,.58);margin-bottom:1.5rem}\n.ch-sol-used{font-family:'Jost',sans-serif;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:rgba(26,25,24,.3);display:block;margin-bottom:.7rem}\n.ch-fabric-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.8rem}\n.ch-fabric-tag{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;letter-spacing:.06em;color:var(--dark2);border:.5px solid rgba(26,25,24,.15);padding:.3rem .75rem}\n.ch-sol-verdict{padding:1rem 1.2rem;border-left:1.5px solid rgba(192,65,90,.3)}\n.ch-sol-verdict p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:14px;line-height:1.7;color:rgba(192,65,90,.7)}\n.ch-sol-footer{padding:3rem 8vw 0;border-top:.5px solid rgba(26,25,24,.08);text-align:center}\n.ch-sol-footer p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(18px,2.5vw,30px);color:var(--dark2)}\n.ch-sol-footer em{font-style:normal;color:var(--pink)}\n\n/* ── §05 FABRICS ── */\n.ch-fabrics{background:var(--dark2);padding:8rem 0}\n.ch-fabrics-head{padding:0 8vw;margin-bottom:0}\n.ch-fab-eyebrow{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:1rem;margin-bottom:.8rem}\n.ch-fab-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold)}\n.ch-fabrics-h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(24px,4vw,48px);color:#fff;letter-spacing:-.02em;line-height:1.05;margin-bottom:3rem}\n.ch-fabrics-h2 em{font-style:normal;color:var(--pink)}\n.ch-fabrics-layout{display:grid;grid-template-columns:220px 1fr;border-top:.5px solid rgba(255,255,255,.07)}\n.ch-fab-list{border-right:.5px solid rgba(255,255,255,.07);padding:1rem 0}\n.ch-fab-btn{width:100%;padding:.85rem 1.5rem .85rem 2rem;background:none;border:none;text-align:left;display:flex;flex-direction:column;gap:.15rem;border-left:2px solid transparent;transition:background .2s,border-color .2s;cursor:pointer}\n.ch-fab-btn:hover{background:rgba(255,255,255,.03)}\n.ch-fab-btn.active{border-left-color:var(--pink);background:rgba(255,255,255,.04)}\n.ch-fab-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(13px,1.4vw,16px);color:rgba(255,255,255,.45);transition:color .2s;line-height:1.2}\n.ch-fab-btn.active .ch-fab-name,.ch-fab-btn:hover .ch-fab-name{color:#fff}\n.ch-fab-hindi{font-family:'Jost',sans-serif;font-size:8px;font-weight:300;letter-spacing:.06em;color:rgba(255,255,255,.18)}\n.ch-fab-detail{position:relative;min-height:400px}\n.ch-fab-panel{display:none;position:absolute;inset:0;grid-template-columns:1fr 1fr;height:100%}\n.ch-fab-panel.active{display:grid;grid-template-columns:1fr 1fr;min-height:400px;align-items:stretch}\n.ch-fab-img{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:1.2rem}\n.ch-fab-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\n.ch-fab-img-hint{font-family:'Jost',sans-serif;font-size:8px;letter-spacing:.16em;text-transform:uppercase;font-style:italic;position:relative;z-index:1}\n.ch-fab-info{padding:2.5rem 2.5rem 2.5rem 2rem;display:flex;flex-direction:column;justify-content:center;border-left:.5px solid rgba(255,255,255,.06);overflow-y:auto}\n.ch-fab-label-hindi{font-family:'Jost',sans-serif;font-size:9px;font-weight:300;letter-spacing:.18em;color:rgba(255,255,255,.2);margin-bottom:.3rem;display:block}\n.ch-fab-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(20px,2.5vw,32px);color:#fff;display:block;margin-bottom:.3rem;line-height:1.1}\n.ch-fab-gtag{color:var(--gold);opacity:.5;font-size:8px}\n.ch-fab-garments{white-space:normal;flex-wrap:wrap;font-family:'Jost',sans-serif;font-size:10px;font-weight:300;letter-spacing:.12em;color:rgba(255,255,255,.28);margin-bottom:1.2rem;display:block}\n.ch-fab-desc{font-family:'Jost',sans-serif;font-size:12px;font-weight:300;line-height:1.9;color:rgba(255,255,255,.5);margin-bottom:1.2rem}\n.ch-fab-method-lbl{font-family:'Jost',sans-serif;font-size:8px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.7;display:block;margin-bottom:.25rem}\n.ch-fab-method{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(13px,1.5vw,17px);color:var(--gold);display:block;margin-bottom:1rem}\n.ch-fab-note{padding:.7rem 1rem;border-left:1.5px solid rgba(192,65,90,.35);font-family:'Jost',sans-serif;font-size:11px;font-weight:300;line-height:1.65;color:rgba(192,65,90,.6);font-style:italic}\n\n/* ── §06 STANDARDS ── */\n.ch-standards{background:var(--cream);padding:8rem 8vw}\n.ch-std-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:.5px solid rgba(26,25,24,.1)}\n.ch-std-item{padding:3.5rem 2.5rem 3.5rem 0;border-right:.5px solid rgba(26,25,24,.07)}\n.ch-std-item:last-child{border-right:none;padding-right:0}\n.ch-std-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(44px,6vw,70px);color:transparent;-webkit-text-stroke:1px rgba(192,65,90,.18);line-height:1;display:block;margin-bottom:1.2rem}\n.ch-std-h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(16px,2vw,22px);color:var(--dark2);line-height:1.25;display:block;margin-bottom:.8rem}\n.ch-std-h3 em{font-style:normal;color:var(--pink)}\n.ch-std-p{font-family:'Jost',sans-serif;font-size:12px;font-weight:300;line-height:1.9;color:rgba(26,25,24,.5)}\n\n/* ── §07 FACT ── */\n.ch-fact{background:var(--dark2);padding:8rem 8vw;text-align:center}\n.ch-fact-eyebrow{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:rgba(255,255,255,.28);display:block;margin-bottom:2.5rem}\n.ch-fact-quote{max-width:820px;margin:0 auto}\n.ch-fact-text{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(22px,3.5vw,44px);line-height:1.2;color:#fff;display:block;letter-spacing:-.02em}\n.ch-fact-emph{font-size:clamp(26px,4vw,52px)}\n.ch-fact-emph em{font-style:normal;color:var(--gold)}\n.ch-fact-cite{display:block;margin-top:2rem;font-family:'Jost',sans-serif;font-size:9px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.2)}\n.ch-fact-note{margin:2rem auto 0;font-family:'Jost',sans-serif;font-size:11px;font-weight:300;line-height:1.8;color:rgba(255,255,255,.2);font-style:italic;max-width:580px;border-top:.5px solid rgba(255,255,255,.06);padding-top:1.5rem}\n\n/* ── §08 TRUST ── */\n.ch-trust{background:var(--cream);padding:8rem 8vw}\n.ch-trust-grid{display:grid;grid-template-columns:1fr 1fr;border-top:.5px solid rgba(26,25,24,.1)}\n.ch-trust-block{padding:3.5rem 3rem 3.5rem 0;border-right:.5px solid rgba(26,25,24,.07)}\n.ch-trust-block:nth-child(even){padding-left:3rem;padding-right:0;border-right:none}\n.ch-trust-block:nth-child(3),.ch-trust-block:nth-child(4){border-top:.5px solid rgba(26,25,24,.07)}\n.ch-trust-h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(17px,2.2vw,27px);color:var(--dark2);line-height:1.3;display:block;margin-bottom:.8rem}\n.ch-trust-h3 em{font-style:normal;color:var(--pink)}\n.ch-trust-note{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;letter-spacing:.12em;color:rgba(26,25,24,.35);display:flex;align-items:center;gap:.7rem}\n.ch-trust-note::before{content:'—';color:var(--gold)}\n\n/* ── §09 BRIDGE ── */\n.ch-bridge{background:var(--dark2);padding:6rem 8vw;border-top:.5px solid rgba(255,255,255,.06);display:grid;grid-template-columns:1fr auto;gap:5rem;align-items:center}\n.ch-bridge-h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(20px,3vw,40px);color:#fff;letter-spacing:-.02em;line-height:1.15;margin-bottom:.8rem}\n.ch-bridge-h2 em{font-style:normal;color:var(--gold)}\n.ch-bridge-p{font-family:'Jost',sans-serif;font-size:12px;font-weight:300;line-height:2;color:rgba(255,255,255,.3);max-width:480px}\n.ch-bridge-btn{display:inline-flex;align-items:center;gap:.8rem;font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);white-space:nowrap;flex-shrink:0;border:.5px solid rgba(201,168,76,.3);padding:1.1rem 2.2rem;transition:background .3s,gap .3s,border-color .3s}\n.ch-bridge-btn:hover{background:rgba(201,168,76,.08);border-color:var(--gold);gap:1.2rem}\n\n/* ── §10 PROCESS ── */\n.ch-process{background:var(--cream);padding:5rem 8vw;border-top:.5px solid rgba(26,25,24,.1)}\n.ch-proc-eyebrow{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:1rem;margin-bottom:2rem}\n.ch-proc-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold)}\n.ch-proc-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:.5px solid rgba(26,25,24,.08)}\n.ch-ps-item{padding:1.8rem 2rem 1.8rem 0;border-right:.5px solid rgba(26,25,24,.07)}\n.ch-ps-item:last-child{border-right:none;padding-right:0}\n.ch-ps-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:28px;color:var(--pink);line-height:1;display:block;margin-bottom:.4rem}\n.ch-ps-lbl{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;letter-spacing:.1em;color:rgba(26,25,24,.45);line-height:1.65}\n.ch-proc-link{display:inline-flex;align-items:center;gap:.7rem;font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--dark2);margin-top:2rem;border-bottom:.5px solid rgba(26,25,24,.2);padding-bottom:2px;transition:gap .3s}\n.ch-proc-link:hover{gap:1.1rem}\n\n/* ── §11 CTA ── */\n.ch-cta{background:var(--dark2);padding:9rem 8vw;position:relative;overflow:hidden}\n.ch-cta::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 60px,rgba(201,168,76,.012) 60px,rgba(201,168,76,.012) 61px);pointer-events:none}\n.ch-cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:5rem;align-items:center}\n.ch-cta-eyebrow{font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1.2rem}\n.ch-cta-h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(32px,5vw,66px);line-height:.95;color:#fff;letter-spacing:-.03em;margin-bottom:1rem}\n.ch-cta-h2 em{font-style:normal;color:var(--pink)}\n.ch-cta-sub{font-family:'Jost',sans-serif;font-size:12px;font-weight:300;line-height:1.9;color:rgba(255,255,255,.28)}\n.ch-cta-btns{display:flex;flex-direction:column;gap:.7rem;flex-shrink:0;min-width:200px}\n.btn-p{display:flex;align-items:center;justify-content:center;gap:.6rem;background:var(--cream);color:var(--dark2);font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:1.1rem 2.2rem;transition:background .3s;white-space:nowrap}\n.btn-p:hover{background:var(--gold-l)}\n.btn-s{display:flex;align-items:center;justify-content:center;gap:.6rem;background:transparent;color:rgba(255,255,255,.6);font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:1.1rem 2.2rem;border:.5px solid rgba(255,255,255,.15);transition:border-color .3s,color .3s;white-space:nowrap}\n.btn-s:hover{border-color:rgba(255,255,255,.4);color:#fff}\n.btn-w{display:flex;align-items:center;justify-content:center;gap:.6rem;background:#25D366;color:#fff;font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:1.1rem 2.2rem;transition:background .3s;white-space:nowrap}\n.btn-w:hover{background:#1da851}\n\n/* ── RESPONSIVE ── */\n@media(max-width:1024px){\n  .ch-fab-img{aspect-ratio:1/1}\n  .ch-hero{grid-template-columns:1fr}\n  .ch-hero-right{display:none}\n  /* hero handled */\n  .ch-hero-left{min-height:100vh;padding:9rem 6vw 5rem}\n  .ch-comparison{grid-template-columns:1fr}\n  .ch-fabrics-layout{grid-template-columns:1fr}\n  .ch-fab-list{display:flex;flex-wrap:wrap;border-right:none;border-bottom:.5px solid rgba(255,255,255,.07);padding:1rem 4vw;gap:.4rem}\n  .ch-fab-btn{width:auto;padding:.4rem .8rem;border-left:none;border-bottom:2px solid transparent;flex-direction:row;gap:.4rem}\n  .ch-fab-btn.active{border-bottom-color:var(--pink);border-left:none}\n  .ch-fab-hindi{display:none}\n  .ch-fab-detail{min-height:auto}\n  .ch-fab-panel{position:relative;inset:auto;height:auto;min-height:auto}\n  .ch-fab-panel.active{display:grid;grid-template-columns:1fr;min-height:auto}\n  .ch-fab-img{min-height:200px}\n  .ch-fab-info{padding:2rem 4vw;overflow-y:visible}\n  .ch-trust-grid{grid-template-columns:1fr}\n  .ch-trust-block,.ch-trust-block:nth-child(even){padding:2.5rem 0;border-right:none}\n  .ch-trust-block:nth-child(3),.ch-trust-block:nth-child(4){border-top:.5px solid rgba(26,25,24,.07)}\n  .ch-bridge{grid-template-columns:1fr;gap:2.5rem}\n  .ch-cta-inner{grid-template-columns:1fr;gap:3rem}\n  .ch-cta-btns{flex-direction:row;flex-wrap:wrap}\n}\n@media(max-width:768px){\n  .ch-annot-col{display:none}\n  .ch-comparison{grid-template-columns:1fr}\n  .ch-science,.ch-fact,.ch-trust,.ch-standards,.ch-bridge,.ch-process,.ch-cta{padding-left:6vw;padding-right:6vw}\n  .ch-solvents-head,.ch-fabrics-head{padding-left:6vw;padding-right:6vw}\n  .ch-solvents-grid{grid-template-columns:1fr}\n  .ch-solvent-card:first-child{border-right:none;border-bottom:.5px solid rgba(26,25,24,.08)}\n  .ch-std-grid{grid-template-columns:1fr}\n  .ch-std-item{border-right:none;border-bottom:.5px solid rgba(26,25,24,.07);padding:2.5rem 0}\n  .ch-proc-grid{grid-template-columns:repeat(2,1fr)}\n}\n@media(max-width:480px){\n  .ch-proc-grid{grid-template-columns:1fr}\n  .ch-ps-item{border-right:none;border-bottom:.5px solid rgba(26,25,24,.07);padding:1.5rem 0}\n  .ch-hero-strip{flex-direction:column;gap:.7rem}\n}\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  .ch-fab-img{aspect-ratio:1/1}\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/* ── CARPET PAGE SPECIFIC ── */\n.ch-methods-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:.5px solid rgba(26,25,24,.1);max-width:1100px;margin:3rem auto 0}\n.ch-method-card{padding:3rem 3rem 3rem 0;border-right:.5px solid rgba(26,25,24,.07)}\n.ch-method-card:last-child{padding-left:3rem;padding-right:0;border-right:none}\n.ch-method-badge{font-family:'Jost',sans-serif;font-size:8px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;padding:.35rem 1rem;border:.5px solid;display:inline-block;margin-bottom:1rem}\n.ch-badge-hot{color:rgba(192,65,90,.8);border-color:rgba(192,65,90,.3);background:rgba(192,65,90,.05)}\n.ch-badge-enc{color:var(--gold);border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05)}\n.ch-method-h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(18px,2.2vw,26px);color:var(--dark2);display:block;margin-bottom:.5rem}\n.ch-method-sub{font-family:'Jost',sans-serif;font-size:11px;font-weight:300;color:rgba(26,25,24,.4);display:block;margin-bottom:1rem}\n.ch-method-desc{font-family:'Jost',sans-serif;font-size:13px;font-weight:300;line-height:2;color:rgba(26,25,24,.6);margin-bottom:1rem}\n.ch-method-used{font-family:'Jost',sans-serif;font-size:8px;letter-spacing:.2em;text-transform:uppercase;color:rgba(26,25,24,.3);display:block;margin-bottom:.5rem}\n.ch-method-items{display:flex;flex-wrap:wrap;gap:.4rem}\n.ch-method-item{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;color:var(--dark2);border:.5px solid rgba(26,25,24,.15);padding:.25rem .7rem}\n\n/* Process steps */\n.ch-process-section{background:var(--dark2);padding:8rem 8vw}\n.ch-proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:.5px solid rgba(255,255,255,.07);margin-top:4rem;max-width:1100px;margin-left:auto;margin-right:auto}\n.ch-proc-item{padding:2.5rem 2rem 2.5rem 0;border-right:.5px solid rgba(255,255,255,.05)}\n.ch-proc-item:nth-child(3n){border-right:none}\n.ch-proc-item:nth-child(4),.ch-proc-item:nth-child(5),.ch-proc-item:nth-child(6){border-top:.5px solid rgba(255,255,255,.05)}\n.ch-proc-num{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(36px,4vw,52px);color:transparent;-webkit-text-stroke:1px rgba(192,65,90,.25);line-height:1;display:block;margin-bottom:.8rem}\n.ch-proc-h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(15px,1.8vw,20px);color:#fff;display:block;margin-bottom:.5rem}\n.ch-proc-desc{font-family:'Jost',sans-serif;font-size:12px;font-weight:300;line-height:1.85;color:rgba(255,255,255,.4)}\n\n@media(max-width:768px){\n  .ch-methods-grid{grid-template-columns:1fr}\n  .ch-method-card,.ch-method-card:last-child{padding:2rem 0;border-right:none;border-bottom:.5px solid rgba(26,25,24,.07)}\n  .ch-proc-grid{grid-template-columns:1fr 1fr}\n  .ch-proc-item:nth-child(3n){border-right:.5px solid rgba(255,255,255,.05)}\n  .ch-proc-item:nth-child(2n){border-right:none}\n}\n@media(max-width:480px){\n  .ch-proc-grid{grid-template-columns:1fr}\n  .ch-proc-item{border-right:none!important;border-bottom:.5px solid rgba(255,255,255,.05)}\n}\n\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\nbutton,a,[role=\"button\"]{touch-action:manipulation;cursor:pointer}\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@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\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/* breadcrumb contrast */\n.tsl-crumbs a,.tsl-crumbs li{color:rgba(255,255,255,.75)!important}\n.tsl-crumbs a:hover{color:var(--gold,#C9A84C)!important}\n.tsl-crumbs li[aria-current=\"page\"]{color:rgba(255,255,255,.95)!important}\n[data-theme=\"light\"] .tsl-crumbs a,\n[data-theme=\"light\"] .tsl-crumbs li,\n.s-cream .tsl-crumbs a,\n.s-cream .tsl-crumbs li{\n  color:rgba(26,25,24,.75)!important;\n}\n[data-theme=\"light\"] .tsl-crumbs a:hover,\n.s-cream .tsl-crumbs a:hover{color:var(--pink,#C0415A)!important}\n@media (prefers-color-scheme: light){\n  /* crumbs sit on cream body above dark heroes */\n  body > .tsl-crumbs a,\n  body > .tsl-crumbs li,\n  main > .tsl-crumbs a,\n  .scroll-bar + .tsl-crumbs a,\n  .scroll-bar + .tsl-crumbs li,\n  #introScreen + .tsl-crumbs a,\n  div > .tsl-crumbs a,\n  div > .tsl-crumbs li{\n    color:rgba(26,25,24,.75)!important;\n  }\n}\n\n/* ═══ Force dark-default shell ═══ */\n:root{\n  --off:#1a1918 !important;\n  --pink-pale:#1a1918 !important;\n}\nbody{\n  background:var(--bg,var(--off,#1a1918))!important;\n  color:var(--txt,#fff)!important;\n}\n/* When a page hardcodes cream body vars, keep body dark unless OS wants light */\n@media (prefers-color-scheme: light){\n  :root{\n    --off:#FAFAF8 !important;\n    --pink-pale:#fdf0f2 !important;\n  }\n  body{\n    background:var(--cream,var(--off,#F5F0E8))!important;\n    color:var(--dark2,var(--ink,#1a1918))!important;\n  }\n}\n\n\n/* ═══ Phrase carousel fix ═══ */\n.ch-phrase{opacity:0!important;pointer-events:none;transform:translateX(-50%) translateY(-50%)!important}\n.ch-phrase.active{opacity:1!important;pointer-events:auto;transform:translateX(-50%) translateY(-50%)!important}\n.ch-story-pin{background:var(--dark2,#1a1918)!important}\n.ch-story-pin .ch-phrase,.ch-story-pin .ch-phrase em{color:#fff!important}\n.ch-story-pin .ch-phrase em{color:var(--gold,#C9A84C)!important}\n.ch-phrase-sub{color:rgba(255,255,255,.55)!important}\n\n\n\n\n\n\n/* ═══ Universal dark-default content readability v3 ═══ */\n.faq-a{color:rgba(255,255,255,.78)!important}\n.faq-q{color:rgba(255,255,255,.92)!important}\n.faq-item.open .faq-q,.faq-q:hover{color:var(--gold,#C9A84C)!important}\n\n.hub-faq,.hub-faq-inner{background:#1a1918!important;color:#fff!important}\n.hub-faq-h2{color:#fff!important}\n.hub-faq-h2 em{color:var(--gold,#C9A84C)!important}\n.hub-faq-ey{color:var(--gold,#C9A84C)!important}\n\n/* cream hub sections */\n.hub-grid-sec.cream .hub-sec-h2{color:var(--ink,#1a1918)!important}\n.hub-grid-sec.cream .hub-sec-h2 em{color:var(--gold,#C9A84C)!important}\n.hub-grid-sec.cream .hub-sec-sub{color:rgba(26,25,24,.65)!important}\n.hub-grid-sec.cream .hub-sec-ey{color:var(--gold,#C9A84C)!important}\n/* dark/off hub sections */\n.hub-grid-sec.off .hub-sec-h2,.hub-grid-sec.off .hub-sec-h2,\n.off .hub-sec-h2{color:#fff!important}\n.hub-grid-sec.off .hub-sec-h2 em{color:var(--gold,#C9A84C)!important}\n.hub-grid-sec.off .hub-sec-sub,.off .hub-sec-sub{color:rgba(255,255,255,.65)!important}\n.hub-grid-sec.off .hub-sec-ey{color:var(--gold,#C9A84C)!important}\n\n/* Cream FAQ bands */\n.aeo-faq .faq-q,.bsc-faq .faq-q,.dcm-faq .faq-q,.dpc-faq .faq-q,.g-faq .faq-q,\n.sp-faq .faq-q,.sscg-faq .faq-q,.wcg-faq .faq-q,.wcs-faq .faq-q,\n.guide-faq .faq-q,.csr-faq .faq-q,.ex-faq .faq-q{\n  color:rgba(26,25,24,.92)!important;\n}\n.aeo-faq .faq-a,.bsc-faq .faq-a,.dcm-faq .faq-a,.dpc-faq .faq-a,.g-faq .faq-a,\n.sp-faq .faq-a,.sscg-faq .faq-a,.wcg-faq .faq-a,.wcs-faq .faq-a,\n.guide-faq .faq-a,.csr-faq .faq-a,.ex-faq .faq-a{\n  color:rgba(26,25,24,.7)!important;\n}\n.aeo-faq .faq-item.open .faq-q,.aeo-faq .faq-q:hover,\n.bsc-faq .faq-item.open .faq-q,.bsc-faq .faq-q:hover,\n.g-faq .faq-item.open .faq-q,.g-faq .faq-q:hover,\n.dcm-faq .faq-item.open .faq-q,.dpc-faq .faq-item.open .faq-q,\n.sp-faq .faq-item.open .faq-q,.sscg-faq .faq-item.open .faq-q,\n.wcg-faq .faq-item.open .faq-q,.wcs-faq .faq-item.open .faq-q,\n.guide-faq .faq-item.open .faq-q,.csr-faq .faq-item.open .faq-q,\n.ex-faq .faq-item.open .faq-q{color:var(--gold,#C9A84C)!important}\n\n/* Dark FAQ shells */\n.dvw-faq .faq-q,.lk-faq .faq-q,.to-faq .faq-q,.hub-faq .faq-q{color:rgba(255,255,255,.92)!important}\n.dvw-faq .faq-a,.lk-faq .faq-a,.to-faq .faq-a,.hub-faq .faq-a{color:rgba(255,255,255,.78)!important}\n.dvw-faq .faq-item.open .faq-q,.lk-faq .faq-item.open .faq-q,.to-faq .faq-item.open .faq-q,\n.hub-faq .faq-item.open .faq-q,.hub-faq .faq-q:hover{color:var(--gold,#C9A84C)!important}\n\n/* AEO */\n.aeo-h2,.aeo-h3,.aeo-title{color:#fff!important}\n.aeo-p,.aeo-lead,.aeo-li,.aeo-body,.aeo-text{color:rgba(255,255,255,.78)!important}\n.aeo-section td,.aeo-section th,.aeo-body td,.aeo-body th,\n.care-cell,.yes-cell,.exp-cell,.warn-cell{\n  color:rgba(255,255,255,.8)!important;border-color:rgba(255,255,255,.12)!important;\n}\n\n/* Guide cards on dark */\n.guide-card,.gc-card{\n  background:rgba(255,255,255,.05)!important;\n  border-color:rgba(255,255,255,.12)!important;\n  color:rgba(255,255,255,.85)!important;\n}\n.gc-title,.gc-tag,.gc-meta,.gc-desc{color:rgba(255,255,255,.8)!important}\n.gc-title{color:#fff!important}\n.gc-tag{color:var(--gold,#C9A84C)!important}\n\n/* Guides index grid */\n.gd-grid{background:transparent!important;border-color:rgba(255,255,255,.1)!important}\n.gd-grid a,.gd-grid a:visited{\n  background:rgba(255,255,255,.05)!important;\n  color:rgba(255,255,255,.85)!important;\n}\n.gd-grid a:hover{background:rgba(255,255,255,.08)!important}\n.gd-grid .t{color:#fff!important}\n.gd-grid .d{color:rgba(255,255,255,.6)!important}\n.gd-label{color:var(--gold,#C9A84C)!important}\n\n/* Callouts + inline links on dark */\n.box-title,.garment-fabric,.sym-pro,.lw-method-note,.lw-fab-note,\n.garment-note-text{color:rgba(255,255,255,.85)!important}\n.box-title a,.sym-pro a,.garment-note-text a,.warn-box a,.fact-box a,\n.clause-body a,.aeo-p a,.aeo-li a{\n  color:var(--gold,#C9A84C)!important;\n}\n\n/* Site map */\n.sm-grid a,.sm-grid a:visited{color:rgba(255,255,255,.85)!important}\n.sm-grid a:hover{color:var(--gold,#C9A84C)!important}\n.sm-sec h2,.sm-hero h1{color:#fff!important}\n.sm-sec .note,.sm-sub,.sm-sec h2 .cnt{color:rgba(255,255,255,.55)!important}\n\n.to-section-h2,.lk-h2{color:#fff!important}\n\n\n/* cream hub guide cards = dark text on light cards */\n.hub-grid-sec.cream .guide-card,\n.cream .guide-card{\n  background:#fff!important;\n  border-color:rgba(26,25,24,.08)!important;\n  color:rgba(26,25,24,.85)!important;\n}\n.hub-grid-sec.cream .gc-title,\n.cream .gc-title{color:#1a1918!important}\n.hub-grid-sec.cream .gc-desc,\n.cream .gc-desc{color:rgba(26,25,24,.55)!important}\n.hub-grid-sec.cream .gc-tag,\n.cream .gc-tag{color:var(--gold,#C9A84C)!important}\n.hub-grid-sec.cream .gc-meta,\n.cream .gc-meta{color:rgba(26,25,24,.45)!important}\n/* off/dark hub guide cards stay light-on-dark */\n.hub-grid-sec.off .guide-card,\n.off .guide-card{\n  background:rgba(255,255,255,.05)!important;\n  color:rgba(255,255,255,.85)!important;\n}\n.hub-grid-sec.off .gc-title,.off .gc-title{color:#fff!important}\n.hub-grid-sec.off .gc-desc,.off .gc-desc{color:rgba(255,255,255,.7)!important}\n/* pink CTA links on dark — brighten */\n.pro-trigger-text a,.sym-pro a,.garment-note-text a{\n  color:#E8A0AD!important;\n  text-decoration:underline;\n}\n",
  "scriptJs": "function acceptCookies(){\n  try {\n    localStorage.setItem('tsl_cookies','accepted');\n    document.querySelectorAll('.cookie-bar').forEach(function(bar){ bar.classList.remove('show'); bar.style.display='none'; });\n  } catch(e){}\n}\nwindow.addEventListener('DOMContentLoaded', function(){\n  try {\n    if(!localStorage.getItem('tsl_cookies')){\n      setTimeout(function(){\n        var bar = document.getElementById('cookieBar')\n        if(bar) bar.classList.add('show')\n      }, 2000)\n    }\n  } catch(e){}\n})\n;\nwindow.addEventListener('load', function(){\n  setTimeout(function(){\n    var pl = document.getElementById('preloader')\n    if(pl) pl.classList.add('hidden')\n  }, 1200)\n})\n;\n(function(){\n  gsap.registerPlugin(ScrollTrigger)\n\n  window.addEventListener('scroll',function(){\n    var b=document.getElementById('scrollBar')\n    if(b) b.style.width=(window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100)+'%'\n  },{passive:true})\n\n  // Hero entrance\n  var tl=gsap.timeline({delay:.25})\n  tl.from('#chEyebrow',{opacity:0,y:10,duration:.7,ease:'power2.out'},0)\n    .from('.ch-hero-h1-line span',{y:'110%',duration:1,ease:'power3.out',stagger:.1},.15)\n    .from('#chHeroSub',{opacity:0,duration:.8,ease:'power2.out'},.6)\n    .from('#chHeroStrip',{opacity:0,duration:.7,ease:'power2.out'},.85)\n\n  // Story scroll\n  var story=document.getElementById('chStory')\n  var pin=document.getElementById('chStoryPin')\n  var phrases=document.querySelectorAll('.ch-phrase')\n  if(story&&pin&&phrases.length){\n    window.addEventListener('scroll',function(){\n      var t=story.getBoundingClientRect().top\n      var h=story.offsetHeight-window.innerHeight\n      var p=Math.max(0,Math.min(1,-t/h))\n      var idx=Math.min(phrases.length-1,Math.floor(p*phrases.length))\n      phrases.forEach(function(ph,i){ph.classList.toggle('active',i===idx)})\n      var mood=phrases[idx]?phrases[idx].getAttribute('data-mood'):'cream'\n      pin.classList.toggle('mood-mid',mood==='mid')\n      pin.classList.toggle('mood-dark',mood==='dark')\n    },{passive:true})\n  }\n\n  // Item selector\n  var itBtns=document.querySelectorAll('.ch-fab-btn')\n  var itPanels=document.querySelectorAll('.ch-fab-panel')\n  itBtns.forEach(function(btn){\n    btn.addEventListener('click',function(){\n      var idx=btn.getAttribute('data-i')\n      itBtns.forEach(function(b){b.classList.remove('active')})\n      itPanels.forEach(function(p){p.classList.remove('active')})\n      btn.classList.add('active')\n      var panel=document.getElementById('chP'+idx)\n      if(panel){panel.classList.add('active');gsap.from(panel,{opacity:0,x:8,duration:.4,ease:'power2.out'})}\n    })\n    btn.addEventListener('keydown',function(e){if(e.key==='Enter'||e.key===' '){e.preventDefault();btn.click()}})\n  })\n\n  // Scroll reveals\n  var revs=[\n    {t:'#chItemHead', p:{opacity:0,y:12}},\n    {t:'#chMethodHead',p:{opacity:0,y:12}},\n    {t:'#chProcHead',  p:{opacity:0,y:12}},\n    {t:'#chFactQ',     p:{opacity:0,y:12}},\n    {t:'#chBridge',    p:{opacity:0,y:12}},\n    {t:'#chCta',       p:{opacity:0,y:12}},\n  ]\n  revs.forEach(function(r){\n    ScrollTrigger.create({trigger:r.t,start:'top 78%',once:true,\n      onEnter:function(){gsap.from(r.t,Object.assign({},r.p,{duration:.85,ease:'power2.out'}))}\n    })\n  })\n  ScrollTrigger.create({trigger:'#chStd1',start:'top 75%',once:true,\n    onEnter:function(){gsap.from(['#chStd1','#chStd2','#chStd3'],{opacity:0,y:14,stagger:.15,duration:.8,ease:'power2.out'})}\n  })\n  ScrollTrigger.create({trigger:'.ch-trust-grid',start:'top 75%',once:true,\n    onEnter:function(){gsap.from('.ch-trust-block',{opacity:0,y:12,stagger:.1,duration:.8,ease:'power2.out'})}\n  })\n  ScrollTrigger.create({trigger:'.ch-proc-grid',start:'top 72%',once:true,\n    onEnter:function(){gsap.from('.ch-proc-item',{opacity:0,y:14,stagger:.08,duration:.8,ease:'power2.out'})}\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;\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 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-bar\" id=\"scrollBar\"></div>\n<p class=\"seo-hidden\">Carpet cleaning Kolkata. Rug cleaning Kolkata. Sofa cleaning Kolkata. Curtain cleaning Kolkata. Persian rug cleaning Kolkata. Upholstery cleaning Kolkata. Hot water extraction carpet cleaning. The Swiss Laundry home care since 2013.</p>\n\n\n<nav class=\"tsl-crumbs\" aria-label=\"Breadcrumb\"><ol><li><a href=\"/\">Home</a></li><li aria-current=\"page\">Carpet &amp; Home Care</li></ol></nav>\n\n\n<main id=\"mainContent\">\n<!-- §01 HERO -->\n<section data-theme=\"dark\" class=\"ch-hero\" aria-label=\"Carpet and Home Care — The Swiss Laundry Kolkata\">\n  <div class=\"ch-hero-left\">\n    <p class=\"ch-eyebrow\" id=\"chEyebrow\">Carpet &amp; Home Care · Kolkata · Est. 2013</p>\n    <h1 class=\"ch-hero-h1\">\n      <span class=\"ch-hero-h1-line\"><span>The fabrics</span></span>\n      <span class=\"ch-hero-h1-line\"><span>in your home deserve</span></span>\n      <span class=\"ch-hero-h1-line\"><span>the same care as the</span></span>\n      <span class=\"ch-hero-h1-line\"><span>clothes on your <em>body.</em></span></span>\n    </h1>\n    <p class=\"ch-hero-sub\" id=\"chHeroSub\">Professional cleaning for carpets, rugs, sofas, curtains and soft furnishings in Kolkata. Hot water extraction for deep cleaning. Encapsulation for delicate handmade rugs. Everything collected from your home and returned clean. Since 2013.</p>\n    <div class=\"ch-hero-strip\" id=\"chHeroStrip\">\n      <span class=\"ch-trust-item\">Handmade rugs</span>\n      <span class=\"ch-trust-item\">Machine carpets</span>\n      <span class=\"ch-trust-item\">Curtains</span>\n      <span class=\"ch-trust-item\">Upholstery</span>\n      <span class=\"ch-trust-item\">Soft toys</span>\n    </div>\n  </div>\n  <div class=\"ch-hero-right\" aria-hidden=\"true\">\n    <img src=\"images/carpet/hero-carpet.jpg\" alt=\"Handmade Persian rug being professionally cleaned — The Swiss Laundry Kolkata\" loading=\"eager\" width=\"900\" height=\"1200\" fetchpriority=\"high\" decoding=\"async\">\n    <div class=\"ch-corner tl\"></div><div class=\"ch-corner tr\"></div>\n    <div class=\"ch-corner bl\"></div><div class=\"ch-corner br\"></div>\n    <div class=\"ch-plate-cap\"><span>Plate 01 · The Cared-For Home</span><span>The Swiss Standard · Kolkata</span></div>\n  </div>\n</section>\n\n<!-- §02 STORY -->\n<section data-theme=\"dark\" class=\"ch-story\" id=\"chStory\" aria-label=\"The child's room carpet story\">\n  <div style=\"height:450vh;position:relative\">\n    <div class=\"ch-story-pin\" id=\"chStoryPin\">\n      <div class=\"ch-story-content\"><p class=\"ch-phrase active\" data-mood=\"cream\">A child's room carpet.<br><em>Pale. Once.</em><span class=\"ch-phrase-sub\">Five years of play, spills and Kolkata dust.</span></p>\n<p class=\"ch-phrase\" data-mood=\"cream\">The family assumed<br>it was <em>ruined.</em><span class=\"ch-phrase-sub\">They had tried everything at home. Nothing worked.</span></p>\n<p class=\"ch-phrase\" data-mood=\"cream\">They brought it<br>to us.<span class=\"ch-phrase-sub\">It was not ruined. It was simply dirty.</span></p>\n<p class=\"ch-phrase\" data-mood=\"mid\">We assessed the pile.<br>We chose <em>hot water extraction.</em><span class=\"ch-phrase-sub\">We understood what this carpet needed.</span></p>\n<p class=\"ch-phrase\" data-mood=\"dark\"><em>Restored.</em><span class=\"ch-phrase-sub\">Home textiles handled represent our standard since 2013.</span></p>\n</div>\n    </div>\n  </div>\n</section>\n\n<!-- §03 WHAT WE CLEAN — Item Selector -->\n<section data-theme=\"dark\" class=\"ch-fabrics\" aria-labelledby=\"chItemH2\">\n  <div class=\"ch-fabrics-head\" id=\"chItemHead\">\n    <p class=\"ch-fab-eyebrow\">What we clean</p>\n    <h2 class=\"ch-fabrics-h2\" id=\"chItemH2\">Every home textile.<br><em>Its own method.</em></h2>\n  </div>\n  <div class=\"ch-fabrics-layout\" role=\"tablist\" aria-label=\"Select a home textile type\">\n    <div class=\"ch-fab-list\"><button class=\"ch-fab-btn active\" data-i=\"0\"><span class=\"ch-fab-name\">Handmade &amp; Persian Rugs</span><span class=\"ch-fab-hindi\">हैंडमेड &amp; पर्शियन रग</span></button>\n<button class=\"ch-fab-btn\" data-i=\"1\"><span class=\"ch-fab-name\">Machine-Made Carpets</span><span class=\"ch-fab-hindi\">मशीन कारपेट</span></button>\n<button class=\"ch-fab-btn\" data-i=\"2\"><span class=\"ch-fab-name\">Curtains &amp; Drapes</span><span class=\"ch-fab-hindi\">पर्दे</span></button>\n<button class=\"ch-fab-btn\" data-i=\"3\"><span class=\"ch-fab-name\">Sofas &amp; Upholstery</span><span class=\"ch-fab-hindi\">सोफा &amp; अपहोल्स्ट्री</span></button>\n<button class=\"ch-fab-btn\" data-i=\"4\"><span class=\"ch-fab-name\">Soft Toys &amp; Cushions</span><span class=\"ch-fab-hindi\">सॉफ्ट टॉय &amp; कुशन</span></button>\n</div>\n    <div class=\"ch-fab-detail\"><div class=\"ch-fab-panel active\" id=\"chP0\">\n  <div class=\"ch-fab-img\" style=\"background:linear-gradient(135deg,#3d0a10,#6b1520,#3d0a10)\">\n    <img src=\"images/carpet/carpet-cleaning-detail-1.jpg\" alt=\"Handmade &amp; Persian Rugs cleaning — The Swiss Laundry Kolkata\" loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"1400\">\n  </div>\n  <div class=\"ch-fab-info\">\n    <span class=\"ch-fab-label-hindi\">हैंडमेड &amp; पर्शियन रग</span>\n    <span class=\"ch-fab-title\">Handmade &amp; Persian Rugs</span>\n    <span class=\"ch-fab-garments\">Wool · Silk · Cotton handwoven</span>\n    <p class=\"ch-fab-desc\">The most valuable floor textile in most homes. Handwoven rugs — Persian, Kashmiri, Dhurrie — require encapsulation cleaning only. Hot water extraction would damage the natural dyes and loosen the hand-knotted pile. Each rug is assessed for fibre type, dye stability and pile direction before any cleaning begins.</p>\n    <span class=\"ch-fab-method-lbl\">Method at assessment</span>\n    <span class=\"ch-fab-method\">Encapsulation cleaning · Pile-direction brushing · Flat dry</span>\n    <p class=\"ch-fab-note\">Never hot water extraction. Dye stability tested before cleaning. Pile direction maintained throughout.</p>\n  </div>\n</div>\n<div class=\"ch-fab-panel\" id=\"chP1\">\n  <div class=\"ch-fab-img\" style=\"background:linear-gradient(135deg,#1a1918,#2a2520,#1a1918)\">\n    <img src=\"images/carpet/carpet-cleaning-detail-2.jpg\" alt=\"Machine-Made Carpets cleaning — The Swiss Laundry Kolkata\" loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"1400\">\n  </div>\n  <div class=\"ch-fab-info\">\n    <span class=\"ch-fab-label-hindi\">मशीन कारपेट</span>\n    <span class=\"ch-fab-title\">Machine-Made Carpets</span>\n    <span class=\"ch-fab-garments\">Nylon · Polyester · Polypropylene</span>\n    <p class=\"ch-fab-desc\">Wall-to-wall carpets and room carpets made with synthetic fibres. Hot water extraction is the most effective method — high-pressure hot water and cleaning solution injected deep into the pile, then extracted with powerful suction, removing embedded soil, dust mites and bacteria that vacuuming cannot reach.</p>\n    <span class=\"ch-fab-method-lbl\">Method at assessment</span>\n    <span class=\"ch-fab-method\">Hot water extraction · Professional carpet cleaning machine</span>\n    <p class=\"ch-fab-note\">Pre-vacuumed before cleaning. Cleaning solution dosed by carpet area. Extracted thoroughly to reduce drying time.</p>\n  </div>\n</div>\n<div class=\"ch-fab-panel\" id=\"chP2\">\n  <div class=\"ch-fab-img\" style=\"background:linear-gradient(135deg,#0a0f2a,#151e4a,#0a0f2a)\">\n    <img src=\"images/carpet/carpet-cleaning-detail-3.jpg\" alt=\"Curtains &amp; Drapes cleaning — The Swiss Laundry Kolkata\" loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"1400\">\n  </div>\n  <div class=\"ch-fab-info\">\n    <span class=\"ch-fab-label-hindi\">पर्दे</span>\n    <span class=\"ch-fab-title\">Curtains &amp; Drapes</span>\n    <span class=\"ch-fab-garments\">Cotton · Linen · Polyester · Velvet</span>\n    <p class=\"ch-fab-desc\">Curtains absorb dust, cooking fumes, humidity and sunlight over months and years. The cleaning method depends entirely on the fabric — cotton and linen can be wet-cleaned, velvet and lined drapes require dry cleaning. We assess the fabric and lining separately before choosing the method.</p>\n    <span class=\"ch-fab-method-lbl\">Method at assessment</span>\n    <span class=\"ch-fab-method\">Wet cleaning or dry cleaning · Assessed per fabric</span>\n    <p class=\"ch-fab-note\">Fabric and lining assessed separately. Velvet curtains dry cleaned only.</p>\n  </div>\n</div>\n<div class=\"ch-fab-panel\" id=\"chP3\">\n  <div class=\"ch-fab-img\" style=\"background:linear-gradient(135deg,#0f0a05,#1a1208,#0f0a05)\">\n    <img src=\"images/carpet/carpet-cleaning-detail-4.jpg\" alt=\"Sofas &amp; Upholstery cleaning — The Swiss Laundry Kolkata\" loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"1400\">\n  </div>\n  <div class=\"ch-fab-info\">\n    <span class=\"ch-fab-label-hindi\">सोफा &amp; अपहोल्स्ट्री</span>\n    <span class=\"ch-fab-title\">Sofas &amp; Upholstery</span>\n    <span class=\"ch-fab-garments\">Fabric sofa · Armchair · Ottoman</span>\n    <p class=\"ch-fab-desc\">Upholstered furniture that cannot be brought to our facility is cleaned at your home. We use hot water extraction for most fabric sofas — the machine injects cleaning solution and extracts it along with embedded soil. Delicate or antique upholstery is assessed individually.</p>\n    <span class=\"ch-fab-method-lbl\">Method at assessment</span>\n    <span class=\"ch-fab-method\">Hot water extraction · On-site at your home</span>\n    <p class=\"ch-fab-note\">Fabric type assessed before cleaning. Drying time approximately 2–4 hours after cleaning.</p>\n  </div>\n</div>\n<div class=\"ch-fab-panel\" id=\"chP4\">\n  <div class=\"ch-fab-img\" style=\"background:linear-gradient(135deg,#1a1a2e,#2a2a4e,#1a1a2e)\">\n    <img src=\"images/carpet/carpet-cleaning-detail-5.jpg\" alt=\"Soft Toys &amp; Cushions cleaning — The Swiss Laundry Kolkata\" loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"1400\">\n  </div>\n  <div class=\"ch-fab-info\">\n    <span class=\"ch-fab-label-hindi\">सॉफ्ट टॉय &amp; कुशन</span>\n    <span class=\"ch-fab-title\">Soft Toys &amp; Cushions</span>\n    <span class=\"ch-fab-garments\">Soft toy · Scatter cushion · Floor cushion</span>\n    <p class=\"ch-fab-desc\">Soft toys and cushions accumulate dust mites and allergens quickly, particularly in children's rooms. Washed using the appropriate method for the fill material — cotton-filled items machine washed, foam-filled items spot-cleaned or encapsulation cleaned. Each piece checked for colour stability first.</p>\n    <span class=\"ch-fab-method-lbl\">Method at assessment</span>\n    <span class=\"ch-fab-method\">Machine wash or encapsulation · Assessed per item</span>\n    <p class=\"ch-fab-note\">Colour stability tested. Fill material determines cleaning method.</p>\n  </div>\n</div>\n</div>\n  </div>\n</section>\n\n<!-- §04 TWO METHODS -->\n<section data-theme=\"dark\" class=\"ch-standards\" aria-labelledby=\"chMethodH2\" style=\"background:var(--cream);padding:8rem 8vw\">\n  <div style=\"max-width:1100px;margin:0 auto\" id=\"chMethodHead\">\n    <span style=\"font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem\">The two methods</span>\n    <h2 style=\"font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(24px,4vw,48px);color:var(--dark2);letter-spacing:-.02em;line-height:1.1\" id=\"chMethodH2\">Hot water extraction.<br>Encapsulation. <em>The choice is made per item.</em></h2>\n  </div>\n  <div class=\"ch-methods-grid\">\n    <div class=\"ch-method-card\">\n      <span class=\"ch-method-badge ch-badge-hot\">Hot water extraction</span>\n      <span class=\"ch-method-h3\">Deep cleaning for machine carpets and upholstery</span>\n      <span class=\"ch-method-sub\">High-pressure hot water · Professional extraction machine</span>\n      <p class=\"ch-method-desc\">Hot water and cleaning solution are injected deep into the carpet pile under high pressure, then extracted with powerful suction along with embedded soil, dust mites and bacteria. The most effective method for deeply embedded dirt — recommended by all major carpet manufacturers. Drying time approximately 4–12 hours.</p>\n      <span class=\"ch-method-used\">Used for</span>\n      <div class=\"ch-method-items\">\n        <span class=\"ch-method-item\">Machine-made carpets</span>\n        <span class=\"ch-method-item\">Fabric sofas</span>\n        <span class=\"ch-method-item\">Heavily soiled items</span>\n        <span class=\"ch-method-item\">Synthetic upholstery</span>\n      </div>\n    </div>\n    <div class=\"ch-method-card\">\n      <span class=\"ch-method-badge ch-badge-enc\">Encapsulation cleaning</span>\n      <span class=\"ch-method-h3\">Low-moisture cleaning for handmade rugs and delicates</span>\n      <span class=\"ch-method-sub\">Chemical solution · Counter-rotating brush machine</span>\n      <p class=\"ch-method-desc\">An encapsulating cleaning solution is applied and agitated into the fibres using a brush machine. The chemical surrounds and crystallises dirt particles, which are then removed by vacuuming. No water — so no risk of dye bleed or pile distortion on natural fibre rugs. Drying time 30–60 minutes.</p>\n      <span class=\"ch-method-used\">Used for</span>\n      <div class=\"ch-method-items\">\n        <span class=\"ch-method-item\">Handmade &amp; Persian rugs</span>\n        <span class=\"ch-method-item\">Wool &amp; silk rugs</span>\n        <span class=\"ch-method-item\">Maintenance cleaning</span>\n        <span class=\"ch-method-item\">Delicate natural fibres</span>\n      </div>\n    </div>\n  </div>\n</section>\n\n<!-- §05 SIX-STEP PROCESS -->\n<section data-theme=\"dark\" class=\"ch-process-section\" data-reveal=\"\" aria-labelledby=\"chProcH2\">\n  <div style=\"max-width:1100px;margin:0 auto\" id=\"chProcHead\">\n    <span style=\"font-family:'Jost',sans-serif;font-size:9px;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem\">How it works</span>\n    <h2 style=\"font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:300;font-size:clamp(24px,4vw,48px);color:#fff;letter-spacing:-.02em;line-height:1.1\" id=\"chProcH2\">We collect from your home.<br>We clean at our facility.<br><em>We return it done.</em></h2>\n  </div>\n  <div class=\"ch-proc-grid\"><div class=\"ch-proc-item\">\n  <span class=\"ch-proc-num\">01</span>\n  <span class=\"ch-proc-h3\">Collection from your home</span>\n  <p class=\"ch-proc-desc\">We collect carpets, curtains, sofas or soft furnishings from your doorstep. Large items collected by our team.</p>\n</div>\n<div class=\"ch-proc-item\">\n  <span class=\"ch-proc-num\">02</span>\n  <span class=\"ch-proc-h3\">Assessment at our facility</span>\n  <p class=\"ch-proc-desc\">Fibre type, dye stability, soiling level and construction are assessed. Hot water extraction or encapsulation is chosen per item.</p>\n</div>\n<div class=\"ch-proc-item\">\n  <span class=\"ch-proc-num\">03</span>\n  <span class=\"ch-proc-h3\">Pre-treatment</span>\n  <p class=\"ch-proc-desc\">Stains and heavily soiled areas are pre-treated with appropriate agents before the main cleaning cycle begins.</p>\n</div>\n<div class=\"ch-proc-item\">\n  <span class=\"ch-proc-num\">04</span>\n  <span class=\"ch-proc-h3\">Specialist cleaning</span>\n  <p class=\"ch-proc-desc\">Hot water extraction or encapsulation cleaning using professional carpet cleaning machines. Each item cleaned to its own protocol.</p>\n</div>\n<div class=\"ch-proc-item\">\n  <span class=\"ch-proc-num\">05</span>\n  <span class=\"ch-proc-h3\">Drying &amp; inspection</span>\n  <p class=\"ch-proc-desc\">Items dried to the correct moisture level. Inspected for stain resolution, colour uniformity and texture before return.</p>\n</div>\n<div class=\"ch-proc-item\">\n  <span class=\"ch-proc-num\">06</span>\n  <span class=\"ch-proc-h3\">Delivery to your door</span>\n  <p class=\"ch-proc-desc\">Clean, dry items returned to your home within the agreed timeframe.</p>\n</div>\n</div>\n</section>\n\n<!-- §06 FACT STATEMENT -->\n<section data-theme=\"dark\" class=\"ch-fact\" aria-label=\"The Swiss Laundry home care standard\">\n  <span class=\"ch-fact-eyebrow\">The Swiss Standard · Est. 2013</span>\n  <blockquote class=\"ch-fact-quote\" id=\"chFactQ\">\n    <p class=\"ch-fact-text\">\"A carpet that has never been professionally cleaned has never truly been clean.</p>\n    <p class=\"ch-fact-text ch-fact-emph\">Vacuuming removes surface dust. <em>We remove everything else.</em>\"</p>\n    <cite class=\"ch-fact-cite\">The Swiss Laundry · Kolkata · Est. 2013</cite>\n  </blockquote>\n  <p class=\"ch-fact-note\">Results vary by carpet type, soiling level and fibre construction. Assessment at collection determines the correct method for each item.</p>\n</section>\n\n<!-- §07 TRUST -->\n<section data-theme=\"dark\" class=\"ch-trust\" aria-label=\"Why customers trust The Swiss Laundry\">\n  <div class=\"ch-trust-grid\">\n    <div class=\"ch-trust-block\">\n      <h3 class=\"ch-trust-h3\">We specialise in <em>handmade rugs</em> — including Persian, Kashmiri and Dhurrie.</h3>\n      <p class=\"ch-trust-note\">Encapsulation only. No water. Natural dyes and hand-knotted pile preserved.</p>\n    </div>\n    <div class=\"ch-trust-block\">\n      <h3 class=\"ch-trust-h3\">Everything is collected from your home.<br><em>Nothing is cleaned on-site.</em></h3>\n      <p class=\"ch-trust-note\">Your carpet comes to our facility. Cleaned with professional equipment. Returned clean and dry.</p>\n    </div>\n    <div class=\"ch-trust-block\">\n      <h3 class=\"ch-trust-h3\">Serving Kolkata since <em>2013.</em></h3>\n      <p class=\"ch-trust-note\">Over 1,50,000 customers across dry cleaning, laundry, carpet care and stain removal.</p>\n    </div>\n    <div class=\"ch-trust-block\">\n      <h3 class=\"ch-trust-h3\">Every item goes through <em>quality check measures</em> before it returns to you.</h3>\n      <p class=\"ch-trust-note\">Stain resolution, colour uniformity and texture checked. Not assumed.</p>\n    </div>\n  </div>\n</section>\n\n<!-- §08 FIELD GUIDE BRIDGE -->\n<section data-theme=\"dark\" class=\"ch-bridge\" id=\"chGuide\" aria-label=\"Read the Field Guide to carpet and home care\">\n  <div>\n    <h2 class=\"ch-bridge-h2\">Want to understand exactly what<br>happens to your carpet — <em>and why?</em></h2>\n    <p class=\"ch-bridge-p\">Read the Carpet &amp; Home Care Field Guide. How hot water extraction works, how encapsulation works, how to read care labels on rugs, what goes wrong and how we fix it. Written by the team at The Swiss Laundry. Free.</p>\n  </div>\n  <a href=\"/carpet-home-care/guide\" class=\"ch-bridge-btn\">Read the Field Guide &nbsp;→</a>\n</section>\n\n<!-- §09 BRIDGE -->\n<section data-theme=\"dark\" class=\"ch-bridge\" id=\"chBridge\" aria-label=\"Book a carpet cleaning pickup\" style=\"background:var(--dark2)\">\n  <div>\n    <h2 class=\"ch-bridge-h2\">Your carpets are collected,<br>cleaned and returned.<br><em>You do not need to move them.</em></h2>\n    <p class=\"ch-bridge-p\">We collect from your doorstep across Kolkata. Monday to Saturday, 10AM to 5PM. Large carpets, small rugs, sofa sets, curtains — all collected by our team, cleaned at our Kasba Industrial Estate facility, and returned within the agreed timeframe.</p>\n  </div>\n  <a href=\"/pickup\" class=\"ch-bridge-btn\">Book a Pickup &nbsp;→</a>\n</section>\n\n<!-- §10 CTA -->\n<section data-theme=\"dark\" class=\"ch-cta\" aria-label=\"Book carpet cleaning pickup\">\n  <div class=\"ch-cta-inner\" id=\"chCta\">\n    <div>\n      <span class=\"ch-cta-eyebrow\">Ready when you are</span>\n      <h2 class=\"ch-cta-h2\">Twelve steps begin<br>with <em>one call.</em></h2>\n      <p class=\"ch-cta-sub\">Doorstep pickup across Kolkata &nbsp;·&nbsp; Mon–Sat 10AM–5PM &nbsp;·&nbsp; Personally confirmed by our team</p>\n    </div>\n    <div class=\"ch-cta-btns\">\n      <a href=\"/pickup\" class=\"btn-p\">Book a Pickup &nbsp;→</a>\n      <a href=\"tel:+919836233354\" class=\"btn-s\">+91 83358 88167</a>\n      <a href=\"https://wa.me/919836233354\" class=\"btn-w\">WhatsApp Us</a>\n    </div>\n  </div>\n</section>\n\n</main>\n<h2 class=\"seo-hidden\">Carpet cleaning service in Kolkata</h2>\n<h2 class=\"seo-hidden\">Persian and handmade rug cleaning Kolkata</h2>\n<h2 class=\"seo-hidden\">Sofa and upholstery cleaning Kolkata</h2>\n<h2 class=\"seo-hidden\">Hot water extraction and encapsulation carpet cleaning</h2>\n\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<!-- 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>"
}
