/* Mardava: quiet scale, crisp imagery, natural scrolling and bounded effects. */
:root{--gutter:clamp(24px,5.5vw,100px);--header-height:64px;--ink:#172e29;--chalk:#f0eee8;--muted:#c2cfc5}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
section[id]{scroll-margin-top:0!important}
body{background:var(--ink);color:var(--chalk)}
header,.home header{height:var(--header-height);position:sticky;top:0;z-index:30;background:#1b332d;border-bottom:1px solid #b8d5c622;padding:0 var(--gutter)}
header .brand{font-size:17.94px}header .brand span{font-size:7.8px}
nav{gap:32px}nav a{min-height:44px;display:flex;align-items:center;position:relative;border:0}
nav a::after{content:"";height:1px;background:var(--mint);position:absolute;bottom:7px;left:0;right:0;transform:scaleX(0);transition:transform .3s}
nav a[aria-current=page]::after,nav a:hover::after{transform:scaleX(1)}
.eyebrow{color:var(--mint);font-size:10px;letter-spacing:.22em;line-height:1.6}
h1,h2{font-weight:400;letter-spacing:-.035em}h1 em,h2 em{color:var(--mint)}
.primary{border:1px solid #d7e9db8c;background:linear-gradient(120deg,#91b6a4 0%,#e1e9d4 39%,#c1d4bb 55%,#88aa97 100%);color:#19372d;min-height:50px;padding:12px 27px;box-shadow:inset 0 1px #eff5e1b0;font-size:20px;gap:25px}
.primary:hover{background-position:right;box-shadow:inset 0 1px #f7faec,0 6px 30px #0b211740}
.text-link{min-height:44px;display:inline-flex;align-items:center;gap:20px}
.ambience,.home .ambience{left:var(--gutter);right:var(--gutter);bottom:16px;pointer-events:none;z-index:40}
.ambience button,.home .ambience button{pointer-events:auto;border:0;background:#172e29ed;backdrop-filter:none;color:#d8e0d5;min-height:44px;padding:8px 12px;font-size:10px;letter-spacing:.04em}
.ambience button:hover{color:#fff}
.ambience button[aria-pressed=true]{color:var(--mint)}
footer{padding:36px var(--gutter) 86px!important;border-top:1px solid #b8d5c622;gap:22px;background:#142a25;min-height:0}
footer small{opacity:.7}footer .footer-brand{font-size:23px}
.home .hero{height:calc(100svh - var(--header-height));min-height:650px;overflow:clip;background:#15342b}
.home .hero-content{position:relative;text-shadow:none;padding:28px 20px 76px;transform:translateY(var(--hero-shift,0px));opacity:var(--hero-opacity,1)}
.home .hero h1{font-size:clamp(85px,14.6vw,232px);letter-spacing:.09em;margin:14px -.09em 0 0;line-height:1.02}
.home .hero .eyebrow{font-size:9px;letter-spacing:.27em}
.home .hero-content>.sanskrit{font-size:clamp(25px,2.7vw,40px);margin:22px 0 26px}
.home .hero-quote{font-size:clamp(36px,3.8vw,58px);line-height:1.06;margin:0 0 26px}
.home .fabric-shade{background:radial-gradient(ellipse at 50% 40%,transparent 10%,#0c241e55),linear-gradient(0deg,#172e29,transparent 25%)}
.scroll-note{bottom:26px;font-size:10px;letter-spacing:.14em;min-height:44px;align-items:center;display:inline-flex;justify-content:center;gap:24px}
.inside-journey{scroll-margin-top:var(--header-height)}
.inside-journey.reveal-enabled{height:310svh}
.reveal-enabled .journey-stage{top:var(--header-height);height:calc(100svh - var(--header-height))}
.outside-copy h2{font-size:clamp(68px,8.5vw,136px)}
.journey-garment .garment-crop{background:transparent;box-shadow:none;aspect-ratio:512/665;mask-image:none}
.journey-garment .garment-crop img{top:-20%}
.reveal-enabled .journey-garment{width:min(32vw,400px,54svh);left:55%;will-change:auto}
.cloth-panel{will-change:auto}
.inside-copy h2{font-size:clamp(70px,10vw,154px)}
.reveal-enabled .inside-copy{padding-bottom:90px}
.last-note{padding:100px var(--gutter) 115px;text-align:center;background:#203b32}
.last-note>a{font-size:clamp(44px,6.2vw,90px);line-height:1.04}
.cinematic-intro{position:relative;isolation:isolate;overflow:clip;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:calc(100svh - var(--header-height));padding:70px var(--gutter) 100px;background:#142b25}
.cinematic-intro::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(110deg,#102c27d6,#24493b99),url('/assets/fabric-editorial.png') center/cover;opacity:.6}
.cinematic-intro::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#172e29,transparent 45%),radial-gradient(ellipse at center,transparent,#10221f66)}
.story-intro .story-texture{display:none}
.cinematic-intro h1{font-size:clamp(64px,8vw,128px);line-height:.95;max-width:1100px;margin:32px 0}
.cinematic-intro>p:not(.eyebrow){font-size:clamp(16px,1.5vw,20px);line-height:1.7;color:var(--muted);max-width:540px}
.cinematic-intro .scroll-note{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--mint)}
.letter{max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1.5fr;gap:7%;padding:110px var(--gutter) 80px}
.letter>.eyebrow{padding-top:17px;position:sticky;top:calc(var(--header-height) + 45px);align-self:start}
.letter h2{font-size:clamp(54px,6vw,86px);margin-bottom:48px}
.letter>div>p:not(.eyebrow):not(.signature){font-family:var(--serif);font-size:clamp(23px,2.3vw,30px);line-height:1.5;color:#d9e1d6;margin:0 0 36px}
.letter .signature{font-size:50px;margin:55px 0 0}
.statement{padding:105px var(--gutter) 115px;min-height:0;text-align:center;background:#203b32}
.statement h2{font-size:clamp(53px,7.3vw,106px);line-height:1.02;max-width:1000px;margin:25px auto}
.statement>p:not(.eyebrow):not(.sanskrit){color:var(--muted);line-height:1.9;max-width:610px;margin:25px auto}
.meaning{background:#142c26}
.meaning>.sanskrit{font-size:clamp(38px,5vw,64px);margin-bottom:25px}
.contact-section .email-link{font-size:clamp(25px,3.1vw,42px);margin:26px 0 7px;color:var(--mint);white-space:nowrap}
.contact-section .copy-link{font-size:11px;letter-spacing:.08em;min-height:44px;color:var(--muted)}
.contact-section #copy-status{min-height:24px;font-size:12px;margin:0}
/* Keep text readable by default, and animate only visible blocks. */
.cinematic-text{opacity:var(--text-opacity,1);transform:translateY(var(--text-y,0px));transition:none}
.cinematic-text:focus-within{opacity:1!important;transform:none!important}
.js .reveal,.js .reveal.in{opacity:1;transform:none}
.motion-paused .cinematic-text{opacity:1;transform:none}
/* One projected ring, original eleven images, no reflected scene or image clones. */
.circle-scroll{height:calc(100svh + 2200px)}
.circle-collection .collection-showcase{top:var(--header-height);height:calc(100svh - var(--header-height));min-height:650px;padding:22px 4vw 78px;background:radial-gradient(ellipse at 50% 60%,#55776655,transparent 65%),#172e29;grid-template-rows:auto minmax(250px,1fr) auto}
.circle-collection .collection-intro h1{font-size:clamp(33px,3.6vw,54px);line-height:1.04;margin-bottom:55px;letter-spacing:-.025em}
.circle-collection .collection-intro h1{opacity:var(--collection-word-opacity,1);transform:translateY(var(--collection-word-y,0px));transition:none}
.circle-collection .garment-tabs{gap:30px}.circle-collection .garment-tabs button{font-size:18px;min-height:44px}
.garment-ring{perspective:none!important;transform-style:flat;inset:0 18px 52px;overflow:visible;touch-action:pan-y pinch-zoom}
.orbit-garment{transform-style:flat;will-change:auto;filter:none!important;top:47%;width:min(23vw,245px,30svh);aspect-ratio:512/665}
.circle-collection .product-view::before{display:none}
.circle-collection .gallery-arrow{width:44px;height:44px;top:45%;z-index:150;background:#172e29bd;border:1px solid #b8d5c655;border-radius:50%;font-size:23px}
.circle-collection .previous{left:0}.circle-collection .next{right:0}
.circle-hint{font-size:8px;letter-spacing:.17em;bottom:25px}
.circle-collection .product-caption{bottom:4px;font-size:8px;gap:20px;width:auto;white-space:nowrap}
.circle-collection .colour-block{width:min(540px,100%);margin-top:7px}
.circle-collection .colour-heading{justify-content:center;gap:18px;border:0;padding:0}
.circle-collection #colour-name{font-size:25px}.circle-collection #colour-count{font-size:9px;color:var(--mint)}
.circle-collection .swatches{display:flex;justify-content:center;gap:3px;flex-wrap:wrap}
.circle-collection .swatch{width:44px;height:44px;padding:8px;background:none;border:0;display:grid;place-items:center;flex:0 0 44px}
.circle-collection .swatch span{width:23px;height:23px;border-radius:50%;background:var(--shade);border:1px solid #c9ddca66}
.circle-collection .swatch[aria-pressed=true]{outline:0}
.circle-collection .swatch[aria-pressed=true] span{outline:1px solid var(--chalk);outline-offset:4px}
.circle-collection .detail-link{bottom:28px;font-size:17px}
.circle-collection .detail-section{padding:95px var(--gutter);background:#1e3a31;min-height:75svh;scroll-margin-top:var(--header-height)}
.circle-collection .detail-copy h2{font-size:clamp(46px,5.1vw,78px)}
.circle-collection .detail-copy h2 em{margin-left:0;white-space:normal}
.circle-collection .detail-copy>p:last-child{padding-left:0;border:0}
.js .detail-copy>p,.js .detail-copy .detail-line{filter:none}
.js .detail-section .detail-copy>.cinematic-text{opacity:var(--text-opacity,1);transform:translateY(var(--text-y,0px));filter:none;transition:none}
.js .detail-section .detail-line{opacity:1;transform:none;filter:none;transition:none}
.circle-collection .embroidery,.circle-collection .embroidery.in{width:100%;max-width:550px;margin-left:0;mask-image:none;transform:none!important;transition:none}
.circle-collection .embroidery img{filter:none}
.circle-collection .embroidery::after{display:none}
@media(max-width:760px){
 :root{--header-height:86px}
 header,.home header{height:86px;flex-direction:column;justify-content:center;gap:3px;padding:8px 18px 0}
 header .brand{font-size:15.6px;line-height:1}header .brand span{font-size:7.02px;margin-top:3px}
 nav{width:100%;justify-content:center;gap:clamp(21px,6vw,38px)}nav a{font-size:13px;min-height:40px}
 nav a::after{bottom:4px}
 .home .hero{height:calc(100svh - 86px);min-height:550px}
 .home .hero-content{padding:24px 18px 80px;width:100%}
 .home .hero h1{font-size:clamp(49px,12.8vw,95px);letter-spacing:.055em;margin:22px -.055em 0 0}
 .home .hero .eyebrow{font-size:8px;letter-spacing:.19em}
 .home .hero-content>.sanskrit{font-size:26px;margin:25px 0 30px}
 .home .hero-quote{font-size:clamp(36px,9vw,50px);margin-bottom:28px}
 .home .primary{font-size:18px;min-height:48px}
 .fabric-canvas{display:none}.home .fabric{animation:none}
 .home .hero-content{transform:none}
 .scroll-note{bottom:55px;font-size:9px}
 .ambience,.home .ambience{left:12px;right:12px;bottom:max(4px,env(safe-area-inset-bottom))}
 .ambience button,.home .ambience button{font-size:9px;padding:8px 10px}
 .inside-journey .journey-stage{padding:72px 24px 85px}
 .outside-copy{text-align:center;max-width:none}
 .outside-copy h2{font-size:clamp(50px,13vw,84px);line-height:.95}.outside-copy h2 br{display:block}
 .outside-copy>p:not(.eyebrow){font-size:14px;line-height:1.65}
 .journey-invitation{display:none}
 .journey-garment{width:min(82vw,380px);margin:32px auto 65px}
 .journey-garment figcaption{font-size:8px;margin-top:6px}
 .inside-copy{padding-top:15px}
 .inside-copy h2{font-size:clamp(57px,15vw,92px)}
 .inside-line{font-size:30px;max-width:300px}.inside-description{font-size:13px;max-width:340px}
 .last-note{padding:72px 24px 90px}.last-note>a{font-size:47px}
 .cinematic-intro{min-height:calc(100svh - 86px);padding:60px 24px 100px}
 .cinematic-intro h1{font-size:clamp(54px,13.6vw,90px);margin:26px 0;line-height:.98}
 .cinematic-intro>p:not(.eyebrow){font-size:15px;line-height:1.8}
 .letter{padding:65px 25px;display:block}
 .letter>.eyebrow{position:static;padding:0;margin-bottom:30px}
 .letter h2{font-size:56px;margin-bottom:35px}
 .letter>div>p:not(.eyebrow):not(.signature){font-size:24px}
 .statement{padding:75px 24px 85px}.statement h2{font-size:clamp(49px,12vw,75px)}
 .statement>p:not(.eyebrow):not(.sanskrit){font-size:14px}
 .contact-section .email-link{font-size:25px;gap:12px}
 .contact-section h1{font-size:clamp(45px,12vw,78px)}
 footer{display:grid!important;grid-template-columns:1fr;gap:15px;text-align:center}
 .circle-scroll{height:calc(100svh + 1980px)}
 .circle-collection .collection-showcase{height:calc(100svh - 86px);min-height:620px;padding:17px 16px 82px;grid-template-rows:115px minmax(230px,1fr) auto}
 .circle-collection .collection-intro h1{font-size:30px;margin-bottom:46px}
 .circle-collection .garment-tabs{gap:25px}.circle-collection .garment-tabs button{font-size:17px}
 .garment-ring{inset:0 0 52px}
 .orbit-garment{width:min(39vw,175px,24svh);top:43%}
 .circle-collection .gallery-arrow{background:#172e29bd;top:43%}
 .circle-collection .previous{left:-7px}.circle-collection .next{right:-7px}
 .circle-collection .colour-block{width:100%;margin-top:3px}
 .circle-collection .swatches{gap:0;max-width:285px;margin:auto}
 .circle-collection .swatch{width:44px;height:44px;padding:8px}
 .circle-collection .swatch span{width:19px;height:19px}
 .circle-collection #colour-name{font-size:24px}
 .circle-collection .detail-link{bottom:39px}
 .circle-collection .detail-section{padding:75px 24px 70px;min-height:0}
 .circle-collection .embroidery,.circle-collection .embroidery.in{transform:none!important;transition:none}
 .circle-collection .detail-copy h2{font-size:48px}
 .circle-collection .detail-copy{padding:0}
 .circle-collection .detail-copy>p:not(.eyebrow){font-size:14px}
 .sanskrit-cursor{display:none!important}
}

@media(max-height:600px){.home .hero{height:auto;min-height:580px}.cinematic-intro{min-height:600px}.home .hero-content{padding-top:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cinematic-text{opacity:1;transform:none}.circle-scroll{height:auto}.circle-collection .collection-showcase{position:relative;top:0}.home .hero-content{opacity:1;transform:none}}
.motion-paused .circle-scroll{height:auto}.motion-paused .collection-showcase{position:relative;top:0}
.motion-paused .hero-content{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.circle-collection .collection-intro h1,.js .detail-section .detail-copy>.cinematic-text{opacity:1;transform:none}}
.motion-paused .collection-intro h1,.motion-paused .detail-section .detail-copy>.cinematic-text{opacity:1!important;transform:none!important}

/* All 33 combinations remain in view before the detail section enters. */
.circle-scroll{height:calc(100svh - var(--header-height) + var(--tour-distance,8040px))}
.circle-collection .collection-showcase{min-height:0;padding:16px 4vw 66px;grid-template-rows:auto minmax(0,1fr) auto}
.circle-collection .collection-intro h1{margin-bottom:44px}
.circle-collection .product-view{min-height:0}
.garment-ring{inset:0 18px 24px}
.orbit-garment{top:50%}
.circle-hint{bottom:2px;margin:0;line-height:20px}
.circle-collection .colour-block{margin-top:8px}
.embroidery-film{width:100%;max-width:550px;text-align:center}
.circle-collection .embroidery{aspect-ratio:736/272;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-composite:source-in}
.embroidery video{display:block;width:100%;height:100%;object-fit:contain}
.film-toggle{border:0;background:none;color:var(--mint);font:inherit;font-size:11px;letter-spacing:.08em;min-height:44px;padding:8px 18px;margin-top:8px;cursor:pointer}
.film-toggle:focus-visible{outline:1px solid var(--mint);outline-offset:3px}
@media(max-width:760px){
 .circle-collection .collection-showcase{padding:12px 16px 56px;grid-template-rows:110px minmax(0,1fr) auto}
 .circle-collection .collection-intro h1{margin-bottom:44px;font-size:30px}
 .garment-ring{inset:0 0 24px}
 .circle-collection .gallery-arrow{top:45%}
 .circle-hint{font-size:7px;letter-spacing:.1em}
}
@media(max-height:650px){
 .circle-collection .collection-showcase{padding-top:7px;padding-bottom:50px}
 .circle-collection .collection-intro h1{font-size:25px}
 .circle-collection .garment-tabs button{font-size:16px}
 .circle-collection .colour-block{margin-top:0}
 .circle-collection #colour-name{font-size:21px}
}
@media(max-width:760px) and (max-height:650px){
 .circle-collection .collection-showcase{grid-template-rows:96px minmax(0,1fr) auto}
 .circle-collection .swatches{max-width:100%;gap:0}
 .circle-collection .swatch{flex-basis:24px;width:24px;height:44px;padding:3px}
 .circle-collection .swatch span{width:16px;height:16px}
}
@media(max-height:480px) and (min-width:600px){
 .circle-collection .collection-showcase{grid-template-columns:42% 58%;grid-template-rows:1fr auto;padding-bottom:48px}
 .circle-collection .collection-intro h1{grid-column:1;align-self:start;margin-top:12px;font-size:27px;padding-right:20px}
 .circle-collection .garment-tabs{grid-column:1;align-self:center;gap:16px;margin-top:35px}
 .circle-collection .product-view{grid-column:2;grid-row:1/3}
 .circle-collection .colour-block{grid-column:1;grid-row:2}
 .circle-collection .swatches{max-width:100%;gap:0}
 .circle-collection .swatch{flex-basis:24px;width:24px;padding:3px}
}
@media(prefers-reduced-motion:reduce){.circle-scroll{height:auto}.circle-collection .collection-showcase{position:relative;top:0;min-height:480px}}
.motion-paused .circle-scroll{height:auto}.motion-paused .collection-showcase{position:relative;top:0;min-height:480px}
/* Ground the colour controls at the viewport edge; use the released space for larger garments. */
.circle-collection .collection-showcase{--collection-bottom-reclaimed:66px;padding-bottom:0}
@media(max-width:760px){
 .circle-collection .collection-showcase{--collection-bottom-reclaimed:56px;padding-bottom:env(safe-area-inset-bottom,0px)}
 .circle-collection[data-collection-visible=true] .ambience{bottom:calc(156px + env(safe-area-inset-bottom,0px))}
}
@media(max-height:650px){
 .circle-collection .collection-showcase{--collection-bottom-reclaimed:50px}
}
@media(max-width:760px) and (max-height:650px){
 .circle-collection[data-collection-visible=true] .ambience{bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}
@media(max-height:480px) and (min-width:600px){
 .circle-collection .collection-showcase{--collection-bottom-reclaimed:48px}
 .circle-collection[data-collection-visible=true] .ambience{bottom:auto;top:calc(var(--header-height) + 195px);left:4vw;right:62vw}
 .circle-collection[data-collection-visible=true] .ambience button{padding:8px 4px}
}
/* Quiet shared footer and explicit playback actions. */
footer{display:flex!important;justify-content:center;align-items:center;text-align:center}
.ambience .control-icon{display:inline-block;min-width:10px;margin-right:7px;font-size:11px;line-height:1}
.statement .within-signoff{font-family:var(--serif);font-size:clamp(24px,3vw,38px)!important;color:var(--chalk);margin-top:24px}
/* A softly edged heart, with the embroidered word kept intact and undistorted. */
.circle-collection .embroidery{max-width:480px;aspect-ratio:736/640;margin-inline:auto;mask-image:url('/assets/heart-mask.svg');mask-size:100% 100%;mask-repeat:no-repeat;mask-composite:add;-webkit-mask-image:url('/assets/heart-mask.svg');-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-composite:source-over}
