/* A page-only visual story. The shared shell and action system are untouched. */
.rse-vivant{--rv-dark:#283a2e;--rv-paper:#faf8f2;--rv-line:#ccd0c1;background:var(--rv-paper);color:#303c2d}
.rse-vivant :is(section,div,figure){min-width:0}
.rse-vivant figure{margin:0}
.rse-vivant .rv-kicker{font:700 10px/1.6 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#925333;margin:0 0 22px}
.rse-vivant h2{font-size:clamp(38px,4.7vw,68px);line-height:1.08;letter-spacing:-.048em}
.rse-vivant p{font-size:16px;line-height:1.7;max-width:60ch}
.rse-vivant :is(section[id],h2[id]){scroll-margin-top:calc(var(--preview-header-height,88px) + 24px)}
.rv-opening{position:relative;padding:26px 6vw 0;overflow:hidden;background:linear-gradient(113deg,#fcfaf6 42%,#edf0e4 100%)}
.rv-topline{display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;z-index:2}
.rv-breadcrumb{display:flex;gap:10px;align-items:center;font-size:11px;color:#5d6754}
.rv-breadcrumb a{text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.rv-motion-control{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 2px;border:0;background:none;font-size:11px;cursor:pointer;color:#4e5c46}
.rv-motion-control[hidden]{display:none}
.rv-pause-icon{width:10px;height:11px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.rv-motion-control[aria-pressed="true"] .rv-pause-icon{width:0;height:0;border:5px solid transparent;border-left:8px solid currentColor;border-right:0}
.rv-opening-content{display:grid;grid-template-columns:1.05fr 1fr;min-height:595px;position:relative}
.rv-opening-copy{position:relative;z-index:2;padding:55px 0 60px;align-self:center;max-width:630px}
.rv-opening h1{font-size:clamp(54px,5.4vw,82px);line-height:1.02;letter-spacing:-.05em}
.rv-opening h1 em{color:#6b7757}
.rse-vivant .rv-lead{font-size:17px;max-width:40ch;margin:26px 0 28px;line-height:1.65}
.rv-fibre-scene{position:relative;align-self:stretch;min-height:520px;isolation:isolate}
.rv-fibre-scene canvas{position:absolute;width:135%;height:110%;left:-21%;top:-3%;pointer-events:none;z-index:1}
.rv-hair-portrait{position:absolute;inset:15% 11% 16% 22%;transform:rotate(-7deg);z-index:0}
.rv-hair-portrait img{height:100%;width:100%;object-fit:cover;object-position:72% 30%;border-radius:48% 48% 2px 2px;filter:saturate(.8)}
.rv-hair-portrait figcaption{position:absolute;bottom:-31px;left:0;right:0;text-align:center;font-size:10px;color:#58674d;white-space:nowrap}
.rv-scene-label{position:absolute;z-index:2;right:0;top:52%;writing-mode:vertical-rl;letter-spacing:.18em;text-transform:uppercase;font-size:9px;color:#637255}
.rv-chapters{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--rv-line);position:relative;z-index:2}
.rv-chapters a{display:flex;align-items:center;gap:19px;font-size:12px;padding:23px 12px 24px 0;min-height:65px}
.rv-chapters a+ a{padding-left:26px;border-left:1px solid var(--rv-line)}
.rv-chapters span{font-family:var(--display);font-size:22px;color:#8a5637}
.rv-chapters a:hover{text-decoration:underline;text-underline-offset:5px}
.rv-cycle{background:var(--rv-dark);color:#fcf9f0;display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:85px 7vw 85px 6vw}
.rv-cycle .rv-kicker{color:#e1b696}
.rse-vivant .rv-cycle h2{font-size:clamp(36px,3.7vw,52px);line-height:1.12;letter-spacing:-.035em;max-width:18ch}
.rv-cycle h2 em{color:#c3cea8}
.rv-cycle-scene{align-self:start;position:sticky;top:calc(var(--preview-header-height,88px) + 34px)}
.rse-vivant .rv-material-detail{margin:28px 0 0;max-width:520px}
.rv-material-detail img{display:block;width:100%;height:auto;aspect-ratio:4/3;max-height:300px;object-fit:cover;object-position:center 52%}
.rv-material-detail figcaption{margin-top:12px;font:400 11px/1.5 var(--body);color:#c2cbb9}
.rv-cycle-content{padding:6px 0 0}
.rse-vivant .rv-cycle-intro{font-size:19px;color:#e2e6d8;max-width:34ch;margin-bottom:30px}
.rse-vivant .rv-collection-record{margin:0 0 30px;padding:0 0 0 18px;border-left:2px solid #d7b08e;max-width:40ch;color:#d7dfce;font-size:14px;line-height:1.6}
.rv-collection-record strong{display:block;margin-bottom:8px;color:#fcf9f0;font:400 clamp(25px,2.5vw,34px)/1.2 var(--display)}
.rv-collection-record span{display:block}
.rv-material-uses{margin:20px 0 0}
.rv-material-uses>div+div{margin-top:18px}
.rv-material-uses dt{font:600 14px/1.5 var(--body);color:#f5f4ea}
.rv-material-uses dd{margin:4px 0 0;font:400 14px/1.65 var(--body);color:#d7dfce;max-width:44ch}
.rv-cycle-steps{margin:0;padding:0;list-style:none}
.rv-cycle-steps li{display:grid;grid-template-columns:35px 1fr;gap:18px;border-top:1px solid #80917a66;padding:26px 0 28px}
.rv-step-number{font:400 23px/1.4 var(--display);color:#d7b08e;padding-top:4px}
.rv-cycle-steps h3{font:400 clamp(25px,2.5vw,36px)/1.15 var(--display);letter-spacing:-.025em;margin:0 0 17px;color:#faf8f1}
.rv-cycle-steps p{font-size:15px;color:#d7dfce;line-height:1.7}
.rv-cycle-steps p+p{margin-top:16px}
.rse-vivant .rv-precision{font-size:12px;line-height:1.65;color:#617052}
.rv-cycle-steps .rv-precision{color:#b6c2ad}
.rv-cycle-content .text-link{--action-link:#f1e4d3;margin-left:53px}
.rv-cycle-content .text-link:hover{color:#e8bc91!important}
.rv-daily{padding:83px 6vw 58px;background:#fdfcf8}
.rv-section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:0 8vw;align-items:end;margin-bottom:38px}
.rv-section-heading .rv-kicker{grid-column:1/-1}
.rv-section-heading>p:last-child{max-width:34ch;color:#617052;padding-bottom:4px}
.rv-salon-panorama{position:relative;height:clamp(280px,35vw,450px);overflow:hidden}
.rv-salon-panorama img{width:100%;height:100%;object-fit:cover;object-position:center 51%}
.rv-salon-panorama figcaption{position:absolute;bottom:0;left:0;padding:14px 22px;background:#fcfaf4;font-size:11px;max-width:calc(100% - 24px)}
.rv-practices{margin-top:20px}
.rv-practice{display:grid;grid-template-columns:.16fr .84fr 1fr;gap:30px;border-bottom:1px solid var(--rv-line);padding:34px 0}
.rv-practice-index{font:400 18px/1.6 var(--display);color:#925333;padding-top:6px}
.rv-practice h3{font:400 clamp(27px,3vw,43px)/1.15 var(--display);letter-spacing:-.035em;margin:0}
.rv-practice p{font-size:15px;max-width:53ch}
.rv-practice p+p{margin-top:12px}
.rv-practice .text-link{margin-top:13px;font-size:12px!important}
.rv-solidarity{display:grid;grid-template-columns:1fr .8fr;gap:0 9vw;padding:72px 9vw 85px 10vw;background:#e9eddf;position:relative;isolation:isolate}
.rv-solidarity:before{content:'';position:absolute;left:7%;top:5%;bottom:4%;width:1px;background:#aab69b;z-index:-1}
.rv-solidarity-title{align-self:end;padding:12px 0 30px}
.rv-solidarity-title h2{font-size:clamp(52px,7.1vw,100px);line-height:1.02}
.rv-solidarity-title h2 em{color:#697858}
.rse-vivant .rv-solidarity-intro{font-size:18px;line-height:1.55;margin-top:24px;color:#536445}
.rv-lucia-photo{grid-column:2;grid-row:1/3;align-self:start;padding-top:14px}
.rv-lucia-photo img{width:100%;height:clamp(340px,39vw,570px);object-fit:cover;object-position:center 35%;border-radius:2px 2px 38% 2px}
.rv-lucia-photo figcaption{font-size:10px;line-height:1.55;color:#59684f;margin-top:13px;max-width:48ch}
.rv-solidarity-copy{max-width:44ch}
.rv-solidarity-copy p{font-size:16px}
.rv-solidarity-copy .text-link{margin-top:18px}
.rv-conversation{padding:68px 24px 76px;text-align:center;background:#faf8f2}
.rv-conversation .rv-kicker{margin-inline:auto}
.rv-conversation h2{font-size:clamp(34px,4.2vw,55px)}
.rv-conversation>p:not(.rv-kicker){margin:22px auto 25px;max-width:48ch;font-size:15px}
.rse-vivant button:focus-visible,.rv-chapters a:focus-visible{outline:2px solid #925333;outline-offset:4px}
@media(min-width:1700px){.rv-opening-content{min-height:670px}.rv-opening-copy{max-width:700px}.rv-opening h1{font-size:94px}}
@media(max-width:1050px){
 .rv-opening-content{grid-template-columns:1.13fr 1fr;min-height:570px}.rv-opening-copy{padding-top:37px}.rv-opening h1{font-size:clamp(50px,6vw,67px)}
 .rv-hair-portrait{inset:21% 5% 24% 12%}.rv-fibre-scene canvas{left:-30%;width:155%}.rv-fibre-scene{min-height:490px}
 .rv-opening .rv-kicker{font-size:9px;max-width:29ch}.rse-vivant .rv-lead{font-size:16px}
 .rv-cycle{gap:5vw;padding:62px 6vw}.rv-cycle-steps{padding:0}.rv-cycle-steps li{grid-template-columns:25px 1fr;gap:12px}.rv-cycle-content .text-link{margin-left:37px}
 .rv-section-heading{gap:0 5vw}.rv-section-heading h2{font-size:47px}.rv-practice{grid-template-columns:34px .8fr 1fr;gap:24px}
 .rv-solidarity{gap:0 6vw;padding:60px 7vw 65px 9vw}.rv-solidarity-title h2{font-size:70px}.rv-lucia-photo img{height:470px}
}
@media(max-width:700px){
 .rv-opening{padding:13px 24px 0}.rv-topline{gap:10px}.rv-breadcrumb{font-size:10px;gap:8px}.rv-motion-control{font-size:10px;gap:7px}
 .rv-opening-content{display:block;min-height:0}.rv-opening-copy{padding:25px 0 0;max-width:490px}.rv-opening h1{font-size:clamp(36px,10.4vw,48px);line-height:1.08}
 .rv-opening .rv-kicker{max-width:none;font-size:9px;margin-bottom:19px}.rse-vivant .rv-lead{font-size:15px;margin:22px 0 22px;max-width:40ch}
 .rv-opening .button{font-size:13px!important}.rv-fibre-scene{height:315px;min-height:0;margin-top:12px;margin-inline:-16px}
 .rv-fibre-scene canvas{width:100%;height:117%;left:0;top:-9%}.rv-hair-portrait{inset:13% 22% 12% 31%;transform:rotate(-9deg)}
 .rv-hair-portrait img{border-radius:48% 48% 1px 1px;object-position:76% 26%}.rv-hair-portrait figcaption{font-size:9px;bottom:-24px}.rv-scene-label{right:6%;font-size:8px;top:40%}
 .rv-chapters{grid-template-columns:1fr}.rv-chapters a{font-size:12px;min-height:52px;padding:11px 0;gap:18px}.rv-chapters a+ a{padding-left:0;border-left:0;border-top:1px solid #d8ddcf}.rv-chapters span{font-size:20px}
 .rv-cycle{display:block;padding:40px 24px 47px}.rv-cycle-scene{position:relative;top:auto}.rse-vivant .rv-cycle h2{font-size:34px;max-width:18ch}.rv-cycle .rv-kicker{margin-bottom:16px}
 .rse-vivant .rv-material-detail{margin-top:22px;max-width:none}.rv-material-detail img{aspect-ratio:16/9;max-height:240px}.rv-material-detail figcaption{margin-top:9px;font-size:10px}
 .rse-vivant .rv-cycle-intro{font-size:17px;margin:25px 0 25px;max-width:33ch}.rv-cycle-steps li{grid-template-columns:25px 1fr;gap:14px;padding:24px 0}.rv-cycle-steps h3{font-size:29px;line-height:1.16;margin-bottom:14px}.rv-cycle-steps p{font-size:14px}.rv-cycle-content .text-link{margin-left:39px;font-size:13px!important}
 .rv-daily{padding:45px 24px 30px}.rv-section-heading{display:block;margin-bottom:27px}.rv-section-heading h2{font-size:41px}.rv-section-heading>p:last-child{margin-top:20px;font-size:15px;max-width:32ch}
 .rv-salon-panorama{height:320px;margin-inline:-24px!important}.rv-salon-panorama img{object-position:46% center}.rv-salon-panorama figcaption{font-size:10px;padding:10px 16px;max-width:87%}
 .rv-practices{margin-top:4px}.rv-practice{grid-template-columns:27px 1fr;gap:9px 15px;padding:26px 0}.rv-practice-index{font-size:14px;padding-top:3px}.rv-practice h3{font-size:31px}.rv-practice h3 br{display:none}.rv-practice>div{grid-column:2;padding-top:5px}.rv-practice p{font-size:14px}.rv-practice .text-link{font-size:12px!important}.rse-vivant .rv-precision{font-size:12px}
 .rv-solidarity{display:grid;grid-template-columns:1fr;gap:0;padding:43px 24px 45px}.rv-solidarity:before{display:none}.rv-solidarity-title{padding:0 0 26px}.rv-solidarity-title h2{font-size:61px}.rse-vivant .rv-solidarity-intro{font-size:16px;margin-top:21px}
 .rv-lucia-photo{grid-column:1;grid-row:auto;padding:0;width:82%;margin-left:auto!important}.rv-lucia-photo img{height:330px;border-radius:1px 1px 30% 1px}.rv-lucia-photo figcaption{font-size:10px}
 .rv-solidarity-copy{margin-top:26px;max-width:36ch}.rv-solidarity-copy p{font-size:15px}.rv-solidarity-copy .text-link{margin-top:14px}
 .rv-conversation{padding:43px 24px 48px}.rv-conversation h2{font-size:35px;line-height:1.13}.rv-conversation .rv-kicker{font-size:9px}
}
@media(max-width:360px){.rv-opening{padding-inline:20px}.rv-breadcrumb{font-size:9px}.rv-motion-control{font-size:9px}.rv-opening h1{font-size:35px}.rse-vivant .rv-kicker{font-size:9px}.rv-fibre-scene{height:280px}.rv-cycle,.rv-daily,.rv-solidarity{padding-inline:20px}.rv-salon-panorama{margin-inline:-20px!important}.rv-section-heading h2{font-size:37px}.rv-solidarity-title h2{font-size:54px}}
@media(max-height:700px) and (min-width:701px){.rv-cycle-scene{position:relative;top:auto}}
@media(prefers-reduced-motion:reduce){.rse-vivant *{scroll-behavior:auto}}
