@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--maroon:#641E2B;--gold:#B08A45;--gold-dark:#76551f;--ivory:#F5EFE3;--forest:#263D32;--charcoal:#342D2B;--muted:#5e5751;--line:rgba(100,30,43,.18);--paper:#fbf7ef;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--page:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background-color:var(--ivory);background-image:repeating-linear-gradient(0deg,rgba(100,30,43,.018) 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,rgba(118,85,31,.016) 0 1px,transparent 1px 5px),radial-gradient(ellipse at 13% 9%,rgba(255,255,255,.72),transparent 40%);color:var(--charcoal);font:16px/1.65 var(--sans)}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--gold-dark);outline-offset:4px}.skip-link{position:fixed;z-index:20;top:8px;left:8px;padding:12px 16px;background:var(--maroon);color:white;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:84px;padding:0 max(24px,calc((100vw - var(--page))/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(245,239,227,.96);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;color:var(--maroon)}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:var(--gold)}.brand-mark svg{width:100%;height:100%;fill:currentColor;stroke:var(--maroon);stroke-width:1.15}.brand-mark circle{fill:var(--maroon);stroke:none}.brand-copy{display:grid;line-height:1.15}.brand-copy strong{font:600 20px var(--serif)}.brand-copy small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-top:6px;color:var(--charcoal)}.navigation{display:flex;align-items:center;gap:32px}.navigation>a{text-decoration:none;font-size:12px;font-weight:700;color:var(--charcoal)}.navigation>a:not(.nav-cta){min-height:44px;display:flex;align-items:center}.navigation>a:not(.nav-cta):hover{color:var(--maroon)}.nav-cta{min-height:46px;padding:0 18px;display:flex;align-items:center;gap:12px;border:1px solid var(--maroon);color:var(--maroon)!important}.nav-cta:hover{background:var(--maroon);color:var(--ivory)!important}.nav-cta svg,.button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}.menu-toggle{display:none}
.hero{max-width:var(--page);min-height:650px;padding:68px 34px 75px;margin:auto;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:58px}.eyebrow{margin:0 0 18px;display:flex;align-items:center;gap:10px;color:var(--maroon);font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.eyebrow-rule{height:1px;width:24px;background:var(--gold);flex:none}.hero-byline{margin:0 0 9px;color:var(--muted);font:18px var(--serif)}.hero-byline strong,.story-kicker span{color:var(--maroon)}.hero h1,.section-heading h2,.story h2,.contact h2{margin:0;color:var(--maroon);font:500 clamp(42px,5vw,68px)/1.08 var(--serif);letter-spacing:-.035em}.hero h1 em,.section-heading h2 em,.story h2 em,.contact h2 em{color:var(--forest)}.hero-description{max-width:480px;margin:22px 0 26px;color:var(--muted);font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{min-height:52px;display:inline-flex;align-items:center;gap:15px;padding:0 20px;text-decoration:none;font-size:11px;font-weight:700;transition:transform .2s,background .2s}.button-primary{background:var(--maroon);color:white;border:1px solid var(--maroon)}.button-primary:hover{background:#48151f;transform:translateY(-2px)}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--maroon);font-weight:700;font-size:11px}.text-link span{transition:transform .2s}.text-link:hover span{transform:translateX(4px)}.experience-note{display:flex;gap:14px;align-items:center;margin-top:32px;padding-top:18px;border-top:1px solid var(--line);max-width:330px}.experience-number{font:43px/1 var(--serif);color:var(--maroon)}.experience-number span{font-size:20px;color:var(--gold-dark)}.experience-note>span:last-child{display:grid;gap:2px}.experience-note strong{font-size:11px}.experience-note small{font-size:10px;color:var(--muted)}
.hero-art{--parallax-x:0px;--parallax-y:0px;position:relative;min-height:470px;overflow:hidden;isolation:isolate;background:linear-gradient(140deg,#e7d7bd,#f0e8d8 48%,#d5c5a8);border:1px solid rgba(176,138,69,.48);box-shadow:0 22px 55px rgba(52,45,43,.13);transform:translate3d(var(--parallax-x),var(--parallax-y),0);transition:transform .25s}.hero-art:before{content:'';position:absolute;inset:12px;border:1px solid rgba(176,138,69,.68);z-index:3;pointer-events:none}.hero-art:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.52),transparent 55%),repeating-linear-gradient(0deg,rgba(100,30,43,.025) 0 1px,transparent 1px 4px)}.art-topline{position:absolute;z-index:4;left:31px;right:31px;top:27px;display:flex;justify-content:space-between;color:var(--maroon);font-size:7px;font-weight:700;letter-spacing:.15em}.saree-drape{position:absolute;inset:69px 52px 35px 49px;transform:translate3d(calc(var(--parallax-x)*-.25),calc(var(--parallax-y)*-.25),0) rotate(-2deg);transition:transform .3s;filter:drop-shadow(0 21px 22px rgba(50,19,24,.2))}.drape-fold{position:absolute;inset:0;background:repeating-linear-gradient(96deg,rgba(255,255,255,.08) 0 1px,transparent 1px 11px),linear-gradient(110deg,#842f40,#641e2b 45%,#491823);clip-path:polygon(5% 0,100% 0,86% 100%,0 91%)}.drape-fold-one{transform:translate(-14px,7px) rotate(-4deg);opacity:.84;background-image:repeating-linear-gradient(94deg,rgba(255,255,255,.07) 0 1px,transparent 1px 12px),linear-gradient(110deg,#365348,#263d32 55%,#172b23)}.drape-fold-two{inset:13px 18px 11px 21px;transform:rotate(3deg);opacity:.57;background-image:repeating-linear-gradient(96deg,rgba(255,255,255,.12) 0 1px,transparent 1px 10px),linear-gradient(110deg,#8b3443,#641e2b 55%,#4b1a23)}.drape-pallu{position:absolute;right:2%;top:-1%;height:103%;width:30%;transform:skewY(-3deg);border-inline:5px double #d0ad67;background:repeating-linear-gradient(0deg,rgba(176,138,69,.15) 0 1px,transparent 1px 12px),linear-gradient(90deg,#9e7839,#d4b66f 25%,#8e6832 50%,#d8bd7a 75%,#9e7839);display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:15px 0}.pallu-motif{width:13px;height:13px;border:1px solid #5b4122;transform:rotate(45deg);position:relative}.pallu-motif:after{content:'';position:absolute;inset:3px;border:1px solid #5b4122}.owner-seal{position:absolute;z-index:4;left:30px;bottom:29px;display:flex;align-items:center;gap:11px;padding:10px 15px 10px 10px;background:rgba(245,239,227,.96);border:1px solid var(--gold);box-shadow:0 8px 22px rgba(52,45,43,.1)}.owner-initial{width:35px;height:35px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:var(--maroon);color:var(--ivory);font:italic 22px var(--serif)}.owner-seal-copy{display:grid;line-height:1.25}.owner-seal-copy strong{color:var(--maroon);font:15px var(--serif)}.owner-seal-copy small{margin-top:3px;font-size:8px;letter-spacing:.12em;text-transform:uppercase}.art-caption{position:absolute;z-index:4;right:30px;bottom:31px;color:var(--ivory);font:italic 14px/1.35 var(--serif);text-align:right;text-shadow:0 1px 4px #342d2b}.craft-strip{min-height:62px;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:clamp(15px,4.5vw,64px);background:var(--forest);border-block:2px solid var(--gold);color:var(--ivory);font:italic 14px var(--serif)}.strip-star{color:#e0bd73;font:12px var(--sans)}
.section-wrap{max-width:var(--page);margin:auto;padding:100px 34px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:39px}.section-heading .eyebrow,.story .eyebrow,.contact .eyebrow{margin-bottom:15px}.section-heading h2,.story h2,.contact h2{font-size:clamp(38px,4.1vw,52px)}.section-intro{max-width:365px;margin:0 0 5px;color:var(--muted);font-size:13px;line-height:1.85}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 18px;perspective:1000px}.service-card{--tilt-x:0deg;--tilt-y:0deg;min-width:0;transform:perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .22s}.service-visual{height:180px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,var(--card-bg,#eee4d5),#e9decc);border:1px solid rgba(100,30,43,.17)}.service-visual:before{content:'';position:absolute;inset:9px;border:1px solid rgba(176,138,69,.58);background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(100,30,43,.035) 12px 13px)}.service-visual:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.56),transparent 55%);transform:translateY(var(--scroll-shift,0px));transition:transform .15s linear}.service-visual svg{position:relative;z-index:1;width:55px;height:55px;fill:none;stroke:var(--maroon);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s,stroke .25s;transform:translateZ(20px)}.service-card:hover .service-visual svg{transform:translateZ(28px) scale(1.1);stroke:var(--gold-dark)}.service-index{position:absolute;z-index:2;top:13px;left:15px;color:var(--maroon);font-size:8px;letter-spacing:.12em}.service-card h3{margin:14px 0 5px;color:var(--maroon);font:600 17px var(--serif)}.service-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.7}
.story{display:grid;grid-template-columns:.9fr 1.1fr;min-height:480px;background:#ebe2d2;border-block:1px solid rgba(176,138,69,.52);position:relative}.story:before,.story:after{content:'';position:absolute;left:0;right:0;height:5px;background:repeating-linear-gradient(90deg,var(--gold) 0 1px,transparent 1px 7px);opacity:.65}.story:before{top:5px}.story:after{bottom:5px}.story-art{min-height:430px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(140deg,#384f41,#263d32 62%,#1a2d24);position:relative}.story-art:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.035) 0 1px,transparent 1px 13px),radial-gradient(ellipse at 50% 44%,rgba(176,138,69,.2),transparent 57%)}.story-swatch{position:relative;width:min(66%,290px);height:340px;border:1px solid #c9a75f;background:repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 6px),linear-gradient(110deg,#79303e,#641e2b 55%,#4c1924);transform:rotate(-5deg);box-shadow:0 25px 40px #0003}.story-swatch:before{content:'';position:absolute;inset:12px;border:1px solid #d5b874cc}.story-swatch:after{content:'';position:absolute;left:16px;right:16px;bottom:23px;height:18px;border-block:2px solid #c5a15c;background:repeating-linear-gradient(90deg,transparent 0 9px,#d5b8748c 9px 10px)}.story-rosette{position:absolute;width:108px;height:108px;left:calc(50% - 54px);top:calc(42% - 54px);border:1px solid #d8b96d;border-radius:50%;background:radial-gradient(circle,transparent 0 22%,#d8b96d 23% 24%,transparent 25% 43%,#d8b96d 44% 45%,transparent 46%);transform:rotate(45deg)}.story-rosette:before,.story-rosette:after{content:'';position:absolute;inset:14px;border:1px solid #d8b96d;border-radius:50%;transform:scaleX(.45)}.story-rosette:after{transform:scaleY(.45)}.story-art-label{position:absolute;bottom:57px;left:24px;color:var(--ivory);font-size:8px;line-height:1.6;letter-spacing:.16em;font-weight:700}.story-copy{align-self:center;max-width:700px;padding:72px clamp(34px,7vw,100px)}.story-kicker{margin:0 0 8px;color:var(--charcoal);font:20px var(--serif)}.story h2{font-size:clamp(36px,4vw,49px)}.story-copy>p:not(.eyebrow):not(.story-kicker){color:var(--muted);font-size:12px;line-height:1.9}.story-copy .text-link{margin-top:6px}
.contact{display:grid;grid-template-columns:1fr .92fr;gap:9%;align-items:center}.contact-intro{max-width:410px;color:var(--muted);font-size:13px;line-height:1.9}.contact-card{padding:31px;background:var(--paper);border:1px solid rgba(176,138,69,.65);box-shadow:0 14px 40px #342d2b10;position:relative}.contact-card:before{content:'';position:absolute;inset:7px;border:1px solid rgba(176,138,69,.22);pointer-events:none}.contact-card-kicker{color:var(--maroon);font-size:8px;letter-spacing:.16em;font-weight:700}.contact-card h3{font:600 24px var(--serif);color:var(--maroon);margin:8px 0}.contact-card>p{font-size:11px;color:var(--muted);line-height:1.75;max-width:380px}.social-actions{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:21px}.social-link{min-height:75px;display:grid;grid-template-columns:27px 1fr;grid-template-rows:auto auto;align-content:center;column-gap:10px;padding:12px;border:1px solid rgba(100,30,43,.35);background:#fffdf9;color:var(--maroon);text-decoration:none;transition:transform .2s,background .2s,color .2s}.social-link svg{grid-row:1/3;align-self:center;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.social-link .icon-dot{fill:currentColor;stroke:none}.social-link span{font-size:11px;font-weight:700}.social-link small{font-size:8px;color:var(--muted)}.social-link:not([aria-disabled=true]):hover{transform:translateY(-3px);background:var(--maroon);color:var(--ivory)}.social-link:not([aria-disabled=true]):hover small{color:var(--ivory)}.social-link[aria-disabled=true]{cursor:not-allowed;opacity:.82}.contact-location{display:flex;align-items:center;gap:8px;margin-top:21px;font-weight:700;color:var(--forest);font-size:10px}.contact-location svg{width:17px;height:17px;fill:none;stroke:var(--gold-dark);stroke-width:1.5}.site-footer{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px max(24px,calc((100vw - var(--page))/2));border-top:3px double var(--gold);background:var(--maroon);color:var(--ivory)}.footer-brand{color:var(--ivory)}.footer-brand .brand-mark{width:30px;height:30px}.footer-brand .brand-mark svg{stroke:var(--gold)}.footer-brand .brand-mark circle{fill:var(--maroon)}.footer-brand .brand-copy strong{font-size:17px}.footer-brand .brand-copy small{font-size:8px;color:#eadcc7}.site-footer>p,.copyright,.back-top{font-size:9px;color:#f5ead7}.back-top{min-height:44px;display:inline-flex;align-items:center;text-decoration:none;font-weight:700}.back-top:hover{color:#e4c476}
.js-ready .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1)}.js-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1440px){.hero{min-height:710px}.hero-art{min-height:510px}}
@media(max-width:900px){.hero{gap:34px;min-height:610px;padding:58px 28px}.hero-art{min-height:420px}.hero h1{font-size:clamp(42px,6vw,58px)}.section-wrap{padding-block:82px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 17px}.service-visual{height:165px}.story-copy{padding:54px 38px}.contact{gap:6%}}
@media(max-width:650px){html{scroll-padding-top:72px}.site-header{height:70px;padding:0 19px}.brand-mark{width:31px;height:31px}.brand-copy strong{font-size:18px}.brand-copy small{font-size:8px;letter-spacing:.08em}.menu-toggle{display:flex;min-height:44px;align-items:center;gap:7px;padding:0 4px;border:0;background:none;color:var(--maroon);font:700 11px var(--sans)}.menu-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7}.navigation{position:absolute;top:69px;left:0;right:0;display:none;padding:8px 20px 19px;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #342d2b14}.navigation.is-open{display:grid;gap:0}.navigation>a{min-height:48px;display:flex;align-items:center}.navigation>a:not(.nav-cta){border-bottom:1px solid var(--line)}.navigation .nav-cta{justify-content:center;margin-top:12px}.hero{padding:47px 21px;grid-template-columns:1fr;gap:28px}.hero .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:14px}.hero-byline{font-size:16px}.hero h1{font-size:clamp(42px,10.3vw,55px)}.hero-description{font-size:13px;margin:17px 0 21px;line-height:1.8}.hero-actions{gap:12px}.button{min-height:50px;padding:0 14px;font-size:10px}.experience-note{margin-top:23px;padding-top:14px}.experience-number{font-size:36px}.hero-art{min-height:340px}.art-topline{left:25px;right:25px;top:23px;font-size:6px}.saree-drape{inset:62px 37px 32px 36px}.owner-seal{left:23px;bottom:23px;padding:8px 12px 8px 8px}.owner-initial{width:30px;height:30px;font-size:19px}.owner-seal-copy strong{font-size:13px}.art-caption{right:22px;bottom:25px;font-size:12px}.craft-strip{min-height:55px;gap:11px;font-size:10px}.section-wrap{padding:68px 21px}.section-heading{display:block;margin-bottom:27px}.section-heading h2,.contact h2{font-size:40px}.section-intro{margin-top:14px;font-size:12px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 13px}.service-visual{height:clamp(133px,42vw,180px)}.service-card h3{font-size:15px;margin-top:10px}.service-card p{font-size:10px}.story{grid-template-columns:1fr}.story-art{min-height:300px}.story-swatch{height:254px;width:57%}.story-copy{padding:49px 24px 56px}.story h2{font-size:36px}.story-copy>p:not(.eyebrow):not(.story-kicker){font-size:11px}.contact{grid-template-columns:1fr;gap:20px}.contact-card{padding:25px 22px}.contact-card h3{font-size:22px}.site-footer{padding:20px 21px;gap:13px;flex-wrap:wrap}.site-footer>p{order:3;flex-basis:100%;margin:0}.back-top{margin-left:auto}}
@media(max-width:360px){.hero,.section-wrap{padding-inline:17px}.hero .eyebrow{font-size:7px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.hero-art{min-height:305px}.craft-strip{gap:8px;font-size:9px}.service-grid{gap:18px 10px}.service-visual{height:128px}.service-card h3{font-size:14px}.site-header{padding:0 16px}.social-actions{grid-template-columns:1fr}}
@media(hover:none),(pointer:coarse){.service-card{transform:none!important}.hero-art{transform:none!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js-ready .reveal,.js-ready .reveal.is-visible{opacity:1;transform:none}}

/* Local fabric textures and native touch-first service carousel */
body{background-image:linear-gradient(rgba(245,239,227,.76),rgba(245,239,227,.76)),url('assets/fabric-ivory.jpg');background-size:100% 100%,1200px auto;background-position:center top;background-repeat:no-repeat,repeat}
.hero-art{background-image:linear-gradient(135deg,rgba(245,239,227,.43),rgba(176,138,69,.16)),url('assets/fabric-saffron.jpg');background-size:cover;background-position:center}
.story-art{background-image:linear-gradient(rgba(38,61,50,.84),rgba(38,61,50,.84)),url('assets/fabric-indigo.jpg');background-size:cover;background-position:center}
.story{background-color:rgba(235,226,210,.82)}.contact-card{background:rgba(251,247,239,.94)}
.service-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3);grid-template-columns:none;overflow-x:auto;overflow-y:hidden;gap:18px;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-inline:contain;scrollbar-width:none;padding:5px 2px 12px;touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch}
.service-grid::-webkit-scrollbar{display:none}.service-card{scroll-snap-align:start;scroll-snap-stop:always}.service-card-title{display:block;margin:14px 0 5px;color:var(--maroon);font:600 17px var(--serif)}.service-card-description{display:block;margin:0;color:var(--muted);font-size:11px;line-height:1.7}.carousel-controls{display:flex;align-items:center;gap:12px;margin-top:14px}.carousel-button{width:44px;height:44px;flex:none;display:grid;place-items:center;border:1px solid var(--maroon);background:transparent;color:var(--maroon);cursor:pointer;transition:background .18s,color .18s,transform .18s}.carousel-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.carousel-button:hover:not(:disabled){background:var(--maroon);color:var(--ivory);transform:translateY(-2px)}.carousel-button:disabled{opacity:.4;cursor:default}.carousel-progress{height:3px;flex:1;overflow:hidden;background:rgba(100,30,43,.18)}.carousel-progress span{display:block;width:clamp(24px,var(--progress,0%),100%);height:100%;background:var(--gold);transition:width .2s}.map-link{min-height:44px;margin-top:5px;display:inline-flex;align-items:center;gap:8px;color:var(--maroon);font-size:10px;font-weight:700;text-decoration:underline;text-decoration-color:rgba(176,138,69,.7);text-underline-offset:3px}.map-link svg{width:17px;height:17px;fill:none;stroke:var(--gold-dark);stroke-width:1.5}.map-link:hover{color:var(--forest)}
.js-ready .service-card{opacity:0;translate:0 14px;transition:opacity .48s ease,translate .48s ease,transform .22s}.js-ready .service-card.is-visible{opacity:1;translate:0 0}
@media(max-width:900px){.service-grid{grid-auto-columns:calc((100% - 18px)/2)}}
@media(max-width:650px){.service-grid{grid-auto-columns:min(84%,330px);gap:13px;scroll-padding-inline:2px}.carousel-controls{gap:9px}.hero-art{background-position:54% center}.site-header{background:rgba(245,239,227,.97)}}
@media(prefers-reduced-motion:reduce){.service-grid{scroll-behavior:auto}.js-ready .service-card,.js-ready .service-card.is-visible{opacity:1;translate:none;transition:none}}

/* Calm, native equivalents of the requested textile motion effects */
.service-card{transform:perspective(1200px) rotateY(var(--curve-angle,0deg)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--curve-lift,0px)) scale(var(--curve-scale,1));transform-origin:center center;backface-visibility:hidden}
.ghost-type .ghost-letter{display:inline;white-space:inherit;opacity:.16;filter:blur(.7px);text-shadow:0 0 12px rgba(176,138,69,.13);transition:opacity .32s ease,filter .32s ease,transform .42s cubic-bezier(.2,.75,.25,1);transition-delay:calc(var(--char-index)*9ms)}.ghost-type.is-typed .ghost-letter{opacity:1;filter:blur(0);text-shadow:none}
.craft-strip{position:relative;overflow:hidden;background-image:linear-gradient(105deg,rgba(255,255,255,.015),rgba(255,255,255,.08) 48%,rgba(255,255,255,.015)),repeating-linear-gradient(0deg,transparent 0 7px,rgba(176,138,69,.035) 7px 8px)}
@media(max-width:650px){.service-card{transform:perspective(900px) rotateY(var(--curve-angle,0deg)) translateY(var(--curve-lift,0px)) scale(var(--curve-scale,1))}.ghost-type .ghost-letter{transition-duration:.24s;transition-delay:calc(var(--char-index)*6ms)}}
@media(prefers-reduced-motion:reduce){.service-card{transform:none!important}.ghost-type .ghost-letter{opacity:1;filter:none;transform:none;transition:none}}
@media(hover:none),(pointer:coarse){.service-card{transform:perspective(900px) rotateY(var(--curve-angle,0deg)) translateY(var(--curve-lift,0px)) scale(var(--curve-scale,1))!important}}

/* Higher-contrast heritage masthead and one clear location action */
.site-header{background:rgba(100,30,43,.97);border-bottom-color:var(--gold);box-shadow:0 4px 18px rgba(52,45,43,.12)}.site-header .brand{color:var(--ivory)}.site-header .brand-mark svg{stroke:var(--gold)}.site-header .brand-mark circle{fill:var(--ivory)}.site-header .brand-copy small{color:#f5efe3}.site-header .navigation>a{color:var(--ivory)}.site-header .navigation>a:not(.nav-cta):hover{color:#e8d39d}.site-header .nav-cta{border-color:var(--gold);color:var(--ivory)!important}.site-header .nav-cta:hover{background:#e8d39d;color:var(--maroon)!important}.site-header .menu-toggle{color:var(--ivory)}.site-header .menu-toggle svg{stroke:currentColor}
.location-map-link{width:100%;min-height:58px;margin-top:18px;padding:8px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--maroon);background:linear-gradient(105deg,rgba(245,239,227,.98),rgba(232,211,157,.52));color:var(--maroon);text-decoration:none;transition:background .2s,color .2s,transform .2s}.location-map-link .map-place{flex:1;color:var(--maroon);font-size:12px;font-weight:700}.location-map-link .map-action{display:inline-flex;align-items:center;gap:7px;color:var(--maroon);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.location-map-link .map-arrow{width:15px;height:15px;stroke:currentColor}.location-map-link:hover{background:var(--maroon);color:var(--ivory);transform:translateY(-2px)}.location-map-link:hover .map-place,.location-map-link:hover .map-action{color:var(--ivory)}.location-map-link:hover svg{stroke:var(--ivory)}
@media(max-width:650px){.site-header .navigation{background:var(--maroon);border-bottom-color:var(--gold)}.site-header .navigation>a:not(.nav-cta){border-bottom-color:rgba(245,239,227,.24)}.site-header .navigation .nav-cta{color:var(--ivory)!important}}
@media(max-width:360px){.location-map-link{gap:7px;padding-inline:9px}.location-map-link .map-place{font-size:11px}.location-map-link .map-action{font-size:8px;letter-spacing:.04em}}

/* Brand-led entry: the wordmark opens gently, then the page settles into view. */
.site-preloader{display:none;clip-path:inset(0)}
html.is-preloading .site-preloader{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:var(--maroon);color:var(--ivory);border:10px solid var(--maroon);outline:1px solid var(--gold);outline-offset:-15px}
html.is-preloading .site-preloader:before{content:'';position:absolute;inset:20px;pointer-events:none;border:1px solid rgba(176,138,69,.45);background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(176,138,69,.14) 23px 24px)}
.preloader-star,.preloader-place,.preloader-wordmark,.preloader-rule,.preloader-owner{position:relative;z-index:1}
.preloader-star{color:#e3c77f;font-size:22px;animation:preloader-star 1.2s ease both}
.preloader-place,.preloader-owner{font-size:9px;letter-spacing:.2em;color:#f3e8d2;opacity:0;animation:preloader-caption .55s .32s ease forwards}
.preloader-wordmark{display:block;white-space:nowrap;color:var(--ivory);font:500 clamp(28px,7vw,58px)/1.1 var(--serif);letter-spacing:.2em;transform:scale(.68);opacity:0;animation:preloader-expand .95s .12s cubic-bezier(.2,.75,.25,1) forwards;text-shadow:0 3px 24px rgba(0,0,0,.16)}
.preloader-rule{height:1px;width:0;background:linear-gradient(90deg,transparent,#dfbf72,transparent);animation:preloader-rule .65s .52s ease forwards}
.site-preloader.is-leaving{opacity:0;transform:scale(1.025);transition:opacity .52s ease,transform .7s cubic-bezier(.2,.75,.25,1);pointer-events:none}
body.is-entering>header,body.is-entering>main,body.is-entering>footer{animation:site-arrive .75s cubic-bezier(.2,.75,.25,1) both}
body.is-entering>main{animation-delay:.06s}
@keyframes preloader-expand{0%{transform:scale(.68);letter-spacing:.12em;opacity:0;filter:blur(5px)}65%{opacity:1}100%{transform:scale(1);letter-spacing:.2em;opacity:1;filter:blur(0)}}
@keyframes preloader-caption{to{opacity:.78}}
@keyframes preloader-rule{to{width:min(280px,54vw)}}
@keyframes preloader-star{0%{opacity:0;transform:rotate(-45deg) scale(.4)}100%{opacity:1;transform:rotate(0) scale(1)}}
@keyframes site-arrive{from{opacity:.72;transform:scale(.955)}to{opacity:1;transform:scale(1)}}

/* A single restrained zari glint gives Saraswathi's name a warm highlight. */
.shiny-text{color:var(--maroon);}
.shiny-text.is-shiny{color:transparent;background-image:linear-gradient(112deg,var(--maroon) 0%,var(--maroon) 38%,#d7b65e 48%,#fff1c5 51%,#d7b65e 54%,var(--maroon) 64%,var(--maroon) 100%);background-size:240% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:name-zari-glint 1.8s .1s cubic-bezier(.2,.75,.25,1) both}
@keyframes name-zari-glint{to{background-position:0 0}}

/* Borderless woven phrase loop replaces the separate satin word badges. */
.craft-strip{display:block;min-height:62px;padding:0;overflow:hidden;}
.craft-loop{min-height:62px;display:flex;align-items:center;overflow:hidden;}
.craft-loop-track{display:flex;align-items:center;width:max-content;animation:craft-loop-scroll 38s linear infinite;will-change:transform}
.craft-loop-group{display:flex;flex:none;align-items:center;gap:clamp(10px,2.2vw,24px);padding-inline:clamp(18px,3vw,36px);white-space:nowrap}
.craft-loop-group>span:not(.strip-star){width:clamp(102px,14vw,150px);color:var(--ivory);font:italic 15px/1.4 var(--serif);letter-spacing:.015em;text-align:center}
.craft-loop .strip-star{width:16px;flex:none;color:#dfbf72;font:11px var(--sans);text-align:center}
.craft-strip:hover .craft-loop-track{animation-play-state:paused}
@keyframes craft-loop-scroll{to{transform:translateX(-50%)}}

/* Cursor and touch light: soft zari reflection, with the original artwork intact. */
.hero-art:after{background:radial-gradient(circle 230px at var(--spot-x,50%) var(--spot-y,50%),rgba(255,244,210,var(--spot-alpha,0)),transparent 72%),radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.52),transparent 55%),repeating-linear-gradient(0deg,rgba(100,30,43,.025) 0 1px,transparent 1px 4px);transition:opacity .35s ease}
.story-swatch{background-image:radial-gradient(circle 190px at var(--spot-x,50%) var(--spot-y,50%),rgba(255,231,166,var(--spot-alpha,0)),transparent 72%),repeating-linear-gradient(0deg,rgba(255,255,255,.07) 0 1px,transparent 1px 6px),linear-gradient(110deg,#79303e,#641e2b 55%,#4c1924);transition:box-shadow .4s ease}
.contact-card{background-image:radial-gradient(circle 240px at var(--spot-x,50%) var(--spot-y,50%),rgba(176,138,69,var(--spot-alpha,0)),transparent 75%),linear-gradient(rgba(251,247,239,.96),rgba(251,247,239,.96));transition:box-shadow .4s ease}
@media(max-width:650px){.craft-strip,.craft-loop{min-height:55px}.craft-loop-group{gap:10px;padding-inline:18px}.craft-loop-group>span:not(.strip-star){width:100px;font-size:13px}.preloader-wordmark{font-size:clamp(27px,8vw,42px)}}
@media(max-width:360px){.craft-loop-group{gap:8px;padding-inline:12px}.craft-loop-group>span:not(.strip-star){width:94px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.site-preloader{display:none!important}.shiny-text.is-shiny{color:var(--maroon);background:none;-webkit-text-fill-color:currentColor;animation:none}.craft-loop-track{animation:none;transform:none}.craft-loop-group[aria-hidden=true]{display:none}.hero-art:after{transition:none}}

/* Keep carousel controls compact while allowing desktop mouse dragging. */
@media(hover:hover) and (pointer:fine){.service-grid{cursor:grab}.service-grid.is-mouse-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none;scroll-behavior:auto}}
.whatsapp-main[hidden]{display:none}
.whatsapp-main svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.js-ready .contact-card.reveal{opacity:0;transform:translateY(22px) scale(.98);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.25,1);transition-delay:.12s}
.js-ready .contact-card.reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}
@media(prefers-reduced-motion:reduce){.js-ready .contact-card.reveal,.js-ready .contact-card.reveal.is-visible{opacity:1;transform:none;transition:none}}

/* Active section feedback and reading progress within the existing sticky header. */
.navigation>a:not(.nav-cta){position:relative}
.navigation>a:not(.nav-cta)::after{position:absolute;right:0;bottom:3px;left:0;height:1px;background:var(--gold);content:"";transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}
.navigation>a[aria-current="location"]:not(.nav-cta)::after{transform:scaleX(1)}
.navigation>.nav-cta[aria-current="location"]{box-shadow:inset 0 -2px var(--gold)}
.scroll-progress{position:absolute;right:0;bottom:0;left:0;height:2px;overflow:hidden;background:rgba(176,138,69,.22);pointer-events:none}
.scroll-progress>span{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(var(--page-progress,0));transform-origin:left center}
@media(prefers-reduced-motion:reduce){.navigation>a:not(.nav-cta)::after{transition:none}}

/* Reveal the existing hero copy in a brief editorial sequence. */
.js-ready .hero-copy.reveal>:is(.eyebrow,.hero-byline,#hero-title,.hero-description,.hero-actions,.experience-note){opacity:0;transform:translateY(10px);transition:opacity .48s ease,transform .48s cubic-bezier(.2,.75,.25,1)}
.js-ready .hero-copy.reveal.is-visible>:is(.eyebrow,.hero-byline,#hero-title,.hero-description,.hero-actions,.experience-note){opacity:1;transform:translateY(0)}
.js-ready .hero-copy.reveal.is-visible>.eyebrow{transition-delay:.04s}
.js-ready .hero-copy.reveal.is-visible>.hero-byline{transition-delay:.11s}
.js-ready .hero-copy.reveal.is-visible>#hero-title{transition-delay:.18s}
.js-ready .hero-copy.reveal.is-visible>.hero-description{transition-delay:.25s}
.js-ready .hero-copy.reveal.is-visible>.hero-actions{transition-delay:.32s}
.js-ready .hero-copy.reveal.is-visible>.experience-note{transition-delay:.39s}
@media(prefers-reduced-motion:reduce){.js-ready .hero-copy.reveal>:is(.eyebrow,.hero-byline,#hero-title,.hero-description,.hero-actions,.experience-note),.js-ready .hero-copy.reveal.is-visible>:is(.eyebrow,.hero-byline,#hero-title,.hero-description,.hero-actions,.experience-note){opacity:1;transform:none;transition:none}}

/* Small embroidered dividers keep the textile motif between the main sections. */
.services,.story,.contact{position:relative}
.services:before,.story:before,.contact:before{position:absolute;top:0;left:34px;width:46px;height:2px;background:repeating-linear-gradient(90deg,var(--gold) 0 3px,transparent 3px 7px);content:""}
.service-grid:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}
.service-card:hover .service-card-title{color:var(--forest)}
.story-art.reveal{transition-delay:0s}.story-copy.reveal{transition-delay:.14s}
@media(max-width:650px){.services:before,.story:before,.contact:before{left:21px}}
@media(prefers-reduced-motion:reduce){.story-art.reveal,.story-copy.reveal{transition-delay:0s}}

/* Keep the welcome screen in place until a scroll gesture or explicit entry. */
html.is-preloading{overflow:hidden}
html.is-preloading .site-preloader:before,.site-preloader.is-leaving:before{content:'';position:absolute;inset:20px;pointer-events:none;border:1px solid rgba(176,138,69,.45);background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(176,138,69,.14) 23px 24px)}
.site-preloader.is-leaving{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:var(--maroon);color:var(--ivory);border:10px solid var(--maroon);outline:1px solid var(--gold);outline-offset:-15px;opacity:0;clip-path:inset(0 50% round 2px);transition:opacity .35s .28s ease,clip-path .82s cubic-bezier(.2,.75,.25,1);pointer-events:none}
.preloader-wordmark{transition:transform .75s cubic-bezier(.2,.75,.25,1),letter-spacing .75s cubic-bezier(.2,.75,.25,1)}
.site-preloader.is-leaving .preloader-wordmark{animation:none;transform:scale(1.24);letter-spacing:.3em}
.preloader-hint{position:relative;z-index:1;margin-top:20px;color:rgba(245,239,227,.78);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
.preloader-progress{position:relative;z-index:1;width:min(220px,48vw);height:2px;overflow:hidden;background:rgba(245,239,227,.22)}
.preloader-progress>span{display:block;width:100%;height:100%;background:linear-gradient(90deg,#b08a45,#f0d58d);transform:scaleX(0);transform-origin:left center;transition:transform .22s ease-out}
.preloader-enter{position:relative;z-index:1;min-height:44px;margin-top:30px;padding:0 14px;border:0;border-bottom:1px solid rgba(223,191,114,.62);background:transparent;color:var(--ivory);font:italic 14px var(--serif);cursor:pointer;opacity:0;animation:preloader-caption .55s .8s ease forwards;transition:color .2s,border-color .2s,transform .2s}
.preloader-enter span{display:inline-block;margin-left:8px;color:#e3c77f;animation:enter-nudge 1.5s 1.2s ease-in-out infinite}
.preloader-enter:hover{color:#f0d58d;border-color:#f0d58d;transform:translateY(2px)}
.preloader-enter:focus-visible{outline:2px solid #f0d58d;outline-offset:5px}
@keyframes enter-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){html.is-preloading{overflow:auto}.site-preloader.is-leaving{transition:none;clip-path:none}.preloader-wordmark,.preloader-enter,.preloader-enter span,.preloader-progress>span{animation:none;transition:none}}

/* One scroll-controlled tailoring sequence, with a static, complete fallback. */
.garment-story{position:relative}
.film-scene{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:clamp(16px,2vw,26px);min-height:clamp(480px,calc(100vh - 120px),680px);min-height:clamp(480px,calc(100svh - 120px),680px);padding:clamp(14px,2.3vw,28px);border:1px solid rgba(176,138,69,.48);background:linear-gradient(135deg,rgba(251,247,239,.92),rgba(235,226,210,.68));box-shadow:0 14px 36px rgba(52,45,43,.055)}
.film-scene:before{position:absolute;inset:8px;pointer-events:none;border:1px solid rgba(176,138,69,.25);content:""}
.film-art{position:relative;z-index:1;display:block;width:100%;height:auto;overflow:visible}
.film-ground{fill:rgba(245,239,227,.74);stroke:rgba(176,138,69,.56);stroke-width:1.4}
.film-rule{fill:none;stroke:rgba(176,138,69,.34);stroke-width:1;stroke-dasharray:2 7}
.film-zone-label{fill:var(--gold-dark);font:700 10px var(--sans);letter-spacing:1.6px}
.film-spool-shadow{fill:rgba(52,45,43,.12)}
.film-spool-body{fill:#ead9d7;stroke:var(--maroon);stroke-width:2}
.film-spool-top{fill:#f5efe3;stroke:var(--maroon);stroke-width:2}
.film-spool-bottom{fill:#d8c5b5;stroke:var(--maroon);stroke-width:2}
.film-spool-winding{fill:none;stroke:#b27c3f;stroke-width:2;opacity:.9}
.film-spool-core{fill:var(--gold);stroke:var(--ivory);stroke-width:3}
.film-machine-table{fill:#76551f;stroke:#563d19;stroke-width:2}
.film-machine-leg{fill:#76551f}
.film-machine-body{fill:var(--maroon);stroke:#4f1722;stroke-width:3;stroke-linejoin:round}
.film-machine-highlight{fill:none;stroke:rgba(245,239,227,.46);stroke-width:3;stroke-linecap:round}
.film-machine-plate{fill:#d1b576;stroke:#76551f;stroke-width:1.2}
.film-machine-plate-detail,.film-machine-wheel-spoke{fill:none;stroke:#76551f;stroke-width:2;stroke-linecap:round}
.film-machine-wheel{fill:#e8d8b6;stroke:var(--maroon);stroke-width:4}
.film-machine-wheel-core{fill:var(--maroon)}
.film-machine-guide{fill:none;stroke:#d4b66b;stroke-width:4;stroke-linecap:round}
.film-needle{fill:none;stroke:#f0d58d;stroke-width:3;stroke-linecap:round}
.film-machine-foot{fill:#f0d58d}
.film-fabric-border{fill:none;stroke:#d0ad67;stroke-width:3}
.film-stitch{fill:none;stroke:#e8d8b6;stroke-width:2;stroke-dasharray:1 7;stroke-linecap:round;opacity:1}
.film-embroidery{fill:none;stroke:#d0ad67;stroke-width:2}
.film-fabric-label{fill:#f5efe3;font:700 9px var(--sans);letter-spacing:2px}
.film-blouse-shape{fill:#ead9d7;stroke:var(--maroon);stroke-width:3;stroke-linejoin:round}
.film-blouse-seams{fill:none;stroke:#a77e3c;stroke-width:2;stroke-linecap:round;stroke-dasharray:none;stroke-dashoffset:0}
.film-blouse-button{fill:var(--gold-dark)}
.film-thread{visibility:hidden;fill:none;stroke:#b08a45;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0;filter:drop-shadow(0 1px 1px rgba(100,30,43,.18))}
.film-thread-end{visibility:hidden;fill:var(--gold);stroke:var(--ivory);stroke-width:3}
.film-caption{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.94fr);grid-template-rows:auto auto auto;align-items:center;gap:5px clamp(18px,3vw,42px);padding:0 2px}
.film-caption-count{grid-column:1/-1;margin:0;color:var(--gold-dark);font-size:9px;font-weight:700;letter-spacing:.18em}
.film-caption h3{margin:0;color:var(--maroon);font:600 clamp(22px,2.2vw,29px)/1.28 var(--serif)}
.film-caption>[data-film-copy]{grid-column:2;grid-row:2;margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.film-caption h3{grid-column:1;grid-row:2/5}
.film-progress{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:9px;letter-spacing:.03em}
.film-progress{grid-column:2;grid-row:3}
.film-progress li{position:relative;padding-top:9px}
.film-progress li:before{position:absolute;top:0;left:0;width:100%;height:2px;background:rgba(100,30,43,.18);content:""}
.film-progress li[aria-current=step]{color:var(--maroon);font-weight:700}
.film-progress li[aria-current=step]:before{background:var(--gold)}
.film-enquiry{grid-column:2;grid-row:4;display:inline-flex;margin-top:10px}
.film-mobile-sequence{display:none}
@media(max-width:900px) and (min-width:701px){.film-scene{gap:18px;padding:18px}.film-caption{gap:5px 20px}.film-caption h3{font-size:22px}.film-caption>[data-film-copy]{font-size:11px}.film-progress{gap:7px 10px}}
@media(max-width:700px){.film-scene{display:none}.film-mobile-sequence{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none}.film-mobile-sequence:before{position:absolute;top:42px;bottom:42px;left:27px;border-left:1px dashed rgba(176,138,69,.75);content:""}.film-mobile-sequence li{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:17px;min-height:112px;padding:12px 0}.film-mobile-sequence svg{position:relative;z-index:1;width:54px;height:54px;padding:7px;background:var(--ivory);fill:none;stroke:var(--maroon);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.film-mobile-sequence li>span{display:grid;gap:3px}.film-mobile-sequence small{color:var(--gold-dark);font-size:8px;font-weight:700;letter-spacing:.14em}.film-mobile-sequence strong{color:var(--maroon);font:600 17px/1.35 var(--serif)}.film-mobile-sequence em{color:var(--muted);font-size:11px;font-style:normal;line-height:1.6}}
@media(prefers-reduced-motion:reduce){.film-scene{scroll-behavior:auto}.film-thread,.film-stitch,.film-blouse-seams{stroke-dashoffset:0!important}.film-mobile-sequence:before{border-left-style:solid}}

/* Full-page thread: a drawn, non-interactive layer behind all reading and controls. */
body{position:relative}
.page-thread-layer{position:absolute;top:0;left:0;z-index:4;display:block;width:100%;height:var(--page-thread-height,100%);overflow:hidden;pointer-events:none}
.page-thread-halo path,.page-thread-core path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.page-thread-halo path{stroke:rgba(245,239,227,.16);stroke-width:1.65px}
.page-thread-core path{stroke:var(--gold);stroke-width:.9px;filter:none}
.hero-copy,.section-heading,.service-grid,.carousel-controls,.film-caption,.story-copy,.contact-copy,.contact-card,.site-footer>*{position:relative;z-index:5}
.film-mobile-sequence li>svg,.film-mobile-sequence li>span{position:relative;z-index:5}
.thread-origin{position:absolute;z-index:6;right:25px;bottom:75px;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(223,191,114,.9);border-radius:50%;background:rgba(38,61,50,.88);color:#e8c979;box-shadow:0 4px 12px rgba(52,45,43,.16);pointer-events:none}
.thread-origin svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.film-scene{min-height:0}
.story-art-label{z-index:2}
body.has-page-thread #film-thread{opacity:0}
@media(max-width:700px){
  .thread-origin{right:18px;bottom:64px;width:34px;height:34px}
  .thread-origin svg{width:24px;height:24px}
  body.has-page-thread .film-mobile-sequence:before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .page-thread-layer path{stroke-dasharray:none!important;stroke-dashoffset:0!important}
}

/* Fine, twisted-thread treatment for the measured full-page route. */
.page-thread-shadow path,.page-thread-halo path,.page-thread-core path,.page-thread-highlight path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.page-thread-shadow path{stroke:rgba(76,51,24,.42);stroke-width:.82px;opacity:.62}
.page-thread-halo path{stroke:rgba(245,239,227,.2);stroke-width:1.65px;opacity:.42}
.page-thread-core path{stroke:#b08a45;stroke-width:.9px;filter:none;opacity:.94}
.page-thread-highlight path{stroke:#f3dfaa;stroke-width:.34px;opacity:.78}
.page-thread-shadow .is-contact-lead{stroke-width:1px;opacity:.72}
.page-thread-halo .is-contact-lead{stroke-width:1.9px;opacity:.48}
.page-thread-core .is-contact-lead{stroke-width:1.08px;opacity:1}
.page-thread-highlight .is-contact-lead{stroke-width:.38px;opacity:.9}
.social-link[data-thread-target]{position:relative;transition:border-color .28s ease,box-shadow .35s ease,background .2s,color .2s,transform .2s}
.social-link[data-thread-target].is-thread-near{border-color:var(--gold);box-shadow:0 0 0 1px rgba(176,138,69,.26),0 0 18px rgba(176,138,69,.16)}
.social-link[data-thread-target].is-thread-near:after{position:absolute;top:50%;left:-4px;width:7px;height:7px;border:1px solid var(--ivory);border-radius:50%;background:#d8b96d;box-shadow:0 0 0 2px rgba(176,138,69,.2);content:"";transform:translateY(-50%);pointer-events:none}
.contact-card{isolation:isolate}
.contact-thread-bridge{position:absolute;inset:0;z-index:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.contact-card>*:not([data-contact-thread]){position:relative;z-index:1}
.contact-thread-shadow{fill:none;stroke:rgba(76,51,24,.42);stroke-width:.82px;stroke-linecap:round;stroke-linejoin:round;opacity:.68;vector-effect:non-scaling-stroke}
.contact-thread-core{fill:none;stroke:var(--gold);stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round;opacity:.96;vector-effect:non-scaling-stroke}
.contact-thread-highlight{fill:none;stroke:#f3dfaa;stroke-width:.34px;stroke-linecap:round;stroke-linejoin:round;opacity:.8;vector-effect:non-scaling-stroke}
@media(max-width:700px){.page-thread-shadow path{stroke-width:.72px}.page-thread-halo path{stroke-width:1.4px}.page-thread-core path{stroke-width:.82px}.page-thread-highlight path{stroke-width:.3px}.page-thread-shadow .is-contact-lead{stroke-width:.9px}.page-thread-core .is-contact-lead{stroke-width:.98px}}
@media(prefers-reduced-motion:reduce){.contact-thread-bridge path{stroke-dasharray:none!important;stroke-dashoffset:0!important}.social-link[data-thread-target]{border-color:var(--gold);box-shadow:0 0 0 1px rgba(176,138,69,.28),0 0 13px rgba(176,138,69,.12)}.page-thread-highlight path{opacity:.9}}

/* Published service work uses the existing service cards and keeps the carousel intact. */
.service-card{cursor:pointer;text-align:left}
.service-state{min-height:1.5em;margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.6}.service-state.is-empty{padding:22px;border:1px dashed rgba(176,138,69,.55);background:rgba(245,239,227,.74);text-align:center;color:var(--forest)}.service-state.is-error{color:var(--maroon)}
.service-card:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}
.service-visual .service-photo{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.12) contrast(.92);transition:filter .35s,transform .5s}
.service-visual.has-service-photo:before{z-index:1}
.service-visual.has-service-photo:after{z-index:1;background:linear-gradient(180deg,rgba(38,61,50,.08),rgba(38,61,50,.2))}
.service-card:hover .service-photo,.service-card:focus-visible .service-photo{filter:grayscale(0) sepia(0) contrast(1);transform:scale(1.035)}
.service-visual.has-service-photo>svg{display:none}
.service-detail-dialog{width:min(900px,calc(100% - 24px));max-width:900px;max-height:min(90dvh,820px);padding:0;border:1px solid rgba(176,138,69,.72);background:var(--ivory);color:var(--charcoal);box-shadow:0 26px 90px rgba(30,20,16,.35)}
#service-detail [hidden]{display:none!important}
.service-detail-dialog::backdrop{background:rgba(35,24,21,.72);backdrop-filter:blur(3px)}
.service-detail-shell{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:460px}
.service-detail-close{position:absolute;z-index:3;top:14px;right:14px;width:46px;height:46px;border:1px solid rgba(100,30,43,.32);background:var(--ivory);color:var(--maroon);font:32px/1 var(--serif);cursor:pointer}
.service-detail-close:hover{background:var(--maroon);color:var(--ivory)}
.service-detail-art{position:relative;min-height:420px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#eadfd3,#e2d1b5);border-right:1px solid rgba(176,138,69,.5)}
.service-detail-art:before{position:absolute;inset:14px;border:1px solid rgba(176,138,69,.65);content:"";pointer-events:none}
.service-detail-art svg{width:94px;height:94px;fill:none;stroke:var(--maroon);stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
.service-detail-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-detail-copy{align-self:center;padding:clamp(32px,5vw,64px);padding-top:76px}
.service-detail-copy .eyebrow{margin-bottom:14px}
.service-detail-copy h2{margin:0;color:var(--maroon);font:500 clamp(32px,4vw,48px)/1.08 var(--serif)}
.service-detail-description{margin:17px 0 22px;color:var(--muted);font-size:14px;line-height:1.8}
.service-detail-information{padding-top:16px;border-top:1px solid rgba(176,138,69,.45)}
.service-detail-information h3{margin:0 0 7px;color:var(--maroon);font:600 16px var(--serif)}
.service-detail-information p{margin:0;color:var(--muted);font-size:13px;line-height:1.8;white-space:pre-line}
.service-detail-copy>.text-link{margin-top:18px}
@media(max-width:650px){.service-detail-dialog{width:calc(100% - 20px);max-height:92dvh}.service-detail-shell{grid-template-columns:1fr;max-height:92dvh;overflow:auto}.service-detail-art{min-height:clamp(220px,52vw,320px);border-right:0;border-bottom:1px solid rgba(176,138,69,.5)}.service-detail-art:before{inset:10px}.service-detail-copy{padding:28px 24px 32px}.service-detail-copy h2{font-size:34px}.service-detail-close{top:10px;right:10px;background:rgba(245,239,227,.95)}}
@media(prefers-reduced-motion:reduce){.service-photo{transition:none!important}}

/* Owner-approved media slots replace the textile illustrations only when published. */
[data-owner-photo][hidden],[data-owner-video][hidden]{display:none!important}
.hero-owner-photo{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}
.hero-art.has-owner-photo:after{z-index:1;background:linear-gradient(180deg,rgba(38,31,26,.18),rgba(38,31,26,.04) 42%,rgba(38,31,26,.32))}
.hero-art.has-owner-photo .saree-drape{display:none}
.story-owner-video{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;background:var(--forest)}
.story-art.has-owner-video .story-swatch{display:none}
.story-art.has-owner-video:before{z-index:2;background:linear-gradient(180deg,rgba(38,31,26,.12),transparent 28%,transparent 72%,rgba(38,31,26,.2));pointer-events:none}
