/* Shared fluid layout; preserve the individual scene compositions. */
header,.intro,.area-nav,.site-copyright{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
.distributor-layout>*,.product-detail-layout>*,.about-contact>*,.about-hero-copy>*,.about-story-grid>*{min-width:0}
.product-card h2,.product-related-card span,.distributor-story h2,.about-contact-details>a{overflow-wrap:anywhere}
.distributor-form input,.distributor-form textarea,.distributor-form select{font-size:16px;max-width:100%}
.site-copyright{padding-bottom:max(26px,env(safe-area-inset-bottom,0px))}
.rope-chapters button{min-height:44px}.area-nav a{display:inline-flex;align-items:center;min-height:44px}
@media(pointer:coarse){header nav a,.viren-footer nav a,.about-text-link,#collection-tabs button,.rope-discover{min-height:44px;display:inline-flex;align-items:center}.rope-chapters{gap:0}.rope-chapters button{width:44px;padding-inline:8px}}
@media(max-width:1100px) and (min-width:801px){header{gap:14px}header nav{gap:clamp(10px,1.4vw,18px);font-size:12px}header .brand img{width:104px}header nav a.distributor-nav{padding:12px 10px}#language-toggle{width:88px}}
@media(max-width:600px){
 header nav{column-gap:14px;row-gap:5px;justify-content:flex-start}header nav a{min-height:44px;display:inline-flex;align-items:center}header nav .distributor-nav{margin-left:auto}
 .intro .eyebrow{letter-spacing:1.8px}.intro h1{font-size:clamp(29px,8.5vw,40px)}
 .distributor-page h1,.contact-page .distributor-heading h1{font-size:clamp(32px,8.8vw,44px)}
 .distributor-form{padding:22px}.distributor-page h2{font-size:clamp(25px,7vw,30px)}
 .distributor-invitation{padding:clamp(22px,6vw,32px);gap:20px}.distributor-invite-copy h2{font-size:clamp(29px,8vw,40px)}
 .product-related-grid{gap:10px}.product-related-card img{height:clamp(105px,31vw,175px);padding:5px}
 .product-page h1{font-size:clamp(28px,7.8vw,36px)}
 .ritual-ranges{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;font-size:8px;letter-spacing:.03em;line-height:1.6;padding-inline:5%}.ritual-ranges span:nth-child(3){letter-spacing:.09em}
 .immersion-top{letter-spacing:1px;font-size:8px}.immersion-heading h2{font-size:clamp(30px,8.4vw,49px)}
 .immersion-bottom{gap:10px}.immersion-bottom p{font-size:12px}.immersion-bottom a{min-height:44px;font-size:12px}
}
/* Compact phones: pinned stages must fit the visible viewport. */
@media(max-height:700px){
 .hands-stage,.immersion-stage,.rope-stage{min-height:0}
 .hands-heading{padding-bottom:4svh}.hands-heading .eyebrow{margin-bottom:15px}
 .hands-caption{bottom:6%;font-size:12px}.hands-scroll-cue{bottom:6%}
}
@media(max-width:700px) and (max-height:700px) and (orientation:portrait){
 .rope-copy,.rope-panel:nth-of-type(2) .rope-copy{top:54%;left:6%;right:6%}.rope-copy h3{font-size:27px}.rope-description{font-size:11px;margin-bottom:8px}.rope-visual{inset:10% 0 48%}
 .rope-panel.is-final .rope-copy{top:10%}.rope-panel.is-final .rope-copy h3{font-size:28px}
 .rope-panel.is-final .rope-visual{inset:26% 0 38%}.rope-final-detail{bottom:12%}.rope-final-detail .rope-description{font-size:11px}.rope-bottom{bottom:1%}.rope-bottom>p{max-width:42%;line-height:1.6}
 .immersion-heading{padding-bottom:8svh}.immersion-bottom{bottom:5%}
}
/* Landscape phones keep the same motion in a compact, side-by-side composition. */
@media(max-height:540px) and (orientation:landscape){
 .hands-stage,.immersion-stage,.rope-stage{height:100svh;min-height:0}
 .hands-video{width:100%;left:0;max-height:76svh;object-fit:contain}.hands-heading h2{font-size:clamp(27px,4vw,42px)}.hands-heading .eyebrow{font-size:8px;margin-bottom:12px}.hands-caption{font-size:10px;width:38%;bottom:5%}.hands-caption p{margin-top:5px}.hands-scroll-cue{bottom:5%;font-size:10px}
 .hands-aura{width:min(48vw,70svh)}
 .immersion-top{top:6%;font-size:8px}.immersion-heading{padding-bottom:9svh}.immersion-heading h2{font-size:clamp(27px,4.5vw,46px)}.immersion-bottom{bottom:4%;flex-direction:row;align-items:flex-end;gap:20px}.immersion-bottom p{font-size:10px;line-height:1.5;max-width:52%}.immersion-bottom a{font-size:11px;white-space:nowrap;min-height:44px}
 .rope-masthead{top:3%;font-size:8px}.rope-masthead p{font-size:8px;letter-spacing:1px}.rope-bottom{bottom:1%;left:5%;right:5%}.rope-bottom>p{font-size:7px;letter-spacing:.5px}.rope-count{font-size:9px}
 .rope-panel:not(.is-final) .rope-visual{inset:12% 0 13%;mask-image:linear-gradient(90deg,#000 46%,transparent 60%)}.rope-panel:not(.is-final) .rope-visual img{width:100%;left:30%;height:100%}
 .rope-panel:nth-of-type(2) .rope-visual{mask-image:linear-gradient(90deg,transparent 40%,#000 54%)}.rope-panel:nth-of-type(2) .rope-visual img{left:70%}
 .rope-copy,.rope-panel:nth-of-type(2) .rope-copy{top:48%;left:60%;right:5%;width:auto;max-width:none;text-align:left;transform:translateY(calc(-50% + var(--copy-y)))}.rope-panel:nth-of-type(2) .rope-copy{left:5%;right:60%}
 .rope-copy h3{font-size:24px;line-height:1.12;margin-bottom:8px}.rope-kicker{font-size:8px;letter-spacing:1px;margin-bottom:6px}.rope-description{font-size:10px;line-height:1.5;margin:0 0 7px}.rope-ingredients{justify-content:flex-start;gap:5px;margin-bottom:4px}.rope-ingredients span{font-size:8px;padding:4px 6px}.rope-discover{font-size:10px;min-height:36px;padding:5px 0}
 .rope-panel.is-final .rope-copy{top:12%;left:25%;right:25%;text-align:center;transform:none}.rope-panel.is-final .rope-copy h3{font-size:25px}.rope-panel.is-final .rope-kicker{font-size:8px;margin-bottom:4px}
 .rope-panel.is-final .rope-visual{inset:29% 0 15%}.rope-final-detail{top:39%;bottom:auto;left:4%;right:auto;width:26%;max-width:none;text-align:left;background:#fffffff2;padding:8px;border-radius:6px}.rope-final-detail .rope-description{font-size:10px}.rope-final-detail .rope-ingredients{margin-bottom:5px}
 .rope-final-left,.rope-final-right{display:block}.rope-final-piece.rope-final-middle{width:auto;flex:0 0 auto;aspect-ratio:672 / 941;overflow:hidden}.rope-panel.is-final .rope-final-middle img{width:248.8095%;height:100%;object-fit:fill}
 .ritual-stage{height:85svh;min-height:0;max-height:none;--card-width:min(14vw,35svh)}
}
@media(min-width:2560px){.distributor-invitation{max-width:2100px}.distributor-page,.product-page{max-width:1900px}#collection{max-width:1900px}.product-card h2{font-size:19px}.product-card .range,.product-card .view-product{font-size:14px}}
@media(prefers-reduced-motion:reduce){.rope-stage{height:auto;position:relative}.rope-panel{min-height:max(670px,100svh)}.rope-panel .rope-copy{transform:none}}

/* Keep quick links beside the brand on phones and tablets. */
@media(max-width:1180px),(hover:none) and (pointer:coarse){
 .viren-footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(20px,5vw,60px);padding:35px 0}
 .viren-footer-brand{min-width:0}
 .viren-footer-brand img{width:clamp(110px,20vw,180px);max-width:100%;margin-bottom:18px}
 .viren-footer nav{justify-self:end;width:auto;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding:0}
 .viren-footer nav a{display:flex;align-items:center;min-height:44px;line-height:1.5}
 .area-nav{margin-bottom:8px}
 .hands-story{margin-top:6px}
 .experience{height:auto;min-height:0;margin-top:clamp(20px,3svh,32px);overflow-x:clip;overflow-y:visible}
 .sculpture{width:min(830px,78.4vw);height:auto;aspect-ratio:1400/1058;flex-shrink:0}
 .intro .subtitle{margin-top:10px}
}
@media(min-width:521px) and (max-width:800px){.sculpture{width:100%}}
@media(max-width:520px){
 .sculpture{width:112%;max-height:410px}
 .body-links{width:calc(100% - 32px);max-width:440px;height:122px;gap:clamp(16px,5vw,26px);justify-content:center}
 .body-links .area-icon{flex:1 1 0;min-width:0;gap:8px;justify-content:center}
 .body-links .area-icon img{flex-shrink:0;width:60px;height:100px}
 .body-links .area-icon:nth-child(2) img{width:44px;height:110px}
 .body-links .area-icon span{font-size:14px;line-height:1.4;margin-top:0;max-width:105px}
}
@media(max-width:600px){
 .viren-footer nav{justify-self:stretch;grid-template-columns:minmax(0,1fr);gap:4px;font-size:13px}
 .viren-footer-brand p{font-size:12px}
 .area-nav{margin-top:12px;row-gap:6px}
}
/* Trim the empty lead-in while keeping the hands' scroll animation distance. */
@media(max-width:1180px) and (orientation:portrait),(hover:none) and (pointer:coarse) and (orientation:portrait){
 .hands-story{--compact-hands-height:clamp(420px,64svh,780px);height:calc(110svh + var(--compact-hands-height))}
 .hands-stage{height:var(--compact-hands-height);min-height:0}
}
@media(max-width:600px) and (orientation:portrait){.hands-story{height:calc(90svh + var(--compact-hands-height))}}

/* Phone gallery: two portraits, a larger central film, two portraits. */
.ritual-card figcaption{display:none}
@media(max-width:700px),(max-width:1000px) and (max-height:540px) and (pointer:coarse){
 .ritual-stage{height:auto;min-height:0;max-height:none;margin:34px auto 0;width:90%;perspective:none}
 .ritual-deck{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 16px;align-items:start;padding-bottom:34px;transform-style:flat}
 .ritual-gallery .ritual-card,.ritual-gallery.is-prepared:not(.has-entered) .ritual-card{position:relative;inset:auto;width:100%;aspect-ratio:9/16;transform:none;transform-style:flat;border-radius:10px;will-change:auto;opacity:1;transition:opacity .6s ease,transform .75s cubic-bezier(.2,.7,.3,1)}
 .ritual-gallery .ritual-card-video{grid-column:1/-1;justify-self:center;width:min(66%,480px)}
 .ritual-gallery.is-prepared .ritual-card:not(.is-card-visible){opacity:0;transform:translateY(22px)}
 .ritual-card figcaption{display:block;position:absolute;left:-4px;right:-4px;top:100%;padding-top:12px;font-size:9px;font-weight:400;letter-spacing:.12em;line-height:1.5;text-align:center;color:#8097a3}
 .ritual-card-video figcaption{color:#42aadb}
 .ritual-gallery .ritual-ranges{display:none}
 .ritual-stage .hands-aura{top:50%;width:min(125vw,640px);max-width:none;filter:blur(6px)}
}
@media(prefers-reduced-motion:reduce){
 .hands-story{height:auto}
}
@media(prefers-reduced-motion:reduce) and (max-width:700px),(prefers-reduced-motion:reduce) and (max-width:1000px) and (max-height:540px) and (pointer:coarse){.ritual-gallery.is-prepared .ritual-card:not(.is-card-visible){opacity:1;transform:none}}
