{
  "title": "Organised vs unorganised laundry in India | The Swiss Laundry",
  "description": "Organised vs unorganised laundry in India — the 90/10 market split, what separates the sectors, and the economic shift happening in urban India.",
  "keywords": "",
  "robots": "index,follow,max-snippet:-1,max-image-preview:large",
  "canonical": "https://www.theswisslaundry.com/blog-organised-vs-unorganised-laundry-india",
  "hreflangs": [
    {
      "hreflang": "en-IN",
      "href": "https://www.theswisslaundry.com/blog-organised-vs-unorganised-laundry-india"
    },
    {
      "hreflang": "en",
      "href": "https://www.theswisslaundry.com/blog-organised-vs-unorganised-laundry-india"
    }
  ],
  "og": {
    "type": "article",
    "title": "Organised vs unorganised laundry in India — what the ₹8,000 crore gap looks like. — The Record",
    "description": "Organised vs unorganised laundry in India — the 90/10 market split, what separates the sectors, and the economic shift happening in urban India.",
    "url": "https://www.theswisslaundry.com/blog-organised-vs-unorganised-laundry-india",
    "image": "https://www.theswisslaundry.com/images/og-default.svg",
    "image:width": "1200",
    "image:height": "630",
    "site_name": "The Swiss Laundry",
    "locale": "en_IN"
  },
  "geo": {
    "region": "IN-WB",
    "placename": "Kolkata"
  },
  "jsonLd": [
    [
      {
        "@context": "https://schema.org",
        "@type": "Article",
        "headline": "Organised vs unorganised laundry in India — what the ₹8,000 crore gap looks like.",
        "description": "Organised vs unorganised laundry in India — the 90/10 market split, what separates the sectors, and the economic shift happening in urban India.",
        "author": {
          "@type": "Organization",
          "name": "The Swiss Laundry",
          "url": "https://www.theswisslaundry.com"
        },
        "publisher": {
          "@type": "Organization",
          "name": "The Swiss Laundry",
          "logo": {
            "@type": "ImageObject",
            "url": "https://www.theswisslaundry.com/images/favicon.svg"
          }
        },
        "url": "https://www.theswisslaundry.com/blog-organised-vs-unorganised-laundry-india",
        "datePublished": "2026-03-11",
        "dateModified": "2026-03-11",
        "mainEntityOfPage": {
          "@type": "WebPage",
          "@id": "https://www.theswisslaundry.com/blog-organised-vs-unorganised-laundry-india"
        },
        "keywords": "organised unorganised laundry India, laundry sector India market, dhobi vs dry cleaning India, laundry industry structure India",
        "articleSection": "Industry",
        "wordCount": 2050
      },
      {
        "@context": "https://schema.org",
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://www.theswisslaundry.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "The Record",
            "item": "https://www.theswisslaundry.com/blog"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Organised vs unorganised laundry in India — what the ₹8,000 crore gap looks like.",
            "item": "https://www.theswisslaundry.com/blog-organised-vs-unorganised-laundry-india"
          }
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "LocalBusiness",
        "name": "The Swiss Laundry",
        "telephone": "+919836233354",
        "url": "https://www.theswisslaundry.com",
        "openingHours": "Mo-Sa 10:00-17:00",
        "priceRange": "₹₹",
        "aggregateRating": {
          "@type": "AggregateRating",
          "ratingValue": "4.5",
          "reviewCount": "200",
          "bestRating": "5"
        },
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East)",
          "addressLocality": "Kolkata",
          "addressRegion": "West Bengal",
          "postalCode": "700107",
          "addressCountry": "IN"
        }
      },
      {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        "mainEntity": [
          {
            "@type": "Question",
            "name": "What is the organised laundry sector in India?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Professional laundry and dry cleaning businesses with enclosed machines, regulated solvents, standardised processes, GST registration and professional liability coverage. Approximately 5–10% of India's total laundry market by revenue, growing at 11% annually."
            }
          },
          {
            "@type": "Question",
            "name": "Is the dhobi service dying out in India?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Not quickly. The dhobi model is deeply embedded in Indian household culture and serves a large volume of everyday garment care well. The transition is in the segmentation of garments — high-value silk and occasion wear moving to professional dry cleaning while everyday cotton stays with traditional services."
            }
          },
          {
            "@type": "Question",
            "name": "Why is organised laundry more expensive than the dhobi?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Fundamentally different cost structures. Organised operations carry ₹15–50 lakhs of equipment cost, professional solvent costs, boiler maintenance, and trained operators. The dhobi's equipment represents a fraction of this. The price difference is real cost, not pure profit margin."
            }
          },
          {
            "@type": "Question",
            "name": "Is the laundry sector growing in India?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Yes. The organised sector grows at approximately 11% annually, driven by urban middle-class income growth, increasing garment values, and nuclear household lifestyles. The unorganised sector grows more slowly at 3–4%."
            }
          },
          {
            "@type": "Question",
            "name": "What percentage of Indian laundry is still unorganised?",
            "acceptedAnswer": {
              "@type": "Answer",
              "text": "Approximately 90–95% by volume and 85–90% by revenue is still served by unorganised operators — dhobis, neighbourhood services, MTO-based dry cleaners. The organised sector's faster growth rate is gradually changing this ratio in major cities."
            }
          }
        ]
      },
      {
        "@context": "https://schema.org",
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".hero-summary",
          ".glance-points",
          ".faq-q"
        ]
      }
    ]
  ],
  "styleCss": "[data-reveal]{opacity:1!important;transform:none!important}\n/* NAV */\nnav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:70px;transition:background 0.5s,border-color 0.5s,box-shadow 0.5s;border-bottom:0.5px solid transparent}\nnav.on-dark{background:rgba(12,11,10,0.2);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(255,255,255,0.07)}\nnav.on-light{background:rgba(245,240,232,0.97);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom-color:rgba(0,0,0,0.08);box-shadow:0 2px 28px rgba(0,0,0,0.07)}\n.nav-logo a{display:block;line-height:0}\n.nav-logo img{height:46px;width:auto;display:block}\n\n\nnav.on-dark \nnav.on-dark \nnav.on-light \nnav.on-light \n.nav-right{display:flex;align-items:center;gap:0.7rem;flex-shrink:0}\n.btn-track{font-family:var(--sans);font-size:9px;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all 0.3s;white-space:nowrap}.btn-connect{font-family:var(--sans);font-size:9px;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:9px 20px;transition:all 0.3s;white-space:nowrap}\nnav.on-dark .btn-track{border:1px solid rgba(255,255,255,0.35);color:rgba(255,255,255,0.9)}.btn-connect{border:1px solid rgba(255,255,255,0.35);color:rgba(255,255,255,0.9)}\nnav.on-dark .btn-track:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.08)}.btn-connect:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,0.08)}\nnav.on-light .btn-track{border:1px solid rgba(192,65,90,0.5);color:var(--pink)}.btn-connect{border:1px solid rgba(192,65,90,0.5);color:var(--pink)}\nnav.on-light .btn-track:hover{border-color:var(--pink);background:rgba(192,65,90,0.05)}.btn-connect:hover{border-color:var(--pink);background:rgba(192,65,90,0.05)}\n.btn-book{font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;text-decoration:none;padding:10px 22px;background:var(--pink);color:#fff;border:1px solid var(--pink);transition:background 0.25s;white-space:nowrap}\n.btn-book:hover{background:var(--pink2);border-color:var(--pink2)}\n\n\nnav.on-dark \nnav.on-light \n.mob-menu{display:none;position:fixed;top:70px;left:0;right:0;background:var(--cream);z-index:199;flex-direction:column;border-bottom:0.5px solid rgba(0,0,0,0.1);box-shadow:0 8px 24px rgba(0,0,0,0.08)}\n.mob-menu.open{display:flex}\n.mob-menu a{font-family:var(--sans);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--dark2);text-decoration:none;padding:1rem 2rem;border-bottom:0.5px solid rgba(0,0,0,0.07);transition:color 0.2s}\n.mob-menu a:hover{color:var(--pink)}\n.mob-menu .mob-track{color:var(--pink)}\n.mob-menu .mob-book{background:var(--pink);color:#fff;text-align:center;border-bottom:none;font-weight:500}\n.mob-menu .mob-book:hover{background:var(--pink2);color:#fff}\n\n\n*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}\n*{-webkit-tap-highlight-color:transparent}\n:root{\n  --dark:#0c0b0a;--ink:#1a1918;--gold:#C9A84C;--gold-l:#E2C97E;\n  --gold-b:rgba(201,168,76,.25);--gold-a:rgba(201,168,76,.09);\n  --cream:#F5F0E8;--off:#FAFAF8;--white:#ffffff;\n  --muted:rgba(26,25,24,.48);--pink:#C0415A;\n  --bana:#8B1A1A;--bana-l:rgba(139,26,26,.08);\n  --s:'Cormorant Garamond',Georgia,serif;\n  --ss:'Jost','Helvetica Neue',Arial,sans-serif;\n  --ease:cubic-bezier(.16,1,.3,1);\n  --sh:0 2px 8px rgba(26,25,24,.06),0 8px 28px rgba(26,25,24,.09);\n  --sh2:0 4px 16px rgba(26,25,24,.07),0 20px 56px rgba(26,25,24,.11);\n}\nhtml{scroll-behavior:smooth;overflow-x:hidden}\nbody{font-family:var(--ss);background:var(--off);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}\n::-webkit-scrollbar{width:2px}::-webkit-scrollbar-thumb{background:var(--gold-b)}\n:focus-visible{outline:2px solid var(--gold);outline-offset:3px}\nbody::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9997;opacity:.013;\n  background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\");\n  background-size:128px;mix-blend-mode:multiply}\n.skip-link{position:absolute;left:-999px;width:1px;height:1px;overflow:hidden}\n.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem 1rem;background:var(--gold);color:var(--ink);z-index:9999}\n.seo-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}\n.scroll-bar{position:fixed;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-l));z-index:9999;width:0}\n[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s var(--ease)}\n[data-reveal].in{opacity:1;transform:none}\n@media(scripting:none){[data-reveal]{opacity:1!important;transform:none!important}}\n.btn{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;border:none;cursor:pointer;text-decoration:none;transition:background .2s,transform .15s,box-shadow .2s}\n.btn svg{flex-shrink:0}\n.btn-g{background:var(--gold);color:var(--ink);padding:.8rem 1.8rem}\n.btn-g:hover{background:var(--gold-l);transform:translateY(-1px);box-shadow:0 4px 16px rgba(201,168,76,.3)}\n.btn-dk{background:var(--ink);color:var(--gold);padding:.85rem 2rem}\n.btn-dk:hover{background:#000}\n.btn-ol{background:transparent;color:rgba(245,240,232,.7);padding:.8rem 1.6rem;border:1px solid rgba(245,240,232,.22)}\n.btn-ol:hover{color:var(--cream);border-color:rgba(245,240,232,.5)}\n.btn-row{display:flex;gap:.6rem;flex-wrap:wrap}\n/* hero */\n.bsc-hero{min-height:100svh;background:var(--dark);display:flex;flex-direction:column;justify-content:flex-end;padding:0 8vw 5rem;position:relative;overflow:hidden}\n.bsc-hero::before{content:'';position:absolute;inset:0;pointer-events:none;\n  background:radial-gradient(ellipse 60% 50% at 80% 30%,rgba(139,26,26,.08) 0%,transparent 60%),\n  radial-gradient(circle,rgba(201,168,76,.04) 1px,transparent 1px);\n  background-size:100% 100%,32px 32px}\n.bsc-bg-word{position:absolute;bottom:-0.1em;right:3vw;font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(130px,20vw,300px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(201,168,76,.06);pointer-events:none;user-select:none;z-index:1;letter-spacing:-.05em}\n.bsc-eyebrow{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;margin-bottom:1.8rem;position:relative;z-index:2}\n.bsc-eyebrow::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.bsc-h1{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(44px,7vw,100px);line-height:.88;letter-spacing:-.04em;color:var(--cream);margin-bottom:2rem;position:relative;z-index:2;max-width:860px}\n.bsc-h1 em{font-style:normal;color:var(--gold)}\n.bsc-lead{font-size:clamp(14px,1.4vw,17px);font-weight:300;color:rgba(245,240,232,.6);line-height:1.85;max-width:540px;margin-bottom:2.5rem;position:relative;z-index:2}\n.bsc-hero-btns{position:relative;z-index:2}\n.bsc-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(201,168,76,.15);margin-top:4rem}\n.bsc-stat{padding:1.4rem 0;border-right:1px solid rgba(201,168,76,.1)}\n.bsc-stat:last-child{border-right:none}\n.bsc-stat-n{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(18px,2.8vw,34px);color:var(--gold);display:block;line-height:1;letter-spacing:-.02em}\n.bsc-stat-l{font-family:var(--ss);font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,232,.35);display:block;margin-top:.3rem}\n/* def box */\n.bsc-def-sec{background:var(--cream);padding:6rem 8vw}\n.bsc-def-inner{max-width:860px;margin:0 auto}\n.bsc-def-box{border:1px solid rgba(201,168,76,.35);border-left:4px solid var(--gold);padding:2.2rem 2.5rem 2.2rem 2.2rem;background:var(--white);margin-bottom:2rem}\n.bsc-def-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.8rem}\n.bsc-def-text{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(17px,2.1vw,24px);line-height:1.55;color:var(--ink)}\n.bsc-def-text em{font-style:normal;color:var(--gold)}\n.bsc-def-source{display:block;margin-top:.9rem;font-family:var(--ss);font-size:10px;font-weight:300;letter-spacing:.1em;color:var(--muted)}\n.bsc-def-note{background:var(--off);padding:1.4rem 1.6rem;font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.85;color:var(--muted)}\n.bsc-def-note strong{color:var(--ink);font-weight:400}\n/* body */\n.bsc-body{background:var(--off);padding:0 8vw 7rem;display:grid;grid-template-columns:220px 1fr;gap:5rem;align-items:start;max-width:1200px;margin:0 auto}\n.bsc-sidebar{position:sticky;top:90px}\n.bsc-sb-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:1.2rem}\n.bsc-sb-list{list-style:none;display:flex;flex-direction:column}\n.bsc-sb-link{display:block;font-family:var(--ss);font-size:11px;font-weight:300;letter-spacing:.06em;color:var(--muted);text-decoration:none;padding:.55rem 0 .55rem .9rem;border-left:2px solid rgba(26,25,24,.08);transition:color .2s,border-color .2s;line-height:1.4}\n.bsc-sb-link:hover,.bsc-sb-link.active{color:var(--ink);border-left-color:var(--gold)}\n.bsc-content{padding-top:5rem}\n/* clauses */\n.clause{margin-bottom:5rem;padding-bottom:5rem;border-bottom:1px solid rgba(26,25,24,.07)}\n.clause:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}\n.clause-num{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(44px,6vw,72px);color:rgba(201,168,76,.15);display:block;line-height:1;margin-bottom:.3rem;letter-spacing:-.04em}\n.clause-title{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(24px,3vw,40px);color:var(--ink);line-height:1.1;margin-bottom:1.4rem;letter-spacing:-.02em}\n.clause-title em{font-style:normal;color:var(--gold)}\n.clause-body{font-family:var(--ss);font-size:14px;font-weight:300;line-height:1.95;color:var(--muted)}\n.clause-body p{margin-bottom:1.1rem}\n.clause-body p:last-child{margin-bottom:0}\n.clause-body strong{color:var(--ink);font-weight:400}\n.clause-body a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(201,168,76,.3);transition:border-color .2s}\n.clause-body a:hover{border-color:var(--gold)}\n.fact-box{margin:1.8rem 0;padding:1.4rem 1.6rem;border-left:3px solid var(--gold);background:var(--gold-a);font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.75;color:var(--ink)}\n.fact-box strong{font-weight:500}\n.warn-box{margin:1.8rem 0;padding:1.4rem 1.6rem;border-left:3px solid var(--pink);background:rgba(192,65,90,.06);font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.75;color:var(--ink)}\n.warn-box strong{font-weight:500;color:var(--pink)}\n/* banarasi variety grid */\n.variety-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(26,25,24,.08);margin:1.8rem 0}\n.variety-card{background:var(--white);padding:1.8rem 1.6rem;transition:background .2s}\n.variety-card:hover{background:var(--cream)}\n.variety-name{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(17px,2vw,23px);color:var(--ink);display:block;margin-bottom:.25rem}\n.variety-weave{font-family:var(--ss);font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.5rem}\n.variety-care{font-family:var(--ss);font-size:12px;font-weight:300;color:var(--muted);line-height:1.7}\n.variety-care strong{color:var(--ink);font-weight:400}\n/* stain table */\n.stain-table{width:100%;border-collapse:collapse;font-family:var(--ss);margin:1.8rem 0}\n.stain-table th{font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;padding:.8rem 1rem;background:var(--ink);color:rgba(245,240,232,.6);text-align:left}\n.stain-table th:first-child{color:var(--gold-l)}\n.stain-table td{padding:.75rem 1rem;font-size:12px;font-weight:300;line-height:1.6;color:var(--muted);border-bottom:1px solid rgba(26,25,24,.06);vertical-align:top}\n.stain-table tr:last-child td{border-bottom:none}\n.stain-table td:first-child{color:var(--ink);font-weight:400}\n.stain-table .do-cell{color:#5A8A5A}\n.stain-table .warn-cell{color:var(--pink)}\n/* storage steps */\n.storage-steps{display:flex;flex-direction:column;gap:1rem;margin:1.8rem 0}\n.storage-step{display:flex;gap:1.2rem;align-items:flex-start;padding:1.2rem 1.4rem;background:var(--white);border:1px solid rgba(26,25,24,.07);border-left:3px solid transparent;transition:border-color .2s}\n.storage-step:hover{border-left-color:var(--gold)}\n.storage-step-n{font-family:var(--s);font-style:italic;font-weight:300;font-size:32px;color:rgba(201,168,76,.25);line-height:1;flex-shrink:0;width:2.2rem;text-align:center}\n.storage-step-body{padding-top:.1rem}\n.storage-step-h{font-family:var(--ss);font-size:12px;font-weight:500;color:var(--ink);display:block;margin-bottom:.25rem;letter-spacing:.02em}\n.storage-step-d{font-family:var(--ss);font-size:12px;font-weight:300;color:var(--muted);line-height:1.7}\n/* do/dont */\n.do-dont{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.8rem 0}\n.do-list,.dont-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}\n.do-list-h,.dont-list-h{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;display:block;margin-bottom:.7rem}\n.do-list-h{color:#5A8A5A}\n.dont-list-h{color:var(--pink)}\n.do-list li,.dont-list li{font-family:var(--ss);font-size:12px;font-weight:300;line-height:1.7;color:var(--muted);padding-left:1.2rem;position:relative}\n.do-list li::before{content:'✓';position:absolute;left:0;color:#5A8A5A;font-size:11px;top:.05em}\n.dont-list li::before{content:'✗';position:absolute;left:0;color:var(--pink);font-size:11px;top:.05em}\n/* kolkata note */\n.kolkata-note{background:var(--dark);padding:2rem 2.2rem;margin:1.8rem 0;border-left:4px solid var(--gold)}\n.kolkata-note-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.6rem}\n.kolkata-note-text{font-family:var(--ss);font-size:13px;font-weight:300;line-height:1.8;color:rgba(245,240,232,.7)}\n.kolkata-note-text strong{color:var(--cream);font-weight:400}\n/* pressing guide */\n.press-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:1.8rem 0}\n.press-card{border:1px solid rgba(26,25,24,.08);padding:1.6rem}\n.press-card.correct{border-color:rgba(201,168,76,.3);background:var(--gold-a)}\n.press-card-label{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;display:block;margin-bottom:.5rem}\n.press-card.correct .press-card-label{color:var(--gold)}\n.press-card:not(.correct) .press-card-label{color:var(--pink)}\n.press-card-title{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(16px,1.8vw,22px);color:var(--ink);display:block;margin-bottom:.7rem}\n.press-card-items{list-style:none;display:flex;flex-direction:column;gap:.4rem}\n.press-card-items li{font-family:var(--ss);font-size:12px;font-weight:300;color:var(--muted);padding-left:1rem;position:relative;line-height:1.6}\n.press-card.correct .press-card-items li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-size:11px}\n.press-card:not(.correct) .press-card-items li::before{content:'✗';position:absolute;left:0;color:var(--pink);font-size:11px}\n/* related */\n.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}\n.rel-card{border:1px solid rgba(26,25,24,.08);padding:1.8rem;text-decoration:none;display:flex;flex-direction:column;gap:.6rem;transition:box-shadow .25s,transform .25s,border-color .25s}\n.rel-card:hover{box-shadow:var(--sh2);transform:translateY(-3px);border-color:rgba(201,168,76,.3)}\n.rel-tag{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}\n.rel-title{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(15px,1.8vw,20px);color:var(--ink);line-height:1.2}\n.rel-desc{font-family:var(--ss);font-size:11px;font-weight:300;color:var(--muted);line-height:1.65}\n.rel-arrow{font-family:var(--ss);font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:auto;padding-top:.8rem;transition:color .2s}\n.rel-card:hover .rel-arrow{color:var(--gold)}\n/* faq */\n.bsc-faq{background:var(--cream);padding:7rem 8vw}\n.bsc-faq-inner{max-width:860px;margin:0 auto}\n.bsc-ey{font-family:var(--ss);font-size:10px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}\n.bsc-ey::before{content:'';width:24px;height:1px;background:var(--gold);flex-shrink:0}\n.bsc-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(28px,4vw,52px);color:var(--ink);line-height:1.05;margin-bottom:2.5rem;letter-spacing:-.02em}\n.bsc-h2 em{font-style:normal;color:var(--gold)}\n.faq-item{border-bottom:1px solid rgba(26,25,24,.09)}\n.faq-item:first-of-type{border-top:1px solid rgba(26,25,24,.09)}\n.faq-q{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(14px,1.5vw,18px);color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;background:none;border:none;width:100%;text-align:left;padding:.9rem 0;transition:color .2s}\n.faq-q:hover,.faq-item.open .faq-q{color:var(--gold)}\n.faq-ico{width:16px;height:16px;color:rgba(26,25,24,.22);flex-shrink:0;transition:transform .3s,color .2s}\n.faq-item.open .faq-ico{transform:rotate(45deg);color:var(--gold)}\n.faq-a{display:none;font-size:13px;font-weight:300;line-height:1.9;color:var(--muted);padding-bottom:1rem;font-family:var(--ss)}\n.faq-item.open .faq-a{display:block}\n/* cta */\n.bsc-cta{background:var(--gold);padding:8rem 8vw;text-align:center;position:relative;overflow:hidden}\n.bsc-cta::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-60deg,transparent,transparent 30px,rgba(255,255,255,.04) 30px,rgba(255,255,255,.04) 31px)}\n.bsc-cta-inner{position:relative;z-index:1;max-width:680px;margin:0 auto}\n.bsc-cta-rule{width:36px;height:2px;background:var(--ink);opacity:.2;margin:0 auto 2rem}\n.bsc-cta-h2{font-family:var(--s);font-style:italic;font-weight:300;font-size:clamp(40px,8vw,96px);color:var(--ink);line-height:.88;letter-spacing:-.05em;margin-bottom:.8rem}\n.bsc-cta-sub{font-family:var(--ss);font-size:13px;font-weight:300;color:rgba(26,25,24,.55);line-height:1.8;max-width:440px;margin:0 auto 2rem}\n.bsc-cta-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}\n/* wa/cursor/intro */\n.wa-float{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:9990;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:transform .3s;text-decoration:none;background:none}\n.wa-float:hover{transform:scale(1.1) translateY(-2px)}\n.wa-float::before{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.35);animation:waPulse 2.5s ease-out infinite}\n@keyframes waPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}\n@media(hover:hover) and (pointer:fine){*{cursor:none!important}.cur-d{position:fixed;top:0;left:0;z-index:99999;pointer-events:none;width:8px;height:8px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);transition:width .15s,height .15s,opacity .3s}.cur-r{position:fixed;top:0;left:0;z-index:99998;pointer-events:none;width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(201,168,76,.45);transform:translate(-50%,-50%);transition:width .25s var(--ease),height .25s var(--ease),opacity .3s}body.cur-hl .cur-d{width:12px;height:12px}body.cur-hl .cur-r{width:40px;height:40px}body.cur-hd .cur-d,body.cur-hd .cur-r{opacity:0}}\n#introEl{position:fixed;inset:0;z-index:99997;background:var(--dark);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.2rem;transition:opacity .6s ease}\n#introEl.hidden{opacity:0;pointer-events:none}\n.intro-m{font-family:var(--s);font-style:italic;font-weight:300;font-size:88px;color:var(--gold);letter-spacing:-.04em;opacity:0;animation:iFade .8s var(--ease) .15s forwards}\n.intro-l{width:0;height:1px;background:var(--gold);opacity:.4;animation:iGrow .7s var(--ease) .35s forwards}\n.intro-w{font-size:10px;font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:rgba(245,240,232,.38);opacity:0;animation:iFade .6s ease .55s forwards}\n@keyframes iFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}\n@keyframes iGrow{from{width:0}to{width:64px}}\n.pg-ov{position:fixed;inset:0;z-index:99996;background:var(--cream);opacity:0;pointer-events:none;transition:opacity .35s ease}\n.pg-ov.visible{opacity:1;pointer-events:all}\n@media print{.wa-float,.cur-d,.cur-r,#introEl,.pg-ov,.bookPill,.seasonal-banner,.scroll-bar{display:none!important}body{font-size:11pt;background:#fff;color:#000}}\n@media(max-width:960px){.bsc-body{grid-template-columns:1fr;padding-left:6vw;padding-right:6vw}.bsc-sidebar{position:static;display:none}.bsc-content{padding-top:2rem}.variety-grid{grid-template-columns:1fr}.do-dont{grid-template-columns:1fr}.press-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr}}\n@media(max-width:640px){.bsc-hero{padding:0 6vw 4rem}.bsc-strip{grid-template-columns:1fr 1fr}.bsc-stat:nth-child(3),.bsc-stat:nth-child(4){border-top:1px solid rgba(201,168,76,.1)}.bsc-stat:nth-child(even){border-right:none}.bsc-def-sec,.bsc-faq,.bsc-cta{padding-left:6vw;padding-right:6vw}}\n\n/* ═══════════════════════════════════════════════\n   GLOBAL FEATURES — added to every page\n   ═══════════════════════════════════════════════ */\n\n/* ── Sticky booking pill (mobile only) ── */\n.book-pill{\n  display:none;\n  position:fixed;bottom:1.5rem;left:50%;transform:translateX(-50%);\n  background:var(--pink);color:#fff;\n  font-family:var(--sans);font-size:10px;font-weight:500;\n  letter-spacing:.18em;text-transform:uppercase;\n  padding:.75rem 1.8rem;border-radius:30px;\n  text-decoration:none;white-space:nowrap;\n  box-shadow:0 4px 20px rgba(192,65,90,.4);\n  z-index:9985;\n  animation:pillIn .4s cubic-bezier(.16,1,.3,1);\n  transition:opacity .3s,transform .3s;\n}\n.book-pill:hover{background:var(--pink2,#a8324a);transform:translateX(-50%) translateY(-2px)}\n.book-pill.hidden{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(8px)}\n@keyframes pillIn{from{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}\n@media(max-width:768px){.book-pill{display:flex;align-items:center;gap:.5rem}}\n/* Hide pill on the pickup page itself */\nbody.page-pickup .book-pill{display:none!important}\n\n/* ── Seasonal banner ── */\n.seasonal-banner{\n  background:var(--dark2,#1a1918);color:rgba(255,255,255,.75);\n  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.08em;\n  text-align:center;padding:.45rem 3rem;position:relative;z-index:10000;\n  border-bottom:.5px solid rgba(255,255,255,.08);\n}\n.seasonal-banner a{color:var(--gold,#C9A84C);text-decoration:none;margin-left:.5rem;font-weight:500}\n.seasonal-banner a:hover{text-decoration:underline}\n.banner-close{position:absolute;right:1rem;top:50%;transform:translateY(-50%);\n  background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;\n  font-size:14px;line-height:1;padding:.2rem;transition:color .2s}\n.banner-close:hover{color:#fff}\n.seasonal-banner.hidden{display:none}\n@media(prefers-color-scheme:light){\n  .seasonal-banner{background:var(--dark2,#1a1918)}\n}\n\n/* ── Dark/light toggle in nav ── */\n.theme-toggle{\n  width:32px;height:32px;border-radius:50%;\n  background:none;border:.5px solid rgba(128,128,128,.25);\n  cursor:pointer;display:flex;align-items:center;justify-content:center;\n  transition:border-color .2s,background .2s;flex-shrink:0;\n}\n.theme-toggle:hover{border-color:var(--gold,#C9A84C);background:rgba(201,168,76,.08)}\n.theme-toggle svg{width:14px;height:14px;transition:opacity .2s}\n.theme-toggle .icon-dark{display:block}\n.theme-toggle .icon-light{display:none}\n[data-theme=\"light\"] .theme-toggle .icon-dark{display:none}\n[data-theme=\"light\"] .theme-toggle .icon-light{display:block}\n\n/* ── Google rating badge in footer ── */\n.g-rating-badge{\n  display:inline-flex;align-items:center;gap:.5rem;\n  text-decoration:none;\n  font-family:var(--sans);\n  padding:.5rem .8rem;\n  border-radius:6px;\n  border:.5px solid rgba(255,255,255,.12);\n  background:rgba(255,255,255,.04);\n  transition:border-color .2s,background .2s;\n  margin-bottom:.8rem;\n}\n.g-rating-badge:hover{border-color:rgba(201,168,76,.3);background:rgba(201,168,76,.05)}\n.g-rating-stars{color:#FBBC04;font-size:13px;letter-spacing:.05em;line-height:1}\n.g-rating-num{font-family:var(--sans);font-size:13px;font-weight:500;color:#fff}\n.g-rating-label{font-family:var(--sans);font-size:9px;font-weight:300;\n  color:rgba(255,255,255,.45);letter-spacing:.08em}\n.g-rating-logo{font-family:var(--sans);font-size:9px;font-weight:700;\n  color:#4285F4;letter-spacing:-.02em}\n@media(prefers-color-scheme:light){\n  .g-rating-badge{border-color:rgba(26,25,24,.12);background:#fff}\n  .g-rating-num{color:#1a1918}\n  .g-rating-label{color:rgba(26,25,24,.45)}\n}\n\n/* ── WhatsApp share button (blogs/guides) ── */\n.wa-share{\n  display:inline-flex;align-items:center;gap:.5rem;\n  background:#25D366;color:#fff;\n  font-family:var(--sans);font-size:9px;font-weight:500;\n  letter-spacing:.15em;text-transform:uppercase;\n  padding:.65rem 1.2rem;border-radius:6px;text-decoration:none;\n  transition:background .2s;\n}\n.wa-share:hover{background:#1da851}\n.wa-share svg{width:14px;height:14px;flex-shrink:0}\n\n/* ── Reading time indicator ── */\n.reading-time{\n  font-family:var(--sans);font-size:10px;font-weight:300;\n  color:var(--txt3,rgba(255,255,255,.4));letter-spacing:.08em;\n  display:inline-flex;align-items:center;gap:.35rem;\n}\n.reading-time svg{width:11px;height:11px;opacity:.6}\n\n/* ── Was this helpful ── */\n.helpful-block{\n  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;\n  padding:1.2rem 0;margin-top:2rem;\n  border-top:1px solid rgba(128,128,128,.12);\n}\n.helpful-label{font-family:var(--sans);font-size:12px;font-weight:300;\n  color:var(--txt3,rgba(255,255,255,.4))}\n.helpful-btn{\n  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.1em;\n  text-transform:uppercase;padding:.4rem 1rem;border-radius:4px;cursor:pointer;\n  border:.5px solid rgba(128,128,128,.2);background:none;\n  color:var(--txt3,rgba(255,255,255,.4));transition:all .2s;\n}\n.helpful-btn:hover,.helpful-btn.active{\n  border-color:var(--pink);color:var(--pink);background:rgba(192,65,90,.06)}\n.helpful-thanks{font-family:var(--sans);font-size:11px;color:var(--pink);display:none}\n.helpful-thanks.show{display:block}\n\n/* ── Page reading progress (long guides) ── */\n.read-progress{\n  position:fixed;top:0;left:0;height:2px;\n  background:var(--gold,#C9A84C);z-index:9999;width:0;\n  transition:width .1s linear;\n}\n\n\n/* FOOTER */\n/* ═══ FOOTER BASE ═══ */\n.site-footer{\n  background:#0a0906;\n  position:relative;\n}\n\n/* ── CONTACT FORM STRIP ── */\n.footer-form-strip{\n  border-bottom:0.5px solid rgba(201,168,76,0.1);\n  padding:5rem 4rem;\n  background:rgba(255,255,255,0.01);\n}\n.footer-form-wrap{\n  max-width:1000px;\n  margin:0 auto;\n}\n.footer-form-header{\n  margin-bottom:2.5rem;\n}\n.footer-form-eye{\n  font-family:var(--sans);font-size:9px;\n  letter-spacing:0.32em;text-transform:uppercase;\n  color:var(--gold);margin-bottom:0.8rem;\n}\n.footer-form-title{\n  font-family:var(--serif);font-style:italic;font-weight:300;\n  font-size:clamp(20px,2.5vw,32px);\n  color:#fff;line-height:1.3;letter-spacing:-0.01em;\n}\n\n/* Form grid */\n.footer-form-row{\n  display:grid;\n  grid-template-columns:repeat(4,1fr);\n  gap:1rem;\n  margin-bottom:1rem;\n}\n.footer-form-field{\n  display:flex;flex-direction:column;gap:0.4rem;\n}\n.footer-form-field-full{\n  margin-bottom:1.2rem;\n}\n.footer-form-label{\n  font-family:var(--sans);font-size:9px;\n  letter-spacing:0.18em;text-transform:uppercase;\n  color:rgba(255,255,255,0.4);\n}\n.footer-form input,\n.footer-form select,\n.footer-form textarea{\n  background:rgba(255,255,255,0.04);\n  border:0.5px solid rgba(255,255,255,0.1);\n  color:#fff;\n  font-family:var(--sans);font-size:13px;font-weight:300;\n  padding:10px 14px;\n  outline:none;\n  transition:border-color 0.3s,background 0.3s;\n  width:100%;\n  appearance:none;\n  -webkit-appearance:none;\n}\n.footer-form input::placeholder,\n.footer-form textarea::placeholder{\n  color:rgba(255,255,255,0.2);\n}\n.footer-form input:focus,\n.footer-form select:focus,\n.footer-form textarea:focus{\n  border-color:rgba(201,168,76,0.5);\n  background:rgba(255,255,255,0.06);\n}\n.footer-form select{\n  background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(201,168,76,0.6)'/%3E%3C/svg%3E\");\n  background-repeat:no-repeat;\n  background-position:right 14px center;\n  padding-right:32px;\n  cursor:pointer;\n}\n.footer-form select option{\n  background:#1a1918;color:#fff;\n}\n.footer-form textarea{\n  resize:vertical;min-height:80px;\n}\n\n/* Submit row */\n.footer-form-submit-row{\n  display:flex;align-items:center;\n  justify-content:space-between;\n  gap:1rem;flex-wrap:wrap;\n}\n.footer-form-legal{\n  font-family:var(--sans);font-size:10px;\n  color:rgba(255,255,255,0.2);line-height:1.6;\n}\n.footer-form-legal a{\n  color:rgba(255,255,255,0.35);\n  text-decoration:none;\n}\n.footer-form-btn{\n  display:inline-flex;align-items:center;gap:0.6rem;\n  background:var(--pink);border:none;cursor:pointer;\n  font-family:var(--sans);font-size:10px;\n  font-weight:500;letter-spacing:0.2em;text-transform:uppercase;\n  color:#fff;padding:12px 28px;\n  transition:background 0.25s,gap 0.3s;\n  white-space:nowrap;\n}\n.footer-form-btn:hover{background:var(--pink2);gap:0.9rem}\n.footer-form-btn-arrow{\n  display:inline-block;transition:transform 0.3s;\n}\n.footer-form-btn:hover .footer-form-btn-arrow{transform:translateX(4px)}\n\n/* Success message */\n.footer-form-success{\n  padding:1rem 0;\n  font-family:var(--serif);font-style:italic;\n  font-size:16px;color:var(--gold-l);\n}\n\n/* ── MAIN COLUMNS ── */\n.footer-main{\n  display:grid;\n  grid-template-columns:1.5fr 1fr 1fr 1.2fr;\n  gap:3rem;\n  max-width:1200px;margin:0 auto;\n  padding:5rem 4rem;\n  border-bottom:0.5px solid rgba(201,168,76,0.1);\n}\n\n/* Brand col */\n.footer-logo{\n  display:block;height:40px;width:auto;\n  margin-bottom:1.6rem;\n  opacity:0.85;\n}\n.footer-seo-text{\n  font-family:var(--sans);font-size:11px;\n  font-weight:300;line-height:1.85;\n  color:rgba(255,255,255,0.38);\n  margin-bottom:2rem;\n}\n\n/* Chotusingh */\n.footer-chotu{\n  margin-bottom:1.2rem;\n}\n.footer-chotu-img{\n  display:block;height:100px;width:auto;\n  object-fit:contain;\n  mix-blend-mode:lighten;\n  filter:brightness(1.1) contrast(1.05);\n  margin-bottom:0.4rem;\n}\n.footer-chotu-line{\n  font-family:var(--serif);font-style:italic;font-weight:300;\n  font-size:11px;color:rgba(255,255,255,0.22);\n  line-height:1.5;\n}\n\n/* Nav cols */\n.footer-col{\n  display:flex;flex-direction:column;\n}\n.footer-col-brand{\n  display:flex;\n  flex-direction:column;\n}\n.footer-col-title{\n  font-family:var(--sans);font-size:9px;\n  font-weight:500;letter-spacing:0.28em;text-transform:uppercase;\n  color:var(--gold);\n  margin-bottom:1.4rem;\n  padding-bottom:0.8rem;\n  border-bottom:0.5px solid rgba(201,168,76,0.15);\n}\n.footer-links{\n  list-style:none;\n  display:flex;flex-direction:column;gap:0.65rem;\n}\n.footer-links a{\n  font-family:var(--sans);font-size:12px;font-weight:300;\n  color:rgba(255,255,255,0.42);text-decoration:none;\n  transition:color 0.3s ease, padding-left 0.3s ease;\n  line-height:1.4;display:block;\n}\n.footer-links a:hover{\n  color:rgba(255,255,255,0.85);\n  padding-left:4px;\n}\n\n/* Contact col */\n.footer-col-contact{\n  justify-content:space-between;\n  display:flex;\n  flex-direction:column;\n}\n.footer-col-contact .footer-apps{\n  margin-top:auto;\n}\n.footer-contact-item{margin-bottom:1.1rem}\n.footer-contact-lbl{\n  display:block;\n  font-family:var(--sans);font-size:8px;\n  letter-spacing:0.22em;text-transform:uppercase;\n  color:var(--gold);opacity:0.65;margin-bottom:0.25rem;\n}\n.footer-address{\n  font-family:var(--sans);font-size:11px;font-weight:300;\n  line-height:1.7;color:rgba(255,255,255,0.38);\n  font-style:normal;\n}\n.footer-contact-val{\n  display:block;\n  font-family:var(--sans);font-size:12px;font-weight:300;\n  color:rgba(255,255,255,0.42);text-decoration:none;\n  line-height:1.7;transition:color 0.25s;\n}\na.footer-contact-val:hover{color:rgba(255,255,255,0.8)}\n\n/* Social */\n.footer-social{\n  display:flex;gap:0.6rem;flex-wrap:wrap;\n  margin-top:1.2rem;margin-bottom:1.6rem;\n}\n.footer-social-ico{\n  width:32px;height:32px;\n  border:0.5px solid rgba(255,255,255,0.12);\n  display:flex;align-items:center;justify-content:center;\n  color:rgba(255,255,255,0.4);text-decoration:none;\n  transition:border-color 0.3s,color 0.3s;\n}\n.footer-social-ico:hover{\n  border-color:rgba(201,168,76,0.5);color:var(--gold-l);\n}\n.footer-social-ico svg{width:14px;height:14px}\n.footer-social-wa:hover{\n  border-color:rgba(37,211,102,0.5);color:#25D366;\n}\n\n/* App badges */\n.footer-apps{margin-top:auto}\n.footer-apps-label{\n  font-family:var(--sans);font-size:8px;\n  letter-spacing:0.22em;text-transform:uppercase;\n  color:var(--gold);opacity:0.65;margin-bottom:0.8rem;\n}\n.footer-apps-row{display:flex;flex-direction:column;gap:0.5rem}\n.footer-app-badge{\n  display:block;text-decoration:none;\n  border:0.5px solid rgba(255,255,255,0.15);\n  padding:8px 14px;\n  transition:border-color 0.3s,background 0.3s;\n}\n.footer-app-badge:hover{\n  border-color:rgba(201,168,76,0.4);\n  background:rgba(255,255,255,0.03);\n}\n.footer-app-inner{\n  display:flex;align-items:center;gap:10px;\n}\n.footer-app-icon{\n  font-size:22px;color:#fff;\n  line-height:1;flex-shrink:0;\n}\n.footer-app-text{\n  display:flex;flex-direction:column;gap:1px;\n}\n.footer-app-sub{\n  font-family:var(--sans);font-size:8px;\n  color:rgba(255,255,255,0.45);letter-spacing:0.06em;\n}\n.footer-app-name{\n  font-family:var(--sans);font-size:13px;\n  font-weight:500;color:#fff;letter-spacing:0.02em;\n}\n\n/* Legal strip */\n.footer-legal{\n  background:#070604;\n  padding:1.4rem 4rem;\n}\n.footer-legal-inner{\n  max-width:1200px;margin:0 auto;\n  display:flex;flex-direction:column;\n  align-items:center;gap:0.5rem;text-align:center;\n}\n.footer-legal-links{\n  display:flex;flex-wrap:wrap;align-items:center;\n  justify-content:center;gap:0.5rem;\n}\n.footer-legal-links a,\n.footer-legal-txt{\n  font-family:var(--sans);font-size:10px;\n  color:rgba(255,255,255,0.28);text-decoration:none;\n  transition:color 0.25s;\n}\n.footer-legal-links a:hover{color:rgba(255,255,255,0.6)}\n.footer-sep{color:rgba(255,255,255,0.18);font-size:10px}\n.footer-copyright{\n  font-family:var(--sans);font-size:10px;\n  color:rgba(255,255,255,0.18);line-height:1.6;\n}\n\n/* Mobile */\n@media(max-width:1024px){\n  .footer-form-row{grid-template-columns:1fr 1fr;}\n  .footer-main{grid-template-columns:1fr 1fr;padding:4rem 3rem;}\n  .footer-col-brand{grid-column:1/-1;}\n  .footer-form-strip{padding:4rem 3rem;}\n}\n@media(max-width:640px){\n  .footer-form-row{grid-template-columns:1fr;}\n  .footer-main{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2.5rem;}\n  .footer-form-strip{padding:3rem 1.5rem;}\n  .footer-legal{padding:1.2rem 1.5rem;}\n  .footer-form-submit-row{flex-direction:column;align-items:flex-start;}\n  .footer-form-btn{width:100%;justify-content:center;}\n}\n\n\n\n\n\n/* ── Footer SEO text — hidden from visitors, present for Google ── */\n.footer-seo-hidden{\n  position:absolute !important;\n  width:1px !important;\n  height:1px !important;\n  overflow:hidden !important;\n  clip:rect(0,0,0,0) !important;\n  white-space:nowrap !important;\n  pointer-events:none !important;\n  visibility:hidden !important;\n  opacity:0 !important;\n  display:block !important;\n  font-size:0 !important;\n  line-height:0 !important;\n}\n/* ── Footer brand statement — visible, premium ── */\n.footer-brand-statement{\n  font-family:var(--serif);\n  font-style:italic;\n  font-weight:300;\n  font-size:clamp(14px,1.3vw,17px);\n  line-height:1.7;\n  color:rgba(255,255,255,0.45);\n  margin-bottom:1.8rem;\n}\n\n\n\n\n \n \n \n\n\n\n.back-to-top{\n  position:fixed;\n  bottom:2rem;\n  left:2rem;\n  width:44px;height:44px;\n  border:0.5px solid rgba(201,168,76,0.35);\n  display:flex;align-items:center;justify-content:center;\n  color:rgba(255,255,255,0.5);\n  background:rgba(12,11,10,0.85);\n  backdrop-filter:blur(8px);\n  text-decoration:none;\n  z-index:998;\n  opacity:0;\n  transform:translateY(8px);\n  transition:opacity 0.3s ease,transform 0.3s ease,\n             border-color 0.3s ease,color 0.3s ease;\n  pointer-events:none;\n}\n.back-to-top.visible{\n  opacity:1;\n  transform:translateY(0);\n  pointer-events:auto;\n}\n.back-to-top:hover{\n  border-color:rgba(201,168,76,0.7);\n  color:var(--gold-l);\n}\n.back-to-top svg{\n  width:16px;height:16px;\n}\n@media(max-width:768px){\n  .back-to-top{\n    bottom:5.5rem;\n    left:1rem;\n    width:40px;height:40px;\n  }\n}\n\n\n\n\n\n\n/* ── Compact contact ── */\n.footer-contact-compact{\n  display:flex;flex-direction:column;gap:0.55rem;\n  margin-bottom:1rem;\n}\n.footer-contact-row{\n  font-family:var(--sans);font-size:11px;font-weight:300;\n  color:rgba(255,255,255,0.42);line-height:1.5;\n  display:flex;align-items:baseline;gap:0.5rem;\n  flex-wrap:wrap;\n}\n.footer-contact-row a{\n  color:rgba(255,255,255,0.42);text-decoration:none;\n  transition:color 0.25s;\n}\n.footer-contact-row a:hover{color:rgba(255,255,255,0.8)}\n.fcc-lbl{font-size:10px;flex-shrink:0;opacity:0.6}\n.fcc-sep{opacity:0.35;margin:0 2px}\n\n/* ── App icon buttons ── */\n.footer-apps-row{\n  display:flex;gap:0.8rem;\n  flex-direction:row !important;\n}\n.footer-app-icon-btn{\n  display:flex;align-items:center;justify-content:center;\n  width:40px;height:40px;\n  border:0.5px solid rgba(255,255,255,0.15);\n  color:rgba(255,255,255,0.5);\n  text-decoration:none;\n  transition:border-color 0.3s,color 0.3s;\n}\n.footer-app-icon-btn:hover{\n  border-color:rgba(201,168,76,0.5);\n  color:var(--gold-l);\n}\n.footer-app-icon-btn svg{width:20px;height:20px}\n\n\n\n.footer-threshold{\n  width:100%;height:1px;\n  background:linear-gradient(90deg,\n    transparent,rgba(201,168,76,0.4) 50%,transparent);\n}\n\n\n</html\n.seo-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;pointer-events:none}\n.footer-form-btn-txt{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase}\n.footer-social-wa{display:inline-flex;align-items:center;gap:0.5rem;font-family:'Jost',sans-serif;font-size:11px;font-weight:300;color:rgba(255,255,255,0.5);transition:color 0.2s}\n.footer-social-wa:hover{color:#25D366}\n\n/* Pin toggle */\n.pin-toggle{\n  font-family:var(--sans);font-size:10px;font-weight:400;\n  letter-spacing:.12em;text-transform:uppercase;\n  color:rgba(201,168,76,.6);background:none;border:none;\n  cursor:pointer;padding:0;margin-bottom:1rem;\n  display:block;transition:color .2s;\n}\n.pin-toggle:hover{color:var(--gold);}\n#pinGrid[style*=\"display: grid\"]{display:grid!important;}\n\n/* ══ GARMENT CARE SYMBOLS — floating background ══ */\n.garment-bg{\n  position:absolute;inset:0;\n  pointer-events:none;overflow:hidden;\n  z-index:0;\n  opacity:.06; /* very subtle on light bg */\n}\n@media(prefers-color-scheme:dark){.garment-bg{opacity:.04}}\n\n.garment-symbol{\n  position:absolute;\n  font-size:clamp(20px,3vw,36px);\n  color:var(--pink);\n  animation:garmentFloat var(--gd,20s) ease-in-out infinite var(--gdelay,0s);\n  user-select:none;\n  line-height:1;\n}\n@keyframes garmentFloat{\n  0%   {transform:translateY(0) rotate(0deg);   opacity:0}\n  5%   {opacity:1}\n  45%  {transform:translateY(-18px) rotate(3deg);opacity:1}\n  55%  {transform:translateY(-18px) rotate(-3deg);opacity:1}\n  95%  {opacity:.8}\n  100% {transform:translateY(0) rotate(0deg);   opacity:0}\n}\n\n/* Sections that get the garment background */\n.how-section,.speed-section,.cov-section,.free-section,\n.app-section,.faq-section,.other-ways{position:relative;overflow:hidden}\n\n/* ── SECTION TEXT — explicit contrast on light bg ── */\n.how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:var(--txt)}\n.how-title{color:var(--txt);font-size:clamp(18px,2vw,24px)}\n.how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n.speed-time{color:var(--pink)}\n.speed-name{color:var(--txt)}\n.eyebrow-m{color:var(--pink);opacity:1}\n.pin-num{color:var(--pink)}\n.pin-area{color:var(--txt2)}\n.thresh-val{color:var(--pink)}\n.thresh-lbl{color:var(--txt3)}\n.thresh-or{color:var(--txt3)}\n.ow-hl{color:var(--txt)}\n.ow-name{color:var(--txt)}\n.ow-detail{color:var(--txt3)}\n.ow-hours{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.15)}\n.ow-hours strong{color:var(--pink)}\n.app-feat{color:var(--txt2)}\n/* pin tag on cream */\n.pin-tag{background:rgba(26,25,24,.04);border-color:rgba(26,25,24,.1)}\n.pin-tag:hover{border-color:rgba(192,65,90,.25);background:rgba(192,65,90,.03)}\n/* speed card on cream */\n.speed-card{background:#fff;border-color:rgba(26,25,24,.1)}\n.speed-card:hover{background:rgba(192,65,90,.03);border-color:rgba(192,65,90,.2)}\n.speed-card.popular{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.3)}\n.speed-icon{background:rgba(192,65,90,.06);border-color:rgba(192,65,90,.15);color:var(--pink)}\n.speed-note{border-color:rgba(26,25,24,.08);color:var(--txt3)}\n/* thresh items on cream */\n.thresh-item{background:#fff;border-color:rgba(201,168,76,.2)}\n/* faq on cream */\n.faq-item,.faq-item:first-of-type{border-color:rgba(26,25,24,.1)}\n.faq-q{color:var(--txt)}\n.faq-icon{color:var(--txt3)}\n/* how step */\n.how-num{background:var(--pink)}\n/* app btn on cream */\n.app-btn{background:#fff;color:var(--txt);border-color:rgba(26,25,24,.12)}\n.app-btn:hover{background:#f0ece4}\n.app-feat svg{color:var(--pink)}\n/* ow methods on cream */\n.ow-method{border-color:rgba(26,25,24,.08)}\n.ow-icon{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.1)}\n.ow-icon svg{color:var(--pink)}\n.ow-method:hover .ow-name{color:var(--pink)}\n.ow-arrow{color:rgba(26,25,24,.2)}\n/* other-ways section */\n.other-ways{border-color:rgba(26,25,24,.08)}\n/* how grid connector line */\n.how-grid::before{background:linear-gradient(90deg,transparent,rgba(192,65,90,.15) 20%,rgba(192,65,90,.15) 80%,transparent)}\n\n/* DARK MODE overrides */\n@media(prefers-color-scheme:dark){\n  .how-section,.cov-section,.app-section{background:var(--bg2)!important}\n  .speed-section,.free-section,.faq-section,.other-ways{background:var(--bg)!important}\n  .how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:#fff}\n  .how-title,.speed-name,.ow-hl,.ow-name,.faq-q{color:var(--txt,var(--ink,var(--dark2,#1a1918)))}\n  .how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n  .eyebrow-m{color:rgba(201,168,76,.75)}\n  .pin-num{color:var(--gold)}\n  .pin-area{color:var(--txt3)}\n  .pin-tag{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}\n  .speed-card{background:var(--surf);border-color:var(--surf-b)}\n  .speed-card.popular{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.35)}\n  .speed-icon{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.15);color:var(--gold)}\n  .speed-time{color:var(--gold)}\n  .thresh-item{background:var(--surf);border-color:rgba(201,168,76,.15)}\n  .thresh-val{color:var(--gold)}\n  .faq-item,.faq-item:first-of-type{border-color:var(--surf-b)}\n  .faq-icon{color:var(--txt3)}\n  .app-btn{background:var(--surf);color:#fff;border-color:var(--surf-b)}\n  .app-btn:hover{background:rgba(255,255,255,.09)}\n  .app-feat svg{color:var(--pink)}\n  .ow-method{border-color:var(--surf-b)}\n  .ow-icon{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.15)}\n  .ow-icon svg{color:var(--gold)}\n  .ow-hours{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.12)}\n  .ow-hours strong{color:rgba(201,168,76,.7)}\n  .other-ways{border-color:var(--surf-b)}\n  .how-grid::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 20%,rgba(255,255,255,.1) 80%,transparent)}\n}\n\n/* ══ GARMENT CARE SYMBOLS — floating background ══ */\n.garment-bg{\n  position:absolute;inset:0;\n  pointer-events:none;overflow:hidden;\n  z-index:0;\n  opacity:.06; /* very subtle on light bg */\n}\n@media(prefers-color-scheme:dark){.garment-bg{opacity:.04}}\n\n.garment-symbol{\n  position:absolute;\n  font-size:clamp(20px,3vw,36px);\n  color:var(--pink);\n  animation:garmentFloat var(--gd,20s) ease-in-out infinite var(--gdelay,0s);\n  user-select:none;\n  line-height:1;\n}\n@keyframes garmentFloat{\n  0%   {transform:translateY(0) rotate(0deg);   opacity:0}\n  5%   {opacity:1}\n  45%  {transform:translateY(-18px) rotate(3deg);opacity:1}\n  55%  {transform:translateY(-18px) rotate(-3deg);opacity:1}\n  95%  {opacity:.8}\n  100% {transform:translateY(0) rotate(0deg);   opacity:0}\n}\n\n/* Sections that get the garment background */\n.how-section,.speed-section,.cov-section,.free-section,\n.app-section,.faq-section,.other-ways{position:relative;overflow:hidden}\n\n/* ── SECTION TEXT — explicit contrast on light bg ── */\n.how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:var(--txt)}\n.how-title{color:var(--txt);font-size:clamp(18px,2vw,24px)}\n.how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n.speed-time{color:var(--pink)}\n.speed-name{color:var(--txt)}\n.eyebrow-m{color:var(--pink);opacity:1}\n.pin-num{color:var(--pink)}\n.pin-area{color:var(--txt2)}\n.thresh-val{color:var(--pink)}\n.thresh-lbl{color:var(--txt3)}\n.thresh-or{color:var(--txt3)}\n.ow-hl{color:var(--txt)}\n.ow-name{color:var(--txt)}\n.ow-detail{color:var(--txt3)}\n.ow-hours{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.15)}\n.ow-hours strong{color:var(--pink)}\n.app-feat{color:var(--txt2)}\n/* pin tag on cream */\n.pin-tag{background:rgba(26,25,24,.04);border-color:rgba(26,25,24,.1)}\n.pin-tag:hover{border-color:rgba(192,65,90,.25);background:rgba(192,65,90,.03)}\n/* speed card on cream */\n.speed-card{background:#fff;border-color:rgba(26,25,24,.1)}\n.speed-card:hover{background:rgba(192,65,90,.03);border-color:rgba(192,65,90,.2)}\n.speed-card.popular{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.3)}\n.speed-icon{background:rgba(192,65,90,.06);border-color:rgba(192,65,90,.15);color:var(--pink)}\n.speed-note{border-color:rgba(26,25,24,.08);color:var(--txt3)}\n/* thresh items on cream */\n.thresh-item{background:#fff;border-color:rgba(201,168,76,.2)}\n/* faq on cream */\n.faq-item,.faq-item:first-of-type{border-color:rgba(26,25,24,.1)}\n.faq-q{color:var(--txt)}\n.faq-icon{color:var(--txt3)}\n/* how step */\n.how-num{background:var(--pink)}\n/* app btn on cream */\n.app-btn{background:#fff;color:var(--txt);border-color:rgba(26,25,24,.12)}\n.app-btn:hover{background:#f0ece4}\n.app-feat svg{color:var(--pink)}\n/* ow methods on cream */\n.ow-method{border-color:rgba(26,25,24,.08)}\n.ow-icon{background:rgba(192,65,90,.05);border-color:rgba(192,65,90,.1)}\n.ow-icon svg{color:var(--pink)}\n.ow-method:hover .ow-name{color:var(--pink)}\n.ow-arrow{color:rgba(26,25,24,.2)}\n/* other-ways section */\n.other-ways{border-color:rgba(26,25,24,.08)}\n/* how grid connector line */\n.how-grid::before{background:linear-gradient(90deg,transparent,rgba(192,65,90,.15) 20%,rgba(192,65,90,.15) 80%,transparent)}\n\n/* DARK MODE overrides */\n@media(prefers-color-scheme:dark){\n  .how-section,.cov-section,.app-section{background:var(--bg2)!important}\n  .speed-section,.free-section,.faq-section,.other-ways{background:var(--bg)!important}\n  .how-h2,.speed-h2,.cov-h2,.free-h2,.app-h2,.faq-h2{color:#fff}\n  .how-title,.speed-name,.ow-hl,.ow-name,.faq-q{color:var(--txt,var(--ink,var(--dark2,#1a1918)))}\n  .how-desc,.speed-desc,.speed-note,.cov-lead,.cov-note,.app-body,.free-body,.faq-a{color:var(--txt2)}\n  .eyebrow-m{color:rgba(201,168,76,.75)}\n  .pin-num{color:var(--gold)}\n  .pin-area{color:var(--txt3)}\n  .pin-tag{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08)}\n  .speed-card{background:var(--surf);border-color:var(--surf-b)}\n  .speed-card.popular{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.35)}\n  .speed-icon{background:rgba(201,168,76,.08);border-color:rgba(201,168,76,.15);color:var(--gold)}\n  .speed-time{color:var(--gold)}\n  .thresh-item{background:var(--surf);border-color:rgba(201,168,76,.15)}\n  .thresh-val{color:var(--gold)}\n  .faq-item,.faq-item:first-of-type{border-color:var(--surf-b)}\n  .faq-icon{color:var(--txt3)}\n  .app-btn{background:var(--surf);color:#fff;border-color:var(--surf-b)}\n  .app-btn:hover{background:rgba(255,255,255,.09)}\n  .app-feat svg{color:var(--pink)}\n  .ow-method{border-color:var(--surf-b)}\n  .ow-icon{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.15)}\n  .ow-icon svg{color:var(--gold)}\n  .ow-hours{background:rgba(201,168,76,.05);border-color:rgba(201,168,76,.12)}\n  .ow-hours strong{color:rgba(201,168,76,.7)}\n  .other-ways{border-color:var(--surf-b)}\n  .how-grid::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1) 20%,rgba(255,255,255,.1) 80%,transparent)}\n}\n\n/* ── Hero is always dark regardless of system setting ── */\nsection#book-form,section#book-form *{--bg:#1a1918}\nsection#book-form{background:#1a1918!important}\nsection#book-form .f-brand-tag{color:var(--gold)!important}\nsection#book-form .f-title{color:#fff!important}\nsection#book-form .f-badge{color:rgba(255,255,255,.4)!important}\nsection#book-form .f-q{color:#fff!important}\nsection#book-form .f-q em{color:var(--gold)!important}\nsection#book-form .f-step-txt{color:rgba(255,255,255,.35)!important}\nsection#book-form .f-step-txt strong{color:#fff!important}\nsection#book-form .f-dot{background:rgba(255,255,255,.2)!important}\nsection#book-form .f-dot.cur{background:var(--gold)!important}\nsection#book-form .f-dot.done{background:var(--pink)!important}\nsection#book-form .f-box{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.12)!important}\nsection#book-form .f-in{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}\nsection#book-form .f-in::placeholder{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-lbl{color:rgba(255,255,255,.4)!important}\nsection#book-form .f-pfx{color:rgba(255,255,255,.35)!important}\nsection#book-form .f-hint{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-hint kbd{color:rgba(255,255,255,.35)!important;background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.15)!important}\nsection#book-form .f-bar-row{border-color:rgba(255,255,255,.1)!important}\nsection#book-form .f-sub{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-sub a{color:rgba(201,168,76,.5)!important}\nsection#book-form .f-back{color:rgba(255,255,255,.3)!important}\nsection#book-form .profile-card{background:rgba(201,168,76,.08)!important;border-color:rgba(201,168,76,.2)!important}\nsection#book-form .profile-name{color:#fff!important}\nsection#book-form .profile-detail{color:rgba(255,255,255,.45)!important}\nsection#book-form .edit-btn{color:rgba(201,168,76,.55)!important}\nsection#book-form .choice-card{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.1)!important}\nsection#book-form .choice-card:hover,section#book-form .choice-card.on{background:rgba(201,168,76,.1)!important;border-color:rgba(201,168,76,.4)!important}\nsection#book-form .choice-name{color:#fff!important}\nsection#book-form .choice-sub{color:rgba(255,255,255,.4)!important}\nsection#book-form .tnc-wrap{background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.08)!important}\nsection#book-form .tnc-hd{color:rgba(255,255,255,.4)!important}\nsection#book-form .tnc-body{border-color:rgba(255,255,255,.06)!important}\nsection#book-form .tnc-item{color:rgba(255,255,255,.45)!important}\nsection#book-form .agree-txt{color:rgba(255,255,255,.4)!important}\nsection#book-form .agree-box{border-color:rgba(255,255,255,.2)!important}\nsection#book-form .captcha-row{background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.08)!important}\nsection#book-form .cap-check{border-color:rgba(255,255,255,.2)!important}\nsection#book-form .cap-lbl{color:rgba(255,255,255,.45)!important}\nsection#book-form .cap-logo{color:rgba(255,255,255,.2)!important}\nsection#book-form .otp-d{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.12)!important;color:#fff!important}\nsection#book-form .otp-hint{color:rgba(255,255,255,.4)!important}\nsection#book-form .otp-resend{color:rgba(201,168,76,.55)!important}\nsection#book-form .otp-timer{color:rgba(255,255,255,.3)!important}\nsection#book-form .f-err{color:var(--pink)!important}\nsection#book-form .f-alert{color:var(--pink)!important;background:rgba(192,65,90,.08)!important;border-color:rgba(192,65,90,.2)!important}\nsection#book-form .f-confirm-note{color:rgba(255,255,255,.2)!important}\n\n.faq-a{color:var(--txt2,#3d3a36);line-height:2}\n\nbody{color:#1a1918}\n@media(prefers-color-scheme:dark){body{color:#fff}}\n\n\n\n\n.post-hero{background:#0c0b0a;min-height:100svh;display:grid;grid-template-columns:1fr 1.65fr;position:relative;overflow:hidden}\n.post-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(201,168,76,.055) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0}\n.hero-num-col{display:flex;align-items:center;justify-content:flex-end;padding:8rem 3rem 8rem 8vw;position:relative;z-index:1;border-right:1px solid rgba(201,168,76,.12)}\n.hero-edition-num{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(90px,16vw,220px);line-height:.85;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(201,168,76,.28);display:block;user-select:none}\n.hero-content-col{display:flex;flex-direction:column;justify-content:center;padding:8rem 8vw 8rem 4rem;position:relative;z-index:1}\n.post-eyebrow{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}\n.post-cat-pill{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;padding:4px 10px;border-radius:2px;border:1px solid rgba(201,168,76,.3);color:#C9A84C;background:rgba(201,168,76,.08)}\n.post-edition-label{font-family:'Jost',sans-serif;font-size:9px;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,240,232,.28)}\n.post-h1{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(26px,3.5vw,52px);line-height:1.05;letter-spacing:-.03em;color:#F5F0E8;margin-bottom:2rem;max-width:620px}\n.post-h1 em{font-style:normal;color:#C9A84C}\n.post-rule{width:48px;height:1px;background:#C9A84C;margin-bottom:2rem;opacity:.45}\n.post-meta-strip{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap;margin-bottom:2.4rem}\n.meta-item{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;letter-spacing:.1em;color:rgba(245,240,232,.32);display:flex;align-items:center;gap:.4rem}\n.meta-item strong{color:rgba(245,240,232,.58);font-weight:400}\n.meta-dot{width:3px;height:3px;border-radius:50%;background:rgba(201,168,76,.4);display:inline-block;flex-shrink:0}\n.hero-summary{border-left:2px solid rgba(201,168,76,.38);padding:.8rem 0 .8rem 1.2rem;font-family:'Jost',sans-serif;font-size:13px;font-weight:300;line-height:1.85;color:rgba(245,240,232,.52);max-width:500px;font-style:italic}\n.at-a-glance{background:#F5F0E8;padding:5rem 8vw;border-bottom:1px solid rgba(26,25,24,.08)}\n.glance-inner{max-width:860px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4rem;align-items:start}\n.glance-label{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#C9A84C;display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem}\n.glance-label::before{content:'';width:24px;height:1px;background:#C9A84C;flex-shrink:0}\n.glance-h2{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(20px,2.6vw,34px);color:#1a1918;line-height:1.1;letter-spacing:-.02em;margin-bottom:1.4rem}\n.glance-h2 em{font-style:normal;color:#C9A84C}\n.glance-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}\n.glance-points li{font-family:'Jost',sans-serif;font-size:13px;font-weight:300;line-height:1.7;color:rgba(26,25,24,.62);padding-left:1.4rem;position:relative}\n.glance-points li::before{content:'';position:absolute;left:0;top:.58em;width:6px;height:6px;border-radius:50%;background:#C9A84C;opacity:.5}\n.jump-nav{background:rgba(26,25,24,.04);border-radius:8px;padding:1.4rem 1.6rem}\n.jump-nav-label{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(26,25,24,.38);margin-bottom:.8rem;display:block}\n.jump-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}\n.jump-links li a{font-family:'Jost',sans-serif;font-size:12px;font-weight:300;color:rgba(26,25,24,.52);text-decoration:none;display:flex;align-items:center;gap:.5rem;transition:color .2s;padding:.2rem 0}\n.jump-links li a:hover{color:#C9A84C}\n.jump-links li a::before{content:'';width:12px;height:1px;background:currentColor;flex-shrink:0;opacity:.4}\n.post-body{background:#FAFAF8;padding:6rem 8vw}\n.post-body-inner{max-width:720px;margin:0 auto}\n.post-body p{font-family:'Jost',sans-serif;font-size:15px;font-weight:300;line-height:1.95;color:rgba(26,25,24,.7);margin-bottom:1.4rem}\n.post-body p:last-child{margin-bottom:0}\n.post-body strong{color:#1a1918;font-weight:400}\n.post-body a{color:#C9A84C;text-decoration:none;border-bottom:1px solid rgba(201,168,76,.32);transition:border-color .2s}\n.post-body a:hover{border-bottom-color:#C9A84C}\n.post-h2{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(22px,2.8vw,36px);line-height:1.1;letter-spacing:-.02em;color:#1a1918;margin:3.5rem 0 1.2rem;padding-top:1rem;border-top:1px solid rgba(26,25,24,.07)}\n.post-h2:first-child{margin-top:0;border-top:none;padding-top:0}\n.post-h2 em{font-style:normal;color:#C9A84C}\n.post-h3{font-family:'Jost',sans-serif;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(26,25,24,.48);margin:2rem 0 .8rem}\n.pull-quote{border-left:3px solid #C9A84C;margin:3rem 0;padding:1.5rem 2rem;background:rgba(201,168,76,.04)}\n.pull-quote p{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(20px,2.6vw,32px);line-height:1.3;letter-spacing:-.02em;color:#1a1918;margin:0}\n.fact-box{background:rgba(201,168,76,.07);border-left:3px solid #C9A84C;padding:1.4rem 1.6rem;margin:2rem 0;border-radius:0 6px 6px 0}\n.fact-box-label{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#C9A84C;display:block;margin-bottom:.6rem}\n.fact-box p{font-size:13px;line-height:1.8;color:rgba(26,25,24,.62);margin:0}\n.warn-box{background:rgba(192,65,90,.06);border-left:3px solid #C0415A;padding:1.4rem 1.6rem;margin:2rem 0;border-radius:0 6px 6px 0}\n.warn-box-label{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#C0415A;display:block;margin-bottom:.6rem}\n.warn-box p{font-size:13px;line-height:1.8;color:rgba(26,25,24,.62);margin:0}\n.post-steps{margin:2rem 0;display:flex;flex-direction:column;gap:1.2rem}\n.post-step{display:grid;grid-template-columns:48px 1fr;gap:1rem;align-items:start}\n.step-num{width:36px;height:36px;background:#0c0b0a;color:#C9A84C;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:18px;font-weight:300;display:flex;align-items:center;justify-content:center;border-radius:2px;flex-shrink:0;margin-top:2px}\n.step-title{font-family:'Jost',sans-serif;font-size:12px;font-weight:500;letter-spacing:.06em;color:#1a1918;margin-bottom:.3rem;text-transform:uppercase}\n.step-body{font-size:13px;line-height:1.8;color:rgba(26,25,24,.58)}\n.post-table-wrap{overflow-x:auto;margin:2rem 0}\n.post-table{width:100%;border-collapse:collapse;font-family:'Jost',sans-serif;font-size:12px}\n.post-table th{font-size:9px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.75rem 1rem;background:#0c0b0a;color:rgba(245,240,232,.5);text-align:left;white-space:nowrap}\n.post-table th:first-child{color:#E2C97E}\n.post-table td{padding:.65rem 1rem;font-size:12px;font-weight:300;line-height:1.6;color:rgba(26,25,24,.58);border-bottom:1px solid rgba(26,25,24,.06);vertical-align:top}\n.post-table tr:last-child td{border-bottom:none}\n.post-table td:first-child{color:#1a1918;font-weight:400}\n.td-yes{color:#4A8A4A}.td-no{color:#C0415A}\n.post-faq{background:#F5F0E8;padding:6rem 8vw}\n.faq-inner{max-width:720px;margin:0 auto}\n.faq-ey{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#C9A84C;display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}\n.faq-ey::before{content:'';width:24px;height:1px;background:#C9A84C;flex-shrink:0}\n.faq-h2{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(26px,3.5vw,44px);color:#1a1918;line-height:1;letter-spacing:-.03em;margin-bottom:2.5rem}\n.faq-h2 em{font-style:normal;color:#C9A84C}\n.faq-item{border-bottom:1px solid rgba(26,25,24,.09)}\n.faq-item:first-of-type{border-top:1px solid rgba(26,25,24,.09)}\n.faq-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:1.1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(14px,1.5vw,18px);color:#1a1918;transition:color .2s;line-height:1.3}\n.faq-q:hover,.faq-item.open .faq-q{color:#C9A84C}\n.faq-icon{width:18px;height:18px;flex-shrink:0;color:rgba(26,25,24,.22);transition:transform .3s cubic-bezier(.16,1,.3,1),color .2s}\n.faq-item.open .faq-icon{transform:rotate(45deg);color:#C9A84C}\n.faq-a{display:none;font-family:'Jost',sans-serif;font-size:13px;font-weight:300;line-height:1.9;color:rgba(26,25,24,.58);padding-bottom:1.2rem}\n.faq-item.open .faq-a{display:block}\n.author-strip{background:#0c0b0a;padding:3.5rem 8vw}\n.author-inner{max-width:720px;margin:0 auto;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}\n.author-logo{width:48px;height:48px;background:rgba(201,168,76,.1);border-radius:2px;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:20px;color:#C9A84C;flex-shrink:0;letter-spacing:-.04em}\n.author-info{flex:1}\n.author-name{font-family:'Jost',sans-serif;font-size:12px;font-weight:400;letter-spacing:.06em;color:#F5F0E8;display:block;margin-bottom:.2rem}\n.author-bio{font-family:'Jost',sans-serif;font-size:11px;font-weight:300;color:rgba(245,240,232,.32);line-height:1.6}\n.author-dates{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;letter-spacing:.08em;color:rgba(245,240,232,.18);text-align:right;line-height:1.8}\n.related-sec{background:#FAFAF8;padding:5rem 8vw;border-top:1px solid rgba(26,25,24,.07)}\n.related-inner{max-width:960px;margin:0 auto}\n.related-ey{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:#C9A84C;display:flex;align-items:center;gap:.8rem;margin-bottom:1rem}\n.related-ey::before{content:'';width:24px;height:1px;background:#C9A84C;flex-shrink:0}\n.related-h2{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(22px,2.8vw,36px);color:#1a1918;margin-bottom:2rem;letter-spacing:-.02em}\n.related-h2 em{font-style:normal;color:#C9A84C}\n.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(26,25,24,.08)}\n.related-card{background:#FAFAF8;text-decoration:none;padding:1.8rem;display:flex;flex-direction:column;gap:.6rem;transition:background .2s;position:relative;overflow:hidden}\n.related-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#C9A84C;transform:scaleX(0);transition:transform .25s cubic-bezier(.16,1,.3,1);transform-origin:left}\n.related-card:hover{background:#F5F0E8}.related-card:hover::after{transform:scaleX(1)}\n.rc-tag{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#C9A84C}\n.rc-title{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(15px,1.7vw,21px);color:#1a1918;line-height:1.2;transition:color .2s}\n.related-card:hover .rc-title{color:#C9A84C}\n.rc-read{font-family:'Jost',sans-serif;font-size:10px;font-weight:300;color:rgba(26,25,24,.28);margin-top:auto}\n.post-cta{background:#C9A84C;padding:6rem 8vw;text-align:center;position:relative;overflow:hidden}\n.post-cta::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-60deg,transparent,transparent 30px,rgba(255,255,255,.04) 30px,rgba(255,255,255,.04) 31px)}\n.post-cta-inner{position:relative;z-index:1;max-width:540px;margin:0 auto}\n.post-cta-rule{width:36px;height:2px;background:#1a1918;opacity:.2;margin:0 auto 2rem}\n.post-cta-h2{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(36px,6.5vw,78px);color:#1a1918;line-height:.88;letter-spacing:-.05em;margin-bottom:.8rem}\n.post-cta-sub{font-family:'Jost',sans-serif;font-size:13px;font-weight:300;color:rgba(26,25,24,.5);line-height:1.8;max-width:360px;margin:0 auto 2rem}\n.post-cta-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}\n.btn-dk-post{font-family:'Jost',sans-serif;font-size:10px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;background:#1a1918;color:#C9A84C;padding:.9rem 2rem;text-decoration:none;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:background .2s}\n.btn-dk-post:hover{background:#000}\n@media(max-width:900px){.post-hero{grid-template-columns:1fr;min-height:auto}.hero-num-col{justify-content:flex-start;padding:6rem 8vw 2rem;border-right:none;border-bottom:1px solid rgba(201,168,76,.12)}.hero-edition-num{font-size:clamp(72px,18vw,120px)}.hero-content-col{padding:3rem 8vw 6rem}.glance-inner{grid-template-columns:1fr;gap:2rem}.related-grid{grid-template-columns:1fr}}\n@media(max-width:640px){.post-body,.at-a-glance,.post-faq,.author-strip,.related-sec,.post-cta{padding-left:5vw;padding-right:5vw}.hero-num-col{padding-left:5vw;padding-right:5vw}.hero-content-col{padding-left:5vw;padding-right:5vw}.author-dates{text-align:left}}\n\n.pro-box{background:rgba(26,74,138,.06);border-left:3px solid #1a4a8a;padding:1.4rem 1.6rem;margin:2rem 0;border-radius:0 6px 6px 0}\n.pro-box-label{font-family:'Jost',sans-serif;font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#1a4a8a;display:block;margin-bottom:.6rem}\n.pro-box p{font-size:13px;line-height:1.8;color:rgba(26,25,24,.65);margin:0}\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",
  "scriptJs": "function acceptCookies(){\n  try {\n    localStorage.setItem('tsl_cookies','accepted');\n    document.querySelectorAll('.cookie-bar').forEach(function(bar){ bar.classList.remove('show'); bar.style.display='none'; });\n  } catch(e){}\n}\nwindow.addEventListener('DOMContentLoaded', function(){\n  try {\n    if(!localStorage.getItem('tsl_cookies')){\n      setTimeout(function(){\n        var bar = document.getElementById('cookieBar')\n        if(bar) bar.classList.add('show')\n      }, 2000)\n    }\n  } catch(e){}\n})\n;\nwindow.addEventListener('load', function(){\n  setTimeout(function(){\n    var pl = document.getElementById('preloader')\n    if(pl) pl.classList.add('hidden')\n  }, 1200)\n})\n;\n\nwindow.addEventListener('scroll',function(){var b=document.getElementById('scrollBar');if(b)b.style.width=(window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100)+'%';},{passive:true});\n/* nav theme: Header.tsx + data-theme */\nif(window.Lenis){var lenis=new window.Lenis({duration:1.2,smoothWheel:true});(function raf(t){lenis.raf(t);requestAnimationFrame(raf)})(0)}\n;(function(){var els=document.querySelectorAll('[data-reveal]');if(!els.length)return;var obs=new IntersectionObserver(function(evts){evts.forEach(function(e){if(!e.isIntersecting)return;e.target.style.opacity='1';e.target.style.transform='translateY(0)';obs.unobserve(e.target);});},{threshold:0.15});requestAnimationFrame(function(){els.forEach(function(el){el.style.opacity='0';el.style.transform='translateY(16px)';el.style.transition='opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)';obs.observe(el);});});})();\ndocument.querySelectorAll('.faq-item').forEach(function(item){item.querySelector('.faq-q').addEventListener('click',function(){var open=item.classList.contains('open');document.querySelectorAll('.faq-item').forEach(function(i){i.classList.remove('open');});if(!open)item.classList.add('open');});});\n\n;\n(function(){'use strict';\nwindow.addEventListener('scroll',function(){var b=document.getElementById('scrollBar');if(!b)return;b.style.width=(window.scrollY/(document.documentElement.scrollHeight-window.innerHeight)*100)+'%';},{passive:true});\n(function(){var n=document.getElementById('nav');if(!n)return;function u(){var h=document.querySelector('.post-hero');if(!h){n.classList.add('on-light');return;}var below=h.getBoundingClientRect().bottom<=60;n.classList.toggle('on-dark',!below);n.classList.toggle('on-light',below);}window.addEventListener('scroll',u,{passive:true});u();})();\nif(window.Lenis){var L=new window.Lenis({duration:1.2,smoothWheel:true});(function r(t){L.raf(t);requestAnimationFrame(r);})(0);}\n(function(){var obs=new IntersectionObserver(function(e){e.forEach(function(en){if(en.isIntersecting){en.target.classList.add('in');obs.unobserve(en.target);}});},{threshold:0.05});document.querySelectorAll('[data-reveal]').forEach(function(el){obs.observe(el);});})();\ndocument.querySelectorAll('.faq-q').forEach(function(btn){btn.addEventListener('click',function(){var item=btn.closest('.faq-item'),was=item.classList.contains('open');document.querySelectorAll('.faq-item').forEach(function(i){i.classList.remove('open');i.querySelector('.faq-q').setAttribute('aria-expanded','false');});if(!was){item.classList.add('open');btn.setAttribute('aria-expanded','true');}});});\nif(window.matchMedia('(hover:hover) and (pointer:fine)').matches){var dot=document.createElement('div');dot.className='cur-d';var ring=document.createElement('div');ring.className='cur-r';document.body.appendChild(dot);document.body.appendChild(ring);var mx=0,my=0,rx=0,ry=0;document.addEventListener('mousemove',function(e){mx=e.clientX;my=e.clientY;dot.style.left=mx+'px';dot.style.top=my+'px';},{passive:true});(function lerp(){rx+=(mx-rx)*.1;ry+=(my-ry)*.1;ring.style.left=rx+'px';ring.style.top=ry+'px';requestAnimationFrame(lerp);})();document.addEventListener('mouseover',function(e){document.body.classList.toggle('cur-hl',!!e.target.closest('a,button,[role=button]'));},{passive:true});document.addEventListener('mouseleave',function(){document.body.classList.add('cur-hd');},{passive:true});document.addEventListener('mouseenter',function(){document.body.classList.remove('cur-hd');},{passive:true});}\n(function(){var el=document.getElementById('introEl');if(!el)return;el.style.display='none';})();\n(function(){var ov=document.createElement('div');ov.className='pg-ov';document.body.appendChild(ov);document.addEventListener('click',function(e){var a=e.target.closest('a');if(!a||!a.href||a.target==='_blank')return;if(a.href.startsWith('tel:')||a.href.startsWith('mailto:')||a.href.startsWith('https://wa.me'))return;if(a.href.includes('#')||e.metaKey||e.ctrlKey)return;try{if(new URL(a.href).host!==location.host)return;}catch(err){return;}e.preventDefault();ov.classList.add('visible');setTimeout(function(){location.href=a.href;},320);});})();})();\n;\n\n/* ── Global features JS ── */\n(function(){\n  /* Seasonal banner */\n  var banner=document.getElementById('seasonalBanner');\n  var bannerClose=document.getElementById('bannerClose');\n  if(banner && bannerClose){\n    var dismissed=sessionStorage.getItem('bannerDismissed');\n    if(dismissed) banner.classList.add('hidden');\n    bannerClose.addEventListener('click',function(){\n      banner.classList.add('hidden');\n      sessionStorage.setItem('bannerDismissed','1');\n    });\n  }\n\n  /* Sticky booking pill — show after 5s, hide when near footer */\n  var pill=document.getElementById('bookPill');\n  if(pill){\n    var pillTimer=setTimeout(function(){\n      pill.classList.remove('hidden');\n    },5000);\n    /* Hide pill when footer is visible */\n    var footer=document.querySelector('footer');\n    if(footer){\n      var pillObs=new IntersectionObserver(function(entries){\n        entries.forEach(function(e){\n          pill.classList.toggle('hidden',e.isIntersecting);\n        });\n      },{threshold:0.1});\n      pillObs.observe(footer);\n    }\n  }\n\n  /* Dark/light theme toggle */\n  var toggle=document.getElementById('themeToggle');\n  if(toggle){\n    var stored=localStorage.getItem('theme');\n    if(stored) document.documentElement.setAttribute('data-theme',stored);\n    toggle.addEventListener('click',function(){\n      var current=document.documentElement.getAttribute('data-theme');\n      var next=current==='light'?'dark':'light';\n      document.documentElement.setAttribute('data-theme',next);\n      localStorage.setItem('theme',next);\n    });\n  }\n\n  /* Reading progress bar */\n  var prog=document.getElementById('readProgress');\n  if(prog){\n    window.addEventListener('scroll',function(){\n      var h=document.documentElement;\n      var pct=(h.scrollTop||document.body.scrollTop)/(h.scrollHeight-h.clientHeight)*100;\n      prog.style.width=Math.min(100,pct)+'%';\n    },{passive:true});\n  }\n\n  /* Was this helpful */\n  document.querySelectorAll('.helpful-btn').forEach(function(btn){\n    btn.addEventListener('click',function(){\n      var block=btn.closest('.helpful-block');\n      var thanks=block && block.querySelector('.helpful-thanks');\n      if(thanks){thanks.classList.add('show');}\n      if(btn.dataset.helpful==='no'){\n        var wa=document.createElement('a');\n        wa.href='https://wa.me/919836233354?text=I+had+a+question+about+your+guide';\n        wa.target='_blank';wa.rel='noopener';\n        wa.style.cssText='font-family:var(--sans);font-size:11px;color:#25D366;margin-left:.5rem';\n        wa.textContent='Chat with us →';\n        if(thanks) thanks.appendChild(wa);\n      }\n      document.querySelectorAll('.helpful-btn').forEach(function(b){b.classList.remove('active')});\n      btn.classList.add('active');\n    });\n  });\n\n})();\n\n\n;\n(function(){var f=new Date(\"2013-10-07\");var n=new Date();var y=n.getFullYear()-f.getFullYear();if(n<new Date(n.getFullYear(),9,7))y--;document.querySelectorAll(\".tsl-age\").forEach(function(el){el.textContent=y;});})();",
  "bodyHtml": "<div id=\"introEl\" role=\"status\" aria-label=\"Loading\" style=\"display:none\">\n    <span class=\"intro-m\" aria-hidden=\"true\">TSL</span>\n    <div class=\"intro-l\" aria-hidden=\"true\"></div>\n    <span class=\"intro-w\" aria-hidden=\"true\">The Swiss Laundry</span>\n  </div>\n  <a href=\"#main\" class=\"skip-link\">Skip to main content</a>\n  <div class=\"seasonal-banner\" id=\"seasonalBanner\" role=\"banner\" aria-label=\"Free pickup offer\">\n  🧺 Want a home pickup? Complimentary pickup on invoices above ₹1,000.\n  <a href=\"/pickup\">Book Now →</a>\n  <button class=\"banner-close\" id=\"bannerClose\" aria-label=\"Close banner\">✕</button>\n</div>\n  <div class=\"scroll-bar\" id=\"scrollBar\" aria-hidden=\"true\"></div>\n  \n<nav class=\"tsl-crumbs\" aria-label=\"Breadcrumb\"><ol><li><a href=\"/\">Home</a></li><li><a href=\"/blog\">The Record</a></li><li aria-current=\"page\">Organised vs unorganised laundry in India — what the ₹8,000 crore gap looks like.</li></ol></nav>\n\n  <main id=\"main\">\n    <section class=\"post-hero f-hero\" aria-label=\"Article header\">\n      <div class=\"hero-num-col\">\n        <span class=\"hero-edition-num\" aria-hidden=\"true\">14</span>\n      </div>\n      <div class=\"hero-content-col\">\n        <div class=\"post-eyebrow\" data-reveal=\"\">\n          <span class=\"post-cat-pill\">Industry</span>\n          <span class=\"post-edition-label\">Edition 14 &nbsp;·&nbsp; The Record</span>\n        </div>\n        <h1 class=\"post-h1\" data-reveal=\"\">Organised vs unorganised laundry in India — what the ₹8,000 crore gap looks like.</h1>\n        <div class=\"post-rule\" data-reveal=\"\"></div>\n        <div class=\"post-meta-strip\" data-reveal=\"\">\n          <span class=\"meta-item\"><strong>The Swiss Laundry</strong><span class=\"meta-dot\"></span>Kasba, Kolkata</span>\n          <span class=\"meta-item\"><span class=\"meta-dot\"></span>11 Mar 2026</span>\n          <span class=\"meta-item\"><span class=\"meta-dot\"></span>9 min read</span>\n          <span class=\"meta-item\"><span class=\"meta-dot\"></span>2,050 words</span>\n        </div>\n        <blockquote class=\"hero-summary\" data-reveal=\"\">The organised laundry sector in India is 5–10% of the total market by revenue. The remaining 90–95% is served by dhobis, neighbourhood ironing stalls and MTO-based dry cleaners. Here is what separates the two sectors — in economics, quality, and where India is heading.</blockquote>\n      </div>\n    </section>\n    <section class=\"at-a-glance\" aria-label=\"Article summary\">\n      <div class=\"glance-inner\" data-reveal=\"\">\n        <div>\n          <p class=\"glance-label\">At a glance</p>\n          <h2 class=\"glance-h2\">What this article <em>covers.</em></h2>\n          <ul class=\"glance-points\"><li>90–95% of India's laundry market is unorganised — dhobis, neighbourhood services, MTO dry cleaners</li>\n<li>The quality gap between sectors is not marginal — it is structural</li>\n<li>Organised sector companies grow at 11% annually driven by urban middle-class shift</li>\n<li>The economics of the two sectors are completely different</li>\n<li>Where Kolkata fits in the transition and what is driving organised sector growth here</li></ul>\n        </div>\n        <div>\n          <div class=\"jump-nav\">\n            <span class=\"jump-nav-label\">Jump to section</span>\n            <ul class=\"jump-links\"><li><a href=\"#define\">Defining the sectors</a></li>\n<li><a href=\"#quality-gap\">The quality gap</a></li>\n<li><a href=\"#economics\">Economics comparison</a></li>\n<li><a href=\"#transition\">The transition happening</a></li>\n<li><a href=\"#kolkata-position\">Kolkata's position</a></li>\n<li><a href=\"#faq\">Questions answered</a></li></ul>\n          </div>\n        </div>\n      </div>\n    </section>\n    <article class=\"post-body\" aria-label=\"Article content\">\n      <div class=\"post-body-inner\">\n<h2 class=\"post-h2\" id=\"define\">Defining <em>the two sectors</em></h2>\n<p>The terms \"organised\" and \"unorganised\" in the Indian laundry context describe meaningfully different types of operation, not just different sizes of business.</p>\n   <p><strong>Organised sector:</strong> professional enclosed machines, regulated solvents, standardised processes, GST registration, professional liability insurance, branded customer-facing operations, trained operators. Capital investment of ₹15–50 lakhs or more per unit. Customer tracking and quality systems.</p>\n   <p><strong>Unorganised sector:</strong> individual dhobis operating on volume washing and manual ironing; neighbourhood wash-and-fold services; small dry cleaning establishments using open-vat MTO or white petrol; ironing stalls with consumer-grade irons. Capital investment from ₹5,000 to ₹5,00,000. No formal tracking, quality systems, or standardised processes.</p>\n   <p>Between these two poles is a middle category — semi-organised operators who have invested in some professional equipment but operate informally. This middle category is where much of the genuine transition is happening.</p>\n\n<h2 class=\"post-h2\" id=\"quality-gap\">The quality gap — <em>what it actually means for garments</em></h2>\n<p>The quality difference between the two sectors is not primarily about how clean the garment appears. It is about what happens to the garment over years of repeated cleaning.</p>\n   <div class=\"post-table-wrap\"><table class=\"post-table\"><thead><tr><th>Factor</th><th>Organised</th><th>Unorganised</th></tr></thead><tbody>\n   <tr><td>Solvent type</td><td>Hydrocarbon / Perc / GreenEarth</td><td>MTO / white petrol</td></tr>\n   <tr><td>Residue on fabric</td><td>Effectively zero</td><td>Petroleum residue remains</td></tr>\n   <tr><td>Pressing equipment</td><td>Boiler steam, fabric-specific temperature</td><td>Consumer iron, single temperature</td></tr>\n   <tr><td>Silk saree lifespan</td><td>20–30 years with correct repeated cleaning</td><td>5–10 years with MTO and consumer iron</td></tr>\n   <tr><td>Stain pre-treatment</td><td>Specialist spotting agents by stain type</td><td>Single general spotter or none</td></tr>\n   <tr><td>Quality accountability</td><td>Intake record, damage acknowledgment</td><td>No record, dispute difficult</td></tr>\n   </tbody></table></div>\n\n<h2 class=\"post-h2\" id=\"economics\">Economics of the <em>two sectors</em></h2>\n<p>The economic structures are completely different, which explains the price difference and why both sectors persist:</p>\n   <p><strong>Unorganised:</strong> minimal capital cost. A neighbourhood dhobi's equipment — washing stones or a consumer machine, basic ironing equipment — might represent ₹20,000–50,000 of investment. Revenue per garment is low (₹20–80 for a shirt wash and iron). Volume is the economic model — 100–300 garments per day in a busy operation.</p>\n   <p><strong>Organised:</strong> high capital cost (₹15–50 lakhs), high operating cost (professional solvent, boiler maintenance, trained operators), but significantly higher revenue per garment (₹80–1,500 depending on garment type). Volume requirements are lower but quality consistency is the competitive asset.</p>\n   <p>The price gap between sectors (₹60 dhobi iron vs ₹250 professional dry clean) reflects genuine cost structure differences, not profit margin differences. The organised operator is not making more profit per garment — they are operating a fundamentally different cost model.</p>\n\n<h2 class=\"post-h2\" id=\"transition\">The transition — <em>what is driving it in urban India</em></h2>\n<p>Three forces are driving consumers from unorganised to organised laundry services in Indian cities:</p>\n   <p><strong>Garment value increase:</strong> as middle-class incomes rise, the average value of garments in Indian wardrobes rises. A household with ₹2 lakh of silk sarees is rationally motivated to pay ₹300 per clean rather than ₹80 per clean. The cost of professional care is small relative to the risk of garment damage.</p>\n   <p><strong>Urban lifestyle change:</strong> the nuclear family household with both adults working, living in a flat without domestic help, has neither the time for dhobi management nor the infrastructure for proper home laundry of complex garments. Professional services with pickup and delivery fill a genuine gap.</p>\n   <p><strong>Awareness of solvent risk:</strong> gradually increasing consumer awareness of the MTO health concern — driven partly by articles like this one — is shifting demand toward verifiably safe professional operators.</p>\n\n<h2 class=\"post-h2\" id=\"kolkata-position\">Kolkata's position — <em>where we are in the transition</em></h2>\n<p>Kolkata is mid-transition. The embedded dhobi culture is deep — the relationship between Bengal's households and their dhobis is genuinely personal in many cases, and there is a natural loyalty to local services that serves communities well. We are not arguing that dhobis should disappear. Their model is appropriate for most everyday garments.</p>\n   <p>What is changing is the allocation of garments between services. Kolkata households that previously sent everything to the dhobi — including valuable silks and embroidered occasion wear — are increasingly differentiating. Everyday cotton to the dhobi or washing machine. Silk sarees, structured suits, embroidered occasion wear to a professional dry cleaner.</p>\n   <p>The Swiss Laundry's thirteen years in Kasba has been part of this transition for several thousand Kolkata families. We have cleaned their Banarasi sarees, their Durga Puja outfits, their Kanjivaram silk collections. The transition is gradual and real.</p>\n</div>\n    \n<div class=\"pro-box\">\n  <span class=\"pro-box-label\">The Swiss Laundry — Where The Swiss Laundry sits</span>\n  <p>The Swiss Laundry is part of the organised professional dry cleaning sector — enclosed machines, regulated solvent, trained operators, transparent pricing. We have operated to this standard since 2013 in Kolkata, when the organised sector represented a much smaller fraction of the market than it does today.</p>\n</div>\n</article>\n    <section class=\"post-faq\" id=\"faq\" aria-label=\"Frequently asked questions\">\n      <div class=\"faq-inner\">\n        <p class=\"faq-ey\">Questions</p>\n        <h2 class=\"faq-h2\" data-reveal=\"\">Questions answered <em>directly.</em></h2>\n        <div class=\"faq-item open\">\n  <button class=\"faq-q\" aria-expanded=\"true\">What is the organised laundry sector in India?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"18\" height=\"18\" class=\"faq-icon\"><path d=\"M12 5v14M5 12h14\"></path></svg></button>\n  <p class=\"faq-a\">Professional laundry and dry cleaning businesses with enclosed machines, regulated solvents, standardised processes, GST registration and professional liability coverage. Approximately 5–10% of India's total laundry market by revenue, growing at 11% annually.</p>\n</div><div class=\"faq-item\">\n  <button class=\"faq-q\" aria-expanded=\"false\">Is the dhobi service dying out in India?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"18\" height=\"18\" class=\"faq-icon\"><path d=\"M12 5v14M5 12h14\"></path></svg></button>\n  <p class=\"faq-a\">Not quickly. The dhobi model is deeply embedded in Indian household culture and serves a large volume of everyday garment care well. The transition is in the segmentation of garments — high-value silk and occasion wear moving to professional dry cleaning while everyday cotton stays with traditional services.</p>\n</div><div class=\"faq-item\">\n  <button class=\"faq-q\" aria-expanded=\"false\">Why is organised laundry more expensive than the dhobi?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"18\" height=\"18\" class=\"faq-icon\"><path d=\"M12 5v14M5 12h14\"></path></svg></button>\n  <p class=\"faq-a\">Fundamentally different cost structures. Organised operations carry ₹15–50 lakhs of equipment cost, professional solvent costs, boiler maintenance, and trained operators. The dhobi's equipment represents a fraction of this. The price difference is real cost, not pure profit margin.</p>\n</div><div class=\"faq-item\">\n  <button class=\"faq-q\" aria-expanded=\"false\">Is the laundry sector growing in India?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"18\" height=\"18\" class=\"faq-icon\"><path d=\"M12 5v14M5 12h14\"></path></svg></button>\n  <p class=\"faq-a\">Yes. The organised sector grows at approximately 11% annually, driven by urban middle-class income growth, increasing garment values, and nuclear household lifestyles. The unorganised sector grows more slowly at 3–4%.</p>\n</div><div class=\"faq-item\">\n  <button class=\"faq-q\" aria-expanded=\"false\">What percentage of Indian laundry is still unorganised?<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" width=\"18\" height=\"18\" class=\"faq-icon\"><path d=\"M12 5v14M5 12h14\"></path></svg></button>\n  <p class=\"faq-a\">Approximately 90–95% by volume and 85–90% by revenue is still served by unorganised operators — dhobis, neighbourhood services, MTO-based dry cleaners. The organised sector's faster growth rate is gradually changing this ratio in major cities.</p>\n</div>\n      </div>\n    </section>\n    <div class=\"author-strip\" data-reveal=\"\">\n      <div class=\"author-inner\">\n        <div class=\"author-logo\">TSL</div>\n        <div class=\"author-info\">\n          <span class=\"author-name\">The Swiss Laundry — Editorial Team</span>\n          <span class=\"author-bio\">Written from Kasba, Kolkata. <span class=\"tsl-age\">13</span> years of professional dry cleaning. P-4 Kasba Industrial Estate, Phase III, E.M. Bypass (East), Kolkata 700107.</span>\n        </div>\n        <div class=\"author-dates\"><span>Published: 11 Mar 2026</span><br><span>Last updated: 11 Mar 2026</span></div>\n      </div>\n    </div>\n    <section class=\"related-sec\" data-reveal=\"\" aria-label=\"Related articles\">\n      <div class=\"related-inner\">\n        <p class=\"related-ey\">Continue reading</p>\n        <h2 class=\"related-h2\">More from <em>The Record.</em></h2>\n        <div class=\"related-grid\"><a href=\"/blog-laundry-business-india-market-size\" class=\"related-card\"><span class=\"rc-tag\">Industry</span><span class=\"rc-title\">How big is the laundry and dry cleaning business in India?</span><span class=\"rc-read\">8 min read</span></a><a href=\"/blog-dhobi-vs-dry-cleaner-india\" class=\"related-card\"><span class=\"rc-tag\">Industry</span><span class=\"rc-title\">Dhobi vs dry cleaner — which clothes go where</span><span class=\"rc-read\">6 min read</span></a><a href=\"/blog-how-to-start-laundry-business-india\" class=\"related-card\"><span class=\"rc-tag\">Business</span><span class=\"rc-title\">How to start a professional laundry business in India</span><span class=\"rc-read\">12 min read</span></a></div>\n      </div>\n    </section>\n    <section class=\"post-cta\" aria-label=\"Book dry cleaning\">\n      <div class=\"post-cta-inner\">\n        <div class=\"post-cta-rule\" aria-hidden=\"true\"></div>\n        <h2 class=\"post-cta-h2\">Organised.\n<br><em>Since 2013.</em></h2>\n        <p class=\"post-cta-sub\">Professional dry cleaning since 2013. Doorstep pickup across 30+ areas in Kolkata.</p>\n        <div class=\"post-cta-btns\">\n          <a href=\"/pickup\" class=\"btn-dk-post\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" width=\"14\" height=\"14\"><path d=\"M5 12h14M12 5l7 7-7 7\"></path></svg> Book a Pickup</a>\n          <a href=\"https://wa.me/919836233354?text=Hi+I+would+like+to+book+dry+cleaning\" class=\"btn-dk-post\" target=\"_blank\" rel=\"noopener\"><svg viewBox=\"0 0 24 24\" width=\"14\" height=\"14\" fill=\"#C9A84C\"><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><path d=\"M11.999 2C6.477 2 2 6.477 2 12c0 1.89.525 3.66 1.438 5.168L2 22l4.948-1.42A9.956 9.956 0 0012 22c5.523 0 10-4.477 10-10S17.523 2 12 2z\" fill=\"none\" stroke=\"#C9A84C\" stroke-width=\"2\"></path></svg> WhatsApp</a>\n          <a href=\"tel:9836233354\" class=\"btn-dk-post\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" width=\"14\" height=\"14\"><path d=\"M5 12h14M12 5l7 7-7 7\"></path></svg> 9836233354</a>\n        </div>\n      </div>\n    </section>\n  </main>\n  <a href=\"https://wa.me/919836233354?text=Hi+I+would+like+to+know+more\" class=\"wa-float\" target=\"_blank\" rel=\"noopener noreferrer\" aria-label=\"Chat on WhatsApp\">\n    <svg viewBox=\"0 0 48 48\" width=\"56\" height=\"56\" xmlns=\"http://www.w3.org/2000/svg\"><circle cx=\"24\" cy=\"24\" r=\"24\" fill=\"#25D366\"></circle><path fill=\"#fff\" d=\"M24 10.4C16.5 10.4 10.4 16.5 10.4 24c0 2.4.65 4.7 1.78 6.67L10.4 37.6l7.18-1.75A13.53 13.53 0 0024 37.6c7.5 0 13.6-6.1 13.6-13.6S31.5 10.4 24 10.4z\"></path><path fill=\"#25D366\" d=\"M19.9 17.1c-.38-.86-.78-.88-1.14-.9-.3-.01-.63-.01-.97-.01-.34 0-.88.13-1.34.63-.46.5-1.76 1.72-1.76 4.2s1.8 4.87 2.05 5.21c.25.34 3.51 5.6 8.64 7.63 4.27 1.69 5.14 1.35 6.07 1.27.93-.08 3-.23 3.83-2.12.84-1.88.84-3.5.59-3.83-.25-.34-.59-.51-1.23-.85s-3.81-1.88-4.4-2.09c-.59-.21-1.02-.32-1.44.32-.43.63-1.65 2.09-2.02 2.52-.38.43-.75.48-1.4.16-.64-.32-2.71-1-5.16-3.18-1.91-1.7-3.2-3.8-3.57-4.44-.38-.64-.04-.98.28-1.3.29-.28.64-.73.96-1.1.32-.36.43-.63.64-1.05.21-.42.1-.8-.05-1.12l-.98-2.3z\"></path></svg>\n  </a>\n  <!-- Sticky booking pill — mobile only, hidden on /pickup -->\n<a href=\"/pickup\" class=\"book-pill\" id=\"bookPill\" aria-label=\"Book a pickup\">\n  <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14M12 5l7 7-7 7\"></path></svg>\n  Book Pickup · 2 min\n</a>\n  \n\n  \n\n\n\n  <script src=\"https://cdn.jsdelivr.net/npm/@studio-freight/lenis@1.0.42/dist/lenis.min.js\"></script>"
}
