/* RIVIA — accueil pilote. Identité existante, aucun chargement tiers. */
.home{--serif:Georgia,'Times New Roman',serif}
.home .wrap{width:min(1320px,calc(100% - 112px))}
.home header{border-bottom-color:#bd936c26}
.home .header{min-height:100px}
.home .hero{background:radial-gradient(ellipse at 85% 40%,#1d3c44 0,transparent 58%),#142b3b}
.home .hero-grid{grid-template-columns:1.15fr 1fr;gap:16px;padding-top:82px;padding-bottom:64px}
.home .hero h1{font-family:var(--serif);font-size:clamp(48px,5.25vw,78px);line-height:1.06;font-weight:400;letter-spacing:-2.8px;max-width:760px;text-wrap:balance}
.home .hero h1>span:first-child{display:block}
.home .hero h1 em{font-weight:400;color:#d2ab86}
.home .hero .eyebrow{letter-spacing:3.5px;font-size:10px}
.home .hero-copy{max-width:520px;font-size:16px;line-height:1.85;color:#c3cdd0}
.home .actions{gap:24px;margin-top:34px}
.home .rivia-sculpture{position:relative;align-self:center;min-width:0;margin:-26px -24px -10px;pointer-events:none}
.home .rivia-sculpture svg{display:block;width:100%;height:auto;overflow:visible}
.home .sculpture-rings{transform-origin:310px 310px}
.home .sculpture-thread{stroke-dasharray:1300;stroke-dashoffset:0;opacity:.65}
.home .direction-map{display:grid;grid-template-columns:repeat(3,1fr);position:relative;border:0;border-top:1px solid #bd936c55;padding:28px 0 32px;margin:auto}
.home .direction-map>.eyebrow{grid-column:1/-1;padding:0;margin-bottom:26px}
.home .direction-stage{background:none;border:0;padding:0 30px}
.home .direction-stage:nth-child(2){padding-left:0}
.home .direction-stage+ .direction-stage{border-left:1px solid #ffffff20}
.home .direction-stage:before{display:none}
.home .direction-stage>span{font-size:9px;color:#cba37e;letter-spacing:1.7px}
.home .direction-stage h2{font-family:var(--serif);font-size:28px;font-weight:400;margin:9px 0 10px;letter-spacing:-.5px}
.home .direction-stage p{font-size:12px;color:#aebfc6}
.home .sector-line{padding:20px 0;color:#aebfc6;font-size:9px}
.home .section{padding:112px 0}
.home .section h2,.home .cta h2{font-family:var(--serif);font-size:clamp(36px,4vw,58px);line-height:1.12;font-weight:400;letter-spacing:-1.8px;text-wrap:balance}
.home .section .eyebrow{font-size:10px;letter-spacing:2.8px}
.home .split{gap:100px}
.home .questions>p{font-size:21px;line-height:1.5;padding-bottom:24px;margin-bottom:24px;letter-spacing:-.3px}
.home .context-copy{font-size:15px;line-height:1.8}
.home #engagements{background:#e9edeb}
.home #engagements .three{gap:0}
.home #engagements article{border-top:1px solid #bd936c99;padding:28px 30px 0}
.home #engagements article:first-child{padding-left:0}
.home #engagements article+article{border-left:1px solid #142b3b20}
.home #engagements h3{font-size:24px;font-weight:500;letter-spacing:-.6px}
.home #engagements .number{margin-bottom:32px}
.home #engagements article p{font-size:14px;line-height:1.85}
.home #engagements article strong{font-size:14px;font-weight:500}
.home .section-heading{gap:80px;margin-bottom:54px}
.home .section-heading>p{font-size:16px;line-height:1.85}
.home .sectors{border:0;gap:22px;margin-top:48px}
.home .sectors article{padding:36px 28px 30px;border:1px solid #142b3b22;background:linear-gradient(150deg,#fff9,#e9edeb66);min-width:0}
.home .sectors article+article{border-left:1px solid #142b3b22}
.home .sectors article:before{left:28px;width:52px;top:-1px;height:2px}
.home .sectors h3{font-family:var(--serif);font-size:30px;line-height:1.15;font-weight:400;letter-spacing:-.7px;min-height:72px}
.home .sectors p{font-size:14px;line-height:1.85}
.home .sectors .text-link{font-size:12px}
.home #maitrise{background:radial-gradient(ellipse at 0 100%,#1c4247,transparent 65%),#142b3b}
.home #maitrise h3{font-size:21px;font-weight:450}
.home #maitrise .mastery-grid{gap:38px 80px}
.home #maitrise .mastery-grid p{color:#b8c8cf;line-height:1.85}
.home .legal-scope{color:#aebfc6;line-height:1.85}
.home .lever-list article{grid-template-columns:38px 1fr;padding:25px 0}
.home .lever-list h3{font-size:23px;font-weight:450}
.home .lever-list p{line-height:1.85}
.home .cta{padding:96px 0;background:#e6ebe8}
.home .cta p{font-size:16px;line-height:1.85}
.home .cta:after{width:560px;height:560px;top:-180px;right:-80px;border-color:#bd936c55;border-radius:50%;transform:scaleX(.55) rotate(-30deg)}
.home .button{border-radius:0;padding:16px 22px;background:var(--copper);box-shadow:none;font-size:13px;font-weight:550}
.home .button:after{display:none}
.home .text-link,.home .text-link:hover,.home .text-link:focus-visible{text-decoration:none;border-bottom:1px solid #bd936c80}
.home .button,.home .text-link{transition:transform .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}
.home .sectors article{transition:border-color .25s ease,background-color .25s ease}
@media(hover:hover) and (pointer:fine){.home .button:hover{background:#d2ad88;transform:translateY(-2px);box-shadow:0 8px 24px #0002}.home .text-link:hover{transform:translateX(3px);border-color:var(--copper)}.home .sectors article:has(a:hover){border-color:#bd936c;background:#fff9}}
.home .button:active{transform:translateY(1px);box-shadow:none}
@media(prefers-reduced-motion:no-preference){.home .sculpture-rings{animation:rivia-sculpture-enter 4.4s cubic-bezier(.18,.65,.3,1) both}.home .sculpture-thread{animation:rivia-thread-enter 4.6s ease-out both}}
@keyframes rivia-sculpture-enter{from{opacity:0;transform:translateY(18px) rotate(-9deg) scale(.94)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}
@keyframes rivia-thread-enter{from{stroke-dashoffset:1300;opacity:0}to{stroke-dashoffset:0;opacity:.65}}
@media(max-width:1100px){.home .wrap{width:calc(100% - 64px)}.home .hero h1{font-size:60px}.home .split{gap:56px}.home .sectors h3{font-size:27px}.home .direction-stage{padding:0 20px}.home .direction-stage h2{font-size:25px}}
@media(max-width:780px){.home .wrap{width:calc(100% - 40px)}.home .header{min-height:76px}.home .hero-grid{grid-template-columns:1fr;padding-top:52px;padding-bottom:24px;gap:0}.home .hero h1{font-size:clamp(43px,9.5vw,65px);letter-spacing:-1.7px;line-height:1.08}.home .hero-copy{font-size:16px}.home .rivia-sculpture{width:min(420px,100%);justify-self:center;margin:-8px 0 -12px}.home .direction-map{grid-template-columns:1fr;padding:24px 0}.home .direction-map>.eyebrow{margin-bottom:12px}.home .direction-stage,.home .direction-stage:nth-child(2){padding:18px 0}.home .direction-stage+ .direction-stage{border-left:0;border-top:1px solid #ffffff20}.home .direction-stage h2{font-size:28px}.home .direction-stage p br{display:none}.home .direction-stage p{font-size:13px}.home .section{padding:66px 0}.home .section h2,.home .cta h2{font-size:38px;letter-spacing:-1px}.home .split,.home .section-heading{gap:28px}.home .section-heading{margin-bottom:32px}.home #engagements article,.home #engagements article:first-child{padding:24px 0}.home #engagements article+article{border-left:0}.home #engagements .number{margin-bottom:20px}.home .sectors{gap:20px}.home .sectors h3{min-height:0;font-size:31px}.home #maitrise .mastery-grid{gap:30px}.home .cta{padding:68px 0}.home .cta:after{right:-350px}}
@media(prefers-reduced-motion:reduce){.home .sculpture-rings,.home .sculpture-thread{animation:none}.home .button,.home .text-link,.home .sectors article{transition:none}.home .button:hover,.home .text-link:hover,.home .button:active{transform:none}}
@media print{.home .rivia-sculpture{display:none}.home .hero-grid{display:block;padding:20px 0}.home .wrap{width:100%}.home .direction-map{display:block}.home .direction-stage{background:none;border:0;padding:12px 0}.home .direction-stage p{color:#333}.home .section{padding:20px 0}.home .section h2{font-size:30px}}

/* Mouvement de marque : sculpture continue et échos de cuivre. */
.home .motion-control{display:flex;justify-content:flex-end;padding-top:0;padding-bottom:18px}
.home .motion-control button{background:transparent;border:0;color:#bdcbd0;font-size:11px;padding:10px 0;min-height:44px;text-decoration:underline;text-decoration-color:#bd936c80;text-underline-offset:5px}
.home .motion-control button:hover{color:#edc9a6}
.home .section{position:relative;isolation:isolate}
.home #engagements:after,.home #maitrise:after{content:"";position:absolute;right:0;top:25px;width:180px;height:300px;border:1px solid #bd936c30;border-radius:50%;transform:rotate(-28deg);pointer-events:none;z-index:-1}
.home #maitrise:after{right:25px;top:auto;bottom:35px;width:240px;height:340px;border-color:#bd936c35}
.home .section>.wrap>.eyebrow{position:relative}
.home .section>.wrap>.eyebrow:after{content:"";display:block;width:68px;height:1px;margin-top:17px;background:linear-gradient(90deg,#bd936c33,#bd936c,#bd936c33);transform-origin:left center}
.home .motion-pending{opacity:.72;transform:translateY(14px)}
.home .motion-arrived{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
 .home .sculpture-rings{animation:rivia-sculpture-enter 4.4s cubic-bezier(.18,.65,.3,1) both,rivia-sculpture-breathe 24s ease-in-out 4.4s infinite}
 .home .sculpture-thread{animation:rivia-thread-flow 28s linear infinite}
 .home #engagements:after,.home #maitrise:after{animation:rivia-copper-drift 30s ease-in-out infinite}
 .home .section>.wrap>.eyebrow:after{animation:rivia-copper-breathe 10s ease-in-out infinite}
 .home .section h2,.home .sectors article,.home .mastery-grid article,.home .lever-list article{transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1),border-color .25s ease,background-color .25s ease}
}
@keyframes rivia-sculpture-breathe{0%,100%{transform:rotate(0) scale(1)}50%{transform:translateY(-9px) rotate(5deg) scale(1.018)}}
@keyframes rivia-thread-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-1300}}
@keyframes rivia-copper-drift{0%,100%{transform:rotate(-28deg) translateY(0)}50%{transform:rotate(-20deg) translateY(12px)}}
@keyframes rivia-copper-breathe{0%,100%{opacity:.4;transform:scaleX(.7)}50%{opacity:1;transform:scaleX(1)}}
.home.motion-paused .sculpture-rings,.home.motion-paused .sculpture-thread,
.home.motion-paused #engagements:after,.home.motion-paused #maitrise:after,.home.motion-paused .section>.wrap>.eyebrow:after,
.home.motion-tab-hidden .sculpture-rings,.home.motion-tab-hidden .sculpture-thread,
.home.motion-tab-hidden #engagements:after,.home.motion-tab-hidden #maitrise:after,.home.motion-tab-hidden .section>.wrap>.eyebrow:after{animation-play-state:paused}
.home.motion-paused .sculpture-rings{opacity:1}
.home.motion-paused .motion-pending{opacity:1;transform:none}
.home.motion-paused .section h2,.home.motion-paused .sectors article,.home.motion-paused .mastery-grid article,.home.motion-paused .lever-list article{transition:none}
@media(max-width:780px){.home #engagements:after{width:90px;height:180px;opacity:.55}.home #maitrise:after{width:100px;height:220px;right:0;opacity:.55}.home .motion-control{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.home .sculpture-rings,.home .sculpture-thread,.home #engagements:after,.home #maitrise:after,.home .section>.wrap>.eyebrow:after{animation:none}.home .motion-pending{opacity:1;transform:none}.home .section h2,.home .sectors article,.home .mastery-grid article,.home .lever-list article{transition:none}}
@media print{.home .motion-control,.home #engagements:after,.home #maitrise:after,.home .section>.wrap>.eyebrow:after{display:none}.home .motion-pending{opacity:1;transform:none}}


/* Accueil : des lignes distinctes composent une même structure, puis se stabilisent. */
.home .sculpture-strand{transform:translate(0,0);opacity:1}
@media(prefers-reduced-motion:no-preference){
 .home .sculpture-rings{animation:rivia-composed-breath 18s ease-in-out 7s infinite}
 .home .sculpture-strand{animation:rivia-strand-compose 4.8s cubic-bezier(.2,.65,.25,1) var(--strand-delay) both}
 .home .sculpture-thread{animation:rivia-thread-resolve 3.4s ease-out 3.2s both}
}
@keyframes rivia-strand-compose{0%{opacity:.12;transform:translate(var(--strand-x),var(--strand-y))}25%{opacity:.4}100%{opacity:1;transform:translate(0,0)}}
@keyframes rivia-thread-resolve{from{stroke-dashoffset:1300;opacity:0}to{stroke-dashoffset:0;opacity:.65}}
@keyframes rivia-composed-breath{0%,100%{opacity:1}50%{opacity:.88}}
.home.motion-paused .sculpture-strand,.home.motion-tab-hidden .sculpture-strand{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.home .sculpture-strand{animation:none;transform:none;opacity:1}}
@media print{.home .sculpture-strand{animation:none;transform:none;opacity:1}}
